自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sting的专栏 - Under the hood

互联网上新生活

原创 提供博客里提到的几个程序的下载地址

我在以前的博客文章中介绍过几个利用业余时间写的程序。为方便大家下载,我把它们的下载地址列在这里。有任何问题可以在这里留言,也可以直接给我写信。请自行查毒。下载、使用这些软件、源代码产生的任何后果由您个人负责,本人不承担任何责任和义务。You use them at your own risk, d...

2006-12-11 23:51:00

阅读数 11540

评论数 12

原创 构建基于Trac的自动测试框架(一):安装Trac

很久以来就有的想法,给我们的产品开发搭建一个集成的自动测试框架。想达到的目标有:自动从代码库抓取代码自动Build、制作安装包、并收集Debug Symbols 自动发布自动安装到目标设备自动运行测试用例、存储测试结果测试用例和测试结果有点类似于Continuous Integration的...

2009-05-11 21:31:00

阅读数 2455

评论数 0

原创 如何诊断Windows CE的应用程序崩溃(续)

在《如何诊断Windows CE的应用程序崩溃》一文中我介绍了如何利用Remote Process Explorer的Crack Address功能定位程序的崩溃地址。但是看起来还是有很多人不知道怎么使用这个工具,这篇文章详细介绍一下。首先要确保你的PC上有dbghelp.dll。微软没有公开PD...

2009-02-26 20:46:00

阅读数 5333

评论数 3

原创 把MAP文件导入IDA Pro的小程序

IDA Pro是玩逆向工程必不可少的工具,但是很遗憾IDAPro好像不支持直接导入map文件(如果有谁知道可以,请告诉我)。前几天分析一个程序,很奇怪提供了MAP却没提供PDB。不悦,顺手写了一段把map文件转换成IDA Pro的idc脚本的Python小程序:Code highlighting ...

2009-02-19 21:20:00

阅读数 3521

评论数 0

原创 如何为WinCE的定制键盘写驱动

 常看到有人问怎么给定制键盘制作驱动程序,在这里谈谈我的经验。完整的键盘驱动怎么写不是这篇文章的目的,这些MSDN上有很详细的介绍。这里谈的是,举个例子,标准的美国英语键盘的数字键SHIFT+2输出符号@,你想改成欧元符号该怎么做?或者你想做一个法语键盘,又该怎么做?又或者你想基于同样的键盘硬件设...

2009-02-12 20:41:00

阅读数 3678

评论数 2

原创 AUTORUN与数字签名(二)

上一篇文章说到AUTORUN很好用,麻烦是别人可能利用它做坏事。别人可能利用它来运行他的危险程序,偷取资料甚至破坏设备,甚至你自己的AUTORUN也有可能被病毒感染。一个对付的做法是把AUTORUN放到一个不容易猜到的目录下,起个古怪的名字。不能从根本解决问题,但比没有强。根本的解决办法是给AUT...

2009-02-05 19:49:00

阅读数 2714

评论数 2

原创 AUTORUN与数字签名(一)

简单问题,你负责的系统出现了莫名其妙的异常,怎么办?换句话说,你有什么方法搞清楚问题的所在,进而解决问题?对于这一类问题,我最关心的是系统内部的运行时状态,如果能搞清楚系统当前的问题状态,对找出问题的根源是很有帮助的。获取系统运行时状态肯定要利用工具,在windows桌面系统上,简单的如windo...

2009-01-30 21:27:00

阅读数 2322

评论数 0

原创 Windows CE for VMWare 6.5的一些问题

