50RMB求购一个内存搜索的源码
搜索指定进程内存中是否含有某个字符串,比如搜索QQ进程,搜索内容为www.****************.com把QQ进程里包含www.***.com的网址都搜索出来。
可以先看编译好的EXE程序,满意后给钱拿源码。
下面提供 搜索一个内存地址的 源码, 只要做个循环搜索指定进程的内存就可以了。
内存开始位置:StartAddress= $10000结束位置 EndAddress = $7FFEFFFF$Handle = _MemoryOpen(4024);4024 为进程ID号
$MEM = _MemoryRead(0x040BA7F0, $Handle,"byte");0x040BA7F0 为要搜索的地址, 这里怎么改成搜索整个进程的内存呢?然后能否做个循环,如果搜索到www则输出到文本中呢???
$bbb = BinaryToString($MEM)
_MemoryClose($Handle)
MsgBox(0,0,$bbb)
Func _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $if_InheritHandle = 1)
If Not ProcessExists($iv_Pid) Then
SetError(1)
Return 0
EndIf
Local $ah_Handle =
If @error Then
SetError(2)
Return 0
EndIf
Local $av_OpenProcess = DllCall($ah_Handle, 'int', 'OpenProcess', 'int', $iv_DesiredAccess, 'int', $if_InheritHandle, 'int', $iv_Pid)
If @error Then
DllClose($ah_Handle)
SetError(3)
Return 0
EndIf
$ah_Handle = $av_OpenProcess
Return $ah_Handle
EndFunc ;==>_MemoryOpen
Func _MemoryRead($iv_Address, $ah_Handle, $sv_Type = 'dword')
If Not IsArray($ah_Handle) Then
SetError(1)
Return 0
EndIf
Local $v_Buffer = DllStructCreate($sv_Type)
If @error Then
SetError(@error + 1)
Return 0
EndIf
DllCall($ah_Handle, 'int', 'ReadProcessMemory', 'int', $ah_Handle, 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
If Not @error Then
Local $v_Value = DllStructGetData($v_Buffer, 1)
Return $v_Value
Else
SetError(6)
Return 0
EndIf
EndFunc ;==>_MemoryRead
Func _MemoryClose($ah_Handle)
If Not IsArray($ah_Handle) Then
SetError(1)
Return 0
EndIf
DllCall($ah_Handle, 'int', 'CloseHandle', 'int', $ah_Handle)
If Not @error Then
DllClose($ah_Handle)
Return 1
Else
DllClose($ah_Handle)
SetError(2)
Return 0
EndIf
EndFunc ;==>_MemoryClose 本帖最后由 xingkekeli 于 2010-12-30 19:04 编辑
我有一个写好的搜索的例子 不知道符合不符合你的要求 你加我QQ吧 188885008
补充一下: 我是写来搜索QQ进程 ClientKey 的 已经用了很长时间了
从 0x00100000 到 0x04FFFFFF 大概也就5-10秒 本帖最后由 manlty 于 2010-12-5 16:42 编辑
我有这个程序,你给我充50到手机吧13671471937 ,不过如果按照每个地址都搜一下循环下去,大概要3万多小时才能搜完 怎么可能搜那么久呢。 我用ce搜也就3-4秒钟的事啊。 还有能否先看一下编译好的exe文件呢,如果可以用的话就直接交易了。 怎么没人知道吗?还是50太少啦。要是50太少了,100也可以啦。求高手帮忙,谢谢。 调用的是API的VirtualQueryEx可以完成搜索。 已经完成,非常感谢 5 楼提供的代码,谢谢。 虽然我不会,但我感觉50也太少了,怎么也的几百吧 不错嘛,就是有点太便宜了吧 还是支持你!! 50是有点少了 强人一个~~~~~~~~~ 强人一个~~~~~~~~~ 高手就是高手呀 好奇啊。为什么一段段的源代码是怎么写来的呢?
页:
[1]
2