首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

搜索某一个进程的内存地址是否包括某一个数值解决思路

2012-01-15 
搜索某一个进程的内存地址是否包括某一个数值搜索某一个进程的内存地址包括某一个数值(4字节),readprocess

搜索某一个进程的内存地址是否包括某一个数值
 

搜索某一个进程的内存地址包括某一个数值(4字节),readprocessmemory用得不太熟悉,

VB code
processname是进程名findvalue是要搜索的值,findprocessmemoryvalueaddress返回值是这个值所在的内存地址Function FindProcessMemoryValueAddress(processName As String, FindValue As Long) As Long    Dim ProHandle As Long    If FindProcessHandle > 0 Then CloseHandle (FindProcessHandle)    FindProcessHandle = OpenProcess(PROCESS_ALL_ACCESS, False, HasProName(processName))    Dim MemBf(3) As Byte    Dim i As Long, l As Long    Dim TmpBuf As Long    Dim LocalAdsIndex As Long    If FindProcessHandle = 0 Then Exit Function    For i = &H14E620 To &H7FFFF000 Step 4        If ReadProcessMemory(FindProcessHandle, ByVal i, MemBf(0), 4, ByVal 0) > 0 Then            CopyMemory TmpBuf, MemBf(3), 4            If TmpBuf = FindValue Then                FindProcessMemoryValueAddress = i                Exit For            End If        End If    NextEnd Function

这样好像找不到

[解决办法]
可以先用WinHex工具看能找到吧 如果能找到,然后看下内存址是多少 和你搜索的地址是否一样
[解决办法]
参考MSDN里面的例子程序pwalk
[解决办法]
探讨

可以先用WinHex工具看能找到吧 如果能找到,然后看下内存址是多少 和你搜索的地址是否一样

[解决办法]
winhex不能在文件搜索吗?
文件搜索和内存搜索,搜到的地址有区别,但是存在就应该能搜到。搜不到是处理的不对。
比如For i = &H14E620 To &H7FFFF000 Step 4,这里,你的&H14E620这个地址是怎么来的?正确吗?是不是大了?
提权了没?

热点排行