如小伙伴们正在学习逆向反编译APP,那可以先学习下简单修改电视APP去升级提示方法,虽然难度不是很高,但是可以用于新手学习研究或练练手还是不错的,另外软件连个加固都没有,所以难度...
本教程只适合新手学习思路,大牛们请路过...
没有加壳可直接编辑
直接搜alert就定位到弹框的地方了。啥混淆都没有,字符串也没抽掉,等于直接读源码。
public void update_show(Bundle bundle) {
if (bundle != null && bundle.containsKey("ver") && bundle.containsKey("info") && bundle.containsKey("path")) {
new AlertDialog.Builder(this).setTitle("发现新版本 " + bundle.getString("ver") + " 是否升级").setMessage(bundle.getString("info")).setPositiveButton("立刻升级", new o(this, bundle)).show();
}
}
本来试了下在smali里面把这个update_show函数直接删掉,重打包签名回去崩溃了,然后就把这if-eqz改成if-nez了,由相等跳改成了不等跳,这样条件就永远不会达成,不会new出来的AlertDialog啦。
好了到这里就是记下几个命令,其实我主要就是想把这几个命令记录下来,因为发现网上找的东西有个特点,就是老是找到错的,这几个命令记下来,就当个笔记是最重要的。
解包
$ apktool d zhibo.apk
打包
$ apktool b zhibo/
生成签名(我发现安卓9都能装v1的签名,就没去搞v2的签名)
$ keytool -genkey -alias abc.keystore -keyalg RSA -validity 20000 -keystore abc.keystore
给APK签名
$ /root/Downloads/android-studio/jre/bin/jarsigner -verbose -keystore abc.keystore -signedjar testx.apk zhibo.apk abc.keystor
原包下载可以拿去研究练手:https://pan.baidu.com/s/1qRnyUBRHq8-qo5xldkf_YQ 提取码:zkbm