REVERSE-PRACTICE-JarvisOJ-6

REVERSE-PRACTICE-JarvisOJ-6

软件密码破解-2(unsolved)

软件密码破解-1

32位MFC程序,先用xspy查“确定”按钮的id,为0001
REVERSE-PRACTICE-JarvisOJ-6
再查整个窗口,知道“确定”按钮对应的响应函数为(0x0040)1BB0
REVERSE-PRACTICE-JarvisOJ-6
ida打开该MFC程序,左侧函数窗搜索1BB0,来到sub_401BB0函数
分析可知,将输入与byte_5777F8数组按下标顺序地做异或运算,结果与已知数据比较,验证输入
REVERSE-PRACTICE-JarvisOJ-6
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!

CrazyAndroid(unsolved)

JarvisShell(unsolved)

上一篇:【python基础教程】(4)迭代器与生成器


下一篇:HBase in Practice - 性能、监控及问题解决