一、前言最近在弄脱壳的时候发现有些加固平台的加固方式是修改了dex文件结构,然后在加载dex到内存的时候,在进行dex格式修复,从而达到了apk保护的效果,那么在dex加载到内存的时候,如何进行dex格式的修复呢?其实原理就是基于运行时修改内存中的Dalvik数据,本文就来用一个简单的例子来介绍一下如何在内存中去修改Dalvik指令代码来改变代码本生的运行逻辑。在讲解本文之前,一定要先看这篇文章:...
分类:
移动开发 时间:
2016-07-02 14:33:56
阅读次数:
345
一、apktool工具主要用来反编译看APP源码的,操作如下:反编译:apktooldxxx.apk编译:apktoolbxxx目录tmp.apk最后经过签名工具对tmp.apk签名即可二、jd-gui.exe工具是用来查看jar包源码的,所以还需要把app里的dex,再将dex转成jar包,操作如下:1、将xxx.apk的后缀改成rar,..
分类:
其他好文 时间:
2016-06-30 23:36:55
阅读次数:
167
注:以下4篇博文中,部分图片引用自DexHunter作者zyqqyz在slide.pptx中的图片,版本归原作者所有; 0x01 背景介绍 安卓 APP 的保护一般分为下列几个方面: JAVA/C代码混淆 dex文件加壳 .so文件加壳 反动态调试技术 其中混淆和加壳是为了防止对应用的静态分析;代码 ...
分类:
移动开发 时间:
2016-06-27 19:56:22
阅读次数:
482
0x03 DexHunter代码分析 DexHunter 实现中,只需要修改一处文件:dalvik\vm\native\dalvik_system_DexFile.cpp 下面是BeyondCompare比对: 首先看一下DexHunter的设计原理: APP 启动时,通过freature stri ...
分类:
移动开发 时间:
2016-06-27 19:53:46
阅读次数:
240
最近在看dex文件格式,看的是飞虫大大的android软件安全与逆向分析一书,写的条理很清晰。相对于elf文件来说,dex文件格式简单了很多,但是提到某个字段,仍然难以想象其所处位置。所以一直想用思维导图把dex文件格式画下来。因近来事务较多,未来得及画,偶然在某qq群见到此图,兴奋之至,特与大家分 ...
分类:
其他好文 时间:
2016-06-24 10:45:14
阅读次数:
268
android打包过程,下面这张图取自Android开发权威指南,非常清晰。
整个过程使用的工具有
名称 功能介绍 在操作系统中的路径
aapt Android资源打包工具 ${ANDROID_SDK_HOME}/platform-tools/appt
aidl Android接口描述语言转化为.java文件的工具 ${ANDROID_SDK_HOME}/platform-tools/aidl
javac Java Compiler ${JDK_HOME}/javac或/usr/bin/javac
dex...
分类:
移动开发 时间:
2016-06-21 07:18:43
阅读次数:
727
使用 baksmali.jar 进行解包 命令 java -jar baksmail.jar -o classout/ classes.dex 用 smali.jar 打包 ...
分类:
其他好文 时间:
2016-06-20 18:35:22
阅读次数:
212
1.在工作区的.gitignore文件中配置如下: # Built application files*.apk*.ap_ # Files for the Dalvik VM*.dex # Java class files*.class # Generated filesbin/gen/ # Gra ...
分类:
其他好文 时间:
2016-06-15 22:06:18
阅读次数:
192