android动态逆向分析工具一_第1页
android动态逆向分析工具一_第2页
android动态逆向分析工具一_第3页
android动态逆向分析工具一_第4页
android动态逆向分析工具一_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、my $to = shift _;open my $fh , $file or die couldnt open $filen;my lines=;close $fh;my $outlines = join ,lines;#replace all$outlines = s/$from/$to/g; #write backopen my $out , $file or die couldnt write $file; print $out $outlines;close $out;/annkie/article/details/7790026Android

2、动态逆向分析工具(一)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

3、/Andbug/”路径中,将sys.path.append(“/home/anbc/test/test/Andbug/lib”)4、启动虚拟机emulator -avd Android_35、查看当前的进行信息可以看到浏览器应用的进程 id 是 920,包名是:com.android.browser6、启动andbug./andbug shell -p com.android.browserAndbug 有两种启动方式,一种是以进程 id 方式启动,一种是以包名方式启动通过进程 id 或者包名指定对某个 apk 进行调试。 如图:以包名方式启动,进入 andbug 的 shell 中 7、列举

4、apk 中的类信息命令:classes作用:列举出指定 apk 中使用的所有的 Class 信息,包括 apk 中自己实现的 Class 以及所调用的系统class 信息 另外 classes 命令后边可以跟 Class 名称的信息,通过添加名称信息,可以列举出符合条件的 class 的信息。如:classes app如图,列举出所有类路径中包含了 app 字符串的类信息 8、列举指定类的方法信息命令:methods android.app.NotificationManager功能:列举出 android.app.NotificationManager 类中的所有方法信息 其中以 andro

5、id.app.NotificationManager.from(Landroid/content/Context;)Landroid/app/NotificationManager; 为例。 android.app.NotificationManager为类名from 函 数 名 Landroid/content/Context; from 函数的参数类型Landroid/app/NotificationManager;from 函数的返回值类型9、断点操作9.1 对类设置断点,所有设计该类的操作都会终止下来break java.io.File可以通过 break-list 命令查看断点设置情

6、况 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、恢

7、复运行命令:resume功能:触发断点整个进程暂停后,通过调用resume 命令,继续运行该 apk注:由于代码中 bug 的原因,需要连续两次调用resume 命令才能恢复 apk 的运行 如上图,执行两次 resume 命令后,恢复 apk 的运行,由于对整个 java.io.File 类设置了断点,应用又中断在 java.io.File.上。 11、进程暂停命令命令:suspend功能:暂停当前 apk 进程由于还没有与该命令配合使用的命令,实际使用中没有太大作用12、帮助命令 help13、class-trace 类跟踪命令命令:class-trace java.io.File功能:对

8、 java.io.File 类的调用情况进行跟踪 可以看到“thread BackgroundHandler”线程,调用了“java.io.File.renameTo”,调用的参数是: - this=Ljava/io/File; - newPath=Ljava/io/File; 并且可以看到整个的堆栈调用的情况。 取消跟踪也可以使用 break-remove 命令实现。 14、method-trace 方法跟踪命令命令:method-trace java.io.File renameTo功能:对 java.io.File renameTo 函数进行跟踪,跟踪与直接设置断点的差别是,使用跟踪不中

9、断目标进程的执行,只对相应函数的调用信息进行输出。 获取函数调用的跟踪信息15、列举当前线程信息命令:threads16、对线程进行跟踪命令:thread-trace将 main 线程设置为跟踪县城,所有 main 县城相关的调用都会被跟踪下来,如图所示: 会列出函数调用的情况,参数,以及堆栈情况。17、显示指定类中的静态变量的信息命令:statics ernal.view.menu.MenuBuilder18、查看对象信息通过 class-trace 命令可以跟踪到目标函数中对象的 Id 信息, 通过对象的 Id 使用 inspect 命令,可以查处该队形的详细信息。 由于在 break 命令设置断点后,触发断点时反馈的信息,没有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论