REVERSE-PRACTICE-JarvisOJ-6
软件密码破解-2(unsolved)
软件密码破解-1
32位MFC程序,先用xspy查“确定”按钮的id,为0001
再查整个窗口,知道“确定”按钮对应的响应函数为(0x0040)1BB0
ida打开该MFC程序,左侧函数窗搜索1BB0,来到sub_401BB0函数
分析可知,将输入与byte_5777F8数组按下标顺序地做异或运算,结果与已知数据比较,验证输入
byte_5777F8数组的元素在静态分析中不能得到,需要attach程序调试
写逆异或运算脚本即可得到flag
res=[0x1B, 0x1C, 0x17, 0x46,
0xF4, 0xFD, 0x20, 0x30,
0xB7, 0x0C, 0x8E, 0x7E,
0x78,0xDE]
byte_5777F8=[0x28, 0x57, 0x64, 0x6B, 0x93, 0x8F, 0x65, 0x51, 0xE3, 0x53,
0xE4, 0x4E, 0x1A, 0xFF]
flag=""
for i in range(len(res)):
flag+=chr(res[i]^byte_5777F8[i])
print(flag)
#3Ks-grEaT_j0b!