移动安全
tutucoo
这个作者很懒,什么都没留下…
展开
-
Eclipse中进行Jni编程
Eclipse Jni环境搭建1.在eclipse中选择Windows->Preferences->Android->NDK,设置NDK的位置。如果Android下没有NDK,需要下载个插件:链接:https://pan.baidu.com/s/1-YKXVUktq7hp_nDb1Q7dbQ,提取码:e4ks。android-ndk-r10d下载地址:链接:https:/...原创 2019-01-22 11:51:16 · 423 阅读 · 0 评论 -
阿里壳2016
将壳拖入AK中分析,入口点已经修改成了StubApplication调用了方法attachBaseContext这个方法比onCreate调用的更早,很多壳会在这个方法中对原始程序进行还原除此之外还加载了mobisec.so,查看lib文件夹下的so文件可以找到这个so文件用IDA打开libmobisec后找到Jni_Onload,导入jni.h中的结构体,F5后重新注释Jni_On...原创 2019-03-11 09:55:51 · 365 阅读 · 0 评论 -
Android 动态代码自修改原理
1.原理DexClassDef -> DexClassData -> DexMethod -> DexCode里面的 u2 insns 的值是用于存放程序实现代码的地方。程序执行时候会把整个 dex 文件加载到内存中,然后动态地解析执行 insns 中的内容。只要修改了里面的数据,就相当于修改了程序执行流程和方法。2. 内存中修改 insns主要步骤定位到 dex...原创 2019-11-29 11:05:14 · 661 阅读 · 0 评论 -
Android dex函数指令修改
1.原理要了解动态代码自修改原理,需要先弄懂dex文件结构,结构里面有个insns ,是用于存放程序实现代码的地方。程序执行时候会把整个 dex 文件加载到内存中,然后动态地解析执行 insns 中的内容,只要修改了里面的数据,就相当于修改了程序执行流程和方法。DEX文件可以通过以下结构找到DexCodeDexClassDef -> DexClassData -> DexMet...原创 2019-03-11 21:19:00 · 2150 阅读 · 0 评论 -
so文件混淆与修复
一、对section header进行混淆由于linker不会对section header进行加载,所以对section header进行改动,不会影响so文件正常加载到内存,因此有些程序对section header进行了混淆,导致IDA无法正常进行静态分析。混淆方法:1.将section header table中的addr、offsize等字段值清0,如果清空的是dynsym段,就...原创 2019-03-11 21:30:58 · 7146 阅读 · 2 评论 -
Xposed的基本使用方法
1.Xposed介绍和安装Xposed 是Android 系统两大 Hook 框架之一,另一个 Cydia Substrate 主要面向 native 的 hook,而 Xposed 是面向 java 层的 hook。它的使用非常的简单,首先要在手机上安装 Xposed(手机必须先 root),本实例使用的是Xposed Installer 3.1.4官方的下载地址:http://repo....原创 2019-03-11 21:37:08 · 7434 阅读 · 0 评论 -
Android Studio中进行Jni编程
1.介绍Android程序分2层,java层与native层,java层编译为dex文件,native层编译为so动态库。两者使用jni(java native interface)来进行连接。2.在Android Studio中进行Jni编程2.1 Android Studio 中Jni环境搭建Android Studio原生支持Jni编程,可以直接创建so库,不过需要修改gradle文...原创 2019-01-08 22:42:57 · 1586 阅读 · 0 评论