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. 自动调整速率的Actor设计模式
  2. Spring--Context
  3. 【数字逻辑设计】Logisim构建三种多路选择器
  4. 2017.5.9 货车运输 思考记录
  5. iOS开发应用结构化资源储备
  6. java exe指的是什么_Java程序的执行过程中用到一套JDK工具,其中java.exe是指( )。
  7. 在线打字练习网站介绍
  8. 腾达u2无线网卡驱动Linux,腾达u2网卡驱动下载
  9. centos7安装mplayer+smplayer
  10. 微信朋友圈+html+字体颜色,微信新功能 酷炫的彩色微信名字 朋友圈彩色昵称设置方法...
  11. HRBUST - 1646
  12. Volume Compute In SIMT Hardware Architecture
  13. 如何快速发表期刊论文
  14. hive报错Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
  15. 网易2017内推笔试题--小易老师的疯狂数列
  16. LocalBroadcastManager已被废弃
  17. Verilog基本语法之概述(一)
  18. nodejs图片处理工具gm用法
  19. 场内交易基金实时数据 API 数据接口
  20. 圣母大学研究生申请要求

热门文章

  1. 谈 Linux,Windows 和 Mac【转自王垠博客】
  2. R语言使用dgamma函数生成Gamma分布密度函数数据、使用plot函数可视化Gamma分布密度函数数据(Gamma Distribution)
  3. 在canvas中应用font-awesome字体
  4. oracle ace a,Oracle
  5. 电脑开机无声音无图像的原因
  6. mac计算机怎么算,Mac系统默认计算器使用大全
  7. JS网页特效实例:禁止网页放入框架
  8. 线上前端静态资源代理到本地的几种方式
  9. 「游戏」c++岩浆逃脱 1.0
  10. 周鸿祎眼中的产品经理