program_mx 发表于 2019-2-8 18:54

记录一下逆微信标题过程 (非特征码查找)

工具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的读者应该不难知道。
这里谢谢我的导师老高。

爱飞的猫 发表于 2019-2-9 06:06

sub esp, 68

应该是函数头,长这样:

push ebp
mov ebp, esp
sub esp, 0x68

那你找到的应该就是改标题的函数了,直接 hook 这个函数即可

program_mx 发表于 2019-2-8 19:09

补上注入和Dll VS2013编写

su123 发表于 2019-2-8 21:24

感谢分享。。。

zqguang3708 发表于 2019-2-8 22:07

不明觉厉{:1_893:}

program_mx 发表于 2019-2-9 15:51

jixun66 发表于 2019-2-9 06:06
sub esp, 68

应该是函数头,长这样:


/抱拳,原来如此 谢谢

JUNGLE_CN 发表于 2019-2-9 15:53

可以利用在多开上面加版权

taoxiami 发表于 2019-2-12 11:44

不错,谢谢分享哈~~

sunson 发表于 2019-2-14 11:50

感谢分享!

bj2018 发表于 2019-3-11 21:31

关于微信APP的改写,很难。
页: [1] 2
查看完整版本: 记录一下逆微信标题过程 (非特征码查找)