步骤
查壳:无壳,go语言
反汇编输出
很明显和sub_4006FD有关,如下:

核心判断是
v3[i % 3][ 2*(i/3) ] - input[i] == 1
⇒ input[i] = v3[i % 3][ 2*(i/3) ] - 1
写成脚本破解:
# 原字符串数组
v3 = [
"Dufhbmf",
"pG`imos",
"ewUglpt"
]
password = ""
for i in range(12):
src_char = v3[i % 3][2 * (i // 3)] # 取字符
password += chr(ord(src_char) - 1) # 减1恢复原密码
print(password)
