BubblePig 发表于 2017-12-10 16:42

恶意软件分析工具-androguard的使用

###写在前面:
#### 因为windows下的python有一点问题,所以直接去找的santoku。
####这一找就出事了,我找了一早上,本来想在早上写的,但是安装环境什么的,一直在浪费时间,网上对于这方面的资源又很少。而且安装的时候,有一个巨大的坑,就是不能用中文安装,不然会出莫名其妙的错误。之后使用英文版的直接成功。
####然后使用tool安装,然后换成中文。于是乎大功告成的时候已经到下午四点了。
####咳咳,扯远了。
####这个是santoku的界面,如果想要镜像什么的,可以留言给我。
####路过的免费评分可以评一评的哟~感谢- -。
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/88JV1K7YUFEWW9ZG0%60IJ9F6.png)
# 这里是正式开始
###由于androguard是一个个独立的.py文件,这里分开来进行展示。
        1.androapkinfo.py
        2.androaxml.py
        3.androsign.py
        4.androdd.py
        5.androidiff.py
        6.androgexf.py
        7.androrisk.py
        8.androsign.py
        9.androsim.py
        10.androxgnnk.py
        11.apkviewer.py
##1.androapkinfo.py:
####用来查看apk文件的信息,工具会输入apk文件的包、资源、权限、组件、方法等信息。使用时将信息重定向到文件后进行查看。
###(1)直接输出内容

        ./androapkinfo.py -i ./name.apk
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/JD$S%7B2ZXY$%7DU472WZ%5BJZ3YP.png)
###总结:该工具会输出非常详细的内容。
###(2)查看全部功能
        ./androapkinfo.py -h
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/N%7B%7BIZ%7BA%25~7IX%28%28GFZQ%28E2_V.png)
###(3)把结果输出到一个文件里
        ./androapkinfo.py -i ./name.apk >name.txt
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/I%5B3%7DPKFKLPTGF8%28U%5D%60%5B%607%5DG.png)
##2.androaxml.py
####用来解密APK包中的AndroidManifest.xml,也就是用来表示一些权限,还有Activity注册的xml文件。
###(1)查看所有的使用方法
        ./androaxml.py -h
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/B5HWY%5B%60F%285V%25CLEJ%5D@SJ%7BZH.png)
###(2)解密AndroidMainifest.xml
        ./androxml.py -i ./name.apk
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/I853EAJ6%25%2567%5D~2VFR@Q7I3.png)
###(3)同样的可以输出的文本文件,这里就不再做重复了,有兴趣可以自己去尝试。参考androapkinfo.py
## 3.androcsign.py
#### androcsign.py用于添加apk文件的签名信息到一个数据库文件汇总。androguard工具目录下的signatures/dbandroguard文件为手机的恶意恶意软件信息数据库。首先要编写一个sign。
        [
        {
                "SAMPLE":"apks/crackme0502.apk" SMMPLE指定需要添加信息的apk文件。
        },
        {
                "BASE":"AndroidOS" //BASE指定文件运行的系统,固定为AndroidOS
                "NAME":"DroidDream" //NAME是该签名的名字
                "SIGNATURE":[   //具体的签名规则
                        {
                                "TYPE":"METHSIM" //指定签名的类型
                                METHSIM //表示的是方法的签名,还有CLASSSIm表示为类签名;
                "CN":"Lcom/droider/crackme0502/MainActivity$SNChecker;", //CN用来指定方法所在的类。
                                "MN":"isRegistered",//指定了方法名
                                "D":"()Z" //指定了方法的签名信息。
                        }
                ],
                "BF":"0" //指定签名的检测规则,可以同时满足1条或多条。
        }
        ]
####这里有原版的sgin下载:https://pan.baidu.com/s/1hr9imRa 密码:f032
####使用指令:
        ./androcsign.py -i signatures/crackme0502.sign-o signatures/dbandroguard
## 4.androdd.py
#### androdd.py用来生成apk文件汇总每个类的方法的调用流程图。
####使用命令:
        ./androdd.py -i ./creackme0502.apk -o ./out -d -f PNG
##5.androidiff.py
###对比两个APK之间的差异。
####使用命令:
        ./androdiff.py -i ./crackme0502.apk ./abc.apk
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/%7D_9H%28D$74D%7D7L4SXA4YW5%60U.png)
####这里0,0,0,0说明是完全相同的两个APK。测试的时候使用的就是两个相同的APK,只是改了下名字。
##6.androgexf.py
###androgexf用来生成APK的GEXF格式的图形文件,可以使用Gephi查看。
####命令:
        ./androgexf.py -i ./abc.apk -o ./abc.gexf

![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/P$NLS%28IH%60%60YB6R%29L2DY6%7D%5BF.png)
####使用Gephi查看
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/B~GDI~7U%5D_F6BZ%6089PBUS2B.png)
##7.androrisk.py
###用于评估APK文件中潜在的风险。
####命令:
        ./androrisk.py -m -i ./abc.apk
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/1YURD%6020%297%287C6SODUKU@%7BP.png)
####从输出结果来看,abc中没有发现风险,只有一项REFLECTION的表示程序中有使用到JAVA反射技术。
##8.androsign.py
### 用于检测apk的信息是否存在于特定的数据库中。
####命令:
        ./androsign.py -i apks/abc.apk -b signatures/dbandroguard -c signatures/dbconfig
##9.androsim.py
###androsim用于计算两个apk文件的相似度
####命令:
        ./androsim.py -i ./abc.apk ./crackme0502.apk
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/%60%28DL8IQ_I4K_M%257V@DCRB%60E.png)
##10.androxgnnk.py
###用来生成 apk/jar/class/dex文件的控制流程及功能调用图。
####命令:
        ./androxgmml.py -i ./abc.apk -o abc.xgmml
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/XE6%60H@$%60J89CT7JWDXSWQ_S.png)
##11.apkviewer.py
###为apk文件中每一个类生成一个地理的graphml图形文件。
####命令:
        ./apkviewer.py -i ./abc.apk -o output
###以上是对androguard的一个简单的应用以及对笔记的一个整理,大牛勿笑~

longhai001 发表于 2017-12-10 17:26

感谢分享

洛璃 发表于 2017-12-10 20:18

A00 发表于 2017-12-10 21:40

点赞,非常不错

snccwt 发表于 2017-12-10 23:46

支持一个,分析的很好

BubblePig 发表于 2017-12-11 00:07

snccwt 发表于 2017-12-10 23:46
支持一个,分析的很好

谢谢支持

HMRX123 发表于 2017-12-11 12:55

66666666

doctor66 发表于 2017-12-11 13:20

学习一波

andyzheng 发表于 2017-12-11 15:36

点赞,非常不错

guer 发表于 2017-12-11 16:48

学习使用
页: [1] 2
查看完整版本: 恶意软件分析工具-androguard的使用