9 sparktend

尚未进行身份认证

暂无相关简介

等级
TA的排名 34w+

一种定位JNI native方法地址的通用方法

背景我们在做Android APP逆向分析时,有时需要分析某个Java方法对应的native方法。分析的第一步当然找到它的位置。native方法有两种关联方式:静态(这个很容易,从函数名称(符号)上就能找到)动态(通过JNI RegisterNatives注册)动态大多时候也很容易去找,只是会有复杂的情况,本文描述一种相对通用的方法来快速获取native方法的地址。方案描述常...

2020-04-27 18:36:20

调用DLL未导出函数由参数列表引发的问题

0x00 背景为了调用一个dll中未导出的函数,首先用IDA分析它的调用约定和参数列表。分析出来的函数声明是这样的:typedef int (__thiscall* FP_SUB)(void *t, int a2, int a3)然后用一个for循环去调用这个函数,代码逻辑大致如下:void call_stub(void* t, int a2, char a3){ ...

2018-09-12 19:23:39

ADR指令对substate HOOK的影响

0x00 前置信息在用substrate对某个函数进行HOOK的时候发现会奔溃,并且崩溃在了一个很奇怪的地址上。在排除了参数列表和调用约定的问题之后,本文着手分析产生该奔溃的原因。在分析之前,首先会简要说明Inline HOOK的实现原理,接着借助崩溃信息和动态调试进行分析,最后总结崩溃的一般性原因。0x01 Inline HOOK 的原理Inline HOOK是指通过修改函数前N个汇...

2018-08-17 12:04:48

Xposed 源码剖析(二)

0x00 背景之前提到当安装Xposed framework后,Xposed framework会替换一个新的app_process至/system/bin/中,app_process 就是Android中的Zygote进程,这期以app_process的实现为主线来详细分析Xposed framework的实现。0x01 框架分析首先从main函数开始:main() {...

2018-07-18 09:37:46

Xposed 源码剖析(一)

0x00 简介是什么:   Xposed framework是一个基于Android系统实现的能够给用户提供修改系统层面或第三方APP功能的框架服务。如何工作:   Android中有一个叫做Zygote的核心进程,它会随Android系统的启动而启动,然后加载系统所需的类,最后再调用初始化方法。每一个APP的进程都是从Zygote进程fork出的子进程,这个进程的...

2018-07-18 09:36:36

Compile Android 5.1.1 ROM with ROOT by SuperSU

0x00 前置信息Android 5.1.1 SuperSU v2.65 目标:基于SuperSU编译一个可以在应用层使用root shell的Android 5.1.1 ROM。0x01 添加su模块编译Android时,userdebug或者eng方式编译默认自带的su,不使用这个自带的su,即不编译这个自带system\extras\su模块,最简单的方法是把该目录下的Android

2017-03-05 17:17:27

SUSE 11 中DB2 Express-C 10.1安装配置及删除(完整版)

由于测试小组需求,需要在SUSE 11上搭建DB2环境,其实这样的资料网上有好多,但是零零散散的,而且在安装过程中也遇到了一些问题,最后总算成功了,今天把完整的安装及配置过程写下来,以后装的时候也会方便许多。 1.下载解压安装文件首先去ibm官网下载DB2 Express-C 10.1,需要注册后才能下载,下载后的文件名是”db2_v101_linuxia32_expc_lite.ta

2012-09-26 11:45:10
勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。