James Hoi's Blog

逆向笔记

Word count: 831Reading time: 2 min
2021/03/30 Share

这里记录一些我自己真实场景下的逆向内容

拷贝漫画去广告

首先这个软件太过分了…虽说我很同意帮你看点广告赞助你的服务器费用,但每次进去都加载十几秒的广告,有时候再进去之后还要考30秒以上的广告,属实是有点过分。
(新版本好像广告变少了)

Android Killer大法好,因为软件是一进去就开始加载广告的,定位启动软件的位置,找到有Ads的关键字,直接删除smali重新打包即可
image.png
删除前
image.png
删除后
image.png
进去发现确实是没广告了,但点击漫画之后发现有一大截空白部分,怀疑应该是广告内容。由于是用flutter框架写的,用反射大师没定位到这个空白位置的控件,那没办法了…先将就用着,等哪天真受不了了就学习一波flutter逆向
image.png

动漫之家去广告

有360壳,由于不是做ctf题目,所以还得考虑打包apk怎么打包回去
image.png
参考https://zhuanlan.zhihu.com/p/28810334这个文章
待续…

伤心跳棋

先来看看这个软件界面,显示未注册,并且就算修改电脑思考时间也只能是1秒。

image-20220629235220091

这个软件非常老,我找不到那个年代的upx脱壳,自己手脱会导致软件功能用不了(我修不好),不过脱壳后可以找到软件验证的位置。

image-20210722124327765

要绕过注册验证很简单,软件在地址408727,40860B,402181有三次的验证,全部跳过即可。很玄学的地方是402181不能用修改字节码的方式打补丁,否则会导致另外两处的验证就算成功功能也还是用不了

image-20220629235426220

image-20220629235658365

image-20210722125427440

所以上图这个if最后打补丁是用异常中断补丁修改eip成功的,可能软件有校验字节码是否被修改?最后附上补丁数据

image-20210722125854700

下图是选择修改EIP(NOP)

image-20210722125924095

破解后左上角没有显示未注册,而且可以修改电脑思考时间

image-20210722130114886

软件注册算法有定位到,但我懒得看了,交给其他大家自己练手试试吧。

伤心跳棋原软件 伤心跳棋破解补丁

蜜瓜阅读器提取图片

这个阅读器的文件是自定义的,一个文件里有很多张图片,貌似还用到了RSA解密,需要账户密码登录正确才能解密。
但假如只是登录后把图片提取出来难度并不大,软件有随机基址,RVA 0x23FDF是实例化QPixmap,堆栈中有图片裸数据指针和长度。

1

上图12DAC7为图片字节长度,1E511020是图片数据指针,下图可以看出明显的jpg格式文件头

2

这个项目已经是1年前写的了,当时还不会hook顺便利用这个机会学习了一波。在RVA 0x23FDF hook一下即可导出图片

3

上图明显堆栈不平衡,我也不理解我之前为什么能成功hhh

Github源码 下载地址
test gif

NVLMaker

Krisp

c#写的,无壳无混淆,dnspy找到定位关键验证部分即可。过于简单,这里不再阐述

CATALOG
  1. 1. 拷贝漫画去广告
  2. 2. 动漫之家去广告
  3. 3. 伤心跳棋
  4. 4. 蜜瓜阅读器提取图片
  5. 5. NVLMaker
  6. 6. Krisp