Jump to content

Autoıt Ile Serial Girme Problemi


SAYGINER
 Share

Recommended Posts

İyi akşamlar arkadaşlar.Autoitle katılımsız yaparken bir sorunla karşılaşıyorum.Bir türlü serial kaydını yapamıyorum.Her kuruluşta lisansız kuruluyor ve kurulumdan sonra internet bağlantısı arıyor.Bu sorunları nasıl düzeltebilirim.Saygılarımla
[codebox]
Opt("WinWaitDelay",100)
Opt("WinTitleMatchMode",4)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)
Run('asc5-setup.exe')
WinWait("Advanced SystemCare 5 - Kur","Advanced SystemCare ")
WinWaitActive("Advanced SystemCare 5 - Kur","Advanced SystemCare ")
Send("{ENTER}{CTRLUP}")
WinWait("Advanced SystemCare 5 - Kur"," Inno Setup 5.1+ Tür")
WinWaitActive("Advanced SystemCare 5 - Kur"," Inno Setup 5.1+ Tür")
Send("{TAB}{UP}{DOWN}{TAB}{DOWN}{LEFT}{DOWN}{DOWN}{ENTER}{ENTER}{ENTER}")
WinWait("Advanced SystemCare 5 - Kur","Advanced SystemCare ")
WinWaitActive("Advanced SystemCare 5 - Kur","Advanced SystemCare ")
Send("{ENTER}")
WinWait("Advanced SystemCare yapılandırılıyor","Şimdi Başlat")
WinWaitActive("Advanced SystemCare yapılandırılıyor","Şimdi Başlat")
Send("{TAB}{ENTER}{CTRLUP}")
WinWait("Advanced SystemCare - Güncelleme","Sonra karar ver")
WinWaitActive("Advanced SystemCare - Güncelleme","Sonra karar ver")
Send("{RIGHT}{ENTER}")
WinWait("Advanced SystemCare V5","")
WinWaitActive("Advanced SystemCare V5","")
Send("{DOWN}{UP}{DOWN}{TAB}{LEFT}{DOWN}{UP}{RIGHT}")
WinWait("Kaydet","Şimdi Etkinleştir")
WinWaitActive("Kaydet","Şimdi Etkinleştir")
Send("d735f-51e931b1e4-c8ad4")
Send("{TAB}")
Send("{ENTER}")
WinWait("Kaydet","Bu lisans etkinleşti")
WinWaitActive("Kaydet","Bu lisans etkinleşti")
Send("{ENTER}")
WinWait("Kaydet","Şimdi Etkinleştir")
WinWaitActive("Kaydet","Şimdi Etkinleştir")
Send("{ENTER}{TAB}{ENTER}")[/codebox]
Link to comment
Share on other sites

senin
Send
WinWait
WinWaitActive
bu komutlarlada olur ama katılımsız kurulum parametresi ile kurdurmak daha sağlam olur
Advanced SystemCarenin katılımsız parametresi
/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
autoitle katılımsız yapacağın programın önce katılımsız parametresini öğrenmelisin
nasıl öğrenirim dersen şöyle
örneğin
Advanced SystemCarenin katılımsız parametresini bulacağız
öncelikle Başlat->Çalıştır->cmd çıkan msdos ekranına Advanced SystemCare programını sürükle ve bırak daha sonra /? yaz enter eğer bulunmaz ise parametre yani parametre ile ilgili bir pencere görmezisen ozaman USSF yani Universal Silent Switch Finder adlı minik programla bulabilirsin resimde gördüğün gibi Inno Setup ile paketlenmiş genelde Inno Setup ile paketlenen programların katılımsız parametresi /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- olur veya /S olur

[img]http://i.imgur.com/x8zZj.jpg[/img]

veya dosya uzantısı .msi ise katılımsız parametresi /qn veya /qb dir
serial kaydına gelince serial girmenin bir çok yolu vardır şimdi onada bakıyorum hemen dönerim :)


Advanced SystemCare biraz zormuş bu yüzden kodlar uzadıkça uzadı ama bu kodlar gözünü korkutmasın hevesin kaçmasın çünki neredeyse kodların bir çoğu copy paste :D yani bu kodları alıp başka bir program için editlemen mümkün :)

