0%

reverse.kr 部分逆向题题解

Easy Crack

IDA从WinMain看起,最后确定在sub_401080为主函数,判断的逻辑如下图

为了更好观察,编辑String为长度16的字符串

判断逻辑为:第一个字符为E,第二个字符为a,第四五个为”5y”,后面的字符串为”R3versing”,最后还原出的字符串为”Ea5yR3versing”

Easy Keygen

Readme中提示要求找到序列号为5B134977135E7D13的Name

1
2
3
4
ReversingKr KeygenMe


Find the Name when the Serial is 5B134977135E7D13

IDA看main函数逻辑,将部分变量改回数组

容易分析出keygen加密的逻辑是,将输入Name逐个字节按0x10,0x20,0x30逐个循环异或,得到的序列号用十六进制Hex表示
这里就有两种办法,一种是暴力破解出对应字符串,第二种是根据序列号解密Name,即将序列号再次异或

1
2
3
4
5
6
7
8
9

str_d = "\x5B\x13\x49\x77\x13\x5E\x7D\x13"
key = "\x10\x20\x30\x10\x20\x30\x10\x20"
a = str()

for i in range(len(key)):
a = a + (chr(ord(key[i]) ^ ord(str_d[i])))

print(str(a))

求解可得K3yg3nm3

Easy Unpack

题目要求

1
2
3
4
5
6
ReversingKr UnpackMe


Find the OEP

ex) 00401000