Jump to content

İleri düzey AutoIT örnekleri


sk8er_boi
 Share

Recommended Posts

@Aqil990

Nasıl bir hata! Örnekteki hata mesajı mı çıkıyor yoksa?

@DarkLenoX

Bir döngü içinde ilgili uygulamanın çalışıp çalışmadığına bakarsın. Eğer çalışmıyorsa oyunun exesini kapatabilirsin.

Mesela;

While 1
	If not ProcessExists("Test.exe") Then
		ProcessClose("Oyun.exe")
		Exit
	EndIf
	sleep(100)
WEnd

  • Like 1
Link to comment
Share on other sites

Arkadaşlar bişey sorucam.mümkün mü bilmiyorum ama sorucam.şimdi ben bir inpuxbox oluşturdum.şifreli oluşturdum.şifreyi girdiğimde istediğim işlemi yapıyor.yanlış girince hata veriyor.bunlarda sorun yok.sorum şu;

Şifreli inpuxboxu scriptin içinde belirlemek istemiyorum.sonradan belirlemek istiyorum.yani inputbox açılıcak.bu inputboxun bundan sonraki şifresi ne olsun belirleyin diyecek.2 kez aynı şifreyi yazdığımda artık ondan sonra o scriptin şifresi o olacak.anlatabildim mi acaba ?

Link to comment
Share on other sites

Dediklerini yapmak icin sana bir faylda ve ya regedit de (ve ya senin fantazinde ola bilecek bashqa turler) faydalana bilecegin bir sheyler olmasi lazim.

soyle yapa bilirsin:

If FileExists("deneme.txt") Then

_yeni_sifre()

Else

_sifresor()

EndIf

_yeni_sifre() funksiyonunuda icinde deneme.txt ni silmek koyarsin ishlem tamamlaninca siler ve bir daha acildiginda _sifresor() funksiyonunu gosterir.

Tabii su basit ornek senin fantazin bashka sheylerde urete biler.

Edited by Aqil990
Link to comment
Share on other sites

@guven_memo

Evet şifreyi registryde tutmak daha basit bir yöntem sayılır. Tabi şifrenin kolay bulunmaması için farklı yöntemler izlenilebilir.

Mesela ben olsam ilk aşamada şifreyi şifrelerdim. Hehe :) şifreyi şifrelemek :dribble:

Ben sana kısa yarım bir örnek verim sen kendine göre düzenlersin. Ilk başta şifreyi belirlediğin için şifre sorma ekranı çıkmıyor.

Böylesei daha mantıklı. Ikinci çalıştırmada daha önce girdiğin şifre sorulacaktır.

Neyse ben yvaş yavaş kaçar. Kolay gelsin....

_Bl_PASSWORD()
MsgBox(64, "", "Şifre başarılı!")
;~ RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\!BlueLife\Test") ;Yazdığın değeri silmen gerekirse

Func _Bl_PASSWORD()
	Local $Blue_Value1, $Blue_Value2
	Local $PASS_READ = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\!BlueLife\Test", "Password")
	If $PASS_READ = "" Then ;Şifre boş ise veyahut değer yoksa
		Local $BLUE_PASS_GUI = GUICreate("Yeni Şifre Belirle", 290, 120, -1, -1, BitOR(0x80880000, 0x00C00000), 0x00000010)
		GUISetFont(9, 800, 0, "Tahoma")
		GUISetFont(8, 800, 0, "MS Sans Serif")
		GUICtrlCreateGroup("Şifre Belirleme", 10, 10, 270, 75)
		GUICtrlCreateLabel("Yeni Şifre", 25, 31, 150, 17)
		Local $BL_INPUT1 = GUICtrlCreateInput("", 170, 28, 100, 20, 0x0020)
		GUICtrlSendMsg(-1, 0xCC, Asc("*"), 0)
		GUICtrlCreateLabel("Yeni Şifre Tekrar", 25, 55, 150, 17)
		Local $BL_INPUT2 = GUICtrlCreateInput("", 170, 52, 100, 20, 0x0020)
		GUICtrlSendMsg(-1, 0xCC, Asc("*"), 0)
		GUICtrlSetLimit(-1, 10)
		Local $BL_BUTTON = GUICtrlCreateButton("Tamam", 10, 90, 270, 22, 0x5601000B)
		GUISetState(@SW_SHOW, $BLUE_PASS_GUI)
		While 1
			$nMsg = GUIGetMsg()
			Switch $nMsg
				Case -3
					Exit
				Case $BL_BUTTON
					$Blue_Value1 = StringStripWS(GUICtrlRead($BL_INPUT1), 3)
					$Blue_Value2 = StringStripWS(GUICtrlRead($BL_INPUT2), 3)
					If $Blue_Value1 == $Blue_Value2 Then ;Kutulardaki text eşit deyilse
						RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\!BlueLife\Test", "Password", "REG_SZ", $Blue_Value1)
						ExitLoop
					Else
						MsgBox(16, "Hata!", "Iki kutudaki şifrede aynı olmalıdır!")
						GUICtrlSetState($BL_INPUT1, 256)
					EndIf
			EndSwitch
		WEnd
		GUIDelete($BLUE_PASS_GUI)

	Else ;Şifre var ise
		;Burayada bir gui ayarlarsın.
		;Uykum geldi 
		Local $passwd
		For $I = 1 To 5 ;Hata olma ihtimaline göre 5 kez sorsun
			$passwd = InputBox("Security Check", "Enter your password.", "", "*")
			If @error Then Exit
			If $passwd == $PASS_READ Then
				Return
			Else
				MsgBox(16, "", "Şifre hatalı!" & @CRLF & "Mevcut şifren: " & $PASS_READ)
				ContinueLoop
			EndIf
		Next
	EndIf
