实例介绍
【实例简介】andriod逆向开发软件
【实例截图】

Android逆向之Android逆向工具介绍
Android逆向之Android逆向工具介绍
-
Android逆向第一天介绍
-
Android APK文件结构 问题:Android APK的入口函数是什么? Android 系统历史
-
SDK工具adb,monitor adb的使用 adb命令 monitor操作
-
Android逆向工具 ①命令行工具 1.AndroidManifest.xml清单文件解密工具 2.Dex文件反汇编、汇编工具 3.apk签名工具 4.apk反编译工具apktool 5.Dex2jar工具(转换文件格式) 6.Java反编译工具(将java文件反编译为源码) ②可视化工具 1.AndroidKiller工具(集成了反编译、回编译、安装apk、查看源码) 2.JEB反编译工具 3.JadxGUI 4.GDA 反编译工具
-
Android逆向分析方法
-
字符串分析法实例破解一个apk的流程 破解步骤 使用AndroidKiller用字符串分析法
-
Smali代码HelloWorld
-
日志过滤法实例 使用Monitor过滤日志 使用AndroidKiller过滤日志
-
配置环境问题 Android逆向之Android逆向工具介绍 夜神模拟器adb连接
0.Android逆向第一天介绍
-
Android APK文件结构
-
SDK工具adb,monitor
-
逆向工具介绍
-
Android逆向分析方法
-
字符串分析法实例破解一个apk的流程
-
日志过滤分析法
-
配置环境问题
1.Android APK文件结构
android studio生成的apk在以下目录
基本的APK是一个压缩包,压缩包中有
METAINF目录 签名信息,包括公司信息、文件的HASH值 Res目录 资源信息,包括图片、xml(布局文件、字符串、风格样式等)
AndroidMainfest.xml 清单文件,包括APK包名、四大组件的一些申明定义、权限、程 序的入口
Classes.dex 可执行文件,包括java的类信息、方法信息、字段信息、虚拟机指令。 dex文件的生成流程是从java源码>class文件>dex文件
Resources.arsc 资源序号文件,包括资源里的所有ID、名称。资源ID对应文件是
R.class
android studo 3.2,所在的目录
Lib目录 动态库,扩展名是.so ,包括C 代码,有各种平台,比如x86,arm
Assets目录 自定义资源,比如.txt,mp4,等等
问题:Android APK的入口函数是什么?
自己定义的MainActivity中onCreate 清单文件中application节点可以添加android:name属性,指定继承自application的 类,用于初始化整个app的全局信息。继承自application的类有两个重写函数会执行, 是程序最早执行的函数。 ① attachBaseContext ② onCreate
所以一个app最早执行的函数是 application的类中的attachBaseContext函数
一般apk加固之后,都会自定义application类,并重写其中的attachBaseContext函数 或onCreate函数,并且声明为native类型的函数。 app运行的流程
Android 系统历史
分为三个阶段
① android2.3~4.0 卡顿
② android4.1~4.4 成长,飞跃 android虚拟机dalvik>art
③ android5.0~现在 整体不错
逆向分析的环境
系统:android 4.4 (同时有dalvik和art) 手机: google nexus 5(二手 200左右)
2.SDK工具adb,monitor
adb的使用
需要在SDK文件中找到adb,
方法一:设置目录到path环境变量中 F:\Android\Sdk\platform-tools
方法二:
1.新建一个环境变量,变量名:ANDROID_HOME,变量值:以你安装目录为准(我的为F:\Android\Sdk),确认里面有tools和add-ons等多个文件夹,点击确认。
2.修改PATH环境变量:后面新增;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\build-tools\29.0.2(注意最前面的分号,分割)
然后cmd输入adb测试。不需要重启。能找到就是成功了。
adb命令
① 列举设备 adb devices
② 将apk上传到设备、下载文件到PC
adb push
adb pull
③ 安装apk adb install r apk文件名 (可以覆盖安装) ④ 启动apk adb shell am start n <包名/activity名称>
以调试方式启动apk adb shell am start D n <包名/activity名称> (以调试方式启动)
⑤ shell命令
使用 adb shell 进入 安卓命令行,可以在命令行使用Linux命令
ls,cd,su,ps,ps | grep com,kill,chmod
monitor操作
① 概况
androidstudio中打开
文件目录中打开
主要窗口
② 设备列表
③ 文件夹操作
④ 日志
过滤日志
3.Android逆向工具
①命令行工具
1.AndroidManifest.xml清单文件解密工具
AXMLPrinter2.jar java jar AXMLPrinter2.jar <清单文件> java jar AXMLPrinter2.jar AndroidManifest.xml > out.xml APK15PBParser.jar(集成了AXMLPrinter2.jar,apktool.jar中xml解析部分代码) java jar APK15PBParser.jar java jar APK15PBParser.jar HelloWorld1.apk
2.Dex文件反汇编、汇编工具
Dex文件是android java代码编译生成的二进制文件,包含了虚拟机指令(dalvik虚拟机)
Baksmali.jar(反汇编工具,将虚拟机指令反汇编成smali代码) java jar baksmali.jar o <输出目录> java jar baksmali.jar classes.dex o out_dir 反汇编生成的目录中,包括所有dex文件中的类代码,每一个类就是一个smali文 件。 Java中有三种类,外部类、内部类、匿名类 外部类:MainActivity.java > MainActivity.smali 内部类:MainActivity类中MyOnClickListener类 MainActivity匿名内部类:类中对象1.smali smali.jar(汇编工具,将smali代码汇编生成dex文件) java jar smali.jar <目录> o 文件名 java jar smali.jar out_dir o out.dex 修改smali代码,#号是注释代码 // # ifeqz v2, :cond_24
3.apk签名工具
签名工具,使用android系统源码编译时用到的一个工具 java jar signapk.jar testkey.x509.pem testkey.pk8 update.apk update_signed.apk
4.apk反编译工具apktool
反编译apk
java jar apktool.jar d java jar apktool.jar d HelloWorld.apk ①将清单文件以及其他xml文件解密 ②将资源序号文件(resources.arsc)与资源名称做了一个对应关系表 生成在了/res/values/public.xml ③将dex文件反编译成了smali代码 回编译 apk目录 java jar apktool.jar b <反编译的apk文件目录> java jar apktool.jar b HelloWorld 生成的APK在 <反编译的apk文件目录>/dist目录中
5.Dex2jar工具(转换文件格式)
dex2jar>d2jdex2jar.bat dex2jar>d2jdex2jar.bat classes.dex dex2jar classes.dex > .\classesdex2jar.jar
6.Java反编译工具(将java文件反编译为源码)
②可视化工具
1.AndroidKiller工具(集成了反编译、回编译、安装apk、查看源码)
第一次打开的时候需要配置一下jdk的路径
AndroidKiller中集成了好几个工具:
apktool, dex2jar工具集,adb,jdgui
apktool 所在目录:AndroidKiller_v1.3.1\bin\apktool\apktool
在Androidkiller中设置新的apktool
adb工具 常用命令 打开shell:adb shell , adb s 设备名称 shell 安装apk: adb install 1.apk , adb install r 1.apk 列举设备: adb devices
dex2jar工具集
将dex文件转成jar文件,方便jdgui反编译
jdgui工具 可以查看smali代码对应的java源码
此外还有一些好工具的辅助工具
编码转换
2.JEB反编译工具
3.JadxGUI
4.GDA 反编译工具
【核心代码】
.├── java-andriod逆向开发软件.7z
└── 逆向工具
├── IDAPro.rar
├── apktool_2.5.0.jar
├── baksmali-2.5.2.jar
├── de.robv.android.xposed.installer_v33_36570c.apk
├── dex2jar-2.0.zip
├── jadx-gui-1.2.0-no-jre-win.exe
├── jd-gui-windows-1.6.6.zip
├── jeb-pro-3.19.1.202005071620_pwd_ilbtcdnwiuypbzeo_sn_#61641164873316763_.zip
├── jeb下载.txt
└── smali-2.5.2.jar
1 directory, 11 files
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论