摘要: 之前文章讲过的技巧和知识,就不再详细描述了,如果有不明白的地方建议按照做题题目顺序查看。 打开关键代码页面,要成功运行到success函数,需要避开方框内的雷,sub_4007C0是失败函数 图1 来看看我们输入的v3怎么才可以得到flag 一、长度等于v8,变量v8的长度是17 图2 二、s[i] 阅读全文
posted @ 2020-02-05 14:11 黑冰Lisa 阅读(870) 评论(1) 推荐(0) 编辑
摘要: 之前文章讲过的技巧和知识,就不再详细描述了,如果有不明白的地方建议按照做题题目顺序查看。 题目说是加壳,那么拖进工具我们看看有什么信息。 好啦,upx壳,脱壳命令和工具下载网址也给我们了 图1 然后用ida打开便能看见flag了 图2 这里除了用工具脱壳外,我们还可以手工脱壳,因为upx是一种简单的 阅读全文
posted @ 2020-02-05 14:10 黑冰Lisa 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 之前文章讲过的技巧和知识,就不再详细描述了,如果有不明白的地方建议按照做题题目顺序查看。 添加stdlib.h头文件,运行程序输入三个参数,输入参数数量不等于3输出what?退出程序 满足三个要求的参数最后经过运算得到hash,hash边是我们要找的flag 图1 第一个和第三个参数已经给我们了分别 阅读全文
posted @ 2020-02-05 14:09 黑冰Lisa 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 之前文章讲过的技巧和知识,就不再详细描述了,如果有不明白的地方建议按照做题题目顺序查看。 找到关键代码页面。注意,scanf接收的是字符串,而strcmp比较的是字符串的十六进制。v13的值给了是437261636b4d654a757374466f7246756e,do函数里面是把v9的每一个字符串 阅读全文
posted @ 2020-02-05 14:08 黑冰Lisa 阅读(870) 评论(0) 推荐(0) 编辑
摘要: 运行程序,第一感觉这玩意儿怎么像电路图开关,看下面的英文说什么,果然玩的是开关游戏,游戏的意思是从上到下有8条线路,如果选择n那么n-1、n、n+1线路的状态都会发生改变,直到8条线路的开关状态都是on时,游戏通过。 图1 就在我试玩游戏,单个输入1、2、3,同时输入1 2 3 ,迭代输入2 3 4 阅读全文
posted @ 2020-02-05 14:07 黑冰Lisa 阅读(934) 评论(0) 推荐(0) 编辑
摘要: 运行程序 32位ida打开,shift+f12查看运行时的中文,这里双击flag get字符串进入rdata段 双击后面的函数,进入text段,小的窗口视图里可以看见汇编代码调用函数的句子 右边的即是鼠标滑到函数上面出现的小窗口 tab键查看伪代码,v8是我们输入的,v4是需要相比较的,flag g 阅读全文
posted @ 2020-02-05 14:05 黑冰Lisa 阅读(1300) 评论(0) 推荐(0) 编辑