标签:逆向 Bugku 过关 游戏 地址 flag 指令 跳转 函数
Bugku游戏过关
od工具推荐用吾爱的:https://www.52pojie.cn/thread-14986-1-1.html
打开后是一个开灯游戏,总共八个灯,每一层用户可以根据情况按一个1-8中的任意一个灯,如果按的灯正确则进入下一层,如果不正确则游戏重新开始
直接扔进od
主窗口内任意处右键选择【中文搜索引擎】选择第一个【搜索ASCII】
搜索完成后找到准备输出flag的一行跟进去查看
找关键点,edp栈底指针,esp栈顶指针,此处封存了一个函数,也就是说最终输出flag的时候就是来调用这个函数
我们单击到函数的开始,也就是栈底指针edp处,地址是0099E940(后面会用到这个函数的开始地址),在中间部分的【跳转来自xxxx】部位点击【转到xxxx】
转进去之后继续在中间跳转到CALL
进入后观察相关指令,发现有多条jnz指令指向了0099F671地址,jnz就是jump if not zero 运算结果不为零则转移,也就是游戏按下不同的灯之后要跳转的地方
既然我们按下灯就会跳转到这里做检验,那因此我们只要把这里的指令替换成直接输出flag的函数的开始指令,那游戏在随便按下灯之后就能直接跳转到flag函数出结果了,且已知我们前面看到的flag地址为0099E940,开始替换,在指定地址处右击选择汇编
随便按一个数字出flag
标签:逆向,Bugku,过关,游戏,地址,flag,指令,跳转,函数 来源: https://blog.csdn.net/Deeeelete/article/details/110095485
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。