ShareKing 发表于 2022-2-14 00:07

乐加固脱壳并修改VIP与编译打包签名

第一次进行android脱壳逆向实践
本文主要是记录下过程,同时把中间遇到到坑和问题说明下解决方案,老鸟可忽略,菜鸟可参考。


【识壳&搭建环境】
有段时间使用OCR转换图片到文字场景使用较多,于是在网上找个不错的OCR识别应用:“xx王OCR”,正常使用有次数限制,会员就VIP了。。。


本着学习的心态,开干:

[*]正常逆向代码没啥东西,不用说加壳了




[*]搭建环境进行脱壳

[*]网上常见的脱壳都是通过xposed框架进行,于是最开始使用真机,非root使用virtualxposed,问题很多,各种问题。
[*]于是走虚拟机方式,使用夜神模拟器,安装 xposed框架。
    [坑1] 夜神应用中心的神盾xposed框架只适合安卓5的系统,默认的安卓7使用则会重启后卡死在99%,原因未知
3.如下安装的xposed环境




    4. 安装各种脱壳的模块,各种问题,最好用的是 反射大师
[坑2] 易开发、FDex2会hook,很容易导致APP无法再次打开,卸载重装都无效,只有在xposed中禁用这些模块,再重启虚拟机才能打开。



【脱壳】

[*]按现有的方法进行脱壳,不啰嗦了,请自行百度







【分析代码】

[*]就是常规的操作,通过关键字搜索代码,跟踪分析VIP判断函数等






[*]关键点找到了,再通过MT管理器,反汇编classes.dex进行smali代码修改,把会员判断置位yes,有效期2099年
如下是修改后的smali代码:


[*]再通过MT管理器编译classes.dex即可。
[注意点] 脱壳的classes.dex有必要用MT进行修复,否则会出现安装后打不开,logcat跟踪发现有异常提示classes权限问题等。

【其他修改】

[*]androidmainfest.xml 必须要修改

<application android:name="//这里替换成脱壳前com.wrapper.proxyapplication.WrapperProxyApplication.java 中static String className = 的赋值内容。
还有一个 <activity 中的android:name="cn.abuapp.scanking.wxapi.WXPayEntryActivity"也替换成上面的内容。

[*]xml的编译尝试了各种办法,apktool,AXMLEditor,xml2axml都不好使,修改后再编译androidmainfest.xml 打包进apk,直接解析失败,这里也是耗时最久的地方
[*]后面通过ApkToolBox 解包再打包曲线配合MT才搞定
[*]删除tencent_stub,还有lib下的libshella-等

[注意点] 上面的jar,需要安装jdk,有些需要翻墙才能下载合适版本。

【打包&签名】

[*]可以通过zip打包,改后缀apk,再签名的方法。
[*]签名可以直接使用jarsigner对apk进行签名


【安装后验证】

GRdlFyoXp 发表于 2022-2-14 00:31

感谢楼主

EPdkrKb710 发表于 2022-2-14 00:31

楼主分享不易,顶帖是必须的~

yDIld285 发表于 2022-2-14 06:56

谢谢分享

IKfTXCG95807 发表于 2022-2-14 07:30

感谢楼主

KhnfGoBV 发表于 2022-2-14 07:30

太好了,我看看,谢谢!

bTckhDOlMA 发表于 2022-2-14 08:50

感谢楼主

JeBvf102 发表于 2022-2-14 08:52

感谢楼主

iyjrcJOU089 发表于 2022-2-14 10:08

如果楼主能每天都分享一些,那就更好了

NnT74 发表于 2022-2-14 10:24

感谢楼主
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 乐加固脱壳并修改VIP与编译打包签名