返回列表 发新帖

【实战破解】轻启动反编译解锁会员

    [复制链接]

22

主题

933

帖子

4499

积分

大学生

Rank: 5Rank: 5

金币
1039
好评
168
贡献
14

MT论坛新人MT论坛最佳新人MT论坛活跃会员

发表于 2021-6-25 02:03:45 来自手机  | 显示全部楼层 | 阅读模式
本帖最后由 XuanRan 于 2021-6-29 18:10 编辑

准备工具:
1.反编译工具
2.抓包工具
3.IDA
4.vmos

演示软体:
轻启动 v2.18.3

软件保护
1.加固保护
2.软件保护
3.umeng保护
4.功能限制
5.时间暗桩

成品图:


教程分为2种方式破解:
1.工具党模式
2.手动党模式

工具模式:
首先 先来说说工具模式,如果你只为了破解而破解,并且只想快速处理,请选择工具模式,无需回复 即可观赏。

1.找个sandhook类的过签名工具 不必脱壳,然后选择完整包模式处理,即可过掉所有校验保护。

2.找个脱壳机对原版进行脱壳。

3.使用反编译工具进行反编译,搜索trial_millis 定位到关键类处,代码里有个boolean的方法名 赋值true即可完成破解。
(ps: 我只试了sandhook没问题,其余工具自行测试)

好了 工具模式讲解完毕
现在来手动模式

欲知如何处理 请回复后再往下阅读。

手动模式:

依旧老规矩 看看软件的付费机制
图中可以看到部分功能有限制


随便找个功能点击 软件会进行联网验证
-网络验证第一想法就是进行抓包
那说明破解方面有思路了


那先来抓一下看看
关键url:
https://wpengapp.com/api/appuser                                       
                     
请求包部分内容(后面要用到)


返回包 (rsa加密)


so let do it...

1.加固保护
-软件使用腾讯御加固保护
-无论脱壳工具或ida dump 网上都有不少大神的教学 这里请自行处理。


2.软件保护
脱完壳修复好dex格式与入口,惯例的使用mt去除签名,运行后发现软件启动到splash后闪退 通知栏提示此版本不可用
很明显软件有防破保护

现在的app保护很少会放在dex里 所以先看看lib文件里有哪些so
可以发现只有一个 libreqen.so


这里直接用mt的hex模式查看吧
然后搜索签名看看 signature
可以看到有一个结果


在so里就得用ida了
载入后从函数名可以看出有 md5 有sign 之类的名称 很明显有保护
并且可以看到有3跳函数从java层调用      注: 以java_开头的
所以主要跟踪这3条函数走


第一条函数 getAppSign
图为流程图的分支线


图里的第一幅图 可以看到调用了apk_sign_md5

跟随进去后会来到第二幅图的地方
这里可以看到调用了2个重要函数
分别是load_apk_sign &  sign_md5

先跟随load_apk_sign函数会来到左下角的地方 主要代码太长 这里f5转了一下方便阅读
从代码里可以看出 以char方式获取apk签名信息
所以这里主要只是获取签名值

获取完成后 程序会回到第二幅图继续往下执行 最后后来到sign_md5 也就是右下角的图里

这里主要就是把CharString的签名值转成md5值 到此getAppSign 分析完毕

结论: 这条函数主要就是获取apk签名的md5值


接下来要知道获取完使用在哪里呢?
那就需要回到java层
反编译dex搜索 getAppSign 定位到下图
觉得不好分析可以使用mt的混淆对抗


从代码里可以看出 程序先同样的方式从java层获取签名的md5
接着再从so里获取md5

然后 会对这2个结果进行比较 一样则继续 不一样则继续第二种比较
第二种则是比较 如果签名值 不等于         
9371b39892df3b212e15cffc564cc4f2 且不等于
5d975cd6e7dd2e5db97eb3ccd9d74d61                                 
就会闪退

结论: 签名要么一样 要么就和这2个值随意一组相同 就不会闪退
第一个校验保护 分析完毕


接下来第二条函数 getPubKey
图中可以看到会调用check_apk_sign进行验证
验证正确就会给出rsa key


从图里可以看到 套路基本一样
获取签名md5值 > 比较是否和原版的md5相同 > 相同则给出rsa key


结论: 第二个函数主要获取rsa key
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJGk132gxzKMEvt5dI+fI7P9LcJCx+ZTaaLTwyihXQCytPOMqTN6i+FPCBD7wwBhPgqopUcTQVdrRgRJgtxMJh

这个暂时不重要 dex那边就先不跟进 这里验证主要在so 如果apk的签名不等于so里的值就会闪退 且通知栏提示版本不可用


接下来到第三个函数 getSignature
图里的套路基本一样 这里直接说明这条函数的作用