[codebox]
;--YAPIMCI VE VERSİYON BİLGİLERİ----
#Region
#AutoIt3Wrapper_Icon=x.ico ;İCONUMUZ
#AutoIt3Wrapper_Res_Description=5.0.0.158 MNY
#AutoIt3Wrapper_Res_Fileversion=5.0.0.158
#AutoIt3Wrapper_Res_LegalCopyright=© 2012 MNY
#AutoIt3Wrapper_Res_Field=Script Writer|MNY
#endregion
;--YAPIMCI VE VERSİYON BİLGİLERİ----

#RequireAdmin ;YÖNETİCİ OLARAK ÇALIŞTIR

Opt("TrayMenuMode", 1)
TrayTip(".::MeHMeT::.UYARI!", "Advanced SystemCare 5 yüklenirken lütfen bekleyiniz", 30, 4);YÜKLENİRKEN BİLGİ VERELİM
Sleep(2000)
FileInstall("asc5-setup.exe",@TempDir & "\asc5-setup.exe") ;Setup DOSYAMIZI AUTOİT İÇİNE GÖMELİM VE TEMP'E ÇIKARALIM
ShellExecuteWait(@TempDir & "\asc5-setup.exe","/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-","","",@SW_HIDE);KATILIMSIZ PARAMETRESİYLE KURALIM

FileDelete(@TempDir & "\asc5-setup.exe");KURULUM BİTTİ TEMPDEN SİLELİM
ProcessClose("IEXPLORE.EXE");INTERNET EXPLORER SAYFASINI AÇIYOR KAPATALIM

;-----------------------PROGRAM KURULUMDAN SONRA ÇALIŞIYOR PROGRAMIN ÇALIŞTIĞI KLASÖRDEN KAPATIYORUZ BLUE_LİFE ARKADAŞIMIZDAN ALINTIDIR BU KOD---
_ProcessCloseLocation(@ProgramFilesDir & "\IObit\Advanced SystemCare 5")
Func _ProcessCloseLocation($BlueGetLoca)
If StringRight($BlueGetLoca, 1) <> "\" Then $BlueGetLoca &= "\"
If FileExists($BlueGetLoca) = 0 Then Return SetError(1, 0, 0)
Local $ErrorLacation = "|" & StringLeft(@WindowsDir, 3) & "|" & @WindowsDir & "\|" & @WindowsDir & "\System32\|"
If StringInStr($ErrorLacation, "|" & $BlueGetLoca & "|") <> 0 Then Return SetError(1, 0, 0)

Local $Process_list = ProcessList()
If UBound($Process_list) Then
ReDim $Process_list[UBound($Process_list)][5]
For $i = 1 To $Process_list[0][0]
$Process_list[$i][2] = FileGetLongName(_ProcessGetLocation($Process_list[$i][1]))
$Process_list[$i][3] = StringTrimRight($Process_list[$i][2], StringLen($Process_list[$i][0]))
If $Process_list[$i][3] = $BlueGetLoca Then
$Process_list[$i][4] = ProcessClose($Process_list[$i][1])
EndIf
Next
EndIf
EndFunc ;==>_ProcessCloseLocation

Func _ProcessGetLocation($iPID); Programın çalıştığı dizin
Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID)
If $aProc[0] = 0 Then Return SetError(1, 0, '')
Local $vStruct = DllStructCreate('int[1024]')
DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc[0], 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0)
Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc[0], 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048)
If StringLen($aReturn[3]) = 0 Then Return SetError(2, 0, '')
Return $aReturn[3]
EndFunc ;==>_ProcessGetLocation
;---------ADVANCED SYSTEMCARE VE BERABERİNDE ARKAPLANDA ÇALIŞAN ADVANCED SYSTEMCAREYE AİT TÜM PROGRAMLARI KAPATMA KODUNUN SONU--------------

;-----------IP BLOKLAMA KOD BAŞLANGICI--------ADVANCED SYSTEMCARE'NİN IPLERİNİ BLOKLAYALIM BİZİM SERİAL YAKALANMASIN BUDA BLUE_LİFE ARKADAŞIMIZIN KODLARINDAN ALINTIDIR-----------
Local $HostFile = @WindowsDir & "\System32\drivers\etc\hosts"

;Dosyayı okuyoruz.
Local $BlueReadFile = _Blue_FileRead_To_Array($HostFile, False)

