exe程序,32位,程序比较正常,就是运行错误之后会打开bilibili。。。
进入主函数进行分析:
通过分析可以发现,程序对输入进行关键加密运算是在第51-53行,奈何编程功底不好,分析了好久也写不出加密算法,最后没办法了,通过wp才知道原来是在第64-66行有相同的加密函数,我们只需随便输入32位的值,然后再在判断之前(memcmp函数执行之前)修改内存的值让其和已知的值相等即可,最后一直执行下去,就可以得到flag。
下断点,开始动调:
当eip执行到图中位置时,对Buf2的值进行修改:
修改后的Buf2的值:
单步执行直到得到flag:
得到flag:
hgame{WOWOW_h@ppy_n3w_ye4r_2022}