CTF真(太)好(难)玩(了)

0%

不愧是强网杯,题目质量确实很高。不像现在很多某某杯,要么是卷大量大量的网上抄的代码,要么是为了难而偏各种奇奇怪怪的新架构

ezmath

这题就离谱,纯数学题,直接见识了各位师傅带数学家的数学功底

刚开始想的是用爆破,但发现不管是patch原程序用程序本身爆还是动态插桩还是模拟执行都爆不出来。猜测程序本身的check逻辑就是有问题的。直接扣算法算发现因为精度问题到后面全部截断了。

Read more »

PS:鉴于IDA7.5已经全面普及,IDAPython也由原来的Python2变成了Python3,同时带来的是IDA API的全面更新,故重写本篇博客

作为逆向菜鸡,已经重度依赖地表最强工具 ———— IDA Pro了,“OD是不可能OD的,只有靠IDA Pro才能勉强维持下去的样子”(你看那迷人的笑容,有了它还要npy干什么 逃…

Read more »

在0环对3环的反调试中,最常用的应该就是DebugPort清零。先介绍一下这个DebugPort是什么东西。当调试器附加一个进程时,会调用NtDebugActiveProcess附加进程,这个函数会调用DbgkpPostFakeProcessCreateMessages告诉调试器创建调试线程(DbgkpPostFakeThreadMessages)并加载调试所需模块(DbgkpPostFakeModuleMessages),然后再调用DbgkpSetProcessDebugObject,这个函数会把DebugObject设置到进程_EPROCESS.DebugPort下。 这个调试对象可就很有用了,在调试过程当中,0环会通过这个对象将调试信息发送到三环调试器,那同样意味着我们对这个位置的清零会使三环调试器接收不了任何调试信息,以此实现了反调试。

Read more »

在一些强对抗环境下,当我们试图在三环下用API去读取别的进程的内存往往会收到诸多限制,比如r3花式hook,r0句柄降权,改进程结构体等等等等,稍微有些保护就可以使得 ReadProcessMemory、WriteProcessMemory 这些API失效,因此需要设计驱动能在r0层读写内存。

Read more »

大家都太强太卷了,人均可视化套接字,逼的本菜鸡被迫也要来卷一下。 为了不落俗套又要为紧张的期末(睡觉)省时间,这次整了个双语言+QT+Socket

赫夫曼编码译码器

以下提供核心代码和调试细节

任务书

题目

赫夫曼编码译码器

内容简介

Read more »

这个月找了点资料,整了整CSGO的外挂。总体感觉CSGO官匹的保护还是很宽松的,这里记录一下设计思路与过程(这博客我竟然鸽了一个多月….老拖延症了

地址寻找

既然是实现辅助,那我们必然要对游戏中一些内存的值做读写,而实现读写的前提是我们知道它们在内存中的地址。所以做辅助前需要花大量的时间去寻找我们所需变量在内存中的地址。

Read more »

极客大挑战真是超棒的新生赛,感谢四叶草

No RE no gain

下载并安装学习IDA

我真不会写驱动

别被hint唬到了,这玩意压根就不需要调试驱动。

IDA打开驱动文件,Shift+F12 字符串搜索,发现flag

(就这就这?

Read more »

这次比赛,感觉题目质量很一般,反正湖湘杯,大家懂的都懂

WEB

WEB1 题目名字不重要反正题挺简单的

?file=phpinfo

DASCTF{d98cdaf0e8436c07b0e291b2adb30469}

Read more »