逆向_game

双击打开程序。

一种破解方式:

 

 

 依次输入:1,2,3,4,5,6,7,8

另一种破解方式:

x32dbg打开程序。

 

 

 alt+F9

跳转到用户函数:

 

 

 F7进入函数。

 

 

 搜索字符串

 

 

 

可以在字符串种发现存在"done!!! the flag is "。

双击进入。

 

 

 

在push ebp处下断点。

可以知道这里为flag函数入口。但又可以发现,flag并没有在这里产生。

又可以发现下方存在很多数字字母。揣测,flag由下方的代码生成。

而在done!!!the flag is 下面紧接着add esp,4

没有ret说明该函数接着在往下面走(也就是在生成flag)。(下面可以看到一个%s,这应该就是将flag赋值到%s的地方。新手揣测!!!羡慕那些追码的人)

我们尝试着将flag的入口函数在其他地方去调用。

将flag的入口函数地址记下。我的是0x0083E940。

比如:初始化的时候。或者在输入参数出错的时候。

下面尝试第二种,在输入参数出错的时候。

 

 

 在字符串中找到"sorry, n error,try again\n"。

双击进入。

 

 

双击修改跳转地址。

 

 

点击左上角的文件->补丁->修补文件,保存为1.exe。双击打开。

 

 

随便输入一串数字。便可以出flag。

总结一下:

这个flag应该算爆破出来的。因为压根就不清楚lamp算法也不清楚flag的算法。使用的是call直接跳转。

posted @ 2020-04-08 23:38  Flag{Just_For_Fun}  阅读(392)  评论(0)    收藏  举报