用到的工具:
步骤:
此时会在目录看到生成的文件夹,大体结构如下:
根据图中圈的代码标识,查看程序入口信息,权限等配置信息,此处发现入口为WelcomeActivity,为下一步提供基础
包结构,此处看到没有加壳,如果有壳,则需要脱壳:
找到刚才第二步的入口文件WelcomeActivity,进行代码分析,我们看看在这个它主要做什么
下面看一下commit方法
下面看一下callback回调中处理的加密方式
再查看一下密码和偏移量
得到以上信息之后,再配合fiddler抓包查看传输的数据,即可对传输信息进行解密查看明文操作
知道他是用手机的id进行登陆的,那我们进行破解的思路可以在获取手机的id方法着手
jadx查看方法
smali文件夹找到相应的文件,并进行修改
修改为固定返回值(某个可以已经注册上的手机id即可)
之后apktool会build工程,重新打包一个apk出来,根据工程大小,稍等几分钟,会在test文件夹的子目录dist文件夹发现打包好的apk
安卓系统一定要进行签名才能安装apk,进行上一步打包的apk的重签名操作.
可以进行登陆,并进行所有功能轰炸操作.
本次通过一个轰炸类的apk案例,逐步配合工具操作,让大家见识到某些app验证用户权限的原理.通过伪造设备id的形式进行登陆操作的绕过.虽然现在有直接的工具可以修改手机的id,没必要那么大费精力去操作,但是我希望透过这篇解剖app的文章,各位看官对授权方式会有一个新的认识,你们的收货就是我分享的动力~
命令:apktool.jar d -f (apk文件) -o (输出文件夹名称,用于保存反编译的apk的文件夹)
举例: apktool.jar d -f test.apk -o test
assets:apk开发者自己创建的资源文件,一般存放ca证书或者其他不希望放在res文件夹的资源
original:原始签名
res:默认的资源文件夹,里面有安卓界面的布局文件,图片,字体等资源
smali:app执行的dalvik程序,通俗理解就是java写的程序,要编译成smali再进行执行
AndroidManifest.xml:安卓apk的配置文件
apktool.yml:apktool的记录文件
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2018-5-4 17:11
被落魄的后生哥编辑
,原因: