Eleven's Blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链

llvm 浅探

写在前面这篇文章的前半部分包括写的环境搭建都是基于 LLVM 源码的构建方式,重点在于帮助了解 llvm 的结构,如果目的只是编写 Pass 的话,直接跳到 自己编写 LLVM Pass 部分即可 LLVM 环境搭建由于我的 Ubuntu 版本不够,无法直接 apt install llvm-20,所以就去 https://github.com/llvm/llvm-project.git 里面下载
2025-08-01
Notes
#llvm

cuda 逆向

写在前面CUDA (Compute Unified Device Architecture) 是由 NVIDIA 开发的一种并行计算平台和编程模型;它允许软件开发者和研究人员利用 NVIDIA GPU 的强大并行处理能力来加速通用计算任务,而不仅仅局限于图形渲染cuda 逆向本身不难,一般是使用 cuobjump 来获得 ptx 汇编 ,根据汇编理出加密逻辑最后进行解密即可 PTX 基础知识寄存器
2025-07-21
CTF
#Reverse #cuda

XYCTF2025 Reverse 方向复现

CrackMeida 打开看到 WinMain 函数,同时注意到有一个 TlsCallback_0 函数 123456>VOID NTAPI TlsCallback(PVOID DllHandle, DWORD dwReason, PVOID Reserved) {//DllHandle:对于 exe 是进程句柄,对于 dll 是模块句柄;dwReason:回调原因;Reserv
2025-07-20
CTF
#Reverse

pyd 逆向

what’s pyd.pyd 文件本质上是一个 Windows 的 DLL 文件, 通过 C/C++ 编译器(如 MSVC)把 C/C++ 代码编译成二进制形式,实现了 Python 扩展模块的接口,可以通过 import xxx 的方式像普通的 .py 文件那样导入使用 preparation先在 windows 下自己编译一个带有调试信息的 pyd 文件,主要用于后续 bi
2025-07-15
CTF
#Reverse #Cython

安卓基础知识笔记

安卓四大组件Activity(活动)、Service(服务)、BroadcastReceiver(广播接收者)、ContentProvider(内容提供者) JNI 静态注册和动态注册Java 支持调用 C/C++ 代码,JNI(Java Native Interface)的作用是粘合 Java 代码和 C/C++ 代码 静态注册 遵循一定的命名规则,一般是 Java_pa
2025-07-02
Notes
#Android

向 VM 的步步靠近--部分 vm 赛题复现

[GWCTF 2019]babyvm修结构体ida 中查看 main 函数,点进 sub_CD1 里前4个字段:写入4个32位整数(DWORD),偏移分别为0, 4, 8, 12,这是在设置寄存器 1234uint32_t eax; // 偏移 0uint32_t ebx; // 偏移 4 (初始值为18)uint32_t ecx; // 偏移 8uint32_t edx;
2025-05-24
CTF
#Reverse

XYCTF2024 Reverse 方向复现

你是真的大学生吗?附件是MS-DOS executable (EXE)文件,ida 不能反编译,硬看汇编解密脚本 123456789101112131415161718192021222324252627'''T[20]=C[20]^C[0]al=T[20]T[19]=C[19]^al即T[19]=C[19]^T[20]al=T[19]T[18]=C[18]^al即T
2025-05-03
CTF
#Reverse

RE中的密码学

流密码特征就是密文仅由明文与密钥流经过异或运算得到。只要识别出流密码,我们就可以选择动态调试获取密钥流或者直接把目标密文 patch 进去拿输出就可以了,常见的有 RC4、Salsa20 以及 ChaCha20. RC4特征识别 长度为 256 的 S 盒,且在每一步生成与加密过程中都伴随着 S 盒的 swap 操作 很多取模操作 有多个次数为 256 的循环 最后的操作为异或 加密流程简述
2025-05-02
CTF
#Reverse #加密

花指令

花指令原理就是在真实代码中插入一些垃圾代码的同时还保证原有程序的正确执行, 而程序无法很好地反编译 jz/jnz 指令1.jz(jump if zero) 指令的本质:如果ZF=1(前一条指令的结果为0)则跳转jnz(jump if not zero) 指令的本质:如果ZF=0(前一条指令的结果不为0)则跳转连续两条jn、jnz指令且跳转到同一个地址构造出无条件跳转,
2025-04-29
CTF
#Reverse

TGCTF Reverse 方向复现

base 64变种 base64 123456789101112131415161718192021222324252627282930313233343536373839custom_table = "GLp/+Wn7uqX8FQ2JDR1c0M6U53sjBwyxglmrCVdSThAfEOvPHaYZNzo4ktK9iebI"table_dict = {char
2025-04-27
CTF
#Reverse
12

搜索

Hexo Fluid