MoeCTF2023 junk_code

考察花指令的移除
方法:
找到花指令 u ctrl+N 回到函数开始处 按p就可以F5反编译了
以这道题为例:
IDA打开
image
点开sub_45A9A0:
image
查看loc_4605D0
image
在00460612处 按U 然后ctrl+Nimage
变成90(nop)
然后回到loc_4605D0按P
image
F5反编译image
就可以看到正常的函数了
sub_459EBF同理
image
我们知道flag长度为36
这两个函数就是分别对前18位和后18位进行变换check
分别对应逆即可
exp:

aH = [0x68, 0x6A, 0x60, 0x5E, 0x6F, 0x61, 0x76, 0x74, 0x2B, 0x70, 0x5A, 0x6D, 0x60, 0x68, 0x2B, 0x71, 0x2E, 0x5F]
Str1 = [0x39, 0x12, 0x0E, 0x55, 0x39, 0x0C, 0x13, 0x08, 0x0D, 0x39, 0x05, 0x56, 0x02, 0x55, 0x47, 0x47, 0x47, 0x1B]
Str2 = []
v7 = []
for c in aH:
    v7.append(c+5)
for c in v7:
    print(chr(c),end='')
for c in Str1:
    Str2.append(c^0x66)
for c in Str2:
    print(chr(c),end='')
posted @ 2023-10-10 20:40  N0zoM1z0  阅读(48)  评论(0编辑  收藏  举报