Android动态向分析工具——Andbug之基本操作.docVIP

Android动态向分析工具——Andbug之基本操作.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android动态向分析工具——Andbug之基本操作

Android动态逆向分析工具——Andbug之基本操作 Andbug的基本操作 1、下载andbug 修改版本: git clone /anbc/AndBug.git 作者原版本: git clone /swdunlop/AndBug 2、对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_3 5、查看当前的进行信息 可以看到浏览器应用的进程id是920,包名是:com.android.browser 6、启动andbug ./andbug shell -p com.android.browser Andbug 有两种启动方式,一种是以进程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 delete 9.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)

jiuqie957379 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档