随笔分类 -  xxx逆向和外挂

摘要:1、xxxx的聊天通信协议是基于tls 1.3精简了一些握手的方法,官方的介绍在这:https://mp.weixin.qq.com/s/tvngTp6NoTZ15Yc206v8fQ ; 总的来说,这篇文章对xxxx协议做了总体的介绍。为了便于理解、抓住主脉络,我这里整理了整个协议的主干思路,如下: 阅读全文
posted @ 2024-05-20 10:55 第七子007 阅读(136) 评论(0) 推荐(0) 编辑
摘要:网络通信,有3点是必须要保护的: 通信内容必须保密,不能被第三方看到 通信内容必须完整,不能被第三方篡改 通信双方身份必须确认,不能被第三方“截胡” 怎么才能做到以上3点了? 1、通信内容必须保密,不能被第三方看到 这个简单,加密呗!有对称加密和非对称加密。对称加密消耗的算力远比非对称加密小,所以这 阅读全文
posted @ 2021-03-27 15:52 第七子007 阅读(1030) 评论(0) 推荐(0) 编辑
摘要:前面两篇文章分别介绍了sqlite数据库句柄和sqlite3_exec函数调用来查找数据库内容。通过这种方式来查询,需要一直hook目标软件。如果目标软件有检测程序,就有可能被检测到。本文分享另一种读取数据库内容的办法:在线备份! db文件存储的数据,本质上都是二进制的。db文件由于被加密,在磁盘上 阅读全文
posted @ 2021-03-07 23:34 第七子007 阅读(3074) 评论(0) 推荐(1) 编辑
摘要:上一篇(xxxx)九介绍了sqlite数据库句柄的查找方法,句柄的查找细节估计不好懂,这里再详细说说! 对于逆向人员而言,sqlite最大的优点就是开源。初次逆向sqlite,不知道目标函数在哪,可以先把开源的代码sqlite3.h和sqlite3.c放入自己的工程(官网上有),编译前再命令行这里增 阅读全文
posted @ 2021-03-06 19:27 第七子007 阅读(1520) 评论(0) 推荐(0) 编辑
摘要:1、不管在windwos、android、ios或其他平台,应用程序在运行时肯定会产生或读取很多数据(个人观点:数据才是核心,所有的代码都是为数据服务的),这些数据肯定要找个地方存放。比如之前破解的xxxx图片,加密后以bat格式存放在磁盘某个特定的目录。除了图片,还是有其他很多数据,比如聊天记录、 阅读全文
posted @ 2021-02-28 21:11 第七子007 阅读(7419) 评论(2) 推荐(1) 编辑
摘要:1、 xxxx接收到图片后,不会明文存储在磁盘,因为不安全,都是加密后存储在特定目录的,截图如下(请忽略两个jpg的文件,这是我为了做测试人为添加的,xxxx原始是不会存这些图片的): 可以看到图片都是以dat格式存储的。用010editor打开:全是没意义的数据,图片的头信息完全找不到! 既然都是 阅读全文
posted @ 2021-02-25 21:52 第七子007 阅读(5623) 评论(0) 推荐(1) 编辑
摘要:3环下要想隐藏dll,仅仅靠断链和抹去PE头信息是不够的;这样做能骗过同样在3环运行的调试器,但是骗不过在0环通过驱动做检测的PChunter、Process Hacker等工具;要想彻底隐藏,需要更进一步搞定驱动层的各种检测,下面会详细介绍隐藏的细节原理和操作方法! 1、VAD 虚拟内存管理 内存 阅读全文
posted @ 2021-02-17 22:34 第七子007 阅读(1716) 评论(1) 推荐(0) 编辑
摘要:1、做外挂,本质上就改变目标软件的执行流程。为了达到目的,肯定要给目标软件额外添加代码才能达到自己的目的。3环下为了添加代码实现自己的逻辑,要么写shellcode,要么加载dll;两种方式对比如下: 相比之下,dll的优点非常明显,尤其是第2点,可以用C实现复杂的逻辑,这能极大加快外挂、补丁等的开 阅读全文
posted @ 2021-02-14 23:56 第七子007 阅读(1424) 评论(0) 推荐(0) 编辑
摘要:1、hook方式有多种,这里做了一个系统性的总结对比,如下: https://www.cnblogs.com/theseventhson/p/14324562.html 之前这里做了接受消息的hook,用的就是最初级的hook方式: jmp到我们自己的处理逻辑。上面也分析了,这种方式缺点非常明显;最 阅读全文
posted @ 2021-02-12 23:02 第七子007 阅读(5310) 评论(1) 推荐(1) 编辑
摘要:xxxx系列的二和四分别介绍了远程dll注入代码和接受消息的地址,接下来该hook代码实战了!(注意: 下面的代码不是一次调试成功的,期间经历和几十次的异常、奔溃和重启,每次地址可能都不一样,截图是多次截取的,地址看起来可能不连贯,甚至差异巨大,但不基本的消息接受功能是ok的); 先用xxxx系列二 阅读全文
posted @ 2021-02-02 19:39 第七子007 阅读(935) 评论(0) 推荐(0) 编辑
摘要:对于绝大多数人逆向人员而言,平日一般都抓浏览器的包,网上各种抓包教程早就烂大街了;抓包原理也不复杂:先配置浏览器的代理为抓包工具,所有的数据包都通过抓包工具中转一次。如果是https这些加密的包,还要装抓包工具的证书,做“中间人攻击”,即:骗客户端的浏览器自己的服务器,骗服务器自己是客户端的浏览器, 阅读全文
posted @ 2021-01-31 21:27 第七子007 阅读(2172) 评论(0) 推荐(0) 编辑
摘要:今天来分析一下xxxx接受消息的call;测试的账号在虚拟机,发消息的账号在物理机; 1、老规矩:逆向分析的起点都从CE开始;给测试账号发送辨识度高的消息,这时暂时不要在测试账号打开消息。因为此时的消息刚经过网络传输,还是ASCII格式,所以千万不要勾选UTF-16,只能找ASCII码找(下面详细解 阅读全文
posted @ 2021-01-24 18:02 第七子007 阅读(1091) 评论(0) 推荐(1) 编辑
摘要:1、所谓挂外,本质上是改变原有软件的执行流程。方式有两种: 通过改函数的参数来函数的执行流程 直接改代码,尤其是JCC、 call等跳转指令。 外挂的形式大致也有两种: dll注入 直接改原软件的exe、dll等PE文件 shellcode 破解别人的外挂,本质上就是找到这个外挂更改了原软件的哪些点 阅读全文
posted @ 2021-01-23 17:35 第七子007 阅读(7483) 评论(1) 推荐(0) 编辑
摘要:要想改变目标进程执行流程的办法有很多,最常见的就是hook。为了让目标进程执行特定的代码,可以注入shellcode或dll;shellcode的优点是体积小,不容易被检测到,但功能也相对单一;dll注入优点是可以包含的功能较多,但容易被检测到。本次拿xxxx软件举例做个dll注入; 要做注入,否先 阅读全文
posted @ 2020-12-27 16:30 第七子007 阅读(573) 评论(0) 推荐(0) 编辑
摘要:防止多开的方法又很多种,比如: 遍历进程,如果目标进程已经存在就认为正在运行,现在的进程退出 互斥体,也就是mutex,本质是生成一个全局变量。如果检测到这个变量已经存在,现在进程就退出 xxxx PC端用的是mutex。可以用OD打开xxxx的exe,然后CTRL+G查找CreateMutex函数 阅读全文
posted @ 2020-12-27 10:22 第七子007 阅读(1102) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示