UPX 壳魔改
修改UPX头 标准的upx头在010editor中可以看到是 参考例题 浙江省第七届省赛Midre: Windows中的特征码. 原来的程序修改了UPX的特征为DAS,修改回去就可以直接脱壳了(也可以直接通过esp手脱,如果没有加上反调试的话) uuppxx: Linux中的特征码,在程序的末尾 修改后就可以直接脱壳了 补充 还有一些别的修改,感觉…
|
|
2
|
|
|
220 字
|
1 分钟内
ida python 学习使用
环境搭建 为了方便ida ipython脚本等的学习,先在vscode中搭建一下ida python环境方便我们编写程序. 首先在在vscode中安装插件IDACode 然后下载ida插件 https://github.com/ioncodes/idacode 根据官方文档中的教程把相关的内容拖到ida的plugin目录中即可 这里可能需要修改一下…
|
|
2
|
|
|
633 字
|
8 分钟
CTF中一些加密算法代码的介绍
碎碎念 最近越发觉得对常用加密算法的研究比较粗糙,借着完善社团文档的机会,再继续修改一下我的文章. 一些前置小知识 为什么需要加密模式 像 RC6 这样的分组加密算法,是固定长度加密的: RC6-32/20/16 每次只能加密 128 bit(16 字节) 数据块 如果明文超过 16 字节,就必须把数据切成块,然后用一定的“模式(mode)”来处理…
|
|
3
|
|
|
4178 字
|
1.5 小时
python逆向相关知识(TODO)
相关博客 python逆向总结-先知社区 python运行原理 Python是解释型语言,没有严格意义上的编译和汇编过程。但是一般可以认为编写好的python源文件,由python解释器翻译成以.pyc为结尾的字节码文件。pyc文件是二进制文件,可以由python虚拟机直接运行。 python代码运行机制 Python.exe调用XX.py(源码)…
|
|
1
|
|
|
1340 字
|
6 分钟
反沙箱与虚拟化
简单介绍 通用的一些查询方式 检查用户名是否特定 GetUserNameA/W 检查计算机名称是否特定 GetComputerNameA/W 检查主机名是否特定 GetComputerNameExA/W 检查总 RAM 是否较低 GetMemoryStatusEx 直接 syscall 调用内核函数,等等。。。。 检查处理器数量是否较低 GetSy…
|
|
1
|
|
|
1068 字
|
11 分钟
2025 DASCTF 下半年赛
EZmac IDA_100004022 = [0x7D, 0x7B, 0x68, 0x7F, 0x69, 0x78, 0x44, 0x78, 0x72, 0x21, 0x74, 0x76, 0x75, 0x22, 0x26, 0x7B, 0x7C, 0x7E, 0x78, 0x7A, 0x2E, 0x2D, 0x7F, 0x2D] flag = […
|
|
0
|
|
|
488 字
|
6 分钟
sunshine CTF
更新中... Pluto Chat 程序分析 首先看到main函数 void __fastcall __noreturn main(int a1, char **a2, char **a3) { sockaddr addr; // [rsp+20h] [rbp-220h] BYREF char s_1[256]; // [rsp+30h] [rbp…
|
|
0
|
|
|
1267 字
|
26 分钟
ACTF deeptx 逆向复现笔记
时隔这么久,终于断断续续的把这道题看完了. 不得不说浙大的✌水平还是太高了.做的那叫一个痛苦(也有可能是我太菜的原因:) 初见 怎么借助工具拿到汇编这里就不赘述了,网上许多WP都有写了 也可以参考阿里云CTF的一道题目 这里附上链接阿里云CTF2025 Writeup - 星盟安全团队 int __fastcall main(int argc, c…
|
|
1
|
|
|
1416 字
|
25 分钟
L3HCTF 复现
TemporalParadox 根据ida的报错 patch掉花指令之后还原代码爆破即可 可惜当时做的时候没有看出花指令,然后想通过Frida Hook函数爆破,然后就没写出来呜呜(┭┮﹏┭┮) (事实证明Frida爆破也是一种可行的方式,需要hook time64() 函数,并通过多进程的方式爆破) main.cpp #include <i…
|
|
1
|
|
|
1702 字
|
38 分钟
2025 羊城杯
GD1 godot引擎开发的游戏 上网上下载一个工具就能反编译资源,就不细说了. PLUS 首先观察到程序,给了我们一个init.pyd文件和一个经过了混淆的代码. 首先可以化简代码的表达式,让代码变得更加容易读一些(但是这里运行不了...不知道为什么...). m(exec(3214),955,926)(e) m(exec(3132),999,6…
|
|
0
|
|
|
2207 字
|
54 分钟