精华内容
下载资源
问答
  • androguard

    2016-02-16 11:33:12
    android安全 渗透 专用于测试android apk的测试工具
  • androguard-1.9

    2018-03-22 14:37:25
    androguard-1.9andandroguard-1.9androguard-1.9androguard-1.9roguard-1.9
  • androguard的作用是解析apk的基本信息,androguard-baseinfo是手写的一个小小的py脚本解析apk的 1、安装androguard pip3 install -U androguard 会默认安装到/usr/local/bin 要求python3 2、上传androguard-...

    androguard的作用是解析apk的基本信息,androguard-baseinfo是手写的一个小小的py脚本解析apk的

    1、安装androguard

    pip3 install -U androguard
    会默认安装到/usr/local/bin

    要求python3

    2、上传androguard-baseinfo并复制到/usr/local/bin

    androguard-baseinfo文件代码如下:

    #!/usr/local/python3/bin/python3.6
    
    from androguard.core.bytecodes.apk import APK
    import sys
    
    filename = ""
    if len(sys.argv) > 1:
        filename = sys.argv[1]
    if not filename.endswith(".apk"):
        print("error: not a apk file")
        sys.exit(1)
    
    a = APK(filename)
    if a.get_package is not None:
        print("name=" +  a.get_package())
    if a.get_app_name is not None:
        print("appName=" +  a.get_app_name())
    if a.get_target_sdk_version is not None:
        print("sdkVersion=" + a.get_target_sdk_version())
    if a.get_androidversion_code is not None:
        print("versionCode=" + a.get_androidversion_code())
    if a.get_androidversion_code is not None:
        print("versionName=" + a.get_androidversion_name())
    for m in a.get_permissions():
        print("permission=" + m)
    



    3、执行授权

    chmod a+x androguard-baseinfo

     

    参考:

    安装pip

    展开全文
  • androguard安装

    千次阅读 2018-09-26 16:56:29
    很多静态代码分析工具都是使用了androguard的, 源码:https://github.com/androguard/androguard 安装:使用pip安装,而不使用源码安装,不然很多坑。 参考: sudo python3 -m pip install -U androguard 使用参考...

    很多静态代码分析工具都是使用了androguard的,
    源码:https://github.com/androguard/androguard
    安装:使用pip安装,而不使用源码安装,不然很多坑。
    参考:

    sudo python3 -m pip install -U androguard
    

    使用参考:
    https://github.com/androguard/androguard/blob/master/docs/intro/gettingstarted.rst

    展开全文
  • androguard 3.2.1源码

    2019-01-04 20:56:34
    androguard源码,建议配置anaconda 的python环境,除此以外,还需要pydot、lxml等等python依赖包
  • androguard-protobuf-nano-extractor 用于提取 protobuf 定义的 Androguard 脚本 基于 状态 暂时不完整。 不处理数组值。
  • androguard方法总结

    2021-09-24 10:39:40
    $ androguard analyze In [1]: from androguard.misc import AnalyzeAPK In [2]: a, d, dx = AnalyzeAPK("APK/app1.apk") a:表示 APK文件 对象,在其中可以找到有关 APK 的信息,例如包名、权限、AndroidManifest....

    androlyze使用方法

    androlyze 的作用是提供一个交互环境,方便分析人员静态分析 Android 应用程序。

    Get Started

    $ androguard analyze
    In [1]: from androguard.misc import AnalyzeAPK
    In [2]: a, d, dx = AnalyzeAPK("APK/app1.apk")
    

    a:表示 APK文件 对象,在其中可以找到有关 APK 的信息,例如包名、权限、AndroidManifest.xml、resources。

    AndroidManifest.xml:XML 格式的 Android 程序声明文件。其中包含 Android 系统运行程序前所必须掌握的重要信息,例如应用程序名称、图标、包名称、模块组成、授权和 SDK 最低版本等。

    d:表示 DEX文件对象,是DalvikVMFormat 对象列表。DalvikVMFormat 对应 apk 文件中的 dex 文件,从dex文件中我们可以获取类、方法和字符串。

    dex 是 Android 平台上( Dalvik 虚拟机)的可执行文件,相当于 Windows 平台中的 exe 文件,每个 Apk 安装包中都有 dex 文件,里面包含了该 app 的所有源码,通过反编译工具可以获取到相应的 java 源码。

    dx:表示 Analysis 对象,其包含链接了关于 classes.dex 信息的特殊的类,甚至可以一次处理许多 dex 文件。

    APK文件对象

    创建APK文件对象的类其实就是androguard.core.bytecodes.apk.APK。这个类用于访问APK文件中的所有元素。从类中的一些方法中也可以看出它的功能

    #全部基本信息
    show() 	# NoneType
    
    #APK权限相关信息
    get_permissions(apilevel=None)  # list
    get_requested_permissions()		# list
    get_declared_permissions()		# list
    get_certificates()				# list
    
    #安卓四大组件相关信息
    get_activities()	# list
    get_services()		# list
    get_receivers()		# list
    get_providers()		# list
    
    #名称、版本号等基本信息
    is_valid_APK()				# bool
    get_filename()				# str
    get_app_name()				# str
    get_package()				# str
    get_androidversion_code()	 # str
    
    #相关文件和签名信息
    get_signature() 						# bytes
    get_files()							   # list
    get_android_manifest_axml().get_xml()	  # bytes
    
    

    DEX文件对象

    创建该对象为listDalvikVMFormat对象列表。DalvikVMFormat类的主要功能是解析APK文件中classes.dex,并获取其相关信息。

    Analysis 对象

    创建该对象的类为androguard.core.analysis.analysis.Analysis,包含DEX文件的所有类、方法、字符串、成员变量等信息。

    #information about class
    get_classes() # list
    get_external_classes() # generator
    get_internal_classes() # generator
    get_class_analysis(class_name) # ClassAnalysis
    find_classes(name=.*, no_external=False)	# generator
    
    #information about string
    get_strings(string=.*) # list
    get_strings_analysis() # Dict[str, StringAnalysis]
    find_strings()	# generator
    
    #information about methods
    get_methods()	# generator
    get_method_by_name() # encoded method
    get_method_analysis(method) # MethodAnalysis (parameter: encoded method)
    find_methods(classname=.*, methodname=.*, descriptor=.*, accessflags=.*,
    no_external=False)	# generator
    
    #information about fields
    get_fields()	# generator
    get_field_analysis(field) # FiledAnalysis
    find_fields(classname=.*, fieldname=.*, fieldtype=.*, accessflags=.*)# generator
    
    #call graph
    get_call_graph(classname=.*, methodname=.*, descriptor=.*, accessflags=.*,
    no_isolated=False, entry_points=[]) #还未调试成功
    

    get_classes() returns a list of ClassAnalysis objects. Some of them are marked as EXTERNAL, which means that the source code of this class is not defined within the DEX files that are loaded inside the Analysis. For example, <analysis.ClassAnalysis Ljava/io/FileNotFoundException; EXTERNAL>.

    External does not automatically mean that this class/method is an Android or Java API

    ClassAnalysis

    get_methods() # generator
    get_method_analysis(method) # MethodAnalysis
    
    get_xref_from()
    get_xref_to()
    '''
    eg: get_xref_from()
    Returns a dictionary of all classes calling the current class.
    classes as keys (stored as ClassAnalysis)
    a tuple as values
    	the first item : the ref_kind (which is an Enum of type REF_TYPE), 
    	the second item : the method in which the class is called (MethodAnalysis)
    	the third item : offset in the method where the call is originating.
    '''
    
    is_android_api() # boolean
    is_external() # boolean
    

    StringAnalysis

    get_value()
    get_xref_from(withoffset=False) # list
    

    FiledAnalysis

    get_field() # actual field type
    get_xref_read(withoffset=False) # list (where the filed is read)
    get_xref_write(withoffset=False)# list (where the filed is written to)
    

    APK分析

    XREFs

    XREFs work in two directions: xref_from and xref_to. To means, that the current object is calling another object. From means, that the current object is called by another object.

    # get_xref_from():
    cls = dx.get_class_analysis('Landroidx/activity/R$attr;')
    
    print('Found class {} in Analysis'.format(cls.name))
    for caller, refs in cls.get_xref_from().items():
        print('called from {}.format(caller.name))
        for ref_kind, ref_method, ref_offset in refs:
            print('in method {} {}'.format(ref_kind, ref_method))
    
    # get_xref_to():
    cls = dx.get_class_analysis('Landroidx/activity/R$attr;')
    
    print('Found class {} in Analysis'.format(cls.name))
    for calling, refs in cls.get_xref_to().items():
        print('calling class {}'.format(calling.name)) 
        for ref_kind, ref_method, ref_offset in refs:
            print('calling method {} {}'.format(ref_kind, ref_method))
    

    for method calls

    for one class

    对象:ClassAnalysis

    for meth in dx.classes['Landroidx/activity/R$attr;'].get_methods():
        print("inside method {}".format(meth.name))
        for _, call, _ in meth.get_xref_to():
            print(" calling -> {} -- {}".format(call.class_name, call.name))
    

    for all

    for one_class in dx.find_classes():
        for meth in one_class.get_methods():
            print("inside method {}".format(meth.name))
            for _, call, _ in meth.get_xref_to():
                print(" calling -> {} -- {}".format(call.class_name, call.name))
    

    Note: External method, like the API calls, will not give any XREFs for xref_to().

    for strings

    对象:StringAnalysis

    确定该string在何处使用

    for _, meth in dx.strings['$this$trimStart'].get_xref_from():
        print("Used in: {} -- {}".format(meth.class_name, meth.name))
    

    As Strings can contain nearly anything, use find_strings( )

    • Each CLASS_ item will return a ClassAnalysis
    • Each METHOD_ item will return a MethodAnalysis
    • Each FIELD_ item will return a FieldAnalysis

    for fileds

    Fields are a little bit different and do not use xref_from and xref_to but xref_read() and xref_write()

    for field in dx.find_fields(classname='Ltests/androguard/TestActivity;', fieldname='^value$'):
        print("Field: {}".format(field.name))
        for _, meth in field.get_xref_read():
            print(" read in {} -- {}".format(meth.class_name, meth.name))
            for _, meth in field.get_xref_write():
                print(" write in {} -- {}".format(meth.class_name, meth.name))
    

    APIs

    def get_apis_calls(dx, api_file_path):
        api_calls = set()
        
    	for one_class in dx.find_classes():
        	if one_class.is_android_api() == True:
            	for meth in one_class.get_methods():
                	for _, call, _ in meth.get_xref_from():
                    	api_calls.add("{} --> {}".format(call.name, meth.name))
    
        api_calls = list(api_calls)
        api_calls.sort()
    
        with open(api_file_path + '_API_calls.txt', 'w') as f:
            for api_call in api_calls:
                f.write(api_call + '\n')
    
        return api_calls
    
    
    展开全文
  • androguard以及python库

    2014-07-04 17:03:09
    androguard以及python库 pydot chilkat magic mercury
  • androguard笔记

    2017-04-12 22:58:38
    /usr/share/androguard/androdd.py -i /media/sf_VMShared/flowdroidTestApp.apk -o outputSan -f PNG 结果:MainActivity2.androgexf.py 用于生成APK的GEXF格式的图形文件,该文件可以使用Gephi查看

    1.androdd.py
    用于生成apk文件中每个类的方法的调用流程图
    /usr/share/androguard/androdd.py -i /media/sf_VMShared/flowdroidTestApp.apk -o outputSan -f PNG
    结果:MainActivity
    1.构造函数的图
    2.

    这里写图片描述

    2.androgexf.py(仅包含所有函数节点,包括函数之间的关系)
    用于生成APK的GEXF格式的图形文件,该文件可以使用Gephi查看
    itdadao-Androguard基本使用方法
    这里写图片描述
    结果:包含sdk的gexf(很大)

    3.androxgmml.py
    用于生成apk/jar/class/dex文件的控制流程及功能调用图,输出格式为xgmml

    4.apkviewer.py
    用于为APK文件中每一个类生成一个独立的graphml图形文件

    5.androlyze.py
    提供一个交互环境,方便分析人员静态分析Android应用程序
    http://blog.csdn.net/ybdesire/article/details/52629142

    展开全文
  • androguard (Android guard) 是 Android 应用程序的逆向工程,提供恶意软件分析等等功能。androguard 主要由 Python 编写,支持:- DEX, ODEX- APK- Android's binary xml 标签:androguard
  • Android-androguard.zip

    2019-09-17 12:15:02
    Android-androguard.zip,反向工程,恶意软件和Android应用程序的Goodware分析…更多(忍者!),安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全...
  • 一、androguard 安装

    2019-12-06 15:18:46
    安装说明:确保Python版本大于3.0 以下3 种安装方式,根据情况自由选择: 1、pip $ virtualenv venv-androguard $ source venv-androguard/bin/activate $ pip install -U ...Debian自己的库中有androguard,...
  • Windows下安装Androguard

    2020-04-29 16:49:02
    下载 https://github.com/androguard/androguard这里去下载解压到你的python文件夹中 解压到python文件夹 安装 Windows下进入命令行控制台,进入上面的目录,输入python setup.py install。 ...
  • Androguard的环境搭建

    千次阅读 2017-03-29 17:51:33
    Windows下Androguard的环境搭建;Ubuntu下Androguard的环境搭建一、安装python(这里以Python 2.7.3 为例)编译前在/usr/local新建一个文件夹,作为python安装路径,以免覆盖老的
  • Androguard基本使用方法

    千次阅读 2016-06-29 21:13:37
    Androguard - 开源静态分析工具 > 安装配置 santoku系统,集成了一系列的开源安全工具,包括Androguard、Burp Suite、ApkTool等等。 也可以手动安装,参考链接:...
  • Windows下配置Androguard

    2019-02-20 12:04:09
    配置前工作 我的机子上原本已经安装了...配置Androguard 安装包下载地址: https://github.com/androguard/androguard ,下载后直接解压。 使用下述命令运行 python setup.py install 如果没有报错就说明成功。如...
  • androguard初体验

    2018-03-19 18:51:11
    Androguard主要方法 获取manifest文件:get_AndroidManifest() 判断APK是否有效:is_valid_APK() 获取APK文件名:get_filename() 获取APP名:get_app_name() 获取package名:get_package() 获取android版本名:get_...
  • 使用androguard对APK进行静态分析

    千次阅读 2020-06-18 17:20:47
    androguard使用 androguard commands: analyze Open a IPython Shell and start reverse engineering. apkid Return the packageName/versionCode/versionName per APK as... arsc Decode resources.arsc either ...
  • 使用androguard生成方法控制流图CFG 了解了 androguard 的 基本方法调用 和 XREF 之后,进一步学习其方法的控制流图 Control Flow Graph (CFG),控制流图可以通过 androguard 工具 decompile 来生成。 其语法使用...
  • Androguard交叉引用Crossreferences(XREFs) Crossreferences(XREFs)交叉引用,是由 androguard.core.analysis.analysis.Analysis 类提供的,用于处理 Classes,Methods,Fields 和 Strings 查看类和方法的具体...
  • 开源静态分析工具androguard体验(一)

    万次阅读 热门讨论 2014-03-23 22:08:56
    虽然在windows端免费版的IDA、VTS等工具都可用来静态分析,但...而在androguard却很适合进行扩展或者移植成为自己项目的某一模块,虽然早有耳闻但还一直没有体验,这顺便体验一把androguard,相关功能使用做一些记录
  • 详解Androguard静态分析APK方法

    万次阅读 2016-09-22 22:56:19
    Androguard分析APK的原理与示例。
  • 最近需要使用androguard,在网上搜索教程,清一色的基于py2.7(猜测是因为linux自带的py2.7,大佬都用linux做开发) 摸索了好久,发现py3.x的小伙伴可以通过两种方式安装: 1.下载GitHub项目,解压到python的安装目录...
  • androguard&yara

    千次阅读 2015-11-28 15:47:33
    Yara-androguard安装步骤 1.安装ubuntu 12.04 输入命令uname –r 得到内核版本号为3.13.0-32-generic 2.安装Python2.7 由于ubuntu12.04中已经有python2.7,我们直接进行安装即可,打开terminal终端 首先输入sudo apt...
  • androguard背景知识介绍 由于最近在进行安卓恶意软件检测相关知识的学习,需要将手上的apk文件进行大量的反编译。所以需要下载一款反编译安卓安装包的工具。Androguard是一款开源的Android应用程序分析工具,使用...
  • Appie使用之Androguard

    千次阅读 2016-02-16 16:25:40
    0x00 Appie ...Appie是一款优秀的Android渗透性测试工具集,功能包括:Androguard、Drozer、dex2jar、Introspy-Analyzer、Volatility Framework、Java Debugger、Androwarn、Jd-Gui、Burp Suite、Pidcat、And
  • 比如在解析应用名的时候,androguard会优先解析app_name其次是application_label,因为不同的apk默认的application_label语种可能不是你想要的,如果你想指定要中文的应用名, 只能通过appt解析后...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 895
精华内容 358
关键字:

androguard