精选分类
学习
pwnの学习
Hexo
随笔
文章列表
llvmpass学习及指令替换
# LLVM Pass
# LLVM 基础 (随便写写)
Compilers 编译器总体结构
Lexical Analysis 词法分析
Parsing 语法分析
Semantic Analysis 语义分析 (主要)
---------- 前端 ----------
Optimization 优化 (主要)
---------- 后端 ----------
Code Generation 代码生成
LLVM 编译器结构如下图
优点:通用的中间表示(IR)来表示程序的结构和行为
#...
more...
IDA操作の朝花夕拾
# Trace 分析
打开菜单项 [Debugger] -> [Tracing] -> [Tracing Options] 配置 Trace 选项
在准备开始 Trace 的指令位置设置断点,并使该断点命中
开启 Trace:[Debugger] -> [Tracing] -> [Instruction Tracing]
开启后,单步执行一条指令,发现已经执行的指令变色表示开启 Trace 成功
按下 F9 继续运行,直到下一个断点手动停止 Trace 或直到程序结束
指令级 Trace 记录每一条指令的执行情况
基本块...
more...
hitcon2023逆向 The Blade WP
# hitcon2023 逆向 The Blade WP
运行所给的程序 socket 通信相关
由题目描述 A Rust tool for executing shellcode in a seccomp environment.
字符串查找定位 发现其中 verify 方法可疑
发现隐藏了一个命令 flag 是以添加命令行参数的方式输入 flag 调试得知输入 flag 长度为 64 位
F7 进入 verify 发现加密逻辑 简单来讲 是一个大的 256 次 while 循环...
more...
更新后某电视频APP去广告破解
# 更新后某电视频 APP 去广告破解
参考 52pj 大佬教程:https://www.52pojie.cn/thread-1814917-1-1.html
教程中样本软件版本是 1.5.1, 本博客基于更新后的版本 1.6.1 部分操作不一样 大致思路一样的
比较逆天的就是真机启动闪退 只好用模拟器了
# 破解思路
想在 APP 免费看片,有两种路径 一种是看广告,一种是邀请人数也就是推广,这里用的是通过去广告的方法实现免费看片
# 广告分析
许多广告的 SDK 文档百度能搜 就不列举了
jadx 一开就能看见一堆广告相关
# 去广告
广告 SDK 少的话 就直接在文档里找关键的方法...
more...
andriodlabs_更新中
# andriodlabs
之前手贱又更新到安卓 13 了 又需要重新刷一次机 心累
记住 frida-server 在 /data/local/tmp/
有关 jar 包:https://zhuanlan.zhihu.com/p/82320492
# 安卓架构
Android 是一个开源的,基于 Linux 的移动设备操作系统
应用程序组件是一个 Android 应用程序的基本构建块。这些组件由应用清单文件松耦合的组织。AndroidManifest.xml 描述了应用程序的每个组件,以及他们如何交互。
以下是可以在 Android...
more...
ollvm环境配置
# ollvm 环境配置
# 介绍
Ubuntu 虚拟机 22.04
OLLVM 介绍看这个 Deobfuscation: recovering an OLLVM-protected program
Ollvm 混淆主要分成三种模式,这三种模式主要是流程平坦化,指令替换,以及控制流伪造。
流程平坦化 :这个模式主要通过将 if-else 语句替换成 do-while 语句,然后通过 switch 语句来对流程的控制,这样就能模糊基本块之间的前后关系。
指令替换 :这个模式主要通过使用更复杂的指令序列来替换一些标准的二元运算符,从而增加逆向的难度。
控制流伪造...
more...
UIUCTF2023
# UIUCTF
做了一道题就摆烂了 (第二天考试) Win95 的主题挺有特色
# VMWHERE1
给了两个文件一个 chal 是虚拟机程序 一个 program 是二进制文件 就是需要用虚拟机载入的程序
# chal
IDA7.7 打开虚拟机程序,逻辑很清晰 while 循环和 switch-case 其中每一个 case 对应一个操作
可以用 x86 汇编指令近似理解
case 0: 返回指令(ret)
case 1: 加法指令(add)
case 2: 减法指令(sub)
case 3: 位与指令(and)
case 4: 位或指令(or)
case 5:...
more...