得到文件看起来是一个安装程序
粗略的查看一下没什么东西,应该就是正常的安装
执行安装
主程序
随便输测试一下
IDA 分析
主函数里没找到相关信息
查找字符串
引用一下
上面有两条获取输入的函数,分别赋给 v2,v3
有一条判断v2 != admin
查看验证 v3 的函数 sub_140001450
有密文和逻辑
看到输入为char类型,密文为Dword类型
如0x(000000)340000003500000035000000E4
Dword 类型就是 0xE4,0x35,0x35, 0x34(小端序舍 0)
然后经过 左移 4 (*16) 按位或运算 右移 4
实现高 4 位低 4 位交换 0xE4 => 0x4E(char 类型)
EXP
enc = [0xE4, 0x35, 0x35, 0x34, 0x45, 0x64, 0xB7, 0x45, 0x86, 0x13, 0x37, 0xF5, 0x13, 0x37, 0xF5, 0x15, 0x15, 0x15, 0x45, 0xD7] for i in range(len(enc)): print(chr((enc[i] << 4 | enc[i] >> 4) & 0xFF),end="")NSSCTF{Th1s_1s_QQQT}
总结
对 ChackMe 程序分析,将安装包执行安装后,对主程序进行分析并且找到账户名和加密后的密钥