简历
个人简介
姓名:徐艺波(男
目前所在地:北京中关村
毕业院校:2005年毕业于天津工业大学数学系
手机:13240716189
技能
l 两年的Windows驱动和应用程序开发经验
l 擅长钻研难题、软件结构设计、软件性能分析以及调试
l 对Windows底层有比较深的把握(经常研究参考NT、2K源码)
l 熟悉Intel
64和IA 32体系结构
l 精通汇编、C/C++
l 精通ASP、PHP,能写简单的SQL语句,较强的网站设计能力
l 有一定的反汇编、破解、脱壳经验
l 熟练运用Windows系统下的各种底层工具 - ida, softice, windbg, spyxx…
l 较强的英语读写能力
你一定要到我的网站:https://www.xuyibo.org上看看,这个网站是我自己花了很长时间制作的,里面有我写的一些工具以及编码心得等等。
大二的时候就开始学习asp,掌握后给外面的做过几个网站项目。也是那个时候掌握了各种相关工具Dreamweaver、Access、IconWorkShop、Fireworks。大三开始学习C++,要感谢《深入浅出MFC》这本书。
工作后,在一家生产工业摄像机的公司开发驱动。由于公司的人手比较少,一个项目往往都是一个人权权负责,自己也是在这种环境中学习掌握了不少东西,从项目的需求分析、设计,再到后来的编码等自己都参与过。自己在05年10月从微软泄漏的NT源码中,修复ntdbg.h文件,成功编译出可运行的NT内核。
工作外,自己也开发了不少工具:
l ed
– 支持54种编程语言的编辑器,我现在的编写程序就是用这个工具,用WTL写的。
l build
– 参考微软的build编写的一个强大的集成开发环境,命令行的IDE。
l txt2chm
– text文本文件生成chm帮助文件的一个工具。
l extractor
– C代码文档提取工具,能够提取C源码文件中的文档并生成chm帮助文件。
l matrix
– 访问Access数据库C语言库。
l setup
– 根据驱动的inf文件自动安装驱动的一个软件
l virus
– (病毒)出于爱好,自己写了一个病毒,没有公开。动态加载病毒驱动、隐藏任务管理器进程记录、每隔15秒调节系统的中断优先级到最高。
在我开发的这些工具里面,我觉得build这个工具是我开发出来的最好的,我摘录一份从build开发文档中的开发原则和功能列表:
大的开发原则是:
简单、灵活、严谨
细的原则:
l 尽量少定义自己的特性
l 兼容Visual C++ 6.0
l 最大程度的隐藏复杂度
功能列表:
l 支持程序版本的自动递增
每次编译一个模块的时候,自动将程序资源文件中的版本信息递增,以便以后出问题时,快速的找到出问题模块的备份代码,并修复之。
l 支持代码的备份功能
将程序的资源版本和项目名作为.rar备份文件名,并保存在%BAK_PATH%Project目录下。备份工具先调用clean工具来清除所有的debug和release目录,和部分的VC工程垃圾文件。为了在与VC工程无缝协作,我将VC工程文件也作为源代码来看待。
l 支持代码的CHECK-IN、CHECK-OUT功能
目前是使用bak命令来实现的,由于这个操作有危险性,所以我决定必须手动来实现。
l 支持多语言版本程序的开发
通过给资源文件加语言后缀名来支持多语言程序的开发。在开发出中文版后,拷贝出一份英文的,然后翻译资源文件,打开英文的编译环境编译就可以了。在以后修改功能后,使用bcompare工具比较修改资源文件就可以方便安全的开发出新版本的多语言版本。
l 支持binplace功能
binplace是微软非常棒的工具,好像只有在2003的DDK中才包含这个工具。
l 支持调试版和发布版的开发
调试版使用env目录下的chk_chs.lnk,发布版使用fre_chs.lnk。
l 内建预编译头文件功能
如果当前源代码目录下有precomp.h文件或stdafx.h,那么把它当作预编译头文件来编译,无须写precomp.c或precomp.cpp,nmake会自动在当前目录下创建此文件。有了预编译的功能,编译C++源代码是非常快的,所以强烈建议C++工程使用预编译头文件。
l 支持一个命令来编译整个源码树的功能
build /s。
l 支持编译错误输出
编译完成后,使用log命令来查看。
l 支持所有类型的程序的开发
目前支持软件公司所有类型程序的开发:用户态的.exe和.dll、mfc程序等;核心态的驱动;lib文件等。
l 内建几大常用的C++库
目前支持的库有:WTL、STL、ATL、MFC、BOOST,可以很容易的增加其它的库,比如intel ipp等。
l 程序打包
直接将编译后的文件使用inno命令行的打包程序进行打包。