DHCP'blog

2024年全国大学生信息安全竞赛安徽省赛(线下初赛)-本科组WP

本文是2024年全国大学生信息安全竞赛安徽省赛本科组的解题报告,详细记录了逆向工程、密码学和杂项三类题目的解题过程。逆向部分分析了Java和MIPS二进制程序,通过反编译与脚本逆向获得注册码和flag。密码学部分针对RSA线性相关攻击、二进制爆破、音频摩斯密码解码及共享素数等场景,给出了具体攻击脚本。杂项部分涉及LSB隐写、GIF文件头修复、PNG宽高修改等常见图像隐写技术的处理。全文通过具体工具使用和代码脚本,展示了从问题分析到解决方案的完整思路,为读者提供了CTF竞赛中典型题目的实战解题参考。

DHCP Published on 2024-10-20

2024年全国大学生信息安全竞赛安徽省赛(线上初赛)-本科组WP

本文是2024年全国大学生信息安全竞赛安徽省赛线上初赛本科组的解题记录,涵盖MISC、密码、Reverse三类题目。MISC部分通过密码爆破、文件隐写分析和二维码扫描等步骤获取flag;密码部分涉及RSA分解、共享素数利用及多层加密解密;Reverse部分展示了Java反编译、pyc文件逆向及二进制程序分析过程。文章详细演示了从题目分析到工具使用(如binwalk、steghide、jadx、IDA)的完整解题思路,核心在于通过技术手段逐步还原加密数据或隐藏信息。读者可从中学习CTF竞赛中常见的隐写、密码学及逆向工程实战技巧。

DHCP Published on 2024-09-30

[Workshop CE]大道磨灭-4

[Workshop CE]大道磨灭-4 这一题和四两拨千斤很像,但是那一题是干掉NPC才能得到flag,这一题是经过若干回合不被NPC干掉就能获得flag 所以,本题只需要将NPC的的攻击力给变为0就行了 找到NPC的攻击力 玩家的默认血量为4,首先先进行一回合,然后将默认血量减去我们当前的血量后可

DHCP Published on 2023-11-08

[Workshop CE]四两拨千斤-3

这篇文章介绍了通过修改游戏内存破解一个游戏关卡的过程。NPC的血量约为10000,而玩家初始攻击力仅为3。通过搜索内存中代表攻击力的数值“3”,并在攻击时观察该数值地址的变化,成功定位了攻击力的内存地址。将其修改为极大的数值后,便能一击击败NPC,从而获取flag。整个方法核心在于利用内存搜索工具动态追踪和修改关键游戏数据。

DHCP Published on 2023-11-06

[Workshop CE]Dice-2

本文介绍了使用CE(Cheat Engine)修改器获取flag的具体过程。文章指出,需让程序中五个随机数均变为1才能获得flag。操作者通过CE搜索内存,输入初始随机数并再次扫描,逐步定位五个目标地址的存储位置。为防止数值刷新后被重置,对每个地址执行“找出改写地址”操作,并用空指令(NOP)替换相关代码指令。最后将五个地址的值全部修改为1,成功取得flag。文章以实际步骤展示了通过内存修改实现目标的过程。

DHCP Published on 2023-11-04

[Workshop CE]xxNetDisk-1

本文介绍了使用Cheat Engine 7.4解决一个下载进度题的CTF挑战。题目程序xxNetDisk.exe运行后会出现缓慢的下载进度条,完成下载才能获得flag。为快速解决,作者通过Cheat Engine附加进程,搜索当前进度值(如45或42),找到对应内存地址后将其修改为接近100的数值(如99)。程序进度随之更新至100%,成功获得flag。该过程演示了利用内存修改工具绕过等待时间的具体方法。

DHCP Published on 2023-11-02
RE

递归函数 异或 爆破推测数值

文章分析了一个名为xysz.exe的64位无壳程序,通过逆向工程破解其flag。主函数定义了一个长度为41的cmp_data数组,并接收用户输入的k值(要求小于等于999)。程序中的result函数通过递归计算从0到k的累加和,随后将该结果对211取模,并与cmp_data数组中的每个元素进行异或操作。作者通过编写Python脚本,枚举0到210之间所有可能的k值进行暴力破解,最终发现当k=94时,异或输出的结果构成有效的flag。此过程展示了通过逆向分析算法逻辑并结合枚举破解的具体方法。

DHCP Published on 2023-10-31