移动安全 - APK反编译检查

这段时间在看安卓方面的东西,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反编译的情况:

 

 

本文仅用于技术学习和交流,严禁用于非法用途,否则产生的一切后果自行承担。

如需转载,请注明出处,这是对他人劳动成果的尊重。

 

posted @ 2021-04-02 16:37  Sally_Zhang  阅读(58)  评论(0编辑  收藏  举报