过于简单 出得太快 我都没有来得及抓住爱情
程序流程很清晰 先输入 然后stack_check函数构造flag 最后比较 进入stack_check
这里吧unk_4011D8放入v8 然后循环异或base里面的内容 第一个箭头指向的[]符号是c++反编译出来的数组取值的符号 这里的源码应该是
1 | v1 = v8[v1 % v2] |
base在bss段 交叉引用找到初始化地方
然后写脚本直接跑出flag
1 | f = open('so.in') |
过于简单 出得太快 我都没有来得及抓住爱情
程序流程很清晰 先输入 然后stack_check函数构造flag 最后比较 进入stack_check
这里吧unk_4011D8放入v8 然后循环异或base里面的内容 第一个箭头指向的[]符号是c++反编译出来的数组取值的符号 这里的源码应该是
1 | v1 = v8[v1 % v2] |
base在bss段 交叉引用找到初始化地方
然后写脚本直接跑出flag
1 | f = open('so.in') |