记录一下逆微信标题过程 (非特征码查找)
工具1:CE,OD, VS2013首先用CE 加载微信 用 unicode 查找string
点击别的聊天窗口 发现:0BF71544
这个地址字符串就是窗口标题缓冲区
我们再用 OD附加微信 在dump区域输入 0BF71544
这个地址没错了
使用 write硬件断点, 再切换下窗口
这时的上下文环境 MOV WORD ,AX,
这里的EDI 就是缓冲区地址,之后就是顺着摸上去看看最终是谁给了EDI 这个值
根据栈回溯这里就略过
最后发现 4169这里的Call返回的指针+偏移最终得到缓冲区地址
[[[[[[]+4]]]+70c]+580]+1b8=标题字符串缓冲区
再往上逆就发现这个EAX= 是 sub esp,68 分配出来的;
这里我笔者也没搞清楚为啥sub esp,68 会刚好有一个有效的指针,为啥不怕分配一个无效指针,希望读这篇文章的大佬可以解答
知道了地址加偏移后面就好办了 我的做法是hook 416E 这个地址之后查看偏移的有效指针
判断 [[[[[[]+4]]]+70c]+580]+1b8 是否为真 则得到缓冲去地址 使用 ReadProcessMemory 这个函数来判断
不过这个模块的的地址是会改变的 所以需要得到模块的地址 我的做法是hook DispatchMessageW 函数和VadateHandle 函数
得到模块地址后HOOK 416E地址 代码 判断 [[[[[[]+4]]]+70c]+580]+1b8指针的有效性 得到标题字符串
文章没有写得到模块地址不过会HOOK的读者应该不难知道。
这里谢谢我的导师老高。 sub esp, 68
应该是函数头,长这样:
push ebp
mov ebp, esp
sub esp, 0x68
那你找到的应该就是改标题的函数了,直接 hook 这个函数即可 补上注入和Dll VS2013编写 感谢分享。。。 不明觉厉{:1_893:} jixun66 发表于 2019-2-9 06:06
sub esp, 68
应该是函数头,长这样:
/抱拳,原来如此 谢谢 可以利用在多开上面加版权 不错,谢谢分享哈~~ 感谢分享! 关于微信APP的改写,很难。
页:
[1]
2