EndFunc

Link to comment
Share on other sites

@Aqil990

Sen terstenmi okutmak istiyorsun? Ufak bir örnek verelim...

MsgBox(64,"",_TERSTEN_OKU("Selam Millet, ben BlueLife"))
Func _TERSTEN_OKU($BL_STRING)
	Local $StringSplit = StringSplit($BL_STRING,"",1)
	Local $Return_String
	For $I = $StringSplit[0] to 1 Step -1
		$Return_String &= $StringSplit[$I]
	Next
	Return $Return_String
EndFunc

@DarkLenoX

While 1
	If not ProcessExists("Koruma3.exe") Or not ProcessExists("Koruma2.exe") Then ;Koruma3.exe veya Koruma2.exe çalışmıyorsa aşağıdaki satırları uygula!
		ProcessClose("worldofroyal.exe")
		Exit
	EndIf
	sleep(100)
WEnd

@eagle31907

Forumda yeteri kadar anlatım ve örnek bulunmaktadır...

Kolay gelsin arkadaşlar...

Link to comment
Share on other sites

usta birde bir shey sorucam, yokmu bu autoitde bilgileri dogru durust tutmaq icin yaradilmish bir shey, yani ben programa girilen bilgileri bir yerlere gomeyim bashqasi ona kolay-kolay ulashmasin, dll gibi falan yani

sk8er_boi-> Türkçe'yi bilerek ve isteyerek berbat bir şekilde kullandığın için uyarı aldın.

Link to comment
Share on other sites

sistem dosyası dediğin dll ise

DllCall ( "dll", "return type", "function" [, type1, param1 [, type n, param n]] )

fonksiyonunu kullanabilirsin.Yalnız bunun için biraz dll hakkında bilgiye ihtiyacın var ve windowsun kendi dllerinden birini kullanacaksan gerekli bilgiyi msdn kütüphanesinden alabilirsin.

Link to comment
Share on other sites

@Aqil990

Sen programdaki kullancının verdiği bilgileri kimsenin kolay kolay içeriğe ulaşmayacağı bir şekilde saklamak mı istiyorsun? Bunun için herangi bir uzantıdaki bir dosyaya, ilgili bilgileri şifreleyerek yazdırabilirsin. Eğer böyle bir şey istiyorsan basit bir örnek verebilirim...

@DarkLenoX

Görev yöneticisi windows ile beraber gelen bir programdır. Haliyle yazarı tarafından bazı programların kapatılması engellenmiştir (Emin deyilim).

Yani demek istediğim bu ilgili program isimleri tasmgr.exe içinde gömülü olabilir.

Tabi yukarıdaki yazdığım bilgi bir araştırma vs deyil. Tamamen benin düşüncem.

Mesela Progress Explorerde istediğimiz programı sonlandırabiliyoruz. Eğer sistem tarafından bir engel olsaydı onda da ilgili exelerin kapanmaması lazımdı.

Umarım anlatabilmişimdir... Kolay gelsin...

Link to comment
Share on other sites

aqil

_StringEncrypt([1 (şifrele) ya da 0 (çöz)],[şifrelenecek string], [şifrelemeye ait şifre oluştur ki çözmeye kalkan bu engele takılıcaktır autoit bilgisi olsa bile], [şifreleme derecesi (fazla abartma dereceyi 2-3 yeterlidir fazlasında programın donma yapabilir.)])

fonksiyonuyla txt de bile saklayabilirsin bilgilerini.

darklenox o iş zor çünkü senin programın kapatıldığında artık autoit ile kod işlettiremeyiz malum.başka çözümler aramalısın.

Link to comment
Share on other sites

ben milletin anti sistemini araştırırken 1298 bi sistemde görmüştüm adamın exesini görev yöneticisinden sonlandırınca bilgisayarda 50den geri sayıyor sistem dosyasını kapatınca ne oluyorsa aynısı oluor sordum nasıl yaptığını svchostlardan 1 tanesinle birleştirdi banada mantıklı geldi olay fakat eeğr svchostlardan 1 tanesinle birleştirirsem vista windows 7 gibi sistemlerde sorun çıkarabilir diye düşündüm

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...