在秀峰格软件(中)

格友们下塌松雪楼稍作休息后,老雷先带大家参观了中正行营。中正行营初建于民国,蒋介石到庐山检阅庐山军官训练团时多次在此办公。庐山军官训练团于1933年7月创办,当年训练军官7600人,历年累计训练军官25000多人(根据观音桥景区展览图片介绍)。训练团使用的教材至今仍偶尔可以看到,下面这幅照片是从孔夫子旧书 上收集到的,上面还有涂抹的印痕。 

沿石阶向上几步,可以下到上下龙潭中间的一段平坦小路,近距离欣赏龙潭。附身下去,可以捧起清澈的龙潭水亲近一下。经过一个小小的石拱桥,走到龙潭对岸,可以看到龙潭东侧的题刻,包括元丞相刺不花的“虎”字,米芾所写的“第一山”等。

龙潭美景难以胜述,大家还没有看够就到了午饭时间,午饭后,略作休息,便都带着电脑到了教室,找自己喜欢的位置坐下,1点时,研习班正式开始。

老雷首先从一张谷歌地图照片介绍大家所在的地理位置:毗邻长江,背靠庐山,面对八百里鄱阳湖。

序言结束,热身篇开始,题目为《双剑合璧——WinDBG与GDB之理一分殊》,这是老雷专为这次研习班设计的讲义,旨在系统介绍和对比WinDBG和GDB两大著名调试器,讲义长达180多页。

整个分析分为两个阶段,第一阶段从加载wow64exts和WoW的简介入手,分析栈回溯,找寻第一个异常,然后观察栈上的原始数据,寻找到EXCEPTION_RECORD结构体和CONTEXT结构体,再时光倒流后异常时的状态,发现是memcpy越界。

第二阶段继续追查memcpy的参数为何传递错误,反汇编理解GetVolumeNameForRoot函数,然后探讨万能接口风格的DeviceIoControl API。最后水落石出查出是驱动返回了长度-1代表查询不到名字,可DeviceIoControl仍返回TRUE,而GetVolumeNameForRoot函数只判断返回值为TRUE就认为操作成功了,把-1作为长度调用memcpy函数。结果导致野蛮“搬运”,覆盖掉了堆上的很多数据。导致进程表现诡异,有时崩溃,有时死循环。

忙碌的时光总是过的很快,一下午时间很快过去了。大约6点半,下课吃饭。吃过晚饭稍作休息后,继续战斗,打开黄皮书,以挖地雷小程序做靶子,练习各种调试命令,大家兴趣盎然,中正行营里灯火通明。

***********************************************************

正心诚意,格物致知,以人文情怀审视软件,以软件技术改变人生。

f700c80ff84a583df8c697ff9078e98f.png

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树人工智能机器学习工具包Scikit-learn211745 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年3月20日
下一篇 2017年3月20日

相关推荐