一个比较简单的常规的题

image-20231019171808164

首先看main 函数 ,简单的输入flag 然后将flag传入一个函数进行判断。

第一次点进去后发现函数是数据类型…【猜测是加密了】回到main函数,看上面有没有加密的函数。

返回去后就看到一个for 循环将judge里面的数据进行了一次xor 。

感觉可以把这段直接nop掉的。但是我还是用的idapython来解的密。

1
2
3
for i in range(0x600B00,0x600BB6):
patch_byte(i,get_wide_byte(i)^0xC)
print("ok")

然后点击judge,过去后将它转化成代码段,然后再打包成函数。【“c” 后 “p”】

image-20231019172151706

看到真正的函数。这里我们知道v2 和 v3 是连接再一起的。所以就比较简单的写了一个解密的脚本

1
2
3
4
5
6
7
8
9
a = b"fmcd\x7Fk7d;V`;np"

flag = ""
c = 0
for i in a:
flag += chr((i) ^ c)
c = c+1
print(flag)
#flag{n1c3_j0b}