- 博客(8)
- 资源 (13)
- 收藏
- 关注
原创 Android SO逆向-多重继承
0x00 这一节我们要讨论多重的汇编实现。 0x01 我们先直接看汇编代码:#include "com_example_ndkreverse7_Lesson7.h"#include #define LOG_TAG "lesson7"#define ALOGD(...) ((void)__android_log_print(ANDROID_LOG_DEBUG, LOG_TA
2016-04-23 11:36:37 1911
原创 Android SO逆向-对象的继承和虚函数
0x00 这一节我们要讨论对象的继承和虚函数的汇编实现。 0x01 我们先直接看汇编代码:#include "com_example_ndkreverse6_Lesson6.h"#include #define LOG_TAG "lesson6"#define ALOGD(...) ((void)__android_log_print(ANDROID_LOG_DEBUG,
2016-04-22 14:19:07 4037
原创 Android SO逆向-对象的拷贝构造函数
0x00 这一节我们主要讨论对象的拷贝构造函数的汇编实现。 0x01 我们直接看C++代码: Test.h:#ifndef _TEST_H_#define _TEST_H_#include #define LOG_TAG "lesson5"#define ALOGD(...) ((void)__android_log_print(ANDROID_LOG_D
2016-04-21 09:45:17 3465
原创 Android SO逆向-对象的构造函数与析构函数
0x00 这一节我们主要讨论对象的构造函数和析构函数的汇编实现。 0x01 我们先直接看C++代码:#include "com_example_ndkreverse4_Lesson4.h"#include "Test.h"#include #define LOG_TAG "lesson4"#define ALOGD(...) ((void)__android_log_pr
2016-04-19 20:52:36 4132
原创 Android SO逆向-数组与指针
0x00 这一节主要分析一维数组、二维数组、数组指针和指针数组的汇编实现。 0x01 我们先直接看C++代码:#include "com_example_ndkreverse3_Lesson3.h"#include #define LOG_TAG "lesson3"#define ALOGD(...) ((void)__android_log_print(ANDROID_L
2016-04-18 11:09:39 2790
原创 Android SO逆向-全局变量和静态局部变量
0x00 这一节比较简单,主要分析全局变量,全局静态变量,静态局部变量的实现。 0x01 我们直接看代码。#include "com_example_ndkreverse2_Lesson2.h"#include #define LOG_TAG "lesson2"#define ALOGD(...) ((void)__android_log_print(ANDROID_L
2016-04-17 11:57:22 3435
原创 Android SO逆向-流程控制语句及表达式运算
0x00 在前一篇文章Android SO逆向-基本数据类型及函数的工作原理中,我们介绍了ndk的使用,这篇文章直接列出C++源码及对应的汇编代码。 0x01 在java层主要是调用native方法,现在列出java层的代码: Lesson1.javapackage com.example.ndkreverse1;public class Lesson1 { sta
2016-04-17 10:02:34 2431
原创 Android SO逆向-基本数据类型及函数的工作原理
0x00 如果不熟悉ARM汇编的同学,请先阅读这两篇文章,常用ARM汇编指令,ARM子函数定义中的参数放入寄存器的规则。 0x01 这一节我们通过逆向Android SO文件,来理解C++基本数据类型,如int、float、bool、char、指针、引用、常量的ARM汇编形式。 还有理解C++函数调用,用ARM汇编是怎么实现的?参数如何传递,返回值怎么传?函数执行完毕后怎么
2016-04-16 10:40:06 3350 1
压缩SDK demo
2014-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人