摘要: 原文地址:https://juejin.im/post/5cf217845188256b8b59e8f4 1. 语言功能 (Language Features) 1.1 智能感知 (IntelliSense) 编码时符号自动补全(使用 gocode ) 编码时函数签名帮助提示(使用 gogetdoc 阅读全文
posted @ 2019-07-04 16:25 西湖又雨 阅读(982) 评论(0) 推荐(0) 编辑
摘要: 注意:开始这个实验之前请仔细阅读这个实验的readme和writup(实验说明和实验攻略),仔细阅读之后,事半功倍。 我使用的是从官网下载下来的self-study handout,实验过程中不连接服务器(单机版的感觉),所以不涉及计分板这些东西,如果想要了解,参看readme文档。 phase1: 阅读全文
posted @ 2017-10-06 19:45 西湖又雨 阅读(3308) 评论(0) 推荐(0) 编辑
摘要: 这是秘密关卡,需要通过主动调用secret_phase函数才能触发,可以通过call secret 或者jump *0x地址来调用。 贴出函数:(fun7函数部分没有注释,后边续上了手写的图来解析这个函数了) 先研究secret_phase函数,它先调用了read_line函数,通过gdb追踪运行发 阅读全文
posted @ 2017-09-18 21:47 西湖又雨 阅读(3000) 评论(0) 推荐(0) 编辑
摘要: 这一关很复杂,需要非常耐心。如果感觉容易在循环中绕晕,可以参考一下我最后附上的画图分析法2333,小把戏,不过挺有用的。 先看函数phase_6: 在注释中说了输入要求,输入6个各不相同的数,每个数都要小于6,然后每个数都被7减,新值 y 覆盖旧值 x ,用新值进行了后续的操作。 其中操作重点是对地 阅读全文
posted @ 2017-09-18 18:25 西湖又雨 阅读(2106) 评论(0) 推荐(1) 编辑
摘要: 调出phase_5函数: 主要内容在注释中贴出来了,解读如下: 这一关要求输入一个长度为6的字符串,但是字符串的内容与strings_not_equal函数中%esi存储的地址的字符串不一样,可以看到在这个函数之前有一个转换过程,而且%edi存储的地址是%rsp数据段的地址,这是要点。 转换过程是取 阅读全文
posted @ 2017-09-18 16:10 西湖又雨 阅读(2167) 评论(0) 推荐(0) 编辑
摘要: 先贴出phase_4的代码: 指令的讲解在注释里了,但是想讲讲我的另一种分析方法: 途中通道的意思,表述可能不对,可以理解为是一个运行的路程吧。 为了保证总的返回值是0,所以只能走a,c通道(路程),由此可以计算出%ecx的值,只要在这几次计算中有一次num_0(即输入的第一个数)等于%ecx的值, 阅读全文
posted @ 2017-09-14 23:04 西湖又雨 阅读(1616) 评论(0) 推荐(0) 编辑
摘要: 需要注意的一点是,在这个switch结构与内存地址0x402470的关系中,并不是简单的线性关系(按照0 1 2 3 4 5 6 7的顺序对应于0x400f7c这边的地址),而是有变化的(0 2 3 4 5 6 7 1),主要需要查看地址内容才可以看的出来,如下: 需要对应着看,才可以分析出所有答案 阅读全文
posted @ 2017-09-14 20:58 西湖又雨 阅读(1106) 评论(1) 推荐(2) 编辑
摘要: 这里是第二关,在这里分享一些在解题过程中用到的GDB功能。 首先,要进行断点,比如,在第二关中,断点操作有: break 81; break 82; break 83; 分别在read_line,phase_2,phase_defused,三个函数入口进行了断点。 另外,还有一个地方需要断点,那就是 阅读全文
posted @ 2017-09-14 19:56 西湖又雨 阅读(1111) 评论(0) 推荐(0) 编辑
摘要: 这一个lab拖了好久才开始慢慢完成,花的时间比较多,我也是没想到会需要这么多时间来折腾。考虑到如果把所有关卡的内容都一次发出来,太长了。所以分开操作吧。 然后,有一点是,在开始解题前的确该好好认识一下GDB,因为要使用这个工具。虽然我也感觉有些东西是可以等需要的时候再查的,但是后来找到了一篇介绍gd 阅读全文
posted @ 2017-09-14 18:08 西湖又雨 阅读(856) 评论(0) 推荐(0) 编辑
摘要: /* * CS:APP Data Lab * * * * bits.c - Source file with your solutions to the Lab. * This is the file you will hand in to your instructor. * * WARNING: Do not include the header... 阅读全文
posted @ 2017-09-14 17:08 西湖又雨 阅读(984) 评论(0) 推荐(0) 编辑