自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 JS反混淆-虚假控制流

0x00 问题描述在混淆代码中,发现多段如下形式的代码:11 == cn ? (Ne = pe, ue = Ne, nn = 23907) : 11 > cn ? 5 == cn ? (m = void 0, _ = 0, nn = 8549) : 5 > cn ? 2 == cn ? (N = l, K = N, N = K, Oe = Oe.concat(N), nn = 23105) : 2 > cn ? 0 == cn ? (ae = ue[se], me = ae[ro],

2020-07-23 19:54:39 967

原创 JS反混淆-控制流平展(二)

0x00 问题定义接第一篇遗留的问题,在做控制流平展反混淆时,用动态执行的方式获取执行路径时,如果原控制流中存在循环的情况,那么获取到的路径就会有重复的现象,如下所示:[ [ 3 ], [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], [ 2 ], [ 1 ], [

2020-07-01 19:38:40 1022

原创 JS反混淆-控制流平展(一)

0x00 目标基于AST实现针对使用控制流平展混淆的JS代码的反混淆。0x01 反混淆方案为了直观地说明JS的混淆方案,先上JS代码(某大厂真实代码):function Qs() { for (var s = 1; void 0 !== s; ) { var r = 3 & s , c = s >> 2 , b = 3 & c; switch (r) { case 0:

2020-06-05 15:30:01 2410 2

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

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

2020-04-27 18:36:20 1278

原创 调用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 1483

原创 ADR指令对substate HOOK的影响

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

2018-08-17 12:04:48 368

原创 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 1044

原创 Xposed 源码剖析(一)

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

2018-07-18 09:36:36 4284

原创 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 3441

原创 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 3654

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除