#AutoIt3Wrapper_UseX64=n
#RequireAdmin
#include <NomadMemoryPSsix.au3>
Global $StaticOffset = "0x6D4E0EA0" ;ค่าออฟเซ็ตคงที่ ;~ "StarDefender3.RWG"+001CD0F8
Global $Offset[5]
$Offset[0] = 0 ; ใส่ 0 เป็นค่าเริ่มต้นทุกครั้ง ห้ามเปลี่ยน
$Offset[1] = 0x70 ; ค่าออฟเซ็ต ตำแหน่งฐานล่างสุด
$Offset[2] = 0x40 ; ค่าออฟเซ็ตในตำแหน่งบน อีกชั้น
$Offset[3] = 0x34 ; ค่าออฟเซ็ตในตำแหน่งบน อีกชั้น
$Offset[4] = 0x290 ; ค่าออฟเซ็ตในตำแหน่งบน อีกชั้น
$memopen = _MEMORYOPEN(ProcessExists("amped.exe")) ;เปลี่ยนชื่อไฟล์เกม
If $memopen = 0 Then
ConsoleWrite('ผิดพลาดไม่มีโปรแกรม =' & $memopen & @CRLF)
Exit
EndIf
$BaseAddr = _MemoryGetBaseAddress($memopen, 1) ; หา BaseAddresse
$FinalAddr = $BaseAddr + $StaticOffset
$value = _MemoryPointerRead($FinalAddr, $memopen, $Offset) ; อ่านค่าจากพ้อยเตอร์จะเก็บไว้ในตัวแปร $value[1]
ConsoleWrite('ค่าที่อ่านได้จากแอดเดรส ' & $value[0] & ' = ' & $value[1] & @CRLF)
_MemoryPointerWrite($FinalAddr, $memopen, $Offset, "20") ;เขียนค่าที่ต้องการเปลี่ยนลงไป
ConsoleWrite('เปลี่ยนแปลงค่าเป็น 666666 เรียบร้อยแล้ว ' & @CRLF)
_MEMORYCLOSE($memopen) ;ปิดการอ่านหน่วยความจำ นำไปวางไว้ท้ายสุดเมื่อไม่ต้องการอ่านหรือเขียนแล้ว เช่น ตอนปิดโปรแกรม
|