JarvisOJ RE软件密码破解1

0x03  软件密码破解1

od逆向还是不太会啊,这题刚好练练手。放到ida里反编译,一看不行,太多函数没办法看...所以拖进od中,先是用引擎插件搜索Unicode,找到一个“你赢了”,然后双击进入这个地址:

JarvisOJ RE软件密码破解1_第1张图片

JarvisOJ RE软件密码破解1_第2张图片

然后往上翻翻,发现关键函数:

JarvisOJ RE软件密码破解1_第3张图片

就是将输入的字符串和相应的数组异或,然后和已知这些数组比较(cmp函数),如果相等的话,就成功,否则结束函数。

mov那一行右键选择数据窗口跟随内存地址,然后发现和输入字符异或的数组{28,57,64,6B,93,8F,65,51,E3,53,E4,4E,1A,FF},相应异或之后再和给出的{1b,1c,17,46,f4,fd,20,30,b7,0c,8e,7e,78,de}进行比较,如果对应相等,则成功。

这里要注意一个问题就是:小端输入的问题,要需要对16进制倒转处理。详情指路链接:https://blog.csdn.net/w614171629/article/details/82150292

然后写一个脚本,求出输入的字符就好了:

JarvisOJ RE软件密码破解1_第4张图片

得到flag:3Ks-grEaT_j0b!

你可能感兴趣的:(RE)