- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android动态向分析工具——Andbug之基本操作
Android动态逆向分析工具——Andbug之基本操作
Andbug的基本操作1、下载andbug修改版本:git clone /anbc/AndBug.git作者原版本:git clone /swdunlop/AndBug2、对andbug的部分模块进行编译在Andbug文件夹中使用make命令进行编译3、对文件路径进行设置
在Andbug文件夹中的andbug文件中,以下修改,修改sys.path.append(“”)中的路径,比如作者将Andbug下载到了“/home/anbc/test/test/Andbug/”路径中,将sys.path.append(“/home/anbc/test/test/Andbug/lib”)[4、启动虚拟机emulator -avd Android_35、查看当前的进行信息可以看到浏览器应用的进程id是920,包名是:com.android.browser
6、启动andbug./andbug shell -p com.android.browserAndbug 有两种启动方式,一种是以进程id方式启动,一种是以包名方式启动通过进程id或者包名指定对某个apk进行调试。如图:以包名方式启动,进入andbug的shell中7、列举apk中的类信息命令:classes作用:列举出指定apk中使用的所有的Class信息,包括apk中自己实现的Class以及所调用的系统class信息另外classes命令后边可以跟Class名称的信息,通过添加名称信息,可以列举出符合条件的class的信息。如:classes app如图,列举出所有类路径中包含了app字符串的类信息8、列举指定类的方法信息命令:methods android.app.NotificationManager功能:列举出android.app.NotificationManager类中的所有方法信息其中以 android.app.NotificationManager.from(Landroid/content/Context;)Landroid/ap p/NotificationManager; 为例。
android.app.NotificationManager——为类名from——函数名Landroid/content/Context;——from函数的参数类型Landroid/app/NotificationManager;——from函数的返回值类型9、断点操作9.1 对类设置断点,所有设计该类的操作都会终止下来break java.io.File可以通过break-list命令查看断点设置情况9.2 对方法进行断点设置通过下面命令对函数进行中断 break java.io.File delete9.3 断点触发的情况设置断点后,操作apk程序,一旦程序出发了某个设置的断点,整个程序就会挂起,并显示相关信息。通过输出的信息可以知道,apk由于调用了java.io.File.exists()Z:0函数被中断下来。其他信息还包括整个调用java.io.File.exists()Z:0函数的堆栈信息。9.4 删除已设置断点
通过break-remove 536870916将之前设置的中断删除掉另外:break-remove all表示删除所有当前设置的断点。10、恢复运行命令:resume功能:触发断点整个进程暂停后,通过调用resume命令,继续运行该apk注:由于代码中bug的原因,需要连续两次调用resume命令才能恢复apk的运行如上图,执行两次resume命令后,恢复apk的运行,由于对整个java.io.File类设置了断点,应用又中断在java.io.File.init上。11、进程暂停命令命令:suspend功能:暂停当前apk进程由于还没有与该命令配合使用的命令,实际使用中没有太大作用12、帮助命令help
13、class-trace 类跟踪命令命令:class-trace java.io.File功能:对 java.io.File类的调用情况进行跟踪可以看到“thread 15 BackgroundHandler”线程,调用了“java.io.File.renameTo”,调用的参数是: -- this=Ljava/io/File; 830018592096 -- newPath=Ljava/io/File; 830016257352并且可以看到整个的堆栈调用的情况。
文档评论(0)