发表于 2016-10-11 15:09

申请ID:NASS80【申请通过】

1、申 请 I D :   NASS80
2、个人邮箱:84500316@qq.com

分享自己一个破解Android APP(apk)的登陆界面过程。这是第一次破解。目标破解的登陆。搜索引擎一搜一大把,总结起来就是把if-eqz或if-nez互换,要么注视掉,总之目的只有一个让程序的逻辑执行到正确的地方。然鹅,我这个小白实际操作起来却花费了些功夫。
第一步:反编译java -jar apktool_2.2.0.jar d crack.apk这步挺顺,直接搞到smali代码。
第二步:测试打包java -jar apktool_2.2.0.jar b crack -o test.apk因为没啥经验,总怀疑反编译后还能不能打包成apk(不知到新手是不是都这样),于是什么都不修改,直接打包。哎我去,果然报了一堆错误,此时我心是拔凉的。深呼一口气,耐心看错误。我把错误归了两类:1)public.xml 很多变量没有定义:error: Public symbol drawable/ab_arrow1 declared here is not defined.2)图片错误:ERROR: Failure processing PNG image ...W:      No marked region found along edge.W:      Found along left edge.搜索了下网络解决方法比较明确:1)那行提示错误就删掉哪里。2)重命名文件去掉数字’9’。
第三步:找到login跳转点,调试Apkkiller打开根据关键字“login”找到smali代码位置,比较顺利(感谢规范的命名)。这里我直接注释掉跳转然后打包安装apK到手机,结果报错:“异常退出”。
第四步:错误分析看来没有那么顺利,打开apkkiller日志开关找到进程id过滤日志 空指针, 我推测应该是认证过程中从服务器返回一些数据会做一些初始化,而我就这么暴力执行就报措了, 看下代码: 看到这里有个猜测就是登陆成功后会初始化一个loginAccount对象,然后被后续的activity引用,因为我没有初始化所以就异常了。想到这我就着手做两个事情:1)删除这些登陆成功的初始化代码2)找到loginAccount对里的成员init过程就初始化好于是我这么做了: 因为无法从服务器认证返回消息获取到信息,所以通过事先初始化这些数据。打包测试, 可以跳过LOGIN直接进主页面了。
第五步 总结1)找到跳板点2)反复尝试最小改动方式解决遇到的问题。

Hmily 发表于 2016-10-12 16:48

ID:NASS80
邮箱:84500316@qq.com

申请通过,欢迎光临吾爱破解论坛,期待吾爱破解有你更加精彩,ID和密码自己通过邮件密码找回功能修改,请即时登陆并修改密码!
登陆后请在一周内在此帖报道,否则将删除ID信息。

ps:文章有简单,登录后把文章整理一下发到移动安全区吧,继续努力。

NASS80 发表于 2016-10-12 17:06

mengzhenhai 发表于 2016-10-12 23:04

欢迎加入吾爱   {:301_986:}

KaQqi 发表于 2016-10-15 08:26

NASS80 发表于 2016-10-12 17:06
谢谢 Hmily,

报道刷卡


哇,安卓逆向大牛
页: [1]
查看完整版本: 申请ID:NASS80【申请通过】