Under the hood

互联网上新生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2008年10月16日

摘要: 完整性检查(Integrity Scan)可以检测出进程代码(exe, dll)是否被改过。这种检查可以用在很多地方。比如说有些流氓软件可能会在一些敏感进程中截获某些API来监控用户的行为,完整性检查可以把它检测出来。另外,完整性检查也可以用来分析依赖于代码截获技术的程序,通过观测这些程序的截获点,以截获点为起点进行逆向分析是一种很有效的方法。本文介绍了完整性检查的实现技术。 阅读全文

posted @ 2008-10-16 11:07 sting feng 阅读(706) 评论(0) 推荐(0) 编辑

摘要: 本文介绍如何实现DLL的自我卸载。自我卸载技术在外挂的反检测中是非常必要的。 阅读全文

posted @ 2008-10-16 11:07 sting feng 阅读(834) 评论(0) 推荐(0) 编辑

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

posted @ 2008-10-16 11:06 sting feng 阅读(1217) 评论(0) 推荐(0) 编辑

摘要: 本文介绍Warden的一些具体技术实现细节。 阅读全文

posted @ 2008-10-16 11:06 sting feng 阅读(1359) 评论(1) 推荐(0) 编辑

摘要: 本文介绍如何手工创建partnership,让ActiveSync支持Ethernet方式连接。 阅读全文

posted @ 2008-10-16 11:06 sting feng 阅读(917) 评论(0) 推荐(0) 编辑

摘要: Windows CE有基于Virtual PC的emulator,在VMWare中跑Windows CE有什么意义?简单的答案是,VMWare支持一些Virtual PC(包括Windows CE emulator)不支持的硬件,比如说USB设备。而且根据我的经验,VMWare的性能比Virtual PC强。本文介绍如何针对VMWare虚拟的硬件设备,做一个相应的Windows CE BSP,支持IDE硬盘、声卡、显卡、网卡、USB设备、键盘鼠标等硬件设备。 阅读全文

posted @ 2008-10-16 11:05 sting feng 阅读(1680) 评论(0) 推荐(0) 编辑

摘要: Windows CE Remote Process Explorer是一个和Sysinternals的Process Explorer类似的工具,应用于Windows CE系统。如果你想监控CE下每个进程、线程的CPU使用率,或者想知道每个线程被什么模块什么时刻创建、线程当前的调用栈,或者想知道应用程序运行一段时间后进程堆的使用情况、内存碎片的分布,等等,这个工具都能给你直观的答案。 阅读全文

posted @ 2008-10-16 11:04 sting feng 阅读(2247) 评论(2) 推荐(0) 编辑

摘要: 在实际的应用开发中,log模块设计是必不可少的一部分,log模块设计的好坏直接影响到系统的性能和日后的维护。总的来说,log模块在功能上除了日志级别、时间和消息正文这些必须的信息外,最好还能记录日志产生时尽可能多的信息,比如线程ID、模块名称、源文件、代码行等。在log接口的设计上则应该尽可能简化,以方便使用。在基于C/C++开发的应用中,log接口通常设计成带可变参数的C风格函数。对C 程序员这是很合理的选择,但是对于强调强类型安全的C++来说,可变参函数的类型不安全特性是最遭C++程序员诟病之处。本文给出了一种基于C++ iostream的类型安全且线程安全的log接口。 阅读全文

posted @ 2008-10-16 11:03 sting feng 阅读(852) 评论(0) 推荐(0) 编辑

摘要: 推荐一篇介绍Visual C++对象模型的老文章。这篇文章详细介绍了C++的一些运行时实现细节,诸如类的布局、虚函数机制等。以下摘自原文: This paper looks “under the hood” of C++, explaining “run-time” C++ implementation details such as class layout techniques and the virtual function call mechanism. Questions to be answered include: * How are classes laid out? * How are data members accessed? * How are member functions called? * What is an adjuster thunk? * What are the costs: o Of single, multiple, and virtual inheritance 阅读全文

posted @ 2008-10-16 11:02 sting feng 阅读(268) 评论(0) 推荐(0) 编辑

摘要: 在一个线程出现异常行为时,比如说CPU占用率过高,抛出异常等,你一定想知道这个线程是由哪个模块创建的。因此无论在哪个操作系统上,获取线程名称是诊断线程相关问题的重要一步。在Windows NT/2K/XP/2K3等操作系统下,获取线程名称可通过一些现有的API进行。但是在Windows CE下,没有现成的API可以利用。本文介绍如何在Windows CE下从线程ID获取线程名称。 阅读全文

posted @ 2008-10-16 11:02 sting feng 阅读(3399) 评论(3) 推荐(0) 编辑