实验吧-reverse入门writeup

逆向入门笔记

第一题:

是要提交hello的注册码
截图
首先想到的是用IDA打开,使用Graphic View大致查看程序逻辑。这里写图片描述
看到jnz指令,向上找到了call sub——4011D0函数,查看这个函数
这里写图片描述
于是找到了我们需要查看的

     do
      {
        *(&String2 + v1) = (v1 + v1 * String[v1] * String[v1]) % 0x42 + 33;
        ++v1;
      }
      while ( v1 < strlen(String) );

我们根据这个写出如下python代码。

data = "hello"
ans = list()
for i in range(len(data)):
    ans.append(chr((i+i*ord(data[i])**2)%0x42+33));
print("Happy@"+"".join(ans))

好了,得到flag。很简单啊哈哈。

猜你喜欢

转载自blog.csdn.net/ishandsomedog/article/details/80545928
今日推荐