[GM]CarboN
Ilk once verileri analiz etmek icin offset finder i indiriyoruz
0ffsetfinder.exe
Daha Sonra Yeni bir .au3 dosyasi olusturuyoruz.
Sonra dosyamiza 2 UDF (user defined functions yani kendi kodumuzu yazicaz ornegin run msgbox gibi) ekleyelim
Bu kodu scriptimizin en altina yaziyoruz yani ustune daha kod yazacagiz.
Simdi sro_client in process'ini alalimki bilgiler scriptimizede gelsin.
bu yukardaki kodlarida scirptimizin ustune ekliyoruz
Su anda basari ile clientteki bilgileri scriptimize almayi basardik sira bu bilgilerden char name yi almak
-Offset finder i aciyoruz
-Gelen ekranda SRO_Client i seciyoruz.
-Sonra Offsetleri okumaya baslayacak.
-Offsetleri okumayi bitirdiginde Tum Offsetler yazicak bize CharName yazan lazim.Charname nin karsisindaki Offset i alacagiz
Ben rsro da yaptim offset bu : 0xE2A888 simdi bunu kullanalim
en son yazdigimiz kodun altina
Toplamda Son Kodumuz Boyle Olmali
=============================================================================================================
Oncelikle bir GUI yaratiryoruz (form)
Icine bir tane label ve bir tane button ekledik.
Buttona Click olayimizi ekleyelim
button click olayimiza isimoku adli func a git dedik
simdi bu funcu scriptimize ekleyelim
Son Olarak UDF mizi ekleyelim scriptimizin en altina:
En Son Kodumuz Boyle Olumali
0ffsetfinder.exe
1-Char Ismini msgbox ile gostermek
Daha Sonra Yeni bir .au3 dosyasi olusturuyoruz.
Sonra dosyamiza 2 UDF (user defined functions yani kendi kodumuzu yazicaz ornegin run msgbox gibi) ekleyelim
Kod:
Func memopen($pid)
Local $mid = DllCall('kernel32.dll', 'int', 'OpenProcess', 'int', 0x1F0FFF, 'int', 1, 'int', $pid)
Return $mid[0]
EndFunc ;==>memopen
Func memread($mid, $adress, $type = 'dword')
Local $struct = DllStructCreate($type)
DllCall('kernel32.dll', 'int', 'ReadProcessMemory', 'int', $mid, 'int', $adress, 'ptr', DllStructGetPtr($struct), 'int', DllStructGetSize($struct), 'int', '')
Return DllStructGetData($struct, 1)
EndFunc ;==>memread
Simdi sro_client in process'ini alalimki bilgiler scriptimizede gelsin.
Kod:
$list = WinList('[CLASS:CLIENT]');client listesini aldik
For $i = 1 To $list[0][0] ; listeyi siraya koyduk
$pid = WinGetProcess($list[$i][1]) ;1. sini sectik
$mid = memopen($pid);tum bilgileri aktardik
Su anda basari ile clientteki bilgileri scriptimize almayi basardik sira bu bilgilerden char name yi almak
-Offset finder i aciyoruz
-Gelen ekranda SRO_Client i seciyoruz.
-Sonra Offsetleri okumaya baslayacak.
-Offsetleri okumayi bitirdiginde Tum Offsetler yazicak bize CharName yazan lazim.Charname nin karsisindaki Offset i alacagiz
Ben rsro da yaptim offset bu : 0xE2A888 simdi bunu kullanalim
en son yazdigimiz kodun altina
Kod:
$nameoffset = 0xE2A888
$charismi = memread($mid, $nameoffset, 'char[12]')
MsgBox(0,"Char Ismi",$charismi)
Kod:
$list = WinList('[CLASS:CLIENT]');client listesini aldik
For $i = 1 To $list[0][0] ; listeyi siraya koyduk
$pid = WinGetProcess($list[$i][1]) ;1. sini sectik
$mid = memopen($pid);tum bilgileri aktardik
$nameoffset = 0xE2A888
$charismi = memread($mid, $nameoffset, 'char[12]')
MsgBox(0,"Char Ismi",$charismi)
Next
Func memopen($pid)
Local $mid = DllCall('kernel32.dll', 'int', 'OpenProcess', 'int', 0x1F0FFF, 'int', 1, 'int', $pid)
Return $mid[0]
EndFunc ;==>memopen
Func memread($mid, $adress, $type = 'dword')
Local $struct = DllStructCreate($type)
DllCall('kernel32.dll', 'int', 'ReadProcessMemory', 'int', $mid, 'int', $adress, 'ptr', DllStructGetPtr($struct), 'int', DllStructGetSize($struct), 'int', '')
Return DllStructGetData($struct, 1)
EndFunc ;==>memread
2- Char ismini label e aktarmak.
Oncelikle bir GUI yaratiryoruz (form)
Icine bir tane label ve bir tane button ekledik.
Kod:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 310, 162, 192, 124)
$Label1 = GUICtrlCreateLabel("Char Ismi", 16, 8, 87, 17)
$Button1 = GUICtrlCreateButton("Al", 24, 40, 89, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Kod:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 310, 162, 192, 124)
$Label1 = GUICtrlCreateLabel("Char Ismi", 16, 8, 87, 17)
$Button1 = GUICtrlCreateButton("Al", 24, 40, 89, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $button1
$isim = isimoku()
GUICtrlSetData($label1,$isim)
EndSwitch
WEnd
simdi bu funcu scriptimize ekleyelim
Kod:
func isimoku()
$nameoffset = 0xE2A888
$list = WinList('[CLASS:CLIENT]')
For $i = 1 To $list[0][0]
$pid = WinGetProcess($list[$i][1])
$mid = memopen($pid)
$nameoffset = 0xE2A888
$charismi = memread($mid, $nameoffset, 'char[12]')
Return $charismi
EndFunc
Kod:
Func memopen($pid)
Local $mid = DllCall('kernel32.dll', 'int', 'OpenProcess', 'int', 0x1F0FFF, 'int', 1, 'int', $pid)
Return $mid[0]
EndFunc ;==>memopen
Func memread($mid, $adress, $type = 'dword')
Local $struct = DllStructCreate($type)
DllCall('kernel32.dll', 'int', 'ReadProcessMemory', 'int', $mid, 'int', $adress, 'ptr', DllStructGetPtr($struct), 'int', DllStructGetSize($struct), 'int', '')
Return DllStructGetData($struct, 1)
EndFunc ;==>memread
Kod:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 310, 162, 192, 124)
$Label1 = GUICtrlCreateLabel("Char Ismi", 16, 8, 87, 17)
$Button1 = GUICtrlCreateButton("Al", 24, 40, 89, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $button1
$isim = isimoku()
GUICtrlSetData($label1,$isim)
EndSwitch
WEnd
func isimoku()
$nameoffset = 0xE2A888
$list = WinList('[CLASS:CLIENT]')
For $i = 1 To $list[0][0]
$pid = WinGetProcess($list[$i][1])
$mid = memopen($pid)
$nameoffset = 0xE2A888
$charismi = memread($mid, $nameoffset, 'char[12]')
Return $charismi
Next
EndFunc
Func memopen($pid)
Local $mid = DllCall('kernel32.dll', 'int', 'OpenProcess', 'int', 0x1F0FFF, 'int', 1, 'int', $pid)
Return $mid[0]
EndFunc ;==>memopen
Func memread($mid, $adress, $type = 'dword')
Local $struct = DllStructCreate($type)
DllCall('kernel32.dll', 'int', 'ReadProcessMemory', 'int', $mid, 'int', $adress, 'ptr', DllStructGetPtr($struct), 'int', DllStructGetSize($struct), 'int', '')
Return DllStructGetData($struct, 1)
EndFunc ;==>memread
Son düzenleme: