VisualBasic Trainer Sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ajann
Üye
Mesajlar: 39
Kayıt: 15 Haz 2005 11:50

VisualBasic Trainer Sorunu

Mesaj gönderen ajann »

S.a
Kardeşler affınıza sığınarak buraya açtım,C++ falan kategorisi buldumda Vb için bulamadım özürdilerim.

Cs 1.6 için Trainer yazıyorumda değer sabitlemeyi size soracaktım.

Modül Girişi;

Kod: Tümünü seç

'----------------MODÜL BAŞLANGICI--------------------------

'Önce Ram'e yazmak için gerekli api'leri deklare edelim.

Private Const PROCESS_ALL_ACCESS As Long = &H1F0FFF
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 ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal 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 ReadProcessMem Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByRef lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long

'Şimdi de fonksiyonumuzu yazıyoruz.

Public Function Longyaz(Offset As Long, WindowName As String, Value As Long) As Boolean 

Dim hwnd As Long
Dim ProcessID As Long
Dim ProcessHandle As Long

'Önce oyunun pencere numarasını bulalım;
hwnd = FindWindow(vbNullString, WindowName)

If hwnd = 0 Then 'Oyun şuanda açık değilse
MsgBox "Oyun şuanda açık değil!", vbCritical, "Yazma Hatası" 'Eğer isterseniz bu satırı kaldırabilirsiniz, oyun açık değilse zaten trainer bi işe yaramaz:) 
Exit Function

End If

GetWindowThreadProcessId hwnd, ProcessID

ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS, False, ProcessID)

If ProcessHandle = 0 Then

Exit Function

End If

WriteProcessMemory ProcessHandle, Offset, Value, 4, 0& 'Değeri yazıyoruz
CloseHandle ProcessHandle 'Yazma işlemi bitti, pencere kulbunu kapatıyoruz


End Function
'------------------MODÜL BURAYA KADAR--------------------------

Kod: Tümünü seç

Private Sub Command1_Click()
Longyaz &HD5E104, "Cs", text1.text 
End Sub
Yukarıdaki değer, artıracağım değeri giriyorum oyuna giriyorum artıyor değer soırun yok.
İstediğim şu değer artıyor ya hani program açık olduğu sürece değer azaldığı an eski haline dönsün.
Buna "Değer Dondurma" diyebilirsiniz.
Hiç eksilmeyecek değer sabit kısaca.
Teşekkürler
Cevapla