简单的TIM防撤回逆向
加入看雪那么久了,都是在看各位大牛的逆向、病毒分析等,从来没有发过言,这个简单点的小例子能成为我在看雪的第一步。
现在的聊天软件都自带了撤回消息的功能,每次我们没有及时查看信息,被人撤回是,是不是心里难受痒痒着了?这个逆向撤回功能是之前学习的一个案例,现在分享一下。
发送的消息会在服务端和客户端都有保存。服务端我们做不了什么,但是客户端我们可以不让他删除。
逆向,猜的成分占有很大的一部分比例。
TIM程序有很多的模块,我们先要做的就是确定下来撤回消息的功能写在了哪个模块内。
我们用英文翻译软件来搜一下撤回的英文,撤回的英文单词有:revoke,cancel,recall等
我们可以用notepad++的文件搜索功能来看一下
可以看到IM.DLL内有与此相关的函数名
(PS:当然没有那么容易确认下来是这个模块,这就需要自己一个个去区分了,不在这里说那么多)
知道撤回消息的功能是在哪个模块了,现在拖入X32DBG进行逆向分析。
附加运行TIM
搜索im.dll模块
在模块内搜索字符串revoke相关的函数
在所有命令上设置断点
现在给TIM发送消息并且撤回,看看会触发哪个断点。
发现断在了此处单步运行看看运行到哪后TIM消息框内的消息被撤回了
最后发现单步到这个函数后起效了
直接nop掉,或者你喜欢也可以jmp跳转最后打补丁并且替换掉原先的im.dll
如果TIM更新后此方法会失效,需要重新打补丁!!
发现打了补丁后程序不怎么稳定了,以前是完美运行的,可能是TX做了什么检测吧,这里就不再做深入的分析了。
微信、QQ的PC软件都可以参照类似的方法,移动端暂未尝试。
- End -
看雪ID:OK繃
https://bbs.pediy.com/user-832445.htm
本文由看雪论坛 OK繃 原创
转载请注明来自看雪社区
戳
热门文章阅读
公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com
↙点击下方“阅读原文”,查看更多干货