Jump to content

asmazh

Üye
  • Posts

    377
  • Joined

  • Last visited

Posts posted by asmazh

  1. Ben de bir zamanlar şöyle bir şeyler karalamıştım.

     

    Global Const $CH_LIST[31] = ["!", '"', "#", "$", "%", "&", "'", "(", ")", "*", "+", "-", ".", "/", "\", ":", ";", "<", ">", "=", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~"]
    
    Func Rndm_PasswordCreate($MAX, $NM = -1, $ST = -1, $CH = -1, $L_U = -1)
    
    	If (($NM + $ST + $CH) > $MAX) Then Return SetError(1, 0, 0)
    	If ($L_U <> -1 And $L_U <> 0 And $L_U <> 1) Then Return SetError(1, 0, 0)
    
    	Local $RP, $i = 0
    
    	If $NM = -1 And $ST = -1 And $CH = -1 Then
    		Do
    			$RP &= Random(0, 9, 1)
    			$i += 1
    		Until $i = $MAX
    	Else
    		Local $S_N = 0, $N_N = 0, $C_N = 0, $CHR_R, $ST_NM
    		Do
    			$ST_NM = Random(0, 2, 1)
    			If $ST_NM = 0 Then
    				If $S_N < $ST Then
    					$RP &= Iif($L_U = -1, $L_U = 0, Chr(Random(65, 90, 1)), Chr(Random(97, 122, 1)))
    					$S_N += 1
    				ElseIf $N_N < $NM Then
    					$RP &= Random(0, 9, 1)
    					$N_N += 1
    				ElseIf $C_N < $CH Then
    					$RP &= $CH_LIST[Random(0, UBound($CH_LIST) - 1, 1)]
    					$C_N += 1
    				EndIf
    			ElseIf $ST_NM = 1 Then
    				If $N_N < $NM Then
    					$RP &= Random(0, 9, 1)
    					$N_N += 1
    				ElseIf $S_N < $ST Then
    					$RP &= Iif($L_U = -1, $L_U = 0, Chr(Random(65, 90, 1)), Chr(Random(97, 122, 1)))
    					$S_N += 1
    				ElseIf $C_N < $CH Then
    					$RP &= $CH_LIST[Random(0, UBound($CH_LIST) - 1, 1)]
    					$C_N += 1
    				EndIf
    			Else
    				If $C_N < $CH Then
    					$RP &= $CH_LIST[Random(0, UBound($CH_LIST) - 1, 1)]
    					$C_N += 1
    				ElseIf $N_N < $NM Then
    					$RP &= Random(0, 9, 1)
    					$N_N += 1
    				ElseIf $S_N < $ST Then
    					$RP &= Iif($L_U = -1, $L_U = 0, Chr(Random(65, 90, 1)), Chr(Random(97, 122, 1)))
    					$S_N += 1
    				EndIf
    			EndIf
    			$i += 1
    		Until $i = $MAX
    	EndIf
    	Return $RP
    
    EndFunc   ;==>Rndm_PasswordCreate
    
    Func Iif($if, $if2, $1true, $2true)
    	If $if Then
    		Return $1true
    	ElseIf $if2 Then
    		Return $2true
    	Else
    		Local $R = Random(0, 1, 1)
    		If $R = 1 Then Return Chr(Random(97, 122, 1))
    		Return Chr(Random(65, 90, 1))
    	EndIf
    EndFunc   ;==>Iif
    
    ConsoleWrite("Örnek 1" & @CRLF & "---------------------------------------------------------------------------" & @CRLF)
    For $I = 6 To 20 Step 2
    	ConsoleWrite($I & " = " & Rndm_PasswordCreate($I, $I / 2, $I / 2) & @CRLF)
    Next
    
    ConsoleWrite("Örnek 2" & @CRLF & "---------------------------------------------------------------------------" & @CRLF)
    For $I = 6 To 20
    	ConsoleWrite($I & " = " & Rndm_PasswordCreate($I) & @CRLF)
    Next
    
    ConsoleWrite("Örnek 3" & @CRLF & "---------------------------------------------------------------------------" & @CRLF)
    For $I = 6 To 20
    	ConsoleWrite($I & " = " & Rndm_PasswordCreate($I, 0, $I) & @CRLF)
    Next
    
    ConsoleWrite("Örnek 4" & @CRLF & "---------------------------------------------------------------------------" & @CRLF)
    For $I = 6 To 20
    	ConsoleWrite($I & " = " & Rndm_PasswordCreate($I, 0, $I, 0, 0) & @CRLF)
    Next
    
    ConsoleWrite("Örnek 5" & @CRLF & "---------------------------------------------------------------------------" & @CRLF)
    For $I = 6 To 20
    	ConsoleWrite($I & " = " & Rndm_PasswordCreate($I, 0, $I, 0, 0) & @CRLF)
    Next
    
    ConsoleWrite("Örnek 6" & @CRLF & "---------------------------------------------------------------------------" & @CRLF)
    For $I = 6 To 20 Step 2
    	ConsoleWrite($I & " = " & Rndm_PasswordCreate($I, $I / 2, $I / 2, 0, 0) & @CRLF)
    Next
    
    ConsoleWrite("Örnek 7" & @CRLF & "---------------------------------------------------------------------------" & @CRLF)
    For $I = 6 To 20 Step 2
    	ConsoleWrite($I & " = " & Rndm_PasswordCreate($I, $I / 2, $I / 2, 0, 1) & @CRLF)
    Next
    
    ConsoleWrite("Örnek 8" & @CRLF & "---------------------------------------------------------------------------" & @CRLF)
    For $I = 6 To 20 Step 2
    	ConsoleWrite($I & " = " & Rndm_PasswordCreate($I, 1, 2, $I - 3) & @CRLF)
    Next
    
    ConsoleWrite("Örnek 9" & @CRLF & "---------------------------------------------------------------------------" & @CRLF)
    $I = 0
    Do
    	$I += 1
    	ConsoleWrite($I & " = " & Rndm_PasswordCreate(6, 3, 2, 1, 1) & @CRLF)
    Until $I = 20
    
  2. Konudaki yazıları komple okumadım ama kısada olsa bir şeyler karalamak istiyorum. Öncelikle decompile yöntemlerine karşıyım ve forumda ilgili programların isimlerinin veyahut kendilerinin verilmesini istemiyorum... Ayrıca herangi bir yazarın kodlarının bu tip programlarla çıkartılıp kendinden izinsiz dağıtılmasına ve paylaşılmasına karşıyım.

    Autoit ile yaptığımız çalışmaları koruma yöntemine gelirsek malesef çok kaliteli bir yöntem mevcut değil. Bu işi yapan ücretli programlar da mevcut ama her yöntemin kendine göre riskleri bulunmaktadır. Autoit forumunda autoit3camo basit bir koruma sağlayabiliyor. Ayrıca indirelebilir dosya içinde ücretli/ücretsiz koruma sağlayan programlar ile ilgili dökümanlar vardı diye hatırlıyorum.

    http://www.autoitscript.com/forum/topic/127186-autoit3camo-629/

    Sizlere tavsiyem kendinize göre bir yöntem geliştirip, bu geliştirdiğiniz yöntemi kimseyle paylaşmamanız. Paylaştığınız takitirde geliştirdiğiniz yöntemin bir işlevi kalmayacaktır.

    Unutmadan benim için şuan kullandığım yöntemi test edebilirmisiniz? Kodlara decompile programıyla ulaşabiliyor muusunuz?
    http://bluelife.zxq.net/Test.zip

    Çalışmalarınızda başarılar dilerim, kolay gelsin arkadaşlar...

     

    Test'i Decompile edemedik. Başarılı bir koruma algoritması geliştirmişsin. Fakat bizim isteğimiz bu algoritmanın bir benzerini bizlere de açıklaman. Herkes kendine göre bir algoritma geliştirsin, kimseye de söylemesin demişsiniz. Bunun için senin bize ufak bir yardımın gerek. Kullandığın algoritmayı doğrudan bize ver demiyorum. Sadece bir benzerini açıkla, gerisi bize kalsın. Kah geliştiririz, kah geliştirmeyiz.

  3. Func IsDriveFree($Drive, $FreeMB)
    	If StringRight($Drive, 1) <> "\" And StringRight($Drive, 1) <> ":" Then $Drive &= ":"
    	Local $DSFree = DriveSpaceFree($Drive)
    	If $DSFree > $FreeMB Then Return SetError(0, $DSFree, True)
    	Return False
    EndFunc   ;==>IsDriveFree
    
    
    Local $Array_Drives = DriveGetDrive("FIXED"), $Drives, $FreeMB = 10000 ; - 10 GB'lık boş alan araması yapalım.
    If Not @error Then
    	For $x = 1 To $Array_Drives[0]
    		If IsDriveFree($Array_Drives[$x], $FreeMB) Then $Drives &= ">> " & ($Array_Drives[$x]) & " <<" & _
    				" Bu diskte tam olarak " & @extended & _
    				" MB boş alan mevcut." & @CRLF
    
    	Next
    	Exit MsgBox(0, "", $Drives)
    EndIf
    
    MsgBox(0, "", "Dostum böyle bir bilgisayar kullandığın için kendinden utanmalısın.") ; - Bu mesajı aldıysan ters giden bir şeyler var demektir.

     

     

     
     
    Yazdığım fonksiyon sadece belirlediğin diskte istediğin kadar boş alan var mı diye kontrol eder. Varsa dönüş değeri "True", @extended değeri olarak da toplam boş alanı döner. Eğer istediğin kadar boş alan yok ise de "False" döner. Tüm diskleri kontrol etmek için bir döngü kurmalısın. Senin için kurdum, ama sorduğun soruların cevaplarını AutoIt'in "Help" klasöründe biraz gezinerek bulabilirsin.

  4. İlgin için teşekkür. Oto İşlem'in kaynak kodlarını paylaşman için bir engel yok. Hatta AutoIt'in örnek çalışmalar kısmına koyabilirsin. Millet faydalansın. Sen projelerini nasıl koruyorsun, nasıl bir algoritma kullanıyorsun bunları anlat ki ortaklaşa bir çalışma gerçekleştirelim. 2 programdan bahsetmişsin, bunları paylaşabilir misin?

  5. Merhaba AutoIt bilginleri. Bilindiği üzere AutoIt ile yapılan çalışmaların kaynak kodları çeşitli programlarla çözülebiliyor. Bu konuda herkesin sıkıntısı neredeyse aynı. Herkes kendine göre bir yama ile kaynak kodlarını örtmeye çalışıyor, bir yere kadar da başarılı oluyorlar, ama bu başarı bir yere kadar sürüyor. AutoIt'de buraya kadar ilerlememe yardım eden @Blacman12 ve @Blue_life'a teşekkürlerimi sunuyorum. (Zamanında çok soru sorardım kendilerine. Başlarını ağırttığımı hissederdim.) Şöyle de bir isteğim olacak AutoIt'le uğraşan herkesten.

     

    Ortaklaşa bir çalışma yürütüp UnDecompiler geliştirelim. Bunun için herkes bir yöntem belirlesin, kendi kullandığı yöntem ya da farklı bir yöntem. Herkes ufak da olsa bir algoritma paylaşsın, ve geliştirelim.

     

    Eğer bu isteğime cevap verilirse inanıyorum ki, TncTr adına güzel bir UnDecompiler yapmış olacağız. Bu forum sitesinde bunu yapabilecek üyeler var.

  6. Eh çok bılgılısın burda laf soylencek bışey yok madem çok bılıyorsun yorum bekleme empati kur .

    insan ol diyorsun dıkkatlı ol dogru kelıme yaz

     

    Dostum hala anlamıyorsun. Bir insanın çok bilgili olması içini dökmeyeceği anlamına gelmez, insanlarla dertleşmeyeceği anlamına gelmez. Empati ile dert bitmez.

  7. başlık bıle ıtıcı mart ayı gelmeden çiftleşcek kedi gibi 

    mutsuzum yalnızım heycanımı kaybetmısım desen amenna

    http://www.youtube.com/watch?v=rXR5_nsmtfA

     

    İtici olan bir şey varsa, senin gördüklerini, duyduklarını bu şekilde yorumlamandır. Kale alıp cevap vermeye bile değmez ama cevapsız da olmuyor. Sen önce konuşmayı, yazmayı öğren. Karşıdakini anlamayı öğren. Sen önce insan olmayı öğren.

  8. Ufak bir fonksiyon yazdım. İşini görür umarım.

     

    
    Func IsDriveFree($Drive, $FreeMB)
    
    	If StringRight($Drive, 1) <> "\" And StringRight($Drive, 1) <> ":" Then $Drive &= ":"
    	Local $DSFree =  DriveSpaceFree($Drive)
    
    	If $DSFree > $FreeMB Then Return SetError(0, $DSFree, True)
    	Return False
    
    EndFunc
    
    If IsDriveFree(@HomeDrive, 1000) Then MsgBox(0, "", "İstediğiniz kadar boş alan mevcut" & @CRLF & @extended & " MB boş alan var.")
    
    If Not IsDriveFree(@HomeDrive, 1000000) Then MsgBox(0,"Maalesef", "Çok geride kalmışsınız! Bence hemen yeni bir hard disk alın.")

     

     

  9. Öncelikle dil seçeneğini daha mantıklı bir standartta oturtmanı öneririm. Parametre gönderme olayını da ShellExecute fonksiyonuyla halledebilirsin. Gelen parametreleri de $CmdLine ile kontrol ederbilirsin. Kolay gelsin.

     

    Parametre Gönderme

     

    ShellExecute("Programınİsmi.exe", "Parametre", "Çalışma Dosyası")

     

    Gelen Parametreleri Kontrol Etme

     

    For $i = 1 To $CmdLine[0]

     

    MsgBox(0, $i, $CmdLine[$i])

     

    Next

     

    Dil konusunda ne yapmak istediğini tam olarak anlamadım. Ama:

     

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Crysis 3", 212, 77, 192, 124)
    $Group1 = GUICtrlCreateGroup("Language Select", 8, 8, 193, 57)
    $Language = GUICtrlCreateCombo("Dil", 16, 32, 121, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "Türkçe|İngilizce|Kürtçe")
    $Button1 = GUICtrlCreateButton("OK", 141, 30, 49, 25)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###
    
    Global $GlobalVariable_Language = "TR"
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    		Case $Language
    			Switch GUICtrlRead($Language)
    				Case "Türkçe"
    					$GlobalVariable_Language = "TR"
    				Case "İngilizce"
    					$GlobalVariable_Language = "EN"
    				Case "Kürtçe"
    					$GlobalVariable_Language = "KR"
    			EndSwitch
    		MsgBox(0, "", $GlobalVariable_Language)
    
    	EndSwitch
    WEnd
  10. Merhaba ahali!

     

    C# ile yazdığım fonksiyonları dll olarak kaydediyorum. Başka bir programlama dili ile çağırmak istediğimde olmuyor. DLL Export Viewer ile açtığımda da fonksiyonlar görünmüyor. DLL'yi oluştururken mi hata yapıyorum acaba?

  11. AutoIT'in help dosyası en büyük kaynak. Ayrıca www.autoitscript.com\forum adresinde istemediğin kadar örnek var. Yüksek seviyeli bir dil olduğu için örnek çalışmaları inceleyip anlayabilirsin. AutoIT'i öğrenmek = Zaman + Sabır + Merak :)

×
×
  • Create New...