ฟอรั่มของบล็อก http://pssix.blogspot.com


ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

Share

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 21/01/12, 12:25 am

ดูให้ทีครับ ว่าผิดตรงไหน

รันแล้วไม่มีไรเกินขึ่นเลย







แก้ไขล่าสุดโดย beer02 เมื่อ 23/01/12, 01:03 pm, ทั้งหมด 8 ครั้ง

flapjack
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Moderator PSsix Master PSsix Game Coder
จำนวนข้อความ : 311
ความนิยม : 74
เข้าร่วมเมื่อ : 05/10/2010

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by flapjack on 21/01/12, 12:52 am

งง อ่าครับ(ดูจากภาพยัง งง )
Run แล้วมันไม่มีอะไรเกิดขึ้น หรือ ค่า value ไม่เปลี่ยน ครับ..

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 21/01/12, 12:57 am

ไม่มีไรเกิดขึ่นเลยอ่า em229

flapjack
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Moderator PSsix Master PSsix Game Coder
จำนวนข้อความ : 311
ความนิยม : 74
เข้าร่วมเมื่อ : 05/10/2010

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by flapjack on 21/01/12, 01:13 am

Address ถูกเปล่าครับ..(ถ้าเป็น pointer ต้องใช้ code อีกอันน่ะครับ)
ปล.ในภาพผมไม่เห็นน่ะว่า output เป็นยังไงผมเลยไม่รู้ว่าเป็นที่ code หรือเปล่าน่ะครับ
ปล2.ตัวเกมซ่อน Process เอาไว้หรือเปล่าครับ(ป้องกันการอ่านของ code ที่เขียนไว้แต่ CE สามารถจับได้ )

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 21/01/12, 01:21 am

ไม่ได้ซ่อนเลยครับ CE ก็เปิดเกมนี้ได้

address ถูกครับ แก้ในCEค่าเกมก็เปลี่ยนปกติครับ

แต่ไม่รู้อะไรผิด em229

(ถ้าเป็น pointer ต้องใช้ code อีกอันน่ะครับ) รบกวนขอลิงค์หรือแนะนำหน่อยครับ

flapjack
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Moderator PSsix Master PSsix Game Coder
จำนวนข้อความ : 311
ความนิยม : 74
เข้าร่วมเมื่อ : 05/10/2010

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by flapjack on 21/01/12, 01:34 am

Code:

#cs
   การอ่านและเขียนค่าลงพ้อยเตอร์แบบชั้นเดียว
   ค่าพ้อยเตอร์จะเป็นตัวชี้ไปยังตำแหน่งแอดเดรสที่มีการเปลี่ยนแปลง
   ซึ่งแอดเดรสดังกล่าวจะเปลี่ยนไปทุกครั้งที่มีการเปิดโปรแกรมขึ้นมาใหม่
   การใช้ค่าพ้อยเตอร์แบบชั้นเดียวต้องอาศัย ค่าแอดเดรส กับ ค่าออฟเซ็ต เพื่อชี้ไปยังตำแหน่งที่ต้องการจะอ่านหรือเขียนค่าลงไป
#ce

#AutoIt3Wrapper_UseX64=n
#RequireAdmin
#include <NomadMemoryPSsix.au3>

Global $address = "0x6D4E0EA0" ;ค่าพ้อยเตอร์ที่ต้องนำไปใช้คู่กับค่าออฟเซ็ต
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



$value = _MemoryPointerRead($address, $memopen, $Offset) ; อ่านค่าจากพ้อยเตอร์จะเก็บไว้ในตัวแปร $value[1]
ConsoleWrite('ค่าที่อ่านได้จากแอดเดรส ' & $value[0] & ' = ' & $value[1] & @CRLF)

_MemoryPointerWrite($address, $memopen, $Offset, "666666") ;เขียนค่า
ConsoleWrite('เปลี่ยนแปลงค่าเป็น 666666 เรียบร้อยแล้ว ' & @CRLF)
_MEMORYCLOSE($memopen) ;ปิดการอ่านหน่วยความจำ นำไปวางไว้ท้ายสุดเมื่อไม่ต้องการอ่านหรือเขียนแล้ว  เช่น ตอนปิดโปรแกรม

ไฟล์(TestmemPSsix2.au3) ของคุณ POS ก็มีครับ
แก้ตรง $Offset กับ Process น่าจะได้แล้วล่ะครับ

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 21/01/12, 02:43 am

ยังไม่ได้ครับ
ยังไงก็ขอบคุณไว้พรุ่งนี้ผมมาทำต่อใหม่

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 21/01/12, 06:46 pm

รอผู้รู้ต่อไป em229

aut
PSsix Powerful Scripting Class
PSsix Powerful Scripting Class

