【逆向】PC微信获取二维码基址

CE文本搜索IHDR

 

 

 

黑色地址下拉全部 右键  更改 智能编辑   填 -c

 

找到地址打开不是 模块+偏移的地址,那个就是我们需要的

 

然后4字节 16进制 搜索 地址

 

出现第一个地址就是成功

 

 

0291E724 这个就是我们要找的二维码地址


 

然后去OD ,左下角  dd + 地址     进到这个地址,然后下断点

 

 

之后再去微信界面重新获取一次二维码,当即将更新二维码的时候程序会被断下

 


一步步断点

当执行到这个call之后 ,二维码就能正常显示,这是二维码处理完毕的call,我们需要hook这里

地址              特征码                汇编代码

6A511829    E8 325AD200     call WeChatWi.6B237260                   ; hook这里啊

 

 

 


在看右边寄存器

esi 地址是 029AFDF4

二维码指向地址是  029AFDF4

 

 

 

 

 

双击左边地址,变成箭头,【OD有点小毛病,有时候会提示不能读取内存,等一会就可以了】

在右边的寄存器  

点击esi的数据,右键数据窗口跟随

 

数据窗口跟随后

esi地址 和 二维码指向地址相等 ,所以不需要在进行计算

 

 

esc + 0 = 二维码地址

 


现在我们计算 hook的偏移,我们在这可以看到这里是调用了wechatWi.dll 模块   所以我们在od按字母E进入模块窗口,找到这个模块,复制模块基址

二维码模块基址 69FA0000

6A511829    E8 325AD200     call WeChatWi.6B237260                   ; hook这里啊

 

 

 

hook偏移 =  最左边地址 - 模块基址 = 6A511829 - 69FA0000=571829

 

 

现在我们用这个图里面的   WechatWi.6B237260   来获取call的偏移

 

6B237260   - 模块基址 = 偏移 

6B237260 - 69FA0000 = 1297260

 

所以总结上面,我们一共得到了  

二维码指向地址 = esi地址  = 029AFDF4

二维码模块基址 69FA0000

hook偏移  571829

call偏移  1297260

 

posted @ 2022-04-05 20:44  Hello霖  阅读(586)  评论(0编辑  收藏  举报