安卓逆向入门

【安卓逆向入门】古人学问无遗力,少壮工夫老始成。这篇文章主要讲述安卓逆向入门相关的知识,希望能为你提供帮助。
文章来源i春秋 这段时间大师傅安排了安卓逆向练习。首先 0 基础没有代码开始学起也是可以的,不用太过于执着于”我没有代码功底就学不会”,我可以很明确的说,我也没有多少代码功底,都是偶尔被大师傅逼着看。但是简单的也就仅仅能看懂,写出来又是另一个问题了。有时候我们学习很多东西需要的代码知识不多,记住一些主要函数,语句就好了,不懂就有道翻译(很多也就是英语,我英语也不行,也不用想着不懂英语就不能编程什么的。)或百度,用到的时候对着那几个主要的函数,语句你还能不懂? 00X1:    
安卓逆向基础工具有: 1.androidKiller (需安装JDK) 2.ApkIDE (需安装JDK) 3.ApkToolkit,APK上上签   安卓模拟器推荐: 1.夜神模拟器 2.海马模拟器 这些我们用的工具仅仅是AndroidKiller,模拟器可以随意夜神模拟器特性就是不卡,方便但是很多不兼容;海马模拟器,性能稳定但易卡;这里我们选用夜神模拟器。   常用基础的smali语句函数有:   Const 赋值 return-void返回空 Goto 跳转 Cond 分支 判断语句:   if-eq 等于 if-ne 不等于 if-lt 小于 f-ge 大于等于 if-gt 大于 if-le 小于等于 if-eqz 等于 if-nez 不等于 if-ltz 小于 if-gez 大于等于 if-gtz 大于 关键词:   Success成功 Fail 失败 详细可以参考:Smali基本语法 - lee0oo0  00x2: 首先想破解一款小游戏需要最先知道它是否加密加壳,因为 0 基础开始,加密加壳就先不管;然而去打开这款游戏查看是否有充值功能,以及整个流程。分析这款小游戏对于你来说能破解的几率有多大,如果大那么你是否有这么多的时间去调试测试更改破解,值不值得去破解,再综合你本身的能力去考虑这件事;如果不行那就先保留下来,再找另一个小游戏去破解。 这里演示的小游戏是“经典玛丽”,用AndroidKiller查看有没有加壳,我以在i春秋提供过很多破解工具https://bbs.ichunqiu.com/thread-23270-1-1.html 

安卓逆向入门

文章图片
没有加壳那么先打开这款apk看看
安卓逆向入门

文章图片
首先出来的是一个广告,这里得知是移动应用的,也就是可能存在收费接口也可能是移动的收费接口。 进入游戏我们可以看到这款游戏是存在充值的
安卓逆向入门

文章图片
点击“超值装备礼包”查看
安卓逆向入门

文章图片
点击“立即购买”
安卓逆向入门

文章图片
这里可以很明确的看到是中国移动的收费接口。 这里最简单的最基础的就是搜索关键词,关键词在哪?点击购买再退出的时候就有 比如:
安卓逆向入门

文章图片
“充值失败”这就是关键词,我们可以尝试性的去用AndroidKiller搜索。
安卓逆向入门

文章图片
“充值失败”需要转为Unicode编码进行搜索 并且跟进这个位置。 一般我们直接看smali代码很蛋疼所以可以转为java查看
安卓逆向入门

文章图片
安卓逆向入门

文章图片
这样我们就可以很直观的看到这代码是说什么的 前面也提到了 Success是成功 Fail 是失败,那么这里我们直接把Fail 改成Success试试。 更改需要保存再点击编译
安卓逆向入门

文章图片
原来安装在模拟器上的原版“经典玛丽”需要卸载掉 才能安装修改后的“经典玛丽”,因为签名不同。 修改过后的“经典玛丽”在购买再退出就什么提示也没但是也没有购买成功,其实我们改的只是一个分支 $后面有数字的smali文件 其实是分支,那么我们改的时候可能少改了。 那么我们可以报着有杀错没发过的心理去修改 直接把全部的“onFail”替换为“onSuccess”
安卓逆向入门

文章图片
因为签名都一样所以这里就不用再去卸载了,直接安装就好。
安卓逆向入门

文章图片
好了,这就修改成功了。那么你觉得出现了“充值失败”不太美观,这里大家可以自行修改,相信大家也懂怎么修改吧? 好了,那么说到不美观,一打开的时候出现了两个移动广告图片试试也得去掉? 这里介绍的方法简单粗暴,因为它是图片我们不从代码入手直接删除这两个图片就好。
安卓逆向入门

文章图片
总结: 多试多练,代码不懂就多看,英语不行也多看,没有说代码基础,英语基础一定要达到什么什么程度;不会说不会写,那么至少能模糊看懂也就够了。 

    推荐阅读