Android动态逆向分析工具Andbug之大体操作.docx

上传人:b****8 文档编号:10108823 上传时间:2023-02-08 格式:DOCX 页数:17 大小:5.20MB
下载 相关 举报
Android动态逆向分析工具Andbug之大体操作.docx_第1页
第1页 / 共17页
Android动态逆向分析工具Andbug之大体操作.docx_第2页
第2页 / 共17页
Android动态逆向分析工具Andbug之大体操作.docx_第3页
第3页 / 共17页
Android动态逆向分析工具Andbug之大体操作.docx_第4页
第4页 / 共17页
Android动态逆向分析工具Andbug之大体操作.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

Android动态逆向分析工具Andbug之大体操作.docx

《Android动态逆向分析工具Andbug之大体操作.docx》由会员分享,可在线阅读,更多相关《Android动态逆向分析工具Andbug之大体操作.docx(17页珍藏版)》请在冰豆网上搜索。

Android动态逆向分析工具Andbug之大体操作.docx

Android动态逆向分析工具Andbug之大体操作

Android动态逆向分析工具——Andbug之大体操作

一、Andbug的大体操作一、下载andbug修改版本:

gitcloneanbc/作者原版本:

gitcloneswdunlop/AndBug

二、对andbug的部份模块进行编译在Andbug文件夹中利用make命令进行编译

3、对文件途径进行设置

在Andbug文件夹中的andbug文件中,以下修改,修改中的途径,比如作者将Andbug下载到了“/home/anbc/test/test/Andbug/”途径中,将[

4、启动虚拟机emulator-avdAndroid_3

五、查看当前的进行信息

能够看到阅读器应用的进程id是920,包名是:

六、启动andbug./andbugshell-pAndbug有两种启动方式,一种是以进程id方式启动,一种是以包名方式启动通过进程id或包名指定对某个apk进行调试。

如图:

以包名方式启动,进入andbug的shell中

7、列举apk中的类信息命令:

classes作用:

列举出指定apk中利用的所有的Class信息,包括apk中自己实现的Class和所挪用的系统class信息

另外classes命令后边能够跟Class名称的信息,通过添加名称信息,能够列举出符合条件的class的信息。

如:

classesapp如图,列举出所有类途径中包括了app字符串的类信息

八、列举指定类的方式信息命令:

methods功能:

列举出类中的所有方式信息

其中以p/NotificationManager;为例。

——为类名from——函数名Landroid/content/Context;——from函数的参数类型Landroid/app/NotificationManager;——from函数的返回值类型九、断点操作对类设置断点,所有设计该类的操作都会终止下来break

能够通过break-list命令查看断点设置情形

对方式进行断点设置通过下面命令对函数进行中断>>breakdelete

断点触发的情形设置断点后,操作apk程序,一旦程序动身了某个设置的断点,整个程序就会挂起,并显示相关信息。

通过输出的信息能够明白,apk由于挪用了函数被中断下来。

其他信息还包括整个挪用函数的堆栈信息。

删除已设置断点

通过break-remove6将之前设置的中断删除掉

另外:

break-removeall表示删除所有当前设置的断点。

10、恢复运行命令:

resume功能:

触发断点整个进程暂停后,通过挪用resume命令,继续运行该apk注:

由于代码中bug的缘故,需要持续两次挪用resume命令才能恢复apk的运行

如上图,执行两次resume命令后,恢复apk的运行,由于对整个类设置了断点,应用又中断在上。

1一、进程暂停命令命令:

suspend功能:

暂停当前apk进程

由于尚未与该命令配合利用的命令,实际利用中没有太大作用1二、帮忙命令help

13、class-trace类跟踪命令命令:

class-trace功能:

对类的挪用情形进行跟踪能够看到“thread<15>BackgroundHandler”线程,挪用了“,挪用的参数是:

--this=Ljava/io/File;<2096>--newPath=Ljava/io/File;<7352>而且能够看到整个的堆栈挪用的情形。

取消跟踪也能够利用break-remove命令实现。

14、method-trace方式跟踪命令命令:

method-tracerenameTo功能:

对renameTo函数进行跟踪,跟踪与直接设置断点的不同是,利用跟踪不中断目标进程的执行,只对相应函数的挪用信息进行输出。

获取函数挪用的跟踪信息

1五、列举当前线程信息命令:

threads

1六、对线程进行跟踪

命令:

thread-trace将main线程设置为跟踪县城,所有main县城相关的挪用都会被跟踪下来,如下图:

会列出函数挪用的情形,参数,和堆栈情形。

17、显示指定类中的静态变量的信息命令:

statics

1八、查看对象信息通过class-trace命令能够跟踪到目标函数中对象的Id信息,

通过对象的Id利用inspect命令,能够查处该队形的详细信息。

由于在break命令设置断点后,触发断点时反馈的信息,没有包括ObjectId的信息,致使inspect命令用起来不是很方便。

1九、源码关联命令命令:

source与源代码关联起来,能够是smali代码。

命令:

dump展现指定方式的代码。

20、Web输出命令命令:

navi注:

为了支持navi命令,需要安**ottle库。

需要bottle库。

应该是一个web展现的页面需要安**ottle库,来实现。

2一、退出命令命令:

exit

Android动态逆向分析工具

(二)——Andbug扩展功能

标题:

【原创】Android动态逆向分析工具

(二)——Andbug扩展功能作者:

anbc时间:

2021-01-05,10:

40:

29链接:

  本文所述功能是在andbug原有功能的基础上实现的信息的功能,包括对apk运行时行为监控功能的实现,和获取apk更详细信息的功能的实现。

  Andbug作为一个用于动态逆向分析apk的工具来讲目前只实现了相对简单的功能,还不能算是一个完整功能的调试器。

好在原作者将工具的所有代码都开源了,咱们能够依照自己的实际需求增加信息功能,本文作者要紧增加了对apk运行时的行为进行动态监控的功能,详细信息位于:

anbc/AndBug/。

还有很多功能需要咱们进一步实现,本文后脸部份也会列出一些,文本作者以为需要增加的功能点。

  一、扩展功能实现一、davlik虚拟的对java的支持情形

具体含义请查阅相关资料二、类的详情命令:

class-detail功能:

展现出指定类的成员方式、成员变量和静态变量的信息

3、方式的详细内容命令:

method-detailmkdir

4、对apk的运行进行监控执行监控命令命令:

./andbugmonitor-p功能:

对阅读器的运行情形进行监控

、监控点在文件中配置

、监控到的日记信息

、可视化处置后的监控数据

需要进一步完善的功能一、断点设置功能  目前的断点设置功能,仅支持类和方式上设置断点,在代码的其他未知还不支持设置断点。

要想实现一个完整的逆向调试器,需要实现更丰硕的断点功能。

二、单步伐试功能  目前调试器还不支持单步伐试功能,只能在具体函数挪用途设置断点对该处程序的运行情形进行查询,需要进一步增加单步伐试功能,包括  调试时与代码的关联处置  目前尽管后关联源码的的功能,可是很不完善。

关联是需要进一步别离支持汇编代码和java代码不同源码形式的关联,而且将源码显示和断点设置,单步伐试等功能联动起来,才是一个完整的逆向调试功能。

4、对运行中的apk应用的行为进行动态监控  这部份作者已经增加了一部份功能,可是还很不完善,很多功能需要细化。

欢迎大伙儿一路交流。

五、其他功能的丰硕  目前就想到了这些待实现的功能,能够丰硕的功能还有很多。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1