dj_eray Posted December 23, 2009 Share Posted December 23, 2009 Meraba Arkadşlar Public Class Form1 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function GetWindowThreadProcessId Lib "user32" Alias "GetWindowThreadProcessId" (ByVal hwnd As Long, ByVal lpdwProcessId As Long) As Long Private Declare Function OpenProcess Lib "kernel32" Alias "OpenProcess" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Integer, ByVal lpBaseAddressAsAny As Integer, ByRef lpBufferAsAny As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Integer, ByVal lpBaseAddressAsAny As Integer, ByRef lpBufferAsAny As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Const PROCESS_ALL_ACCESS As Long = &H1F0FFF Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click On Error Resume Next 'Hata oluşursa görmezden gel devam et Dim hWnd As Long, pID As Long, hProcess As Long, adres As Long, buffer As Long 'Değişken tanımlamaları Long olarak tanımlıyoruz çünkü integerin sınırı olan 32767 den büyük değerler var adres = &H1005194 'Buraya Cheat Enginede bulduğunuz adresi başına '&H" koyarak yazın,&H hexi(16 lık sayı sistemini) ifade ediyor buffer = CLng(TextBox1.Text) 'Text1 de yazanı sayıya çeviriyoruz hWnd = FindWindow(vbNullString, "Mayın Tarlası") 'Pencere handlesi alınıyor GetWindowThreadProcessId(hWnd, pID) 'Process Id aliyoruz hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pID) 'Processi tam yetkiyle açıyoruz If (WriteProcessMemory(hProcess, Byval adres, buffer, 4, 0&)) = 1 Then 'Eğer hafızaya yazılmışsa 1 değeri döner MsgBox("İşlem başarıyla tamamlandı", vbInformation) Else MsgBox("Bir hata oluştu", vbCritical) End If CloseHandle(hProcess) 'OpenProcess ile açtığımız handleyi kapatıyoruz.. End Sub End Class Yukarıdaki Byval Altı Çziliyor Neden Acaba Bir Yerde Hatamı Yaptım Bir Kontrol edermisiniz ? Link to comment Share on other sites More sharing options...
marvelin Posted December 23, 2009 Share Posted December 23, 2009 Bu ne şimdi Link to comment Share on other sites More sharing options...
nartanesi Posted December 23, 2009 Share Posted December 23, 2009 eray senin soyadın battalmı ben onur Link to comment Share on other sites More sharing options...
dj_eray Posted December 24, 2009 Author Share Posted December 24, 2009 Bir Bakan Yokmu ? Link to comment Share on other sites More sharing options...
Mytolocia Posted December 24, 2009 Share Posted December 24, 2009 arkadas basit bir sekilde trainer yapimi icin gerekli kodlari vermis eve gidince deniyecegim .kendine gore editlimelisin bu kodlari tabi Edit : Telefonda okumaya kalkınca boyle oluyor kusura bakmayın yanlıs anlamısım. Link to comment Share on other sites More sharing options...
xCHIVALR0US Posted December 24, 2009 Share Posted December 24, 2009 Gerekli kodlar değil. Byval ın altı neden çizili, Yanlış nerede diyor. Link to comment Share on other sites More sharing options...
Alemdar 17 Posted December 24, 2009 Share Posted December 24, 2009 Bu kodları nereye yazıcaz? Link to comment Share on other sites More sharing options...
Caliber Posted July 12, 2010 Share Posted July 12, 2010 Public Class Form1 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function GetWindowThreadProcessId Lib "user32" Alias "GetWindowThreadProcessId" (ByVal hwnd As Long, ByVal lpdwProcessId As Long) As Long Private Declare Function OpenProcess Lib "kernel32" Alias "OpenProcess" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Integer, ByVal lpBaseAddressAsAny As Integer, ByRef lpBufferAsAny As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Integer, ByVal lpBaseAddressAsAny As Integer, ByRef lpBufferAsAny As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Const PROCESS_ALL_ACCESS As Long = &H1F0FFF Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click On Error Resume Next 'Hata oluşursa görmezden gel devam et Dim hWnd As Long, pID As Long, hProcess As Long, adres As Long, buffer As Long 'Değişken tanımlamaları Long olarak tanımlıyoruz çünkü integerin sınırı olan 32767 den büyük değerler var adres = &H1005194 'Buraya Cheat Enginede bulduğunuz adresi başına '&H" koyarak yazın,&H hexi(16 lık sayı sistemini) ifade ediyor buffer = CLng(TextBox1.Text) 'Text1 de yazanı sayıya çeviriyoruz hWnd = FindWindow(vbNullString, "Mayın Tarlası") 'Pencere handlesi alınıyor GetWindowThreadProcessId(hWnd, pID) 'Process Id aliyoruz hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pID) 'Processi tam yetkiyle açıyoruz If (WriteProcessMemory(hProcess, Byval adres, buffer, 4, 0&)) = 1 Then 'Eğer hafızaya yazılmışsa 1 değeri döner MsgBox("İşlem başarıyla tamamlandı", vbInformation) Else MsgBox("Bir hata oluştu", vbCritical) End If CloseHandle(hProcess) 'OpenProcess ile açtığımız handleyi kapatıyoruz.. End Sub End Class Böyle daha iyi anlaşılıyor ancak biraz karışık. If (WriteProcessMemory(hProcess, Byval adres, buffer, 4, 0&)) = 1 Then Yukarıdaki bölüme değeri değişecek adres ve yeni değer yazılacak. NOT : Kodlar sadece VB6'da çalışır. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.