PSsix Game Coder
จำนวนข้อความ : 472
ความนิยม : 125
เข้าร่วมเมื่อ : 24/07/2010

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by aut on 21/01/12, 08:07 pm

ไม่เหนรูปอะเอาไปฝากที่อื่นดิ ชินจัง3

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 21/01/12, 10:11 pm

แก้แล้วครับ
ดูให้ทีครับว่าผิดตรงไหน em229

POS
PSsix
PSsix


จำนวนข้อความ : 1151
ความนิยม : 323
เข้าร่วมเมื่อ : 19/07/2010

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by POS on 23/01/12, 11:42 am

ไม่สามารถดูรูปได้เหมือนกันครับ ลองเปลี่ยนที่ฝากรูปเสียก่อนหรือฝากไว้หลายๆ ที่ (วิธีการใส่รูปผมอธิบายไว้แล้วในกระทู้ปักหมุด)


||----------------------------------------------------------------------------------------------------------------||

กลุ่ม AutoIt ในเฟสบุ๊ค
https://www.facebook.com/groups/AutoItThai/

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 23/01/12, 01:05 pm





ไม่เห็นอีกก็ http://imageshack.us/photo/my-images/694/38416512.png/

aut
PSsix Powerful Scripting Class
PSsix Powerful Scripting Class

PSsix Game Coder
จำนวนข้อความ : 472
ความนิยม : 125
เข้าร่วมเมื่อ : 24/07/2010

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by aut on 23/01/12, 08:22 pm

ลองลอง ชินจัง



Uploaded with Aut

ของนายไม่มีชื่อไฟตงพ้อยเตออะต้องใช้อีกแบบ http://pssix.forumotion.com/t400-topic



#AutoIt3Wrapper_UseX64=n
#RequireAdmin
#include <NomadMemoryPSsix.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>

Opt("GUIOnEventMode", 1)




Global $address = "0x6D4E0EA0" ;ค่าพ้อยเตอร์ที่ต้องนำไปใช้คู่กับค่าออฟเซ็ต
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



#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("PSsix", 264, 102, 192, 124)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")

