سلام
میخواستم بگم اگه کسی می تونه کمکم کنه من می خوام یه ترینر بسازم میشه بگید چه نوع تابع هایی باید بسازم
Printable View
سلام
میخواستم بگم اگه کسی می تونه کمکم کنه من می خوام یه ترینر بسازم میشه بگید چه نوع تابع هایی باید بسازم
سلام..//// [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
****************
کد های زیر رو داخل یه ماژول قرار بدید.../// [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
********************
*********************کد:Private Const PROCESS_ALL_ACCESS = &H1F0FFF
Private Const PAGE_EXECUTE_READWRITE = &H40
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal Classname As String, ByVal WindowName As String) As Long
Private Declare Function VirtualProtectEx Lib "kernel32" (ByVal hProcess As Long, lpAddress As Any, ByVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As Long
' A windows WriteProcessMemory for a single byte
Public Sub WriteByte(Address As Long, Value As Byte, WinCls As String, WinCap As String)
On Error Resume Next
Dim hwnd As Long, pid As Long, phandle As Long, OldProtect As Long
hwnd = FindWindow(WinCls, WinCap)
If (hwnd <> 0) Then
GetWindowThreadProcessId hwnd, pid
phandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If (phandle <> 0) Then
' VirtualProtectEx - Not Working
'If VirtualProtectEx(phandle, Address, 1, PAGE_EXECUTE_READWRITE, OldProtect&) = 0 Then
' MsgBox "grrrr"
' Exit Sub
'End If
WriteProcessMemory phandle, Address, Value, 1, 0&
End If
CloseHandle phandle
End If
End Sub
برای تغییر دادن مقادیر تو حافظه// از تابع WriteByte به صورت زیر استفاده کنید.../// [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
**************************
****************کد:WriteByte Address, Value, WinCls, WinCap
به جای Address آدرس رو قرار بدید// مثلاً H41D090& ./// به جای Value مقدار مثلاً 7../// WinCls کلاس پنجره بازی رو مشخص می کنه که می تونید مقدارش رو برابر vbNullString بذارید../// و WinCap هم عنوان پنجره بازی رو مشخص می کنه.../// مثلاً عنوان برنامه ماشین حساب ویندوز برابر Calculator هستش...//// [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
*********************
*******************کد:مثال
WriteByte &H41D090, 7, vbNullString, "prog test"
موفق باشید! [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
بنظرم بهترین راه استفاده از برنامه ای ساخت ترینر هستش مثل Artmoney یا ..... چون نوشتن با VB کار خیلی سختی هستش
از همتون متشکرم بهترین انجمنی هست که من تا الآن عضوش شدم