SCTF2019 creakme

最后更新于 2024-09-27 292 字 预计阅读时间: 1 分钟


PE32位,ida打开得到复杂代码

断点调试后弹出异常直接退出,有反调试函数

进入第一个函数,发现在寻找.SCTF段,在SCTF段中有大量数据,怀疑有SMC

在DebugBreak函数处会触发一个断电异常,在汇编界面下可以看到有几个代码段并没有被反汇编,利用了SEH来隐藏真实代码,反静态调试

在2450函数中发现存在对.SCTF段的SMC,取反并循环异或sycloversyclover

在ida中手动SMC

a = [0x73,0x79,0x63,0x6c,0x6f,0x76,0x65,0x72,0x73,0x79,0x63,0x6c,0x6f,0x76,0x65,0x72]
for i in range(0x4041FF-0x404000):
    result = a[i %16]
    ida_bytes.patch_byte(0x404000+i,~(get_wide_byte(0x404000+i)) ^ result)

得到函数,对密文进行了逆置操作

回到main函数中,在FindCrypt中发现有AES的字符串出现,程序大概逻辑为

开头第一个函数进行SMC--->第二个函数调用对密文进行逆置操作,对输入的字符串进行AES加密后与逆置的密文进行对比

猜测密钥可能是sycloversyclover,向量为sctfsctfsctfsctf,解密得到flag

SEH真不是人学的😭

此作者没有提供个人介绍。
最后更新于 2024-09-27