$Button1 = GUICtrlCreateButton("เขียนค่า", 176, 16, 75, 25)
GUICtrlSetOnEvent(-1, "Button1Click")
$Label1 = GUICtrlCreateLabel("Label1", 8, 16, 163, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###





While 1
Sleep(1000)
$value = _MemoryPointerRead($address, $memopen, $Offset,"float")
ConsoleWrite('ค่าที่อ่านได้จากแอดเดรส ' & $value[0] & ' = ' & $value[1] & @CRLF)
GUICtrlSetData($Label1,$value[1])
WEnd


Func Button1Click()
_MemoryPointerWrite($address, $memopen, $Offset,"8","float")
EndFunc

Func Form1Close()
_MEMORYCLOSE($memopen)
Exit
EndFunc

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 23/01/12, 09:11 pm

ไม่ได้อยู่ดีครับ -.-

รันแล้วตรง label1 ก็ขึ่น 0

flapjack
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Moderator PSsix Master PSsix Game Coder
จำนวนข้อความ : 311
ความนิยม : 74
เข้าร่วมเมื่อ : 05/10/2010

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by flapjack on 24/01/12, 12:12 am


ดูท่าทางคุณ beer02 จะมีปัญหาแล้วล่ะครับ em234
ปล.ในรูปโค๊ดของคุณ aut เลยครับ

POS
PSsix
PSsix


จำนวนข้อความ : 1151
ความนิยม : 323
เข้าร่วมเมื่อ : 19/07/2010

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by POS on 24/01/12, 01:07 am

คุณ aut ลอกโค้ดจากกระทู้เก่ามาโดยไม่ดูรูปในกระทู้นี้ ซึ่งค่าที่แก้ไขคนละรูปแบบกัน ดังนั้นลองตัดคำสั่ง ,"float" ที่อยู่ในโค้ดทิ้งไปครับ (ลบคำสั่ง ,"float" บรรทัดด้านล่างนี้)


$value = _MemoryPointerRead($address, $memopen, $Offset,"float")

_MemoryPointerWrite($address, $memopen, $Offset,"8","float")



||----------------------------------------------------------------------------------------------------------------||

กลุ่ม AutoIt ในเฟสบุ๊ค
https://www.facebook.com/groups/AutoItThai/

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 24/01/12, 04:35 pm

แก้ตามแล้วครับ
แต่เป็นที่อะไรกันแน่ของผมไม่ได้ก็ไม่ได้อยู่ดี
แต่ของคุณflapjackทำไมอ่านเจอ





Code:
#AutoIt3Wrapper_UseX64=n
#RequireAdmin
#include <NomadMemoryPSsix.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>

Opt("GUIOnEventMode", 1)



Global $address = "0x6D4E0EA0" ;ค่าพ้อยเตอร์ที่ต้องนำไปใช้คู่กับค่าออฟเซ็ต
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



#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("PSsix", 264, 102, 192, 124)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")

$Button1 = GUICtrlCreateButton("เขียนค่า", 176, 16, 75, 25)
GUICtrlSetOnEvent(-1, "Button1Click")
$Label1 = GUICtrlCreateLabel("Label1", 8, 16, 163, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###





While 1
Sleep(1000)
$value = _MemoryPointerRead($address, $memopen, $Offset)
ConsoleWrite('ค่าที่อ่านได้จากแอดเดรส ' & $value[0] & ' = ' & $value[1] & @CRLF)
GUICtrlSetData($Label1,$value[1])
WEnd


Func Button1Click()
_MemoryPointerWrite($address, $memopen, $Offset,"20")
EndFunc

Func Form1Close()
_MEMORYCLOSE($memopen)
Exit
EndFunc

aut
PSsix Powerful Scripting Class
PSsix Powerful Scripting Class

PSsix Game Coder
จำนวนข้อความ : 472
ความนิยม : 125
เข้าร่วมเมื่อ : 24/07/2010

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by aut on 24/01/12, 07:55 pm

นายก้อคอมไพออกมาดูดิได้เป่า ชินจัง

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 24/01/12, 08:00 pm

ลองแล้วครับไม่ได้เหมือนกัน

ผมพึ่งลอง windows xp มันก็ไม่ได้เหมือนกัน
ตกลงมันเป็นเพราะไรกันแน่ครับ 3 4 วัน และ ยังไม่ได้เลย
em229 em229 em229

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 25/01/12, 12:53 am

ผมว่าสคิปถูกแล้วครับ
เพราะตอนนั้นก็ลองรันเกมไพ่ก็อ่านค่าแก้ค่าได้ปกติ ใน xp
แต่นี้ 7 64 bit รันแล้วก็อ่านไม่ได้
****แต่เมื่อกี้ ผมไปลองเครื่องเพื่อน xp เกมไพ่ก็อ่านไม่ได้เหมือนกัน ทำผมงงไปหมดแล้ว

***(แต่ผมไม่รู้นะว่าเกี่ยวกับwindowsรึป่าว ที่ผมโพสแบบนี้คือผมว่าสคิปถูกแล้วแต่ทำไมมันอ่านไม่ได้เท่านั้นเอง)***

ตกลงมันเป็น%$^%#$#%#เพราะอะไรกันแน่ครับ

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 25/01/12, 02:09 am

ได้และครับ ขอบคุณทุกๆท่านที่ช่วยเหลือผมนะครับ

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 25/01/12, 02:44 am

ขอถามอีกครับ
ถ้า ค่าออฟเซ็ตคงที่ เป็น jvm.dll+00000000 จะเขียนยังไงให้อ่านได้ครับ

POS
PSsix
PSsix


จำนวนข้อความ : 1151
ความนิยม : 323
เข้าร่วมเมื่อ : 19/07/2010

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by POS on 25/01/12, 08:36 am

ตกลงแล้วคุณพลาดตรงจุดไหนครับ บอกไว้เผื่อคนอื่นพลาดบ้างจะได้ไม่เป็นปัญหาอีก

ส่วนการตั้งค่าที่เป็นไฟล์ .dll ใช้คำสั่ง _MemoryModuleGetBaseAddress (วิธีการใช้จะเหมือนคำสั่ง _MemoryGetBaseAddress ตามขั้นตอนในหน้าบล็อก)


||----------------------------------------------------------------------------------------------------------------||

กลุ่ม AutoIt ในเฟสบุ๊ค
https://www.facebook.com/groups/AutoItThai/

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com

beer02
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 31
ความนิยม : 0
เข้าร่วมเมื่อ : 10/11/2011

Re: ดูมัลติพ้อยเตอร์กับออฟเซ็ทให้ทีครับ

ตั้งหัวข้อ by beer02 on 25/01/12, 06:07 pm

ผมลองเปลี่ยนเป็นลงเวอร์ชั่นเก่าครับ (ไม่รู้เกี่ยวมั้ย) แต่มันกลับอ่านได้

++++++++++เวอร์ชันเก่า++++++++++++++++
เวอร์ชั่น 3.3.6.1
http://cid-e4dad9760724babe.office.live.com/browse.aspx/Programs%20Freeware/AutoIt%203.3.6.1

SciTE v2.27 เวอร์ชั่นเก่า
https://skydrive.live.com/browse.aspx/Programs%20Freeware/AutoIt%20Install/SciTE?cid=e4dad9760724babe&sc=documents

    เวลาขณะนี้ 11/12/16, 08:48 pm