zoukankan      html  css  js  c++  java
  • Android代码安全工具集

    前言

    原计划出一系列APP测试文章,从基础发,整个思路还在整理,秉着吹牛的态度,整理了一部分安卓代码安全的工具推荐给大家玩玩,提升一下逼格。

    在这之前给大家讲讲阿旺对安全测试的理解,不管别人怎么扯,一定要找到你自己的理解与划分维度,也许我的维度划分不一定适合你,阿旺我的维度划分客户利益与公司利益两个维度。

    客户利益:个人隐私、账号密码、金钱交易等体现为传输安全、存储安全

    公司利益:代码安全、客户数据、金钱交易等体现为传输安全、存储安全。

    简单说说代码安全,比如公司内部流程管理问题导致的代码安全:代码SVN备份存档、代码拷贝泄漏、误删恢复等;比如外发程序的加密封装不当导致代码安全:是否可轻易逆向工程获取源码,是否可在无源码情况下被修改植入恶意代码;比如代码规范或人员水平导致的代码安全:内存泄露,死锁,空指针,资源泄露,缓冲区溢出,SQL注入等。

    今天介绍的工具主要是针对代码安全(我归类到存储安全)的。


    一、安全工具
    01. Android lint

    静态分析工具,Android lint 工具是一个静态代码分析工具,检查您的 Android 项目源文件的潜在错误和优化改进正确性,安全性,性能,可用性,可访问性和国际化。http://tools.android.com/tips/lint

    02. infer

    静态分析工具,Facebook 开源的静态代码分析工具,用于在发布移动应用之前对代码进行分析,找出潜在的问题。https://github.com/facebook/infer

    03. APKfuscator

    DEX混淆工具,Tim Strazzere写的一个防止dex逆向的开源项目,主要是让当然几个工具崩溃,例如smali, dex2jar等。https://github.com/strazzere/APKfuscator

    04. APKProtect

    加壳工具,APKPotect通过阻止反编译软件、代码混淆加密、字符串加密、类名加密等方式使被保护过的APP难以被反编译逆向分析,从而达到保护APP不被破解的目的。

    05.Drozer

    安全评估工具,Drozer 是一款综合的安全评估和攻击的android框架,允许您通过承担应用程序的角色并与 Dalvik VM,其他应用程序的 IPC 端点和基础操作系统交互来搜索应用程序和设备中的安全漏洞。


    二、第三方加固工具
    A01. 爱加密


    A02. 阿里聚安全

    http://jaq.alibaba.com/

    A03. 360加固保

    http://jiagu.360.cn/

    A04. 腾讯云应用乐固

    https://www.qcloud.com/product/cr.html

    A05. 百度安全防护

    http://safe.baidu.com/service

    A06. 梆梆安全

    http://www.bangcle.com/

    A07. 通付盾移动安全云

    https://www.tongfudun.com/secapp.jhtml

    A08. 娜迦加固

    http://www.nagain.com

    阿旺:排名不分优劣,如须知优劣请自行分析


    三、逆向工程工具
    0x00. apktool

    apktool工具集成了aapt,smali,baksmali,AXML编码解码等工具,可以完成反编译和再编译的功能,原常用做汉化工具。

    下载地址:https://code.google.com/p/android-apktool/

    使用教程:http://findyou.cnblogs.com/p/3450721.html

    Findyou:我常用工具之一。

    0x01. dex2jar

    dex文件是Android平台上可执行文件的类型,dex2jar是将dex反编译JAR的工具,再借助JD-GUI 则可以查看JAVA源码。

    使用教程:http://findyou.cnblogs.com/p/3450692.html

    Findyou:我常用工具之一。

    0x02.  JD-GUI

    Java反编译工具。下载地址:http://jd.benow.ca/

    Findyou:我常用工具之一。

    0x03.  IDA Pro

    Android除了混淆代码,另一种防范是将重要逻辑封装到.so文件。而IDA Pro之前是PC端是一个非常流行的反汇编工具,在安卓主要静态分析so文件。

    0x04.  Enjarify

    Enjarify 是一个用 Python 写的, Google 官方开源的可以将 Dalvik 字节码转换为 Java 字节码的工具。https://github.com/google/enjarify

    0x04.  Dexdump

    Dexdump是AndroidSDK自带的一个工具,利用它可以直接对Dalvik字节码进行反编译,原理是利用线性扫描对整个dex文件进行线性反编译,也就是说,dexdump会认为每一个指令是有效的,进而依次对其反编译,如果加入一些垃圾指令,dexdump也同样会对其进行反编译从而影响到正常指令的解析。最后,dexdump会输出一些类、方法和一些类的结构等信息。

    0x05. Android逆向助手

    Android逆向助手是一功能强大的逆向辅助软件。该软件可以帮助用户来进行apk反编译打包签名dex/jar互转替换提取修复;so反编译;xml、txt加密;字符串编码等等,操作简单,只需要直接将文件拖放到源和目标文件。

    http://enjoycode.info/uploads/Androidnxzs.zip

    0x06.  Android Apk decompiler

    在线反编译APK的工具。http://www.decompileandroid.com/

    0x07.  SmaliViewer

    SV是一款免费的APK分析软件,通过查看Smali对移动应用软件代码的分析。http://blog.avlyun.com/wp-content/uploads/2014/04/SmaliViewer.zip

    0x08.  Smali & Baksmali

    Smali    https://code.google.com/p/smali/

    Baksmali

    https://code.google.com/p/smali/downloads/detail?name=baksmali


    四、Hooking工具
    01. Xposed

    Xposed 框架使您能够在运行时修改系统或应用程序方面和行为,而无需修改任何 Android应用程序包。

    Findyou:需要root,但是比较牛X的玩意。




    参考:

    [1]AndroidDevTools :  http://www.androiddevtools.cn/

    [2]baidu.com



    转载说明

    本文为原创文章,如需转载,请在开篇显著位置注明作者Findyou和出处(这最先发在我自己玩的订阅号)。

  • 相关阅读:
    Go strings.Builder
    httprouter使用pprof
    大规模分布式系统的跟踪系统
    Yearning 介绍(SQL审核平台)
    Inception介绍(MySQL自动化运维工具)
    go 学习资源和GitHub库
    go 命令
    Redash 安装部署
    systemd 编写
    查看mysql 版本
  • 原文地址:https://www.cnblogs.com/findyou/p/6414366.html
Copyright © 2011-2022 走看看