吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 22898|回复: 112
收起左侧

[Android 原创] (0626补充) 一封来自私信里的sos信号

    [复制链接]
低调(d-iao) 发表于 2021-6-25 19:27
本帖最后由 低调(d-iao) 于 2021-6-26 15:09 编辑

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

演示软体:
轻启动 v2.18.3

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

成品图:
Screenshot_20210624-171929_VMOS Pro.jpg

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

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

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

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

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

================================

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


手动模式:

依旧老规矩 看看软件的付费机制
图中可以看到部分功能有限制
Screenshot_20210624-214049_VMOS Pro.jpg

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

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

返回包 (rsa加密)
Screenshot_20210624-231653_HttpCanary.jpg

so let do it...

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

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

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

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

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

第一条函数 getAppSign
图为流程图的分支线
页面-1.png

图里的第一幅图 可以看到调用了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的混淆对抗
Screenshot_20210624-223009_MT Manager.jpg

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

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

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


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

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


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

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


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

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

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

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

首先把lib里的libreqen.so文件删除掉
然后把dex里的这句代码也删除掉
    const-string v0, "reqen"
    
    invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
再把 getAppSign 与 getPubKey 给出固定值 并把getSignature整个方法删除掉
下图为修改前后

修改前:
Screenshot_20210624-231224_MT Manager.jpg

修改后:
Screenshot_20210624-231136_MT Manager.jpg

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

修改前:
Screenshot_20210624-232730_MT Manager.jpg

修改后:
Screenshot_20210624-233118_MT Manager.jpg

至此软件保护处理完毕


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

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

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

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


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

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

dex搜索trial_millis 定位到代码处
Screenshot_20210625-005048_VMOS Pro.jpg
                                                                             
经过分析 只要status为1就是已注册 所以这里直接如图给status赋值1即可完成破解
Screenshot_20210625-005345_MT Manager.jpg
Screenshot_20210625-005236_MT Manager.jpg

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


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

resources.arsc找参数名 可以看到名称被混淆了
Screenshot_20210625-010717_MT Manager.jpg

dex搜索id 得到名称为pw_gohom
Screenshot_20210625-010801_MT Manager.jpg

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

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

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

6.so验证
后来发现 导致第5错误的原因是so保护
从分析pw_gohom过程得知 软件提示破解版的时候会访问官方链接
http://wpengapp.com/lightstart/safetyreminder

所以可以从错误信息得方向入手 图中红线位置
Screenshot_20210625-172223_MT Manager.jpg

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

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

我这里也偷懒直接log出来吧 如图 插一句log 输出p1内容
Screenshot_20210625-172428_MT Manager.jpg

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

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

好了 居然知道了这问题 直接把着跳转删除即可。
Screenshot_20210625-172854_MT Manager.jpg

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

最后 如果使用过程还有问题
就把第6里得到的5个结果也处理一遍吧


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


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

免费评分

