ถ้าเราเปิด client เกมเดียวกันหลายจอ จะสามารถ อ่าน/เขียน memory ในแต่ละ client ได้ไม๊ครับ
2 posters
ถามเกี่ยวกับ การอ่าน/เขียน memory แบบ หลาย client
asokura- PSsix Member High Class
จำนวนข้อความ : 72
ความนิยม : 11
เข้าร่วมเมื่อ : 03/09/2011
POS- PSsix
-
จำนวนข้อความ : 1152
ความนิยม : 326
เข้าร่วมเมื่อ : 19/07/2010
ถ้าชื่อโปรแกรมเหมือนกัน แล้วเปิดหลายๆ หน้าต่าง ต้องใช้คำสั่ง ProcessList ดึงเอารายชื่อโปรแกรมออกมาก่อน จากนั้นค่อยระบุอาร์เรย์เรียกลำดับโปรแกรมที่ต้องการใช้
- Code:
#AutoIt3Wrapper_UseX64=n
#RequireAdmin
#include <NomadMemoryPSsix.au3>
Global $address = "0x01007170"
Global $Offset[2]
$Offset[0] = 0
$Offset[1] = 0x30
$listP = ProcessList("game.exe") ;ใส่ชื่อโปรแกรม
$memopen = _MEMORYOPEN(ProcessExists( $listP[1][1])) ;เปลี่ยน $listP[1][1] เป็น $listP[2][1] เพื่อควบคุมโปรแกรมที่สอง ถ้าจะควบคุมโปรแกรมที่ 3 ก็เปลี่ยนเป็น $listP[3][1]
If $memopen = 0 Then
ConsoleWrite('ผิดพลาดไม่มีโปรแกรม =' & $memopen & @CRLF)
Exit
EndIf
$value = _MemoryPointerRead($address, $memopen, $Offset)
ConsoleWrite('ค่าที่อ่านได้จากแอดเดรส ' & $value[0] & ' = ' & $value[1] & @CRLF)
_MemoryPointerWrite($address, $memopen, $Offset, "966666")
ConsoleWrite('เปลี่ยนแปลงค่าเป็น 66666 เรียบร้อยแล้ว ' & @CRLF)
_MEMORYCLOSE($memopen)
asokura- PSsix Member High Class
จำนวนข้อความ : 72
ความนิยม : 11
เข้าร่วมเมื่อ : 03/09/2011
ขอบคุณครับ
|
|