Post List
实战去除安卓应用中的多种混淆
# 实战去除安卓应用中的多种混淆
之前写过了混淆 pass 和去除案例,但多为 windows 上的一些样本,所以这篇文章写了三个安卓去混淆案例
# 案例 1
应用为小 * 书,版本是目前最新(936084)
目标去除函数是 sub_81CC4 函数,这是 sheid 生成算法中比较关键的一个函数,但被大量复杂混淆,无法分析其中逻辑。我们以它为例,演示如何去除这种混淆
在之前的文章中使用 idc 脚本自动断点的方式来处理间接跳转,安卓逆向中可以使用 firda 来代替。
先用 idc 脚本搜集想要 hook...
more...
LLVM Pass编写及去除 —— 间接跳转
间接跳转是通过将原本的 jmp addr 指令,替换成 jmp reg,从而混淆块与块之间的跳转关系的方法。
# 编写
一个最基础的间接跳转 pass 如下
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899#include...
more...
梆梆加固分析
# 梆梆加固分析
解压打开 lib 文件,发现这四个 so 文件较新
而且 dexHelp 听起来和壳相关,从这里入手
打开文件后从 JNI_OnLoad 开始看起
上面是一些 x86 检测,壳配置读取,native 函数注册,直到函数末尾会调用脱壳函数
此函数混杂了检测,脱壳等操作,前半部分检测较多,尤其是这里
创建新线程进行检测,常见的模拟器检测,hook 检测,root 检测等,里面一些字符串被加密
字符串解密
示例数据
1234567891011121314[+] Dump 0xDA613 - 0xDA623 (16 bytes) :unsigned char...
more...
Android一二三代壳实现
# Android 一二三代壳实现
# 一代壳
落地壳 会将文件保存到本地
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116package...
more...
分析开源项目DPT抽取壳源码实现
# 分析开源项目 DPT 抽取壳源码实现
为了自实现抽取壳,对开源项目 dpt 进行分析
开始先创建一个代理类
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586package com.luoyesiqiu.shell;import android.app.Application;import...
more...
LLVM Pass编写及去除——虚假控制流
# 编写
虚假控制流使用大量不透明谓词组成恒真或恒假的算式,每个基本块之间用条件跳转连接,用不可达基本块和条件跳转达成混淆的目的
与控制流平坦化相比,它的 cfg 更加细长
其中会有多个 if...
more...
VNCTF2026出题笔记
# VNCTF2026 出题笔记
很高兴能在 VNCTF2026 与大家见面,希望大家都能够玩的开心,有所收获
Ciallo~(∠・ω< )⌒★
# delicious obf
打开程序后根据字符串定位到主要函数,根据功能重命名函数
其中 check 函数就是主要的 flag 验证函数,但是点进去会发现函数反编译不成功
这里其实是对程序进行了混淆
# 混淆分析
原始程序部分汇编如下
1234567891011121314151617181920212223242526272829303132333435_Z11check_debugv: push rbp mov rbp,...
more...
2025 鹏程杯 逆向 wp
# 2025 鹏程杯 逆向 wp
前两天复习课内考试一直没怎么打 ctf,赛中只解了两道,最近考完试以后又把剩下的题做完了(除了驱动),题目质量还是非常不错的,值得一做
# MoreMoreFlower
花指令 + vm,非常常规且老套的题
反编译看到 vm 不全,转汇编
经典 call + retn 花,写了一个简单 idc 脚本去除
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#include <idc.idc>static...
more...