;Ilgili içerikte domainin olup olmadığına bakıyoruz, yoksa alt satıra ekliyoruz.
_Blue_Host_Adline($BlueReadFile, "127.0.0.0", "localhost")
_Blue_Host_Adline($BlueReadFile, "127.0.0.1", "http://www.iobit.com")
_Blue_Host_Adline($BlueReadFile, "127.0.0.1", "iobit.com")
_Blue_Host_Adline($BlueReadFile, "127.0.0.1", "98.129.229.186")
_Blue_Host_Adline($BlueReadFile, "127.0.0.1", "http://www.iana.org")
_Blue_Host_Adline($BlueReadFile, "127.0.0.1", "iana.org")
; .... EĞER BAŞKA VARSA BU ŞEKİLDE ALT ALTA SIRALAYABİLİRSİN-------



;Değiştirdiğimiz içeriği yazıyoruz.
_Blue_Host_Write($BlueReadFile, $HostFile)

Func _Blue_Host_Adline(ByRef $ArrayList, $IP, $Domain)
Local $Find_Domain, $BLUE_LINE, $BL_Instr
For $I = 1 To $ArrayList[0]
$BLUE_LINE = StringStripWS($ArrayList[$I], 3)

If StringIsDigit(StringLeft($BLUE_LINE, 1)) = 0 Then ContinueLoop

$BL_Instr = StringInStr($BLUE_LINE, Chr(32))
If $BL_Instr = 0 Then $BL_Instr = StringInStr($BLUE_LINE, @TAB)
If $BL_Instr = 0 Then ContinueLoop
$Find_Domain = StringStripWS(StringTrimLeft($BLUE_LINE, $BL_Instr), 3)
If $Find_Domain = $Domain Then
$ArrayList[$I] = $IP & " " & $Domain
Return 1
EndIf
Next
If UBound($ArrayList) >= $ArrayList[0] Then ReDim $ArrayList[$ArrayList[0] + 100]
$ArrayList[0] += 1
$ArrayList[$ArrayList[0]] = $IP & " " & $Domain
Return 1
EndFunc ;==>_Blue_Host_Adline

Func _Blue_Host_Write(ByRef $ArrayList, $TARGET_FILE)
Local $Return = True, $Blue_Write
FileSetAttrib($TARGET_FILE, "-RSH")
Local $File_hwnd = FileOpen($TARGET_FILE, 2)
If $File_hwnd = -1 Then
$Return = False
Else
For $I = 1 To $ArrayList[0]
$Blue_Write &= $ArrayList[$I] & @CRLF
Next
If FileWrite($TARGET_FILE, $Blue_Write) = 0 Then $Return = False
EndIf
FileSetAttrib($TARGET_FILE, "-RSH")
If $Return = False Then Return SetError(1, 0, 0)
Return 1
EndFunc ;==>_Blue_Host_Write

Func _Blue_FileRead_To_Array($TARGET_FILE, $SStripWS = True)
;Dosya|Fazla enterleri silmek
Local $Return_Array[1] = [0]
Local $FileGetSize = FileGetSize($TARGET_FILE)
If $TARGET_FILE = "" Or FileExists($TARGET_FILE) = 0 Or $FileGetSize = 0 Then Return SetError(1, 0, $Return_Array)

Local $File_hwnd = FileOpen($TARGET_FILE, 0)
If $File_hwnd = -1 Then Return SetError(2, 0, $Return_Array)
Local $File_Read = FileRead($File_hwnd, $FileGetSize)
FileClose($File_hwnd)
If StringLen($File_Read) < 1 Then Return SetError(3, 0, $Return_Array)

If StringInStr($File_Read, @LF) Then
$File_Read = StringStripCR($File_Read)
ElseIf StringInStr($File_Read, @CR) Then
$File_Read = StringReplace($File_Read, @CR, @LF)
EndIf

If $SStripWS = True Then
Do
$File_Read = StringReplace($File_Read, @LF & @LF, @LF)
Until @extended = 0
$File_Read = StringStripWS($File_Read, 3)
EndIf
$Return_Array = StringSplit($File_Read, @LF)
Return $Return_Array
EndFunc ;==>_Blue_FileRead_To_Array
;-----------IP BLOKLAMA KOD BİTİŞİ----------------------------------------------------------

;---BU SERİALE GÖRE YAPTIM -- D735F-51E93-1B1E4-C8AD4 ------
;BEN KURARKEN REGEDİT'E BÖYLE BİR ANAHTAR YAZMIŞTI NE OLUR NE OLMAZ ANAHTARI TEKRAR GİRELİM :) VEDE KENDİ KLASÖRÜNDE SERİAL GİRDİKTEN SONRA BİR KAÇ DOSYA DEĞİŞİKLİĞİ OLDU ONLARIDA İADE EDELİM ----
RegWrite('HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\Advanced SystemCare', '', 'REG_SZ','{9486A9B2-D787-4eca-A25C-4A0086BB4154}')
FileInstall("License.dat",@ProgramFilesDir & "\IObit\Advanced SystemCare 5\License.dat",1)
FileInstall("Register.exe",@ProgramFilesDir & "\IObit\Advanced SystemCare 5\Register.exe",1)
FileInstall("Reg.dbd",@ProgramFilesDir & "\IObit\Advanced SystemCare 5\Reg.dbd",1)

