这段时间在看安卓方面的东西,hmmm....安卓手机。。倒是一直在用,华为铁粉,从诺基亚之后就一直是华为了,顺便吐槽下P30的相机,说好的莱卡相机呢。。。难道是我不会用。。。>_<
反正除了会用安卓手机,安卓其他方面的东西一窍不通,嗯,就这样开始学安卓安全测试,真正的从零开始。。。
目前看了两本书
1.《Android安全攻防实战》 [(南非)keith makan, 崔孝晨;武晓音(译)]。认真看了前5章,瞄了几眼后几章。。然鹅还是啥都不会。。无法下手。。
2.《第一行代码》[郭霖,第2版,中国工信出版社]。为啥要看这本呢?因为看第一本的时候,举步维艰,连最基本的四大组件都不晓得,于是找了这本来看,跟着书里的例子搭好了开发环境,自己跟着写,目前看到第二章(讲到activity了)
今天大大又给了份App安全检测的资料,类似操作手册,决定先用这个手册结合前面两本书一步步开始练起来~ 第一步是反编译。
自己写了个helloworld级别的app(就是第2本书里的例子),这是代码结构:
这是运行效果:
然后再签名打包(书里还没讲到这里,直接百度):
尝试安装到模拟器,安装成功,看上去应该是个正常可使用的APP了。。。
反编译实验
1.修改apk后缀为zip,解压,找到dex文件,放到dex2jar的文件夹下面
2.用dex2jar得到classes-dex2jar.jar
3. 用jd-gui打开jar文件,看到了反编译的代码>_<:
和源码做个对比,好吧,还原度90%~
防御
反编译的防御方法,我目前知道的就是加壳。下面是一个加了壳的apk反编译的情况:
本文仅用于技术学习和交流,严禁用于非法用途,否则产生的一切后果自行承担。
如需转载,请注明出处,这是对他人劳动成果的尊重。