首页 > TAG信息列表 > IgniteMe
buuctf re [FlareOn4]IgniteMe
无壳32位 void __noreturn start() { DWORD NumberOfBytesWritten; // [esp+0h] [ebp-4h] BYREF NumberOfBytesWritten = 0; hFile = GetStdHandle(0xFFFFFFF6); dword_403074 = GetStdHandle(0xFFFFFFF5); WriteFile(dword_403074, aG1v3M3T3hFl4g, 0x13u, &Numb攻防世界-re-IgniteMe
IDA小技巧 shift + e 可以直接提取数据 菜鸡都是从没有壳的开始做 查看程序运行的状态,输入几个字符直接退出 Ida打开 第八行提示输入flag 第十一行进行逻辑判断。 输入的flag的长度小于30字符大于4字符 第十三行,赋值字符串进入循环逐个字符判断前四个字符是否位EIS{ 第1buuctf————[FlareOn4]IgniteMe
1.查壳。 无壳,32位。 2.IDA反编译。 函数很少,看到start代码。知道关键函数是sub_401050,跟进。 很简单的逻辑就是把flag(byte_403078)逆序与前一位异或,第一位先与v4异或。 得到byte_403180与byte_403000比较(及异或后是byte_403000)。 v4的值:0x04 (要是看不懂,可以跑一下,在循环之前