TrayTip(".::MeHMeT::.UYARI!", "Advanced SystemCare 5 Başarıyla Yüklendi", 10, 4);KURULUM TAMAMLANDI BİLGİSİ VERELİM
Sleep(2000)
[/codebox]

işte sonuç baktınki olmadı katılımsız yaptığın paylaşımın yanında birde bu seriali verirsin olur biter D735F-51E93-1B1E4-C8AD4
[spoiler][img]http://i.imgur.com/wIYmq.jpg[/img][/spoiler]

Diğer tüm dosyalar ve kaynak kodlarına buradanda ulaşabilirsin
:download1:
[code]http://www.mediafire.com/?wc0hy6jxok75fh0[/code]

Edited by MeHMeTBeN
Link to comment
Share on other sites

Selamlar MeHMeTBeN Kardeşim.Yapıp gönderdiğin Advanced System Carede seriali nereye yazdın bir türlü bulamadım.Başka programlara entegre edeceğim ama serial sorununu çözemiyorum.Sessiz kurulum parametresi ile yaptığın için güzel olmuş.Saygılar.

Link to comment
Share on other sites

yanında verdiğim açıklamalarda belirtim ya :)
yani önce manuel kendim programı kurdum ve serial girdim daha sonra programın kendi dizininde serial girdikten sonra ne değişiklik yapıyorsa izledim ve o değişiklikleri bir kenara kopyasını aldım

normalde her program bu şekilde katılımsız olmayabilir programdan programa değişir

Link to comment
Share on other sites

  • 2 hafta sonra ...

bu programda geçerli olur mu bilmem de, bu kadar satır kod yazmaya gerek yok.

1. arkadaşın dediği gibi katılımsız parametre kullanarak kur.
2. sanal xp'de (temiz, hiçbi program kurulu olmayan) total uninstall ile serial girerken yaptıgı değişiklikleri bulacaksın

bu regedit'te de olabilir, herhangi bi dosyada da saklayabilir

regedit'te saklıyorsa .reg olarak kaydedip internetten buldugun Reg2Au3 programıyla AU3 kodlarına dönüştürüp projene ekliyceksin.

Link to comment
Share on other sites

  • 1 ay sonra...

[quote name='daft117' date='29 April 2012 - 23:24 ' timestamp='1335734672' post='1194340']
bu programda geçerli olur mu bilmem de, bu kadar satır kod yazmaya gerek yok.

1. arkadaşın dediği gibi katılımsız parametre kullanarak kur.
2. sanal xp'de (temiz, hiçbi program kurulu olmayan) total uninstall ile serial girerken yaptıgı değişiklikleri bulacaksın

bu regedit'te de olabilir, herhangi bi dosyada da saklayabilir

regedit'te saklıyorsa .reg olarak kaydedip internetten buldugun Reg2Au3 programıyla AU3 kodlarına dönüştürüp projene ekliyceksin.
[/quote]


Bu program için geçerli olmuyor.Çünkü sadece reg kaydı değil dosyalarda da ekleme yapıyor.Bu yüzden en ideali repack yapmak.

Link to comment
Share on other sites

  • 4 hafta sonra ...

[color="#8B0000"]ControlCommand() yöntemiyle daha düzgün ve kusursuz bi kurulum gerçekleştirebilirsiniz. Kullanıcının mouse ve klavye hareketlerinden de etkilenmemiş olur.[/color]

Link to comment
Share on other sites

[quote name='ibocan06' date='09 July 2012 - 21:31 ' timestamp='1341858676' post='1220083']
@ Baba_

Yapsanızda öğrensek. Basit bir program deil gibi geldi bana...
[/quote]

[b]Yapsanızda öğrensek derken ? Sitede bununla ilgili memleket kadar örnek ve anlatım verildi.Onu geçtim help dosyası diye bişey icat etmişler çok güzel diye duydum.Hazırcı olmayın biraz araştırma yapın ve kafanızı kullanın.[/b]

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...