


从下往上:
1.判断s2与flag是否相等
2.读取输入的字符串并将值赋给s2
3.if()语句内,判断pid的值,若为1,运行waitpid函数。反之,执行else内的
else内:将flag[i]内的值为105和114的元素换为49
4.pid=fork();
5.v8 = __readfsqword(0x28u);
大致流程:省去没必要的判断程序,将flag内的i和r转换为数字1
判断输入的字符串是否等于转换后的flag
由此可得,flag就是转换后的字符串
跟进flag

直接将i和r换为1包上flag{}或写脚本

flag{hack1ng_fo1_fun}
笔记:
__readfsqword()(一脸懵逼)

fork()


waitpid() 看不懂


这些都是偏后期才学或者不用学的,现阶段聊不了解都无所谓

PS:忘了说了,老师傅逆向很少反编译,直接看的流程图,已知流程图只有汇编代码,所以现在开始学汇编吧
