1625-5 王子昂 总结《2017年11月18日》 【连续第414天总结】
A. PCQQ防撤回 (2)
B.

QQ(PC端)防撤回

(测试版本8.9.5)

应用背景

QQ为手误操作等理由提供了弥补选项–撤回。
撤回功能本是方便不小心打错字、发错地方等失误而提供的,但是有些人却利用它来逃避责任,例如打下欠条、做出承诺后撤回,发布广告甚至是反动消息后撤回

本项目就是为了防止成员传播反动、色情等违法违规消息或发布广告等垃圾消息后撤回,便于管理员进行管理而开展的

原理

撤回机制

Created with Raphaël 2.1.0点击撤回客户端删除本地数据库中的消息并向服务器发出请求服务器接收到请求向其他客户端发送撤回请求其他客户端接收到请求删除本地数据库中的消息消息被撤回

目标

使本地数据库中的消息不被删除,从而防撤回

方法

  • 拦截服务器发送的撤回消息,这需要分析QQ的协议,难度比较大
  • 修改本地客户端接收到消息以后的代码

操作步骤

搜索相关代码

利用工具UltraEdit搜索文件夹内所有Dll,查找有Recall、Revoke字符出现的Dll


可以看到出现次数较多的主要是IM.dll和MsgMgr.dll两个文件,于是优先对它们进行分析

MsgMgr.dll

查询可知它是负责消息管理器相关的功能,与消息框的撤回无关

IM.dll

查询未果,进行逆向分析
查找字符串发现以下内容

逐个检验可知DoRevokexxx处为本地发起撤回的相关功能,OnRevoke处则是具体实现撤回的功能(包括撤回自己的消息和别人的消息被撤回)

对本地消息进行处理的函数分为4个子函数

负责撤回别人消息的关键函数为

将其爆破掉(直接RETN 10返回)即可实现撤回功能失效

其他3个函数还包括撤回消息的回复、撤回自己消息等功能,进行爆破的话还可以实现保留本地消息的同时,发出撤回他人消息请求的效果

效果截图

可以看到,无论是对方的撤回,还是自己的撤回,都可以在本地拦截下数据删除,而向服务器正常发出消息

结论

缺陷

  • QQ程序本身没有加壳,从而导致逆向可以直接查看源代码

  • Log记录都是明文,从而使得逆向者在不具备符号文件来参考函数名、变量名时,可以通过明文Log来索引定位关键代码

修复方法

  • 对程序加壳,从而对抗逆向工程

  • 将Log记录中的字符进行简单加密,使用时再解密

171118 逆向-再探QQ防撤回相关推荐

  1. 第25天:PC QQ防撤回

    看过不少防撤回的帖子,今天也记录一下这个过程吧. 对于QQ消息撤回机制这里推荐夜影师傅的博客, https://blog.csdn.net/whklhhhh/article/details/78620 ...

  2. 微信多开工具,微信防撤回、QQ防撤回、Tim防撤回工具,微信消息防撤回、QQ消息防撤回、Tim消息防撤回,无视撤回功能,不错过每一条消息

    这是一款非常小巧精致的防撤回和微信多开工具,只有130kb的大小,但功能却非常强大. 一.软件简介 这是一个开源项目,程序源码全部开源,因此这款工具具有极高的安全性,毕竟代码就公开在大家的眼皮底下,谁 ...

  3. IOS微信逆向-免越狱抢红包防撤回等自定义功能实现

    微信砸壳 CrackerXI+砸壳,或手动使用dumpdecrypted砸壳 把已砸壳的wech使用scp或者助手at.ipa导出 monkeydev MonkeyDev集成在xcode上面,可以快速 ...

  4. [软件逆向]实战Mac系统下的软件分析+Mac QQ和微信的防撤回

      0x00  一点废话 最近因为Mac软件收费的比较多,所以买了几款正版软件,但是有的软件卖的有点贵,买了感觉不值,不买吧,又觉得不方便,用别人的吧,又怕不安全.于是我就买了正版的Hopper Di ...

  5. 手把手教会你Android手机QQ和微信防撤回

    如今QQ和微信都能撤回消息,当对方撤回了消息,想看又看不了,是不是很想知道对方撤回了什么?接下来我就来教会大家阻止对方QQ撤回的消息和查看微信撤回的消息. 1.首先,手机需要获取root权限(目前有很 ...

  6. Github推荐--PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了)

    逛Github的时候会遇到一些很好玩的项目 今天分享一个可以在PC端实现QQ防撤回功能的项目.(安卓手机有Xposed框架) 首先是项目地址: 我已经看到了,撤回也没用了 使用方法: 下载后解压,会出 ...

  7. 微信消息防撤回,这次做点不一样的

    经过一段时间的研究,微信的防护措施果然名不虚传,稍有不慎就会面临封号的危险,所以对微信的逆向务必慎之又慎. 防撤回的教程网上已经很多了,但是今天要做些不一样的事情. 首先,如果让你来写撤回这个方法,你 ...

  8. dump分析工具_iOS逆向分析和注入微信防撤回

    微信公众号:passerbycrk-weixin 如有问题或建议,请公众号留言 复习iOS逆向知识,以微信消息防撤回为例,一步一步分析调试,到完成插件注入. 环境配置 越狱iPhone 5s (iOS ...

  9. MacOS QQ红包助手 (消息防撤回、自动抢红包)

    github地址 功能 自动抢红包 防撤回功能 TODO 思考中 Demo 演示 安装 安装 点击clone or download按钮下载 QQPlugin 至下载目录并解压,打开Termimal, ...

最新文章

  1. 【 Verilog 】always@()的敏感源中为什么不能双边沿触发?为什么不能双时钟触发?
  2. 破解时的数据约束性和winhex操作失败
  3. Python 处理带中文 Excel 文件
  4. 福州大学软工 1715 | K 班 - 启航
  5. sqlserver2008清除日志方法_MySQL常用工具、日志及读写分离
  6. 剑指offer(面试战备ing,持续更新)
  7. 仿微信拼多多实训笔记
  8. HMC5883L 转换方向角与简易校准方法
  9. 硕士论文查重原理与快速通过的七大方法(转载)
  10. Google开源Live Transcribe的语音引擎
  11. SV中的浅拷贝和深拷贝
  12. 增量式编码器和绝对式编码器区别
  13. 从会种田到“慧种田”,传感技术成“刚需”!
  14. EventBus使用之基础
  15. Leetcode 92反转链表
  16. 输出九九乘法表 使用C语言
  17. 《Origin 9.0科技绘图与数据分析超级学习手册》一第 1 章 Origin 9.0概述1.1 Origin简介...
  18. Git 安装并初始化 + 官网下载速度太慢的问题
  19. 学习欧拉phi函数的思考
  20. 7员作业假套现公积金获刑

热门文章

  1. 远控免杀专题(13)-zirikatu免杀(VT免杀率39/71)
  2. 自动的运行时软件测试工具
  3. 正则表达式字符集与test判断语句参数总结
  4. p8 android 6.0,华为P8升级Android 6.0 一个字“惨”!
  5. 做TopCoder应注意什么
  6. 【资源分享】GIF屏幕录制软件GIF轻量级编辑软件(含动图使用方法和下载链接)
  7. php如果实现日历的制作,教你如何制作一个简单的PHP日历
  8. 网站推广手段集锦(2008七夕节中国情人节版)
  9. 计算机网络——IP数据报的发送和转发过程
  10. 安卓APP上线各应用商店-最新版