这条函数主要就是  md5(数据 + @$^$%^fasd&%df&f||://)

结论: 从分析可以得出
第一条函数获取 sign md5
第二条函数获取 rsa public key
第三条函数则是 将数据 + @$^$%^fasd&%df&f||:// 再转成md5

意思是不是说明 这个so基本就没有其他作用了? 而且还带校验保护
那这里就直接抛弃它吧 把这些需要的数据直接java层处理吧 这样就也无需理会native层的保护了

首先把lib里的libreqen.so文件删除掉
然后把dex里的这句代码也删除掉

  1.     const-string v0, "reqen"
  2.    
  3.     invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
复制代码


再把 getAppSign 与 getPubKey 给出固定值 并把getSignature整个方法删除掉
下图为修改前后

修改前:


修改后:



最后getSignature要怎么用写呢?
还记得java层获取签名md5的地方吗?
说明那边有句md5转换的代码所以可以直接拿来用
具体看修改前后吧
getSignature结果会有2条 2条都改吧

修改前:


修改后:


至此软件保护处理完毕


3.Umeng保护
修改好后运行发现 软件提示破解版


还记得上面的抓包图吗?
可以看到 channel=coolapk 渠道号
看过我之前的文章都知道这是umeng的伎俩
(那文章因版权问题2删除了,现在看不了)

所以我直接就锁定是umeng搞鬼
直接搜索 "channel" 会有几个结果 懒得一个一个分析 我直接全赋值coolapk



到此软件已可以正常运行了。


4.功能限制
现在可以开始破解了,从首次启动测试,已知软件是通过网络验证,并且从抓包中可以得知,返回数据是经过加密的,从pubkey得知,软件有使用rsa算法,
所以这里先从rsa入手

图中可以看到 橘色线调用了rsa算法 然后输出字符串
这里偷懒 直接在结果插了一句log 看看明文是什么内容


dex搜索trial_millis 定位到代码处

                                                                                         
经过分析 只要status为1就是已注册 所以这里直接如图给status赋值1即可完成破解



至此破解完成,破解从来都不难,难的是围绕破解的保护。


5.时间暗桩
软件随机使用一段时间后会验证破解版,如果没通过,就会跳到和umeng一样的界面,禁止继续使用,从上篇文章中得知umeng会把验证结果写到当前软件data目录里,所以这里直接进data看看有没有什么问题
data需要root才能进入,这里借助vmos进行分析
来到data目录 经过分析发现 其中有一个参数的时间与提示盗版时间吻合
将其试试删除保存重运行软件后发现可以正常使用了
说明是这条参数禁止破解版使用。


resources.arsc找参数名 可以看到名称被混淆了


dex搜索id 得到名称为pw_gohom


图中可以看到 如果pw_gohom的值大于0就提示破解版
所以这里的跳转不可以实现 删除
(这里主要是禁止破解版使用功能)



经过分析 还有一处需要修改
作者狡猾 另一处使用了pw_gohom做定位
(这里就是跳网页提示破解版,和umeng那个图一样)

这里则判断大于0就打开网页提示破解版
所以这里的跳转必须实现 修改为goto即可



到此 总算完成解锁了 现在可以正常使用了



后记: 这软件这里不算完全分析 软件本身对我没有太大用处就不再深究,主要只是私信里有小伙伴让帮忙看看,至于有兴趣的可以更深入分析

今天是否有给你带来新的知识?


ida图太模糊 这里补上附件


补充:  刚做完教学发现 还会提示破解版
如果还提示
搜索
Lcom/wpengapp/support/BaseApplication;->֏(Landroid/content/Context;)V
把上方跳转都处理一下试试
目前时间问题我来不及试
再观察观察 有问题后面再补充




后续更新: (完整版)
6.so目录的验证
从分析pw_gohom过程得知 软件提示破解版的时候会访问官方链接
http://wpengapp.com/lightstart/safetyreminder

所以可以从错误信息得方向入手 图中红线位置


跟随图中红线的代码来到了 另一个界面
这里画线处是获取 url链接的地方 继续跟进去


这里可以发现有个字符串被加密了 其实是des加密
红线位置就是进行解密 解密后得出 safetyreminder


我这里也偷懒直接log出来吧 如图 插一句log 输出p1内容


现在全局搜索 看看有多少个地方调用了加密的safetyreminder
一共有5条 其中导致错误的经过分析来自红圈那条


进去后可以发现 原来会验证so目录里的文件是否被修改
回想官方的so我已经删除了 如果so目录为空它就不会进行验证
接着又回想 我惯例的打了mt去签 所以so里又有别的文件了
哎呀 看来惯例有时候也不一定是好事。就因为加了mthook,所以就导致这验证触发


好了 居然知道了这问题 直接把着跳转删除即可。



最后 如果使用过程还有问题
就把得到的5个结果也处理一遍吧
Lcom/wpengapp/support/ྌ;->ރ()Ljava/lang/String;

0626补充: 后来发现有2个地方调用nativelibrarydir
都需要处理

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
已有24人评分好评 金币 理由
kanadeblisst + 1 + 1 赞一个!
シエスタ + 1 + 1
LIAN + 1 + 1
我要回幼儿园 + 1
Louissn + 1
secretshb + 1 很给力!
rain. + 1 厉害厉害
白又白 + 1 + 1 赞一个!
DaveBoy + 1 很给力!
一名平凡的小白 + 1
24k纯金滑稽 + 1 + 1 很给力!
正己 + 1 + 1 赞一个!
Wave + 1 + 1
yuanyxh + 1 + 1
弥天 + 1 牛啊牛啊
硕子 + 1
Away84 + 1 + 1 很给力!
luoawai + 2 + 1
雨落惊鸿, + 1 + 1
郭友人 + 1 赞一个!

查看全部评分 总评分:好评 +25  金币 +29 

长期合作可找我 短期利润高也行
回复

使用道具 举报

8

主题

467

帖子

2298

积分

大学生

Rank: 5Rank: 5

金币
667
好评
3
贡献
1
发表于 2021-6-25 02:33:49 来自手机  | 显示全部楼层
学习一下看看
笑眯眯
回复

使用道具 举报

0

主题

532

帖子

1331

积分

高中生

Rank: 4

金币
386
好评
0
贡献
0
发表于 2021-6-25 02:38:44 来自手机  | 显示全部楼层
来了,大佬我看看呀
回复

使用道具 举报

113

主题

1140

帖子

4304

积分

大学生

沐雨阁

Rank: 5Rank: 5

金币
72
好评
34
贡献
0

MT论坛最佳新人MT论坛帅哥考神

QQ
发表于 2021-6-25 03:16:58 来自手机  | 显示全部楼层
熟悉
回复

使用道具 举报

11

主题

699

帖子

2075

积分

大学生

Rank: 5Rank: 5

金币
246
好评
0
贡献
0
发表于 2021-6-25 04:07:35 来自手机  | 显示全部楼层
看看看看看
回复

使用道具 举报

0

主题

181

帖子

486

积分

初中生

Rank: 3Rank: 3

金币
310
好评
0
贡献
0
发表于 2021-6-25 04:09:48 来自手机  | 显示全部楼层
手动模式
回复

使用道具 举报

3

主题

233

帖子

1287

积分

高中生

Rank: 4

金币
247
好评
3
贡献
0
发表于 2021-6-25 04:34:58 来自手机  | 显示全部楼层
看看隐藏
回复

使用道具 举报

57

主题

2199

帖子

5773

积分

硕士生

Rank: 6Rank: 6

金币
1037
好评
6
贡献
0
QQ
发表于 2021-6-25 05:20:24 来自手机  | 显示全部楼层
向大佬学习
回复

使用道具 举报

21

主题

2148

帖子

6713

积分

硕士生

Rank: 6Rank: 6

金币
1826
好评
3
贡献
0
发表于 2021-6-25 05:26:25 来自手机  | 显示全部楼层
学习学习
回复

使用道具 举报

103

主题

6974

帖子

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
4969
好评
39
贡献
0

MT论坛活跃会员

发表于 2021-6-25 05:55:07 来自手机  | 显示全部楼层
回ོ复ོ看ོ看ོ隐ོ藏ོ
回复

使用道具 举报

0

主题

289

帖子

672

积分

初中生

Rank: 3Rank: 3

金币
54
好评
0
贡献
0
发表于 2021-6-25 06:03:03 来自手机  | 显示全部楼层
看看隐藏
回复

使用道具 举报

0

主题

915

帖子

4227

积分

大学生

Rank: 5Rank: 5

金币
2047
好评
0
贡献
0
发表于 2021-6-25 06:26:28 | 显示全部楼层
看看看看看看
回复

使用道具 举报

0

主题

3506

帖子

7104

积分

硕士生

Rank: 6Rank: 6

金币
2729
好评
0
贡献
0
发表于 2021-6-25 06:35:00 | 显示全部楼层
谢谢分享
回复

使用道具 举报

10

主题

507

帖子

2665

积分

大学生

Rank: 5Rank: 5

金币
289
好评
1
贡献
0
QQ
发表于 2021-6-25 06:39:38 来自手机  | 显示全部楼层
666666666666
回复

使用道具 举报

0

主题

159

帖子

461

积分

初中生

Rank: 3Rank: 3

金币
287
好评
0
贡献
0
发表于 2021-6-25 06:40:20 来自手机  | 显示全部楼层
向大佬学习
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表