X32dbg 实现TIM和微信的防撤回

笔者作为信息安全行业的一名web狗,自知web安全领域相对来说过于狭隘,必须要寻求新的突破,偶然情况下接触到了逆向,作为一名刚刚接触逆向的小白,对于TIM的防撤回是在网上相关文章帮助下实现的,学习相关思路,独自完成了微信pc端的防撤回功能。

本次实验使用工具:notepad++,x32dbg,PDIE

TIM防撤回

信息收集

信息收集在web安全中十分重要,收集到的信息是否全面完整,关联对web的渗透能走多远。
同理,逆向工程对于信息收集的要求更为严格,一旦收集到错误的信息,就需要花费大量的时间去验证错误。
本次实验的目标是完成TIM的信息防撤回,重点在于对数据的撤销和撤回。
使用百度翻译,查看其对应英文用法。

已经关键词:revoke,cancel,rescind,withdraw
使用notepad++查找程序文件夹关键字。

有两个动态库与消息撤回有关,IM.dll和MsgMgr.dll。其它查询到的字符串,并没有涉及消息。因此优先分析IM.dll和MsgMgr.dll。

分析查询到的文件

使用PDIE查看IM.dll和MsgMgr.dll文件的输出表。

其中
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
这四个函数是COM组件的标配。(COM组件是windows下抽象于二进制层的API接口,可以适应各种编程语言,包括C++,C#,VB等,比SDK API适应性更强)
而MsgMgr.dll中只有COM组建的输出,因此优先分析IM.dll

使用32dbg分析IM.dll

首先登录TIM,使用32dbg附加到TIM的进程上

在符号栏功能下左下角搜索栏搜索im.all,并且双击进入。

搜索im.dll中的所有字符串。

image.png

搜索关键字revoke


由于撤销的字符串数量过多,因此采用全部断点,分析运行程序。
右键选择

一直点击运行,直到左下角的暂停变为running状态。

tips(逆向中的设置断点分析程序和web渗透测试中使用burp抓包分析数据包分析思路一致)

寻找撤销CALL

使用另一个qq对tim测试qq发送信息,并且撤销。
左下角显示显示暂停表示断点成功,查看断点程序。

对附近的所有call进行测试,可以使用nop替代call内容,排查真正起作用的call。
当发现使用nop替代6060E091的数据时,信息不会被撤回,因此判断此处为撤回功能的关键call。


因此直接使用nop替换存在一定风险,比如说改位置还可能被其它位置调用,有可能导致程序错误,因此在大多数情况下都是使用jmp指令跳过关键call。

右键补丁,修补文件,替换掉原本的im.dll,就完成了对TIM的防撤回。



TIM对群信息的防撤回,发送群信息,并撤回进行测试。更改位置为:


同样使用jmp跳过撤销指令。

微信防撤回

微信防撤回的实现过程和TIM思路一致,只不过关键字略有不同。
笔者对中间过程就不再赘述,只是把关键位置说明一下。
通过收集相关信息
发现微信的撤回指令在文件WeChatWin.dll中
关键为revokemsg
设置断点

经过测试,6cE1774C处的call为关键位置。

使用jmp命令跳过执行。

经测试,微信pc端,个人消息撤回和群消息撤回使用的同一个call。
保存补丁替换微信目录下的同名文件即可实现微信防撤回。

总结

防撤销的原理非常简单,无论是TIM还是微信聊天记录都是保存在本地的,而防撤回就是修改本地聊天信息的代码,让对方撤销之后,本地仍然可以显示出来。
作者作为一个汇编还没有学完的逆向新手,对实验中的一些数据和操作暂时也解释不清楚,只能希望自己可以从理论和实践双向出发来学习逆向。若文章中有不正确的地方欢迎修正

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267