实验
以下都是网上的教程的一些教学案例的学习过程
《教我兄弟学Android逆向02 破解第一个Android程序 》
这是52pj上《教我兄弟学破解Android逆向》的例子,以下是学习过程。
原文链接:https://www.52pojie.cn/thread-654654-1-1.html
使用Android Killer 修改smali 然后重新打包签名。
方法一:修改if-eaz->if-nez
方法二:删除if-eaz
方法三:直接goto :22 跳转到成功的地方
《安卓逆向这档事》四、恭喜你获得广告&弹窗静默卡
原文链接:https://www.52pojie.cn/thread-1706691-1-1.html
教程apk从原文链接下载
启动广告
1.修改启动广告的读秒数为0
2.修改启动activity以跳过广告activity(不推荐这种方式,因为很大概率导致应用出现问题如闪退,因为原启动activity一般要预先加载一些数据,数据没有加载上后续就可能有问题)
3.最推荐以下这种方式
找到其他地方使用广告activity的地方,找到在哪跳转的。
网上找哪跳转到cond_59
可以看到switch case结构:值为2 (第三个关卡,startActivity启动广告Activity)
java代码如下:
switch (position) {
case 0:
Intent intent = new Intent();
intent.setClass(it.getContext(), ChallengeFirst.class);
it.getContext().startActivity(intent);
return;
case 1:
Intent intent2 = new Intent();
intent2.setClass(it.getContext(), ChallengeSecond.class);
it.getContext().startActivity(intent2);
return;
case 2:
Intent intent3 = new Intent(); //new一个Intent,
intent3.setClass(it.getContext(), AdActivity.class); //传入要切换的Acitivity的类名
it.getContext().startActivity(intent3); //启动对应的Activity
return;
case 3:
Intent intent4 = new Intent();
intent4.setClass(it.getContext(), ChallengeFourth.class);
it.getContext().startActivity(intent4);
return;
default:
return;
}
mt中将13行的 const-class v1, Lcom/zj/wuaipojie/ui/AdActivity;
改为 Lcom/zj/wuaipojie/ui/ChallengeThird
效果如下
弹窗广告
弹窗广告最终由show方法显示,可以通过算法助手定位到显示弹窗处 (smali #注释)
定位弹窗的代码位置:
查看日志:
一号弹窗:(二号堆栈也在同一个onCreate方法中)
mt中搜索此方法:
注释此处的show方法 一号弹窗
二号弹窗: 256行 alertDialog.setCancelable(false);//设置这个对话框不能被用户按[返回键]而取消掉
Dialog 弹框
https://www.cnblogs.com/gzdaijie/p/5222191.html
去除效果
横幅广告
使用开发助手定位横幅图片资源,
mt中xml搜索,找到对应的xml打开
方法1:修改width = “0dp” height = “0dp”
方法2:android:visibility=“gone” 添加代码将布局隐藏起来
去除效果: