
Android逆向
Android系统攻城狮
《Android系统多媒体进阶实战》一书作者
展开
-
Android odex反编译为dex
1. 准备工具:http://code.google.com/p/smali/下载 smali-1.4.2.jar baksmali-1.4.2.jar准备dex2jar工具, http://code.google.com/p/dex2jar/2. deodex 将odex文件转换为smali示例:# java -jar baksmali-1.4.2.jar -原创 2017-04-07 00:46:34 · 1974 阅读 · 0 评论 -
Android安全防护之旅---Android应用"反调试"操作的几种方案解析
一、前言在之前介绍了很多破解相关的文章,在这个过程中我们难免会遇到一些反调试策略,当时只是简单的介绍了如何去解决反调试,其实在去年我已经介绍了一篇关于Android中的安全逆向防护之战的文章:Android安全逆向防护解析;那么这篇文章就来详细总结一下,现阶段比较流行的几种反调试解决方案。二、反调试策略方案第一种:先占坑,自己附加代码非常简单,在so中加转载 2017-04-12 10:06:46 · 1006 阅读 · 0 评论 -
java修改.class重新打包jar
1.然后解压这个jar包,得到一堆class文件,这时候就找到你需要的那个class文件;如:test.class2. 使用jd-gui工具查看test.class文件,可以看到test.java源码,然后复制出来粘贴到一个test.java文件中,然后就可以修改了2. javac编译test.java,得到test.class# java test.java3.生成的jar# jar ...原创 2018-06-26 12:46:37 · 2028 阅读 · 0 评论 -
Mac otool替代readelf命令
# otool -h//用法Usage: /Library/Developer/CommandLineTools/usr/bin/otool [-arch arch_type] [-fahlLDtdorSTMRIHGvVcXmqQjCP] [-mcpu=arg] [--version] <object file> ... -f print the fat headers -a...原创 2019-04-12 22:59:25 · 2041 阅读 · 0 评论 -
Mac下ndk交叉编译arm平台程序
1.下载ndk2.使用ndk交叉编译exp.c<1>.编写:MakefileNDK_ROOT=/Users/xxx/Documents/Android_SDK/android-ndk-r12bTOOLCHAINS_ROOT=$(NDK_ROOT)/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64TOO...原创 2019-05-01 21:17:03 · 1173 阅读 · 0 评论 -
Mac下adb连接夜神等模拟器
下载1.adb连接单个模拟器夜神模拟器,x86架构# adb connect 127.0.0.1:62001网易MUMU模拟器# adb connect 127.0.0.1:7555逍遥安卓模拟器# adb connect 127.0.0.1:21503天天模拟器# adb connect 127.0.0.1:6555海马玩模拟器 # adb connect 12...原创 2019-05-01 13:30:29 · 5770 阅读 · 0 评论 -
夜神安卓模拟器安装xposed框架
如果安装不上,就是因为不适配的问题我也是找了好久1.将下面适配版本xposed模块安装器apk拖入安卓模拟器进行安装(我用的是4.42的版本)2.----->点击安装/更新 ----->给与root权限 ----->重启模拟器即可安装成功Xposed夜神适配版链接汇总(更新20180904):4.42安卓...转载 2019-05-01 14:28:21 · 15989 阅读 · 0 评论 -
Baksmali用法
下载baksmali1.将classes.dex反编译成.smali# java -jar baksmali-2.2.7.jar -o test baksmali-2.2.7.jar classes.dex报错:Exception in thread "main" com.beust.jcommander.MissingCommandException: Expected a com...原创 2019-05-21 13:56:10 · 2033 阅读 · 0 评论 -
apktool d test.apk报错:Unsupported major.minor version 52.0
1.下载最新的apktool.jar和apktool脚本下载地址:https://ibotpeaches.github.io/Apktool# sudo cp apktool.jar /usr/local/bin# sudo cp apktool /usr/local/bin2.报错:brut/apktool/Main : Unsupported major.minor versio...原创 2019-07-10 11:50:11 · 1487 阅读 · 0 评论 -
Mac使用010editor
1.下载010editor2.激活010editor#rm ~/.config/SweetScape/010Editor.ini3.安装elf、dex、exe、Machos格式解析模版插件<1>.首先打开编译生成的可执行文件或者so文件<2>.下载elf插件--->Templates --->View Installed Templat...原创 2019-09-21 15:35:15 · 1787 阅读 · 0 评论 -
Mac安装apktool/dex2jar/jd-gui逆向工具
1、下载地址 Apktool:http://ibotpeaches.github.io/Apktool/install/ dex2jar: https://github.com/pxb1988/dex2jar JD-GUI: http://jd.benow.ca/2、说明 apktool:反编译工具,将apk反编译为smali反汇编语言 dex2jar:...原创 2017-03-10 13:12:16 · 1125 阅读 · 0 评论 -
Ubuntu下反编译apk源码查看
1.下载dex2jar和jd-gui工具 下载dex2jar与jd-gui工具2.解压dex2jar和jd-gui工具 # ./dex2jar.sh ~/xxx.apk //会反编译出classes_dex2jar.jar包注意:或者把dex2jar-2.0目录添加到系统路径中 # sudo cp -rf dex2jar-2.0/ /usr/local/bin# ...原创 2016-12-08 11:13:14 · 1299 阅读 · 0 评论 -
Android逆向基础笔记—初识逆向
(本笔记来源于吾爱以及吾爱坛友,加上本人自己的整理)一.初识 APK、Dalvik字节码以及Smali1. apk是什么?apk实质上是一个zip压缩包,将apk后缀修改为zip,解压之后可以看到其内部结构:2. apk 的组成assets: 资源目录1assets 和 res 都是资源目录但有所区别:res 目录下的资源文件转载 2017-01-20 16:25:54 · 751 阅读 · 0 评论 -
Android逆向基础笔记—Android中的常用ARM汇编指令
一 ARM寄存器1.通用寄存器1).未分组寄存器:R0~R72).分组寄存器:R8~812R13:SP,常用作堆栈指针,始终指向堆栈的顶部,当一个数据(32位)推入堆栈时,SP(R13的值减4)向下浮动指向下一个地址,即新的栈顶,当数据从堆栈中弹出时,SP(R13的值加4)向上浮动指向新的栈顶。R14:连接寄存器(LR),当执行BL子程序调用指令时,R14中得转载 2017-01-20 16:26:41 · 1005 阅读 · 0 评论 -
Android逆向基础笔记—Dalvik字节码小记_const/4 v2, 0x1
这几天认真研读了一下dalvik字节码,因为这个是重点,对以后的Android逆向分析很重要。我是学过汇编的,但是感觉还是不是太懂。这玩意也太乱了吧。然后我有些看不懂,就百度一阵,也没有结果。就自己研究了下下,把自己不懂的地方写出来。不对的地方,大家请指出。我主要是集中在赋值哪里。我开始没弄懂,后来才明白过来。const/4 v1, 0x1 这里大家应该知道 v1=1。但是转载 2017-01-20 16:27:31 · 7194 阅读 · 0 评论 -
ubuntu安装最新版apktool(最新版)反编译工具
0、获取apktool和apktool.jar 下载最新apktool.jar 获取apktool脚本1、注意(apktool 2.0以上版本,jdk必须是1.7以上,否则报错)下载apktool脚本和apktool.jar2、把文件copy到/usr/local/bin目录#cpapktool.jar /usr/local/bin#cpapktool...原创 2016-07-13 13:50:24 · 3737 阅读 · 0 评论 -
Android安全:代码注入
一、常用的Smail注入代码 在逆向分析APK文件的时候,我们往往需要注入一些自己的代码方便调试,如增加调试Log信息等。常用的Smail注入代码如下: 1.增加调试Log信息: Log.i("test","Log Test"); 2.增加堆栈跟踪信息: new Exception("print trace onCreate").printStackTrace(); 3.增转载 2017-02-15 17:53:56 · 1030 阅读 · 0 评论 -
Android安全:So分析
一、So简介 1.Android底层是Linux,Linux本身就是使用C/C++语言,Android使用了一个Dalvik虚拟机才使得应用程序开发使用Java语言; 2.Dalvik支持JNI编程方式,第三方应用完全可以通过JNI调用自己的C/C++动态库(so文件),使用“Java+C”编程方式; 3.NDK(Native Development Kit)是“Java+C”开发的工转载 2017-02-15 17:56:08 · 859 阅读 · 0 评论 -
Mac 16进制编辑器Hex Friend
下载1.栗子把可执行程序test里的"123456"改为"555556"# ./test 555556修改成功!原创 2019-09-21 17:16:33 · 1496 阅读 · 0 评论