自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 makefile的编写实例(windows vs2010)

######################### Read Me ########################## 任何版本的vs都是支持makefile编译的# # Makefile文件中以#开始到行注释# 语法详见:# http://msdn.microsoft.com/en-us/library/yz1tske6(v=VS.100).aspx# nmake的参数和使用方法# NMAKE [option...] [macros...] [targe

2010-12-17 13:38:00 8015 2

原创 linker所使用的函数名称

Warning LNK4037: '_XXXX' does not exist; 本文解决上述错误。在使用vc的link工具时,时常会涉及到输入函数名。如在.def文件中指定导出函数,或使用/ORDER@orderfile选项指定函数顺序,在orderfile中放置函数名等情况。今天发现一个奇怪的现象,链接时始终报Warning LNK4037,说orderfile中有函数名找不到。折腾了一圈,观察这个warning和函数的名字没有关系,但是发现报错的函数是__stdcall调用方式,而其他能找到的函数都是

2010-10-20 14:30:00 955

原创 windbg .process命令的一个注意事项

<br />.process命令的功能是在内核态调试时,切换进程CONTEXT。是调试用户态模块所必须的命令,因为用户态模块必然是在进程环境中运行的。<br />使用.process命令时需注意,在切换到目标进程空间后必须强制加载user模块的pdb文件。在;运行.process /i; g,等待中断后使用.reload /i /user或.process 时使用/p /r参数。否则lm不能列出进程实际已经加载的用户态模块,lm u结果会为空。下用户态程序断点,查看内存等操作都无法进行。

2010-10-07 13:44:00 3577

原创 vista/win7/server 2008 启动项的设置(For Windbg)

<br />其他设置和XP是相同,改启动项的方法有变化。<br /> <br />bcdedit /dbgsettings serial baudrate:115200 debugport:1<br />bcdedit /copy {current} /d ForDebug<br />记住打印出的新的启动项的ID 代替下面的NewID<br />bcdedit /displayorder {current} {NewID}<br />bcdedit /debug {{NewID}} ON<br /> <br

2010-10-04 23:16:00 2700

原创 调试驱动这么方便

<br />今天调试驱动,bu断点命中后直接弹出源代码了。吓我一跳,我没做任何设置啊。<br />发现checked版本的sys文件里直接带pdb的全路径了。什么时候有这个特性,原来有吗?是我孤陋寡闻了,还是7.1的WDK新加的?<br /><br />反正很方便了,把sys文件放到硬盘的任何目录都可以,也不用在windbg里设置一大堆路径。

2010-09-27 11:14:00 757

原创 处理大于4G的文件

<br />高清的视频文件都好大,需要处理超过4G的文件。备份一个处理进位的代码。<br />  __asm { push eax mov eax, dwWriteThisTime add dwTotalWrite, eax jno NOT_HIGH add dwTotalWriteHigh, 1 NOT_HIGH: pop eax }<br />我还真不知道用C怎么实现这段程序。<br /> <br /> 

2010-09-08 12:23:00 1002

原创 IDT系列:(二)中断处理过程,使用bochs调试IDT中的中断服务程序

一、中断处理的过程根据Intel 64 and IA-32 Architectures Software Developer’s Manual 的介绍,在中断或异常产生是,CPU会将当前执行的指令(或下一条指令)在内存中的地址,也就是EIP的值,放入栈中,同时还会放入CS段寄存器和eflags标志寄存器的值等。根据当前的优先级不同(ring0或ring3,也就是执行与用户态还是内核态)会有较大的不同。如果异常或中断发生时,系统正执行在内核态,那么CPU不会切换栈,直接将EFLAGS、CS、EIP和Error

2010-09-01 15:17:00 5445 2

原创 IDT系列:(一)初探IDT,Interrupt Descriptor Table,中断描述符表

IDT,Interrupt Descriptor Table,中断描述符表是CPU用来处理中断和程序异常的。一、有关IDT的基本知识1、中断时一种机制,用来处理硬件需要向CPU输入信息的情况。 比如鼠标,键盘等。2、中断和异常的产生是随机的,在CPU正常运行过程中随时可能产生。CPU的中断处理机制3、中断可以由硬件产生(称为外部中断),也可以由软件产生(称为内部中断),在程序中写入int n指令可以产生n号中断和异常(n从0-ffh)。4、同时CPU的中断异常机制还是重要特性的支持原理,比如程序调试,程序运

2010-09-01 13:46:00 22140 2

原创 USB HDD

<br />突然反现发现我U盘好多,笔记本装系统有这么麻烦(不得不说自带的win7homebasic实在太难用)。做个U盘启动,试了几种方式,靠谱的不多,包括微软自己的bootsect.exe和Windows7-USB-DVD-tool.exe都没搞定,难道是我的本和U盘都太新了?<br />发现UltraISO+win7是可用的。UltraISO有三十天的试用,我只用一次,够了。<br />当然山寨过的winpe也应该可用,不过我不相信它没问题。<br /> <br />为啥USB启动的兼容性这么差呢?

2010-07-10 18:36:00 1030 1

原创 近期的博文计划

我这个比较懒,计划是经常做,不过更经常cancel。列一个在这里,也算是督促一下自己。1、MinGW的使用、原理以及代码移植工作的一些体会。2、call-graph绘制工具。3、WebKit工具分析。4、h.264-ps的一些工作、5、各种协议隧道。

2010-07-10 16:13:00 554

原创 利器GCC(待续)

本来是要移植一个程序到Windows下的,MinGW也太Minimalist了一点。毕竟环境不一样,编译出错时很正常的,手工改代码,一个一个的试当然是可以的,可是我讨厌无知的感觉。怎么说也号称自己是搞程序分析的,都不好意思讲出来。从程序分析的角度来讲,无论是移植还是理解代码,有些信息是比较重要的。环境变量有何不同对头文件的依赖性,要想编译通过到底需要哪些头文件。对库文件的依赖性,要想链接成功到底需要哪些头文件。预定义宏有何不同。Symbol的定义在哪里。对于理解代码,除了上面的信息外,还需要一些信息:函数间

2010-07-10 16:04:00 1059

原创 每次手动改IP很烦躁,写个Windows下自动改IP设置的小脚本

cuc的实验室很2,居然没有dhcp,家里是dhcp。每天改来改去改得手痛。到实验室了运行一下cuc.cmd:netsh interface ipv4 set address name="本地连接" source=static gateway=192.168.0.1  gwmetric=1 addr=192.168.1.3  mask=255.255.255.0netsh interface ipv4 set dns name="本地连接" source=static addr=202.xx.xx.xxx回

2010-07-07 15:52:00 1093

原创 为什么要写博客

可能是受到writting博士论文的荼毒,有了阴影。技术性的文章不敢写了,技术功底不足,文字功力又差,写不好。可是在CSDN开博怎么又能不技术性呢。唉,不要对我报什么希望,我很紧张。勉为其难吧。虽然写不好,可是呢,我还是有一点死皮赖脸的精神的。其实回忆起来,我博士期间也就干了一件还算正经的事。写了一本叫《精通XXX》的书(不要批评我胆大,书名是编辑起的)。其实我原来不精通的,懂一点,写完之后,我觉得我有一点点开始精通了。于是我体会到了技术性写作的好处。这是一种驱动力。自己学,往往浅尝辄止,知其然,不知其所以

2010-07-07 10:12:00 724 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除