参与人数 58吾爱币 +73 热心值 +56 收起 理由
stewarddeng + 1 + 1 用心讨论,共获提升!
sebastian0619 + 1 + 1 谢谢@Thanks!
engeng2 + 1 + 1 用心讨论,共获提升!
foxdog + 1 + 1 鼓励转贴优秀软件安全工具和文档!
方寸K + 1 + 1 热心回复!
wjsw123 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
初七的果子狸 + 1 + 1 谢谢@Thanks!
zhangheng8687 + 1 谢谢@Thanks!
slimwu + 1 + 1 我很赞同!
我不管我最帅 + 1 + 1 我很赞同!
石碎大胸口 + 1 + 1 用心讨论,共获提升!
molin2021 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
yanhy2000 + 1 用心讨论,共获提升!
nmgwangshuo + 1 + 1 虽然看不懂,但是觉得很牛逼
song062615 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ncu.xxy + 1 + 1 谢谢@Thanks!
RiiiickSandes + 1 + 1 作 者 很 狡 猾
mmtzwyd + 1 + 1 我很赞同!
jewejin + 1 + 1 我很赞同!
dysx999 + 1 + 1 感谢您的宝贵建议,我们会努力争取做得更好!
yilvz + 1 + 1 谢谢@Thanks!
tippy + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
lcstwp + 1 + 1 用心讨论,共获提升!
妙蛙肘子 + 1 + 1 我很赞同!
Vancee + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Arsage + 1 + 1 用心讨论,共获提升!
JamesWang + 1 + 1 用心讨论,共获提升!
hk9186 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
不爱everyone + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
独行风云 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
victos + 1 + 1 谢谢@Thanks!
yixi + 1 + 1 谢谢@Thanks!
无痕软件 + 1 开发不易!
兜兜风f + 2 + 1 谢谢@Thanks!
西枫游戏 + 1 + 1 楼主 脱壳修复这块有讲讲吗。我不会修复
xiongmoumou + 1 + 1 谢谢@Thanks!
mypc1995 + 1 + 1 谢谢@Thanks!
GenW + 6 + 1 用心讨论,共获提升!
夏蓝 + 1 + 1 我很赞同!
SakuraYaaa + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
ml2077 + 1 + 1 谢谢@Thanks!
fengbolee + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
唐小样儿 + 1 + 1 我很赞同!
taichao + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Baxy + 1 很厉害!
dutyzqly + 2 + 1 用心讨论,共获提升!
takpap + 1 + 1 谢谢@Thanks!
笙若 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
芽衣 + 3 --------
bytzhh + 2 + 1 用心讨论,共获提升!
QingYi. + 3 + 1 我很赞同!
24k纯金滑稽 + 2 + 1 用心讨论,共获提升!
kk1212 + 1 + 1 谢谢@Thanks!
zqguang3708 + 2 + 1 谢谢@Thanks!
daxia2002 + 2 + 1 用心讨论,共获提升!
fortytwo + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
正己 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 低调(d-iao) 发表于 2021-6-29 18:27
青铜王老五 发表于 2021-6-29 11:13
大神,我的帖子有一个求助,不知道能不能在空闲时候帮我一下,感激不尽。这个帖子是关于破解内购的,我是个 ...

游戏我不要 尤其国内游戏 各种手机号注册 各种实名玩意,对我来说玩中国游戏太麻烦了。。


我给你2个思路

不是所有东西都能破解内购  一般游戏都会有2道门 内购一道 自身一道 内购完成提交订单 自身验证 通过才会++

不是所有游戏都能破解本地  改数据是最直接的方式 可改表示数据在本地运算 如果服务器运算 改本地也没用
daxia2002 发表于 2021-6-25 19:48
52这边支持大佬,还是这边图片清楚

点评

其实那边图片不好排版 太小了 每次我都会上传很多图片 而且又要顾虑模糊问题  详情 回复 发表于 2021-6-25 20:10
sympohh 发表于 2021-6-25 19:37
大佬厉害,学习了,破解的各种保护找起来太累了
Gijia 发表于 2021-6-25 19:37
详细的分析过程,拜读中,支持原创的辛勤付出。
正己 发表于 2021-6-25 19:41
大佬终于来这边更新了,隔壁小学生太多了,希望大佬不要生气

点评

因为昨晚先在那边发。。然后发现后面还有校验 所以这里就先不发布  详情 回复 发表于 2021-6-25 19:48
 楼主| 低调(d-iao) 发表于 2021-6-25 19:48
正己 发表于 2021-6-25 19:41
大佬终于来这边更新了,隔壁小学生太多了,希望大佬不要生气

因为昨晚先在那边发。。然后发现后面还有校验 所以这里就先不发布
加奈绘 发表于 2021-6-25 19:52
大佬,学到了
正己 发表于 2021-6-25 19:54
低调(d-iao) 发表于 2021-6-25 19:48
因为昨晚先在那边发。。然后发现后面还有校验 所以这里就先不发布

我去年就让芽衣大佬帮我分析过这款软件,那个时候还没有这么多校验,大佬这教程很详细,让我等小白受益良多

点评

昨晚刚好私信有人问  详情 回复 发表于 2021-6-25 20:01
 楼主| 低调(d-iao) 发表于 2021-6-25 20:01
正己 发表于 2021-6-25 19:54
我去年就让芽衣大佬帮我分析过这款软件,那个时候还没有这么多校验,大佬这教程很详细,让我等小白受益良 ...

昨晚刚好私信有人问
 楼主| 低调(d-iao) 发表于 2021-6-25 20:10
daxia2002 发表于 2021-6-25 19:48
52这边支持大佬,还是这边图片清楚

其实那边图片不好排版 太小了
每次我都会上传很多图片 而且又要顾虑模糊问题
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-22 12:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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