题目来自polarDN
wp来自:
PolarCTF靶场Reverse方向简单难度Writeup - 这里是千夏 (l0serqianxia.github.io)
polar靶场reverse区简单难度题目详解 - 先知社区 (aliyun.com)
shell
考查:UPX自动脱壳
下载下来
ida打开
有壳的体现
尝试自动脱壳
D:\..CTFgoju\reverse\UPX\upx-4.2.4-win64\upx-4.2.4-win64
脱壳成功
ida打开,找到main主函数
flag{crack_is_funny}
PE结构
考查:PE文件结构
根据题目描述
010看看文件格式
果然有错误
将WZ改为MZ
运行得到flag
flag{66987add03c98a8f0cac71e4cafc2a6a}
拼接
一个白文件,名字为zip
拖进010一看,
看到PK
确定是zip
改后缀,
ida打开,看见两段flag
拼接得到flag
flag{03ff6cf238c5cd8e7b4ee1e9567ad5a4}
加加减减
改zip后缀,ida打开
可以看到将密文的每一位减了1,逆过来就OK
enc = 'ek`fz5123086/ce7ac7/`4a81`6/87b`b28a5|'
str = ''
for i in enc:str += chr(ord(i)+1)
print(str)
# flag{62341970df8bd80a5b92a7098cac39b6}
康师傅
还是改zip后缀
ida打开
进入main函数
看到
int __cdecl main_0(int argc, const char **argv, const char **envp)
{int v3; // edxint v5; // [esp-4h] [ebp-158h]unsigned int i; // [esp+D0h] [ebp-84h]char v7[60]; // [esp+DCh] [ebp-78h] BYREFchar v8[43]; // [esp+118h] [ebp-3Ch] BYREFint v9; // [esp+143h] [ebp-11h]__int16 v10; // [esp+147h] [ebp-Dh]char v11; // [esp+149h] [ebp-Bh]int v12; // [esp+150h] [ebp-4h]int savedregs; // [esp+154h] [ebp+0h] BYREFsub_459319(&unk_53B006);strcpy(v8, "oehnr8>?;<?:9k>09;hj00o>:<o?8lh;8h9l;t");*(_DWORD *)&v8[39] = 0;v9 = 0;v10 = 0;v11 = 0;sub_457EB0(v7, 0, 50);((void (__cdecl *)(_DWORD))sub_45748D)(&unk_510E84);sub_457929(&unk_510E50, (char)v7);for ( i = 0; i < sub_457672(v7); ++i )v7[i] ^= 9u;if ( sub_459512(v8, v7) )((void (__cdecl *)(_DWORD))sub_45748D)("error");else((void (__cdecl *)(_DWORD))sub_45748D)("right");sub_45957B(&savedregs, &dword_45E57C, 0, v3);return sub_4593E1((unsigned int)&savedregs ^ v12, v5);
}
密文的加密逻辑是异或9u
写脚本逆过来
但是脚本是异或9还是9u还是u喃
都试试看
enc = 'oehnr8>?;<?:9k>09;hj00o>:<o?8lh;8h9l;t'
str = ''
for i in enc:str += chr(ord(i)^9)
print(str)
#flag{17625630b7902ac99f735f61ea21a0e2}
最后试了异或9,不知道为什么
键位命令补充
按R键9u变成\t,按H键\t变9u
flag{17625630b7902ac99f735f61ea21a0e2}
×另辟蹊径
需要点击10000次,这种小游戏题最坏的解决方法是通关,
多的情况还是逆
OK学新东西
【原创】CE教程:基础篇 - 『软件调试区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn
[CE修改器使用教程 基础篇] - lyshark - 博客园 (cnblogs.com)
不知道为什么CE进程老是出问题,不管了这题先