今天把Windows CE VMWare虚拟机配置文件升级到了VMWare 6.5,发现启动后无法识别硬盘和网卡。做了个Debug版内核调试,发现问题所在:VMWare 6.5 PCI需要的IO空间为0xE080,大于VMCEPC BSP里默认设置0x6000:[HKEY_LOCAL_MACHIN...

2009-01-17 12:30:00

阅读数 2858

评论数 1

原创 搬个家

 在博客园安了个家,以后这边只做镜像用。新地址是:http://www.cnblogs.com/singlerace/

2008-10-16 12:21:00

阅读数 2196

评论数 1

原创 Interlocked API的原子性如何保证

前面的文章提到如何利用Interlocked API设计系统级日志。Interlocked API可以对在多线程之间共享的内存变量提供原子性访问。有些CPU在硬件层面上直接支持这些操作,如80386以后的X86架构CPU,xchg、xadd、cmpxchg等指令在进行内存访问时锁住总线。举例来说,...

2008-10-09 16:38:00

阅读数 3258

评论数 1

原创 Windows CE系统级日志设计

我的经验,可靠的产品不是设计出来的,而是通过持续的解决BUG逐步达到的,当然我不是说设计不重要,我是想强调在产品中提供一些能够帮助诊断问题的设施是非常有必要的。在这方面,最常见的手段显然就是系统日志了。嵌入式系统由定制的硬件平台、定制的驱动程序、定制的系统组件,以及定制的应用程序构成。这么多定制的...

2008-10-09 13:29:00

阅读数 3825

评论数 4

原创 如何诊断Windows CE的应用程序崩溃

无论你是一个单纯的电脑用户还是一名高级软件工程师,都一定对程序崩溃不陌生。做为一名Windows CE应用程序开发者,你也一定遇到过下图这种场景:这个对话框告诉你,有一个叫installer.exe的程序在地址00019320处崩溃了。如果这个程序归你负责,那么你的问题就来了:怎么找出这个BUG?...

2008-07-15 18:06:00

阅读数 9349

评论数 18

原创 案例:如何解决难以重现的BUG

我时不时会去Mark Russinovich的博客逛逛,学些诊断软件问题的技巧。Mark的博客有一个特点,他有很多案例,专门分析在日常使用电脑时碰上的各种问题,里面有很多分析、解决问题的技巧是颇值得学习的。我在想,从事软件开发这么多年来,自己也积累了大量的经验,如果能把这些经验做些整理写出来,对自...

2008-07-03 17:01:00

阅读数 6995

评论数 5

原创 Hacking Diablo II之Uploading

我知道很多人一直对Uploading感兴趣,很早以前我也说过要写一篇关于Uploading的文章,但一直也没有写。主要原因是我没想好该不该写,担心被人滥用了。很久不玩暗黑,现在连硬盘上的游戏都删了,今天心血来潮到暗黑论坛转了一下,发现居然又出了新补丁。这个补丁出的挺奇怪,就一个免CD的功能,其他任...

2008-06-27 17:05:00

阅读数 7556

评论数 14

原创 Windows CE 6.0 for VMWare虚拟机和BSP下载

做出来有一段时间了,本来找个时间好好整理一下再放上来,一直抽不出空。前两天有个意大利哥们儿写信来问有没有CE 6 for VMWare的网卡驱动,他折腾了半天没搞定。这让我觉得这东西或许还是有人需要的,因此先放上来再说了。CE 6.0和以前的版本最大的区别在于虚拟内存管理,其他方面的调整大多由此而...

2008-06-02 20:56:00

阅读数 18323

评论数 10

原创 万能的便携即时聊天软件-Pidgin Portable

前面在博客中介绍过便携软件。我十分喜欢便携软件的理念,今天介绍怎么配置Pidgin,让你在公司也能用MSN/GTALK和QQ。Pidgin是一个N合一的即时聊天软件,换句话说,有了它你就可以和你的MSN/GTALK/QQ 好友联系,无需一一安装这些软件的客户端。更强的是Pidgin有一个插件可以加...

2008-05-27 21:07:00

阅读数 2986

评论数 0

原创 如何在系统登陆桌面运行程序(续)

前面说在系统登陆桌面运行程序必须取得TCB特权,今天研究了一下,这话说的有点儿绝对了。在网上搜索了一下,大名鼎鼎的Phrack上的有一篇文章介绍如何操作Physical Memory给了我启发。问题的关键不在于TCB特权,而在于ADMIN帐号没有权限操作"/Winlogon"内...

2008-05-27 15:55:00

阅读数 2263

评论数 0

原创 如何在系统登陆桌面运行程序

这是有位朋友看到我的博客文章《OpenThread种种》中的这个截屏后问的问题,这里解释一下。首先要明白的是,在基于Windows NT(包括2K/XP/2K3等)的系统中,除了smss.exe (Session Manager Subsystem),其他进程都至少关联到一个Window Stat...

2008-05-26 20:50:00

阅读数 7842

评论数 9

原创 便携软件

几个月前看一本杂志,上面介绍了一种软件,这种软件可以装在U盘上,在任意电脑上插上U盘就可以用,无需安装。你可能会想,这不就是网上经常看到的绿色软件吗。这玩意儿可比绿色软件高级多了。那些所谓的绿色软件,通常是把安装后的软件目录下的所有文件+相应的注册表设置+它要用到的组件(比如COM组件)放在一起打...

2008-05-21 23:41:00

阅读数 2463

评论数 1

原创 折腾:如何让你的老电脑快起来

好多年没升级电脑了。我现在在家里用的电脑是2003年买的IBM T40 (奔腾M 1.5G/256MB RAM/40GB HD),后来自己加了512MB内存。从买来那天起到现在还没重装过。我是一个特喜欢折腾的人,在这台电脑上下载过无数的软件,装了删删了装,虽然时不时也维护一下,但是这么多年积累下来...

2008-05-19 22:15:00

阅读数 5655

评论数 1

原创

前两天给VS2005打SP1,没办法,没它CE6 R2装不了。没想到这东西要求还挺高。光C盘就得留2G剩余空间。我这电脑也上了点年纪,IT装的时候C盘才给了8G。装的软件又多,光微软的开发工具就有:eVC 4.0,VC++ 6.0,VS 2005,Platform Builder 4.1/4.2/...

2008-05-19 19:33:00

阅读数 1767

评论数 2

原创 OpenThread种种

我在Windows NT系统(包括2K和XP)和Windows CE系统各写有一个工具,专门用来研究系统的运行时状态,比如进程、线程的各种信息,哪些DLL被哪些进程加载了,等等。如果某天突然想到一些好玩的东西,我也会把它加到工具里,比如,下图的这个,在系统登陆、锁定界面上运行了一个计算器。一般情况...

2007-08-28 16:20:00

阅读数 8441

评论数 4

原创 VMCEPC BSP的一些更新说明

有人嘲笑说我又把博客写成了年记。真是惭愧,离上一次更新已经大半年过去了,2007年可能是我有史以来最忙碌的一年,项目的压力和生活的琐事让我根本没有心思来关心博客。现在总算可以说松了一口气,我想,我的博客也该更新了。有不少朋友写信给我询问VMWare BSP的一些问题,这里做一些回答:1,我提供的B...

2007-08-21 16:46:00

阅读数 2832

评论数 2

原创 一种有趣的错误跟踪LOG

我正式用C++做产品开发到现在大约有7、8年,从学C++算起的话有10年,经验应该算是比较丰富的。但是我很少写C++方面的技术文章,C++诞生到现在二十几年,经典书籍、技术文章数不胜数,能写的好像都被人写完了,找点值得一些的东西实在不容易。在前一家公司的时候,我负责做基础框架,用COM+实现业务逻...

2007-01-12 18:25:00

阅读数 3726

评论数 7

原创 Windows CE 5.0 for VMWare虚拟机和BSP下载

前两天有人写信跟我要Windows CE for VMWare。通常我个人写的非商业用途的程序和源代码都愿意共享出来给大家用,只是一直以来困扰我的问题是找不到合适的免费空间host这些东西,现在我发现google pages可以干这个使。这次放了两个东西:CE 5.0的VMWare虚拟机,和CE ...

2007-01-10 15:45:00

阅读数 13697

评论数 8

原创 嵌入式系统开发经验谈:Windows CE开发都做些什么

我在博客的个人简介里说过我目前在从事基于Windows CE的BSP开发,这方面的文章到现在连一篇都没写过,似乎有些说不过去。老板肯定在犯嘀咕了,这小子不干正事儿,整天玩什么外啊挂啊的。接下来,我得整 两篇。以前我都想把文章写的跟论文似的,枯吧干燥,累人累己,以后我就胡乱侃了,一家之言,对不对的凑...

2007-01-09 16:52:00

阅读数 6811

评论数 4

原创 Hacking Diablo II之D2HACKIT技术详解

趁着圣诞又歇了几天,没博,倒是主动被动的看了不少片子。我发现我的观影口味挺杂,什么都看,还什么都能看的津津有味。这些片中,有肥皂剧型的“Ally McBeal”(甜心俏佳人),柯恩兄弟的黑帮型的"Millers Crossing",闷骚型的“Country Life”,一直想看...

2006-12-29 20:54:00

阅读数 12221

评论数 3

原创 我为什么做外挂

我只有两天,一天用来听许巍,一天用来干别的。今年没去outing,也很少给自己放假,积到年末就剩下了很多。这两天给自己放羊,计划 写点技术文章。起床后打开电脑,顺手放些音乐,是许巍的《每一刻都是崭新的》,不料上了瘾,又把《在别处》、《那一年》以及05年的北京演唱会折腾来,就 这么听了一整天。许巍的...

2006-12-23 00:29:00

阅读数 8711

评论数 11

原创 我怎么对付流氓软件

搞软件的,一大副业是当兼职IT,经常有人找我解决各种各样的电脑问题。今天早上我还没起床就有一位打电话过来问IE一打开就崩溃是怎么回事。帮他一查,好家伙,乱七八糟的流氓插件不知怎的装了不少。其实一直以来我特奇怪的一个问题是,各位的流氓软件都是怎么中的,我怎么就碰不上,想中一个都不得其门而入。前段时间...

2006-12-17 17:32:00

阅读数 8484

评论数 7

原创 CE6会比CE5快吗?

昨天去研华听了一场微软嵌入式多媒体讲座。其实我对讲座本身倒不太在意,我是冲着CE6的评估版光盘去,拿到光盘后不久就撤了,呵呵。虽然可以从网上直接 下载,但是放在硬盘里还是很占地方的,自己刻光盘也嫌麻烦。到的时候晚了几分钟,好在讲座也没正式开始,微软的哥们正在向不辞劳苦跋山涉水提前赶到的同志 们喷C...

2006-12-15 20:38:00

阅读数 4747

评论数 2

原创 Hacking Diablo II之完整性检查(Integrity Scan)

d2hackmap有一个完整性检查的功能(Integrity Scan),用来检查游戏进程的代码有没有被改过。这个功能在d2hackmap的“安全开地图”中有所应用。所谓的“安全开地图”,其原理大致是在游戏进程分配一块空间,把“开地图”的相关代码(不是一个完整的DLL模块)注入这块空间,这段代码...

2006-12-11 22:29:00

阅读数 7106

评论数 1

原创 Real VNC是流氓软件?

前几天看到一条新闻,说Microsoft列出中国内地十大流氓软件。前几个看起来还比较靠谱,最后一个让我吃了一惊:几年不见,Real VNC怎么变成流氓了,还是中国的流氓。赶紧跑到Real VNC的主页,还好,首页上写的明白:“ RealVNC is a UK company”。那位要问了,你怎么...

2006-12-08 11:50:00

阅读数 2768

评论数 3

翻译 规避网络游戏的外挂检测机制

译注:这是一篇发表在rootkit.com上的讨论怎么规避warden检测机制的文章,原文在这里。作者Darawk是D2的黑客。之前,暴雪通过Module32First/Module32Next对D2 1.11中的外挂进行了第一次打击,很多使用外挂的玩家尤其是netters EasyMap的玩...

2006-12-01 17:48:00

阅读数 15340

评论数 1

原创 暴雪和黑客的战争七:Warden和外挂的进化(二)

外挂凭着前一篇介绍的三板斧算是应付过了warden的第一轮攻击。但是还有一个问题没有解决:外挂的工作原理是通过安装旁路点(detour patch)修改原有游戏代码的流程,从而获得游戏的控制权。但是从反检测的角度来看,这种工作方式简直是噩梦-检测起来太容易了。在这方面那些不依赖于截获游戏代码工作...

2006-11-29 21:59:00

阅读数 6537

评论数 0

原创 Anti-Warden技术之外挂的自我卸载

外挂Anti-warden的方法之一是给warden mod做数字签名,在检测到不安全或者未知的warden mod时,停止工作。对于以注入到游戏进程的方式运行的外挂来说,应该在warden开始执行检测之前自动卸载。这一篇介绍外挂自动卸载技术,也就是说如何在检测到不安全的.mod时把自己卸载掉。可...

2006-11-28 23:00:00

阅读数 6404

评论数 0

原创 暴雪和黑客的战争六:Warden和外挂的进化(一)

Warden的机制使得暴雪能够在不需要更新客户端的情况下任意更新作弊检测代码。事实上,自从D2升级到1.11以来,Warden的检测mod和外挂双方一直都在针对对方的改变而进化。这一篇介绍外挂如何躲避前一篇提到的.mod使用的三种检测方法:DLL扫描、进程扫描和窗口扫描。躲避DLL扫描前面介绍过,...

2006-11-27 23:26:00

阅读数 7245

评论数 0

原创 暴雪和黑客的战争五:Warden的不完全技术分析

前一篇提到了Warden的基本工作原理,这一篇从具体实现上来看看它到底是如何运作的。首先要说明的是,我在warden上没有花很多功夫,只是一些不完整的分析,也不保证我说的都是正确的。在游戏客户端连接到game server进入游戏的时候(WOW为登录的时候),客户端和服务器端先negotiate一...

2006-11-25 14:40:00

阅读数 5284

评论数 4

原创 如何让ActiveSync直接支持Ethernet连接

用过ActiveSync 连接Windows CE设备和PC的同学都知道,相对于Serial、USB等连接方式,Ethernet连接是个后娘养的孩子-微软出于某种考虑,让Ethernet连接方式在能够使用之前必须先用Seiral或者USB在设备和主机之间建立partnership。我个人一直觉得这...

2006-11-24 17:35:00

阅读数 4111

评论数 0

原创 Process Explorer for WinCE:揭示Windows CE系统运行时状态的强力工具

这篇要介绍的是我自己写的一个用于监控Windows CE运行时系统状态的工具-Windows CE Remote Process Explorer。2004年我开始从事Windows CE平台的开发,之前我对Windows CE几乎一无所知,为了了解Windows CE的系统机制,我利用业余时间写...

2006-11-22 18:02:00

阅读数 16648

评论数 38

原创 如何制作支持VMWare的Windows CE BSP

不知道有没有人试过在VMWare中跑过Windows CE。可能有人会问:在VMWare中跑Windows CE有什么意义?Windows CE不是有基于Vritual PC的emulator吗?要做干吗不做一个基于Microsoft自己的Virtual PC的?简单的答案是,VMWare支持一...

2006-11-19 22:01:00

阅读数 13190

评论数 9

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