$version01 ="6.6_1 Enumrate DLL Find What access" ; Version 1.0 use cheat engine 6.8.2 value last scan fix je jne DOWN UP #include #Include #include #include #include #include #RequireAdmin ; ko thong bao khi thieu var co them quyen admin ghi vao bo x32 $run01 = 0 $loopedit = 9999 ; 3s rep 1 $add = 1 $find_asm01add = 1 $find_asm01max = 999 Global $find_asm_del01 = 1 ; 1 = Bật chế độ tự động xóa dòng trùng | 0 = Chỉ đổi tên thành DEL Global $bSkipDown = False ; Cờ kiểm tra bỏ qua Send("{Down}") sau khi xóa dòng Global $time_clock_max01 = 10 * 60000 ; 5 phút = 300.000 ms Global $hTimer_scan01 = 0 ; JZ Nhay neu ket qua so sanh = 0 ; JNZ Nhay neu ket qua so sanh <> nhau ; JE Nhay neu 2 toan hang = nhau ; JNE Nhay neu 2 toan hang <> nhau ; JA Nhay neu Opt1 > Opt2 ; JNA Nhay neu Not (Opt1 > Opt2) ; JG Nhay neu Opt1 > Opt2 ; JNG Nhay neu Not (Opt1 > Opt2) ; JB Nhay neu Opt1 < Opt2 ; JBE Nhay neu Not (Opt1 < Opt2) ; JL Nhay neu Opt1 < Opt2 ; JNL Nhay neu Not (Opt1 < Opt2) ; JNBE Nhay neu Opt1 <= Opt2 ; JLE Nhay neu Opt1 <= Opt2 ; JNLE Nhay neu Not (Opt1 <= Opt2) ; JGE Nhay neu Opt1 >= Opt2 ; JNGE Nhay neu Not (Opt1 >= Opt2) ; JAE Nhay neu Opt1 >= Opt2 ; JNAE Nhay neu Not (Opt1 >= Opt2) ; JNC Nhay neu ko co Carry ; JC Nhay neu co Carry ; JCXZ Nhay neu CX = 0 ; JNP Nhay neu PF = 0 ; JS Nhay neu SF = 1 ; JNS Nhay neu SF = 0 ; JO Nhay neu da tran tri ; JNO Nhay neu tran tri $rep_je01 = "je " $rep_jne01 = "jne " ;$rep_je01 = "jna " ;$rep_jne01 = "jne " ; test MEmuRT.dll $rep_je02 = "je " $rep_jne02 = "jne " $Assemblyscan_text = "JE-JNE" ; "JE-JNE" "JA-JB" $gui_find_text01 = "je" $edit_value = "0" If $Assemblyscan_text = "JE-JNE" then $gui_text01 = "je jne" $gui_text02 = "jne je" $gui_change01 = 116 $gui_change02 = 15 $gui_change_hex01 = 0x75 $gui_change_hex02 = 0x85 $gui_change03 = 117 $gui_change04 = 15 $gui_change_hex03 = 0x74 $gui_change_hex04 = 0x84 ElseIf $Assemblyscan_text = "JA-JB" then $gui_text01 = "ja jb" $gui_text02 = "jb ja" $gui_change01 = 119 $gui_change02 = 15 $gui_change_hex01 = 0x72 $gui_change_hex02 = 0x82 $gui_change03 = 114 $gui_change04 = 15 $gui_change_hex03 = 0x77 $gui_change_hex04 = 0x87 EndIf ;$txt = "taydukyje jne - Notepad" $txt = "cdwinje jne04 - Notepad" $Assemblyscan = "Assemblyscan" $api = "Enumerate DLL's" $Memory_Viewer = "Memory Viewer" $Cheat_Engine_single_lin_assembler = "Cheat Engine single-line assembler" $Confirmation = "Confirmation" $cheatgame61 = "chaot hanhve 6.6" $Change_Description = "Change Description" $Assembly_scan = "Assembly scan" $process_exe = "plugin-container.exe" $process_numer = 2 $add = 1 $nOffset = 0 $bat_timtoadox01 = 0x513F88 ; Client.exe+00513F88 Offset 2C, 8, 24 , 10, 17C, 110, + C = gia tri x + add 228 = gia tri y (++0x1000) $kiemtracheat = 0x00662DD0 ; "cheatengine-i386.exe"+0078F4F0 Offset 48, last addrees "Assemblyscan" ; base dll $cheatengine = 0x00400000 ;$Engine = "WindroyeBoxHD.exe" $Engine = "MEmu.exe" ;$Engine = "opengl32.dll" ;$Engine = "Wuhun.dll" $background01color = 0x333333 $g_hGUI = GUICreate($version01,290,300,-1,-1) Global $button_submit01 = GUICtrlCreateEdit("ntdll.NtQueryInformationProcess - jmp SbieDll.dll+58770", 5, -20+(20*8), 290, 150, BitOr($LBS_EXTENDEDSEL, $WS_BORDER, $WS_HSCROLL, $WS_VSCROLL)) ; tat xep array theo abc GUICtrlSetLimit($button_submit01, 2000) GUICtrlSetColor($button_submit01, 0x9fc5e8) GUICtrlSetBkColor($button_submit01, $background01color) GUISetState(@SW_SHOW, $g_hGUI) ;GUISetState() $gui_check01 = GUICtrlCreateCheckbox($gui_text01&" DOWN", 10, -20+(20*1), 90, 20) $gui_check02 = GUICtrlCreateCheckbox($gui_text02&" DOWN", 10, -20+(20*2), 90, 20) $gui_check13 = GUICtrlCreateCheckbox($gui_text01&" UP", 10, -20+(20*3), 90, 20) $gui_check14 = GUICtrlCreateCheckbox($gui_text02&" UP", 10, -20+(20*4), 90, 20) $gui_check03 = GUICtrlCreateCheckbox("mov nop", 10, -20+(20*5), 90, 20) $gui_check04 = GUICtrlCreateCheckbox("Enumerate Dll's", 10, -20+(20*6), 90, 20) $gui_check05Find_what_access = GUICtrlCreateCheckbox("Find_what_access", 10, -20+(20*7), 90, 20) $gui_check06 = GUICtrlCreateCheckbox("Value", 110, -20+(20*1), 120, 20) $gui_check07 = GUICtrlCreateCheckbox("Address", 110, -20+(20*2), 120, 20) $gui_check08 = GUICtrlCreateCheckbox("Value Description", 110, -20+(20*3), 120, 20) $gui_check09 = GUICtrlCreateCheckbox("Description Value", 110, -20+(20*4), 120, 20) $gui_check10 = GUICtrlCreateCheckbox("mem address find asm", 110, -20+(20*5), 120, 20) $gui_check11 = GUICtrlCreateCheckbox("call address find asm", 110, -20+(20*6), 120, 20) $gui_check12 = GUICtrlCreateCheckbox("Value last scan", 110, -20+(20*7), 120, 20) HotKeySet("{F11}","test01") ; func hot key Func test01() ProcessClose($processgame) ProcessClose("MEmu.exe") Sleep(100) ProcessClose("MEmu.exe") Sleep(100) sleep(100) EndFunc Func Replace_asm01($rep0,$rep1) ; "je ", "jne " $sleep01 = Sleep(50) $sleep02 = Sleep(70) WinActivate($Assemblyscan) $sleep01 $w = WinGetPos($Assemblyscan) mousemove(115 + $w[0],170 + $w[1],0) MouseClick("left") MouseClick("left") $sleep01 Send("{Down}") Sleep(100) WinActivate($Memory_Viewer) $sleep01 $w = WinGetPos($Memory_Viewer) mousemove(238 + $w[0],98 + $w[1],0) $sleep01 MouseClick("left") MouseClick("left") Sleep(100) WinActivate($Cheat_Engine_single_lin_assembler) Sleep(100) $control01 = WinGetHandle("","") ControlSend($control01, "", "", "^c") Sleep(100) $sData = ClipGet() $sData = StringRegExpReplace($sData, $rep0,$rep1) ClipPut($sData) ControlSend($control01, "", "", "^v") Sleep(100) ControlSend($control01, "", "", "{Enter}") $sleep01 $g_tile01 = WinGetTitle($Confirmation,"") If $g_tile01 <> "" Then WinActivate($Confirmation) $sleep01 $control01 = WinGetHandle("","") ControlSend($control01, "", "", "{Enter}") EndIf If $add = 1 Then Global $hTimer = TimerInit() ; Begin the timer and store the handle in a variable. $fDiff = Int((TimerDiff($hTimer))/1000) ToolTip("loop_edit: "&$add&" TimerDiff: "&$fDiff&" address: "&$sData,0,0) $sleep01 EndFunc Func Replace_asm02($rep0,$rep1) ; "je ", "jne " $sleep01 = Sleep(50) $sleep02 = Sleep(70) WinActivate($Assemblyscan) $sleep01 $w = WinGetPos($Assemblyscan) mousemove(115 + $w[0],170 + $w[1],0) MouseClick("left") MouseClick("left") $sleep01 ;Send("{Down}") mousemove(378 + $w[0],40 + $w[1],0) ; Up MouseClick("left") Sleep(100) WinActivate($Memory_Viewer) $sleep01 $w = WinGetPos($Memory_Viewer) mousemove(238 + $w[0],98 + $w[1],0) $sleep01 MouseClick("left") MouseClick("left") Sleep(100) WinActivate($Cheat_Engine_single_lin_assembler) Sleep(100) $control01 = WinGetHandle("","") ControlSend($control01, "", "", "^c") Sleep(100) $sData = ClipGet() $sData = StringRegExpReplace($sData, $rep0,$rep1) ClipPut($sData) ControlSend($control01, "", "", "^v") Sleep(100) ControlSend($control01, "", "", "{Enter}") $sleep01 $g_tile01 = WinGetTitle($Confirmation,"") If $g_tile01 <> "" Then WinActivate($Confirmation) $sleep01 $control01 = WinGetHandle("","") ControlSend($control01, "", "", "{Enter}") EndIf If $add = 1 Then Global $hTimer = TimerInit() ; Begin the timer and store the handle in a variable. $fDiff = Int((TimerDiff($hTimer))/1000) ToolTip("loop_edit: "&$add&" TimerDiff: "&$fDiff&" address: "&$sData,0,0) $sleep01 EndFunc While 1 If _IsPressed("77") and $run01 = 0 then $processgame = WinGetProcess("") $processcheat = WinGetProcess($cheatgame61) $control01 = WinGetHandle("", "") ;msgbox(0, "ha ha","cheat engine = "&$processcheat &" game = "&$processgame&" so = "&$process_numer) $procHwnd01 = _Memoryopen($processgame,0x1f0fff,0) $EngineX = dec(hex(_MemoryModuleGetBaseAddress($processgame, $Engine))) ;$EngineX = 0x400000 $cheatengineX = $cheatengine ;msgbox(0, "$EngineX",hex($getkiemtracheat)) ;msgbox(0, "$EngineX",hex($EngineX)) ; tim base ElseIf _IsPressed("04") Then GUICtrlSetState($gui_check01, $GUI_UNCHECKED) GUICtrlSetState($gui_check02, $GUI_UNCHECKED) GUICtrlSetState($gui_check03, $GUI_UNCHECKED) GUICtrlSetState($gui_check04, $GUI_UNCHECKED) GUICtrlSetState($gui_check05Find_what_access, $GUI_UNCHECKED) GUICtrlSetState($gui_check06, $GUI_UNCHECKED) GUICtrlSetState($gui_check07, $GUI_UNCHECKED) GUICtrlSetState($gui_check08, $GUI_UNCHECKED) GUICtrlSetState($gui_check09, $GUI_UNCHECKED) GUICtrlSetState($gui_check10, $GUI_UNCHECKED) GUICtrlSetState($gui_check11, $GUI_UNCHECKED) GUICtrlSetState($gui_check13, $GUI_UNCHECKED) GUICtrlSetState($gui_check14, $GUI_UNCHECKED) $add = 1 ; chinh Description Value ElseIf GUICtrlRead($gui_check09)=$GUI_CHECKED and $run01 = 0 Then If $add = 1 then WinActivate($cheatgame61) $w = WinGetPos("") $delay10 = 10 EndIf mousemove(356 + $w[0],424 + $w[1] + ((15*1)-15),0) Sleep(10) MouseClick("left") Sleep(10) For $loop = 1 to 9 mousemove(51 + $w[0],424 + $w[1] + ((15*$loop)-15),0) Sleep($delay10) MouseClick("left") MouseClick("left") Sleep($delay10) Send("^{c}") Sleep($delay10) Send("{ENTER}") Sleep($delay10) Send("{ENTER}") Sleep($delay10) Send("^{v}") Sleep($delay10) Send("{ENTER}") Sleep($delay10) Send("{Down}") Sleep($delay10) Next For $loop = 1 to 8 Send("{Down}") Sleep($delay10) Next $add += 1 If $add > $loopedit then $add = 1 GUICtrlSetState($gui_check09, $GUI_UNCHECKED) EndIf ; chinh Value Description ElseIf GUICtrlRead($gui_check08)=$GUI_CHECKED and $run01 = 0 Then If $add = 1 then WinActivate($cheatgame61) $w = WinGetPos("") $delay10 = 10 EndIf mousemove(356 + $w[0],424 + $w[1] + ((15*1)-15),0) Sleep(10) MouseClick("left") Sleep(10) For $loop = 1 to 9 Send("{ENTER}") Sleep($delay10) Send("^{c}") Sleep($delay10) Send("{ENTER}") Sleep($delay10) mousemove(51 + $w[0],424 + $w[1] + ((15*$loop)-15),0) Sleep($delay10) MouseClick("left") MouseClick("left") Sleep($delay10) Send("^{v}") Sleep($delay10) Send("{ENTER}") Sleep($delay10) Send("{Down}") Sleep($delay10) Next For $loop = 1 to 8 Send("{Down}") Sleep($delay10) Next $add += 1 If $add > $loopedit then $add = 1 GUICtrlSetState($gui_check08, $GUI_UNCHECKED) EndIf ; chinh Address ElseIf GUICtrlRead($gui_check07)=$GUI_CHECKED and $run01 = 0 Then If $add = 1 then WinActivate($cheatgame61) $w = WinGetPos("") EndIf For $loop = 1 to 13 mousemove(133 + $w[0],117 + $w[1] + ((17*$loop)-17),0) Sleep(10) MouseClick("left") MouseClick("left") Sleep(10) Next mousemove(133 + $w[0],117 + $w[1] + ((17*13)-17),0) Sleep(10) MouseClick("left") Sleep(10) For $loop = 1 to 13 Send("{Down}") Sleep(10) Next $add += 1 If $add > $loopedit then $add = 1 GUICtrlSetState($gui_check07, $GUI_UNCHECKED) EndIf ; chinh value ElseIf GUICtrlRead($gui_check06)=$GUI_CHECKED and $run01 = 0 Then If $add = 1 then WinActivate($cheatgame61) $w = WinGetPos("") EndIf Send("{ENTER}") Sleep(20) Send("{BS}") Sleep(10) Send($edit_value) Sleep(10) Send("{ENTER}") Sleep(20) Send("{Down}") Sleep(10) $add += 1 If $add > $loopedit then $add = 1 GUICtrlSetState($gui_check06, $GUI_UNCHECKED) EndIf ; Find_what_access ElseIf GUICtrlRead($gui_check05Find_what_access)=$GUI_CHECKED and $run01 = 0 Then If $add = 1 Then WinActivate($cheatgame61) $w = WinGetPos("") $hTimer_scan01 = TimerInit() ; Khởi động đồng hồ đếm ngược từ lần chạy đầu tiên $sHistoryOpcodes = "|" ; Reset lại danh sách lịch sử khi bắt đầu lượt mới $bSkipDown = False ; Reset cờ bỏ qua phím Down $process_name01 = "DiabloImmortal.exe" ; 1. Lấy PID trực tiếp từ tên file exe Local $iPid05 = ProcessExists($process_name01) If $iPid05 Then ; 2. Mở Process Handle từ PID Global $procHwnd05 = _Process_Open($iPid05) ; 3. Lấy Base Address của Module Global $address_process_name01 = Hex(_Module_GetBaseAddress($procHwnd05, $process_name01)) Else MsgBox(16, "Lỗi", "Không tìm thấy tiến trình: " & $process_name01 & @CRLF & _ "Vui lòng bật game trước khi chạy script!") EndIf EndIf ; 1. Chỉ bấm {Down} nếu lượt trước KHÔNG xóa dòng If Not $bSkipDown Then Send("{Down}") Sleep(150) Else $bSkipDown = False ; Reset lại cờ sau khi đã bỏ qua {Down} Sleep(150) EndIf Send("{F5}") Sleep(200) Send("{F5}") Sleep(800) Opt("WinTitleMatchMode", 2) Opt("WinDetectHiddenText", 0) Local $sTitle = "The following opcodes accessed" Local $hWin = WinWait($sTitle, "", 5) If $hWin Then ; 2. Chỉnh vị trí và kích thước cửa sổ WinMove($hWin, "", 717, 0, 581, 442) Sleep(100) ; 3. Click vào các dòng trong bảng SysListView32 ControlClick($hWin, "", "[CLASS:SysListView32; INSTANCE:1]", "left", 1, 294, 36) Sleep(100) ControlClick($hWin, "", "[CLASS:SysListView32; INSTANCE:1]", "left", 1, 294, 36) Sleep(100) ; 4. Lấy toàn bộ Visible Text và tách dòng Local $sVisibleText = WinGetText($hWin) Local $aLines = StringSplit(StringStripCR($sVisibleText), @LF) ; 5. Đếm số dòng có hơn 3 ký tự Local $iValidLines = 0 For $i = 1 To $aLines[0] Local $sLine = StringStripWS($aLines[$i], 3) If StringLen($sLine) > 3 Then $iValidLines += 1 EndIf Next ; --- KIỂM TRA ĐIỀU KIỆN --- If $iValidLines > 5 Then Local $sOpcodeName = "- OK FIND" & $find_asm01add Local $sFirstOpcode = "" Local $sPriorityOpcode = "" ; Chuẩn hóa Base Address sang số nguyên 64-bit để làm phép trừ Local $iBaseAddr = Dec(StringReplace($address_process_name01, "0x", "")) ; Trích xuất và ghép tên kèm Offset For $i = 1 To $aLines[0] Local $sLine = StringStripWS($aLines[$i], 3) Local $aParts = StringSplit($sLine, "-") If $aParts[0] >= 3 Then Local $sAbsHex = StringStripWS($aParts[1], 3) ; Chuỗi Hex (VD: 7FF77BF7686F) Local $sAsm = StringStripWS($aParts[3], 3) ; Lệnh Asm (VD: mov rdi,[rsp+70]) ; Tính Offset = Địa chỉ tuyệt đối - Base Address Local $iAbsAddr = Dec($sAbsHex) Local $iOffset = $iAbsAddr - $iBaseAddr Local $address_process_name01add = StringRegExpReplace(Hex($iOffset), "^0+", "") If $address_process_name01add = "" Then $address_process_name01add = "0" ; Ghép theo định dạng: "- Opcode Game.exe+Offset" Local $sFormattedName = "- " & $sAsm & " " & $process_name01 & "+" & $address_process_name01add If $sFirstOpcode = "" Then $sFirstOpcode = $sFormattedName EndIf If StringInStr($sLine, "<<") Then $sPriorityOpcode = $sFormattedName & " <<" ExitLoop EndIf EndIf Next If $sPriorityOpcode <> "" Then $sOpcodeName = $sPriorityOpcode ElseIf $sFirstOpcode <> "" Then $sOpcodeName = $sFirstOpcode EndIf ; --- KIỂM TRA TRÙNG OFFSET VỚI LỊCH SỬ --- If StringInStr($sHistoryOpcodes, "|" & $sOpcodeName & "|") Then ; ĐÃ GẶP OFFSET CŨ / CHẠM ĐÁY DANH SÁCH -> DỪNG QUÉT NGAY LẬP TỨC If WinExists("Extra info") Then WinClose("Extra info") Sleep(150) EndIf WinClose($hWin) Sleep(200) $find_asm01add = 1 $add = 1 $bSkipDown = False GUICtrlSetState($gui_check05Find_what_access, $GUI_UNCHECKED) GUICtrlSetData($button_submit01, "--> Gặp lại Offset đã có / Đã chạm đáy (" & $sOpcodeName & ")" & @CRLF & _ "--> Hoàn tất & DỪNG QUÉT an toàn!") Else ; LƯU TÊN OFFSET VÀO LỊCH SỬ $sHistoryOpcodes &= $sOpcodeName & "|" ; Đóng cửa sổ "Extra info" và cửa sổ tìm opcode If WinExists("Extra info") Then WinClose("Extra info") Sleep(200) EndIf WinClose($hWin) Sleep(200) ; Active lại cửa sổ Cheat Engine WinActivate($cheatgame61) WinWaitActive($cheatgame61, "", 2) ; Đổi tên mô tả trên Cheat Engine Send("^{ENTER}") Sleep(500) Send($sOpcodeName, 1) Sleep(100) Send("{ENTER}") Sleep(200) $bSkipDown = False ; Tăng biến đếm $find_asm01add += 1 $add += 1 ; Tính thời gian còn lại Local $iTimeRemain = Round(($time_clock_max01 - TimerDiff($hTimer_scan01)) / 1000) ; Kiểm tra điều kiện dừng do giới hạn vòng lặp hoặc hết giờ If TimerDiff($hTimer_scan01) >= $time_clock_max01 Then $find_asm01add = 1 $add = 1 GUICtrlSetState($gui_check05Find_what_access, $GUI_UNCHECKED) GUICtrlSetData($button_submit01, "--> Đã hết thời gian hẹn (" & ($time_clock_max01 / 60000) & " phút), dừng quét.") ElseIf $find_asm01add > $find_asm01max Or $add > $loopedit Then GUICtrlSetState($gui_check05Find_what_access, $GUI_UNCHECKED) GUICtrlSetData($button_submit01, "--> Đã quét xong (" & ($find_asm01add - 1) & " opcodes), dừng quét." & @CRLF & _ "Đã tìm: " & ($find_asm01add - 1) & "/" & $find_asm01max & @CRLF & _ " | $add: " & $add & "/" & $loopedit & @CRLF & _ " | Còn: " & $iTimeRemain & "s") $find_asm01add = 1 $add = 1 Else GUICtrlSetData($button_submit01, "Đã tìm: " & ($find_asm01add - 1) & "/" & $find_asm01max & @CRLF & _ " | $add: " & $add & "/" & $loopedit & @CRLF & _ " | Gán: " & $sOpcodeName & @CRLF & _ " | Còn: " & $iTimeRemain & "s") EndIf EndIf Else ; Không có opcode: Đóng cửa sổ bằng ESC Send("{ESC}") Sleep(50) Send("{ESC}") Sleep(50) Send("{ESC}") Sleep(50) ; Xóa địa chỉ rác không có opcode nếu bật $find_asm_del01 If $find_asm_del01 = 1 Then WinActivate($cheatgame61) WinWaitActive($cheatgame61, "", 2) Send("{DEL}") Sleep(500) Send("{ENTER}") Sleep(500) $bSkipDown = True ; Đã xóa dòng nên bỏ qua {Down} lượt tới Else $bSkipDown = False EndIf $add += 1 Local $iTimeRemain = Round(($time_clock_max01 - TimerDiff($hTimer_scan01)) / 1000) ; Kiểm tra điều kiện dừng If TimerDiff($hTimer_scan01) >= $time_clock_max01 Then $add = 1 $find_asm01add = 1 GUICtrlSetState($gui_check05Find_what_access, $GUI_UNCHECKED) GUICtrlSetData($button_submit01, "--> Đã hết thời gian hẹn (" & ($time_clock_max01 / 60000) & " phút), dừng quét.") ElseIf $add > $loopedit Then $add = 1 $find_asm01add = 1 GUICtrlSetState($gui_check05Find_what_access, $GUI_UNCHECKED) GUICtrlSetData($button_submit01, "--> Đã duyệt hết $loopedit, dừng quét.") Else Local $sStatusNoOpcode = ($find_asm_del01 = 1) ? "Đã XÓA (Không có Opcode)" : "Bỏ qua (Không Opcode)" GUICtrlSetData($button_submit01, "$add = " & $add & " / " & $loopedit & @CRLF & _ " | " & $sStatusNoOpcode & @CRLF & _ " | Còn: " & $iTimeRemain & "s") EndIf EndIf Else ; Lỗi không mở được cửa sổ sau 5s EndIf ;_VirtualProtectEx(0x0EF7407D, $procHwnd01,$PAGE_READWRITE) ; ($iv_Address, $ah_Handle,$page00) $PAGE_READONLY $PAGE_READWRITE ElseIf GUICtrlRead($gui_check04)=$GUI_CHECKED and $run01 = 0 Then If $add = 1 Then $sData_array = "" find_opcode01() Func find_opcode01($find0="SbieDll.dll") ; Enumerate Dll's > Sbiedll.dll $sleep01 = Sleep(50) $sleep02 = Sleep(70) $enumerate_dll0 = "Enumerate DLL's" $Memory_Viewer0 = "Memory Viewer" ClipPut("") WinActivate($enumerate_dll0) Sleep(100) $w = WinGetPos($enumerate_dll0) mousemove(115 + $w[0], $w[1] + $w[3]-75,0) MouseClick("left") MouseClick("left") Sleep(50) Send("{Down}") WinActivate($Memory_Viewer0) Sleep(100) $w = WinGetPos($Memory_Viewer0) mousemove(238 + $w[0],98 + $w[1],0) MouseClick("right") Sleep(250) mousemove(238 + $w[0]+50,98 + $w[1]+154+45,10) Sleep(100) mousemove(238 + $w[0]+350,98 + $w[1]+154+45,10) MouseClick("left") Sleep(50) ;ntdll.NtAssignProcessToJobObject - FF 25 3A51F7DF - jmp qword ptr [7FFD4C840250] { ->SbieDll.dll+6BA20 } $sData = ClipGet() If StringInStr($sData, "SbieDll.dll") > 0 then ; find title $sData_array &= "N"&$add &" "&$sData&@CR GUICtrlSetData($button_submit01, $sData_array) EndIf If $add = 1 Then Global $hTimer = TimerInit() ; Begin the timer and store the handle in a variable. $fDiff = Int((TimerDiff($hTimer))/1000) ToolTip("loop_edit: "&$add&" TimerDiff: "&$fDiff&" address: "&$sData,0,0) $sleep01 EndFunc $add += 1 If $add > $loopedit then $add = 1 GUICtrlSetState($gui_check04, $GUI_UNCHECKED) EndIf ElseIf GUICtrlRead($gui_check03)=$GUI_CHECKED and $run01 = 0 Then WinActivate($Assemblyscan) $w = WinGetPos("") Sleep(20) mousemove(47 + $w[0],147 + $w[1],0) Sleep(20) MouseClick("left") MouseClick("left") MouseClick("left") Sleep(10) Send("{Down}") Sleep(10) WinActivate($Memory_Viewer) Sleep(20) $w = WinGetPos("") Send("{ENTER}") Sleep(50) Send("{nop}") Sleep(30) Send("{ENTER}") Sleep(70) Send("{ENTER}") Sleep(10) $add += 1 If $add > $loopedit then $add = 1 GUICtrlSetState($gui_check03, $GUI_UNCHECKED) EndIf ElseIf GUICtrlRead($gui_check01)=$GUI_CHECKED and $run01 = 0 Then Replace_asm01($rep_je01, $rep_jne01) $add += 1 If $add >$loopedit then $add = 1 GUICtrlSetState($gui_check01, $GUI_UNCHECKED) GUICtrlSetState($gui_check10, $GUI_CHECKED) EndIf ElseIf GUICtrlRead($gui_check02)=$GUI_CHECKED and $run01 = 0 Then Replace_asm01($rep_jne02, $rep_je02) $add += 1 If $add > $loopedit then $add = 1 GUICtrlSetState($gui_check02, $GUI_UNCHECKED) GUICtrlSetState($gui_check10, $GUI_CHECKED) EndIf ElseIf GUICtrlRead($gui_check13)=$GUI_CHECKED and $run01 = 0 Then Replace_asm02($rep_je01, $rep_jne01) $add += 1 If $add >$loopedit then $add = 1 GUICtrlSetState($gui_check13, $GUI_UNCHECKED) GUICtrlSetState($gui_check10, $GUI_CHECKED) EndIf ElseIf GUICtrlRead($gui_check14)=$GUI_CHECKED and $run01 = 0 Then Replace_asm02($rep_jne02, $rep_je02) $add += 1 If $add > $loopedit then $add = 1 GUICtrlSetState($gui_check14, $GUI_UNCHECKED) GUICtrlSetState($gui_check10, $GUI_CHECKED) EndIf ; lay vi je jne dang chinh sua den address nao ElseIf GUICtrlRead($gui_check10)=$GUI_CHECKED and $run01 = 0 Then WinActivate($Assemblyscan) Sleep(100) $w = WinGetPos("") mousemove(47 + $w[0],39 + $w[1],0) MouseClick("left") MouseClick("left") MouseClick("left") Sleep(200) ; kiem tra vi tri cheat WinActivate($Memory_Viewer) Sleep(20) $w = WinGetPos($Memory_Viewer) mousemove(63 + $w[0],97 + $w[1],0) MouseClick("right") MouseClick("right") Sleep(50) mousemove(63+15 + $w[0],97+195 + $w[1],20) Sleep(250) mousemove(63+415 + $w[0],97+195 + $w[1],20) mousemove(63+415 + $w[0],97+221 + $w[1],10) MouseClick("left") Sleep(50) WinActivate($cheatgame61) Sleep(500) $w = WinGetPos("") mousemove(94 + $w[0],527 + $w[1],0) MouseClick("left") MouseClick("left") MouseClick("left") Sleep(500) WinActivate($Change_Description) Sleep(200) $w = WinGetPos("") Sleep(100) For $lp = 1 to 2 Send("{DEL}") Next Sleep(100) Send("^{v}") Sleep(100) Send("{ENTER}") GUICtrlSetState($gui_check10, $GUI_UNCHECKED) ElseIf GUICtrlRead($gui_check11)=$GUI_CHECKED and $run01 = 0 Then WinKill ($Assemblyscan,"") Sleep(500) WinActivate($cheatgame61) Sleep(500) $w = WinGetPos("") mousemove(84 + $w[0],432 + $w[1],0) Sleep(10) MouseClick("left") MouseClick("left") MouseClick("left") Sleep(100) Send("^{c}") $Base = ClipGet() Sleep(100) Send("{ENTER}") Sleep(100) WinActivate($Memory_Viewer) Sleep(100) $w = WinGetPos("") mousemove(184 + $w[0],97 + $w[1],0) Sleep(10) MouseClick("right") Sleep(500) mousemove(215 + $w[0],108 + $w[1],2) Sleep(500) MouseClick("left") Sleep(500) Send("^{v}") Sleep(100) Send("{ENTER}") Sleep(100) mousemove(52 + $w[0],45 + $w[1],2) Sleep(10) MouseClick("left") Sleep(500) mousemove(81 + $w[0],82 + $w[1],2) Sleep(10) MouseClick("left") Sleep(500) Send($gui_find_text01) Sleep(100) ;Send("{ENTER}") WinActivate($Assembly_scan) Sleep(500) $w = WinGetPos("") mousemove(397 + $w[0],126 + $w[1],2) Sleep(10) MouseClick("left") GUICtrlSetState($gui_check11, $GUI_UNCHECKED) ElseIf GUICtrlRead($gui_check12)=$GUI_CHECKED and $run01 = 0 Then WinActivate($cheatgame61) Sleep(200) $w = WinGetPos("") mousemove(211 + $w[0],372 + $w[1],2) Sleep(100) MouseClick("left") Sleep(200) mousemove(22 + $w[0],132 + $w[1],2) Sleep(100) MouseClick("right") Sleep(200) mousemove(30 + $w[0],189 + $w[1],2) Sleep(100) MouseClick("left") Sleep(200) WinActivate("Previous value liss") Sleep(200) $w = WinGetPos("") mousemove(230 + $w[0],77 + $w[1],2) Sleep(100) MouseClick("left") Sleep(200) mousemove(167 + $w[0],246 + $w[1],2) Sleep(100) MouseClick("left") Sleep(2000) $add += 1 If $add > $loopedit then $add = 1 GUICtrlSetState($gui_check12, $GUI_UNCHECKED) EndIf ElseIf _IsPressed("75") and $run01 = 0 then ControlSend($control01,"","","b") Sleep(100) ;MsgBox("","check", $getaddr,0) ElseIf $run01 >= 0 then Sleep(5) EndIf WEnd