搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 风云处 > 善其事利其器:android逆向工具介绍

善其事利其器:android逆向工具介绍

风云处 2017-10-11

善其事利其器:android逆向工具介绍


android的开发环境一般是Eclipse或者android studio,和windows应用程序的开发有所区别。android系统下的逆向分析也有不同的特点,需要不同的工具软件来辅助,下面依次介绍。


android 系统APP的逆向分析分为java层和native层这两层,两层有不同的特点和难度。


第一层是java层,分析比较简单,可以利用JEB直接将dex字节码反编译为可读性极强的java代码。当然,JEB和下文的APKIDE都需要JDK的支撑,需要安装对应版本的java开发环境。


也可以利用APKIDE(APK改之理)将APP解包,反编译为smali代码,修改smali代码后再用APKIDE打包为APP,实现二次开发。修改smali代码时,可以对照JEB反编译的java代码进行。一般,如果不涉及到Native代码,用APKIDE和JEB即可完成逆向目标。

善其事利其器:android逆向工具介绍


DDMS (Dalvik Debug Monitor Service)是 Android 开发环境中的Dalvik虚拟机调试监控服务,它为我们提供的Logcat可以接收java层和native层的格式输出,类似C语言中的printf,是逆向调试的一大助手。

善其事利其器:android逆向工具介绍


若需要调试,那么Android SDK自带的模拟器Emulator就派上用场了,特别是在没有实体机的情况下,该模拟器能很好的代替android实体机来作为APP运行的载体。当然,由于模拟器效率不高,运行速度慢,如果有闲置的实体机还是建议直接使用实体机调试。

善其事利其器:android逆向工具介绍


ADB(Android Debug Bridge)是android SDK自带的一个工具,主要作用是在开发电脑和手机之间建立一个桥梁,上文的DDMS和下文的IDA调试都需要用到它。

善其事利其器:android逆向工具介绍


IDA不仅是一个反汇编,也是一个很不错的调试器,特别是对于android调试来说,IDA非常实用,下面具体介绍其用法。

善其事利其器:android逆向工具介绍


下面通过一个示例介绍android逆向工具的使用。


JEB载入待分析的APP文件,虽然有字符串加密,也有混淆,但我们很清楚的看到图中的check是关键函数。

善其事利其器:android逆向工具介绍


来到check函数的定义处,从native关键字可以知道该函数是从so库中调用的native函数。

善其事利其器:android逆向工具介绍


再看APKIDE的解包结果,可以看到该APK只调用了一个so库,即图中librf-chen.so,接下来分析该so库文件。

善其事利其器:android逆向工具介绍

IDA载入该so库文件,来到函数check处。

善其事利其器:android逆向工具介绍


接着将IDA目录下dbgsrv子目录中的android_server文件,通过“adb push android_server /data/tmp/sv68”命令导入待调试手机中,并重命名为sv68。

善其事利其器:android逆向工具介绍


在cmd窗口中依次执行如下命令,使android_server运行。

善其事利其器:android逆向工具介绍


另开一个窗口,输入如下命令实现端口转发。

善其事利其器:android逆向工具介绍


另外打开一个IDA,按如下菜单选择。

善其事利其器:android逆向工具介绍


在弹出的对话框中按如下内容填入。

善其事利其器:android逆向工具介绍


选择待调试的程序,载入IDA调试,按如下菜单选择。

善其事利其器:android逆向工具介绍


找到librf-chen.so的代码段,双击进入代码段的段首。



本文就到这里,主要讲了几个android逆向工具的使用。


更多精彩内容

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《善其事利其器:android逆向工具介绍》的版权归原作者「风云处」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注风云处微信公众号

风云处微信公众号:fyc1687

风云处

手机扫描上方二维码即可关注风云处微信公众号

风云处最新文章

精品公众号随机推荐