TATAMOBILE

重学ELF文件格式

缘起

ELF文件格式的讨论已经存在非常多的文章,这里试图从另一个角度来讨论如何学习ELF文件格式。OAID SDK已经更新到1.0.30了,发现代码保护方式变化了,采用了自实现Linker方式来保护代码,libmsaoaidsec.so 就是负责释放真实的so。但本文不讨论释放和 …

More

JNI 方法注册和签名

缘起

最近分析一个Android平台上的so,发现JNI函数命名如下:

JNI Function Name

函数名字和自己平时写代码不一样,故重新学习JNI方法的签名规则。

规则

工具使用

可以使用javah自动生成JNI函数签名,来探索函数命名规则。

javah -jni 包名.类名

一般类的普 …

More

测试代码

/* Unicorn Emulator Engine */
/* By Nguyen Anh Quynh, 2015 */

/* Sample code to demonstrate how to emulate ARM code */

#include <unicorn/unicorn.h>
#include <string.h>


// code to be emulated
#define THUMB_CODE "\x10\xb5\x4f\xf6\x00\x74\xe8\xbf\x10\xbd"

// memory address where emulation starts

int STACK_MEMORY_BASE = 0x00000000;
int STACK_MEMORY_SIZE = 0x00800000;

int HOOK_MEMORY_BASE = 0x1000000;
int HOOK_MEMORY_SIZE = 0x0800000;



static void hook_code …

More