也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大

少走了弯路,也就错过了风景,无论如何,感谢经历


0x01 前言

Android APP的开发除了部分功能采用C/C++编码外,其余主要都是采用Java进行编码开发功能。Java源码最终编译成smali字符码,以classes.dex保存在App的APK中

Java是一种解释性语言,功能强大,易用性强。Java的基本类库(JDK)是开源的,开源导致Java开发的应用容易被逆向破解的门槛很低。目前市面上有大量的逆向破解工具,例如:Dex2Jar、JEB、JD-GUI等等,只要懂代码编程,利用这些工具就可以破解市面上那些防御薄弱、存在大量安全漏洞的App,假设如果真被破解成功,不仅使用者的照片、身份证、手机号、联系住址、邮箱和支付密码等敏感信息会泄露,还可能感染手机的操作系统,进而导致手机被入侵篡改,乃至成为肉机

从上面所说,同学们应该可以看到Android中的反编译工作越来越容易操作,虽然加入混淆,做到native层,但是治标不治本。现在网上有很多apk加固的第三方平台,例如爱加密、梆梆安全、娜迦信息、百度应用加固等

加固技术就是对源apk进行加密,然后再套上一层壳即可,那么是不是不就无解呢? 攻防攻防,先知攻击才能更好防,防也并不是绝对无懈可击的,攻也不是绝对能突破进目标机器,都是相对的。

更多推荐

[车联网安全自学篇] Android安全之三问为什么?APP加固原理以及加固技术基础知识解惑