<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Van's House]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/vbvan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; vbvan]]></copyright><item><title><![CDATA[藏经阁保护方式研究]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/3432665</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/3432665</guid><author>vbvan</author><pubDate>Wed, 03 Dec 2008 00:13:00 +0800</pubDate><description><![CDATA[藏经阁是比较著名的盗版系列，它对盗版光盘采取了保护措施。如果你将里面的安装程序拷贝到硬盘直接安装的话，会出现如下的提示：你买的不是gamez88的盘，请去退盘显然猫腻在光盘上。如果你用UltraISO打开光盘，可以看到隐藏的9999目录，里面有一个300000000字节的8888.dat文件（注：每期盘的隐藏文件都不尽相同）我们用ProcMon跟踪一下就会发现，安装程序会尝试打开隐藏文件。根据]]></description><category></category></item><item><title><![CDATA[Trip Report: June 2008 ISO C++ Standards Meeting]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/2707884</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/2707884</guid><author>vbvan</author><pubDate>Fri, 25 Jul 2008 09:08:00 +0800</pubDate><description><![CDATA[原文:http://herbsutter.wordpress.com/2008/07/04/trip-report-june-2008-iso-c-standards-meeting/  The ISO C++ committee met in Sophia Antipolis, France on June 6-14. You can find the minutes here (n]]></description><category></category></item><item><title><![CDATA[DreamSpark]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/2494344</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/2494344</guid><author>vbvan</author><pubDate>Thu, 29 May 2008 19:14:00 +0800</pubDate><description><![CDATA[DreamSpark是Microsoft公司向大学在校学生提供免费软件资源的项目，需用使用edu.cn的邮箱进行注册验证。注册之后可以获得一个验证码，这个验证码可以用于获取产品序列号和下载软件。学生可以在非商业性个人教学课程学习和科研中免费使用这些产品。对于非Express版本的软件来说，中国学生实际的下载地址都会指向IP为202.112.35.244的ftp。ftp的用户名为你的用户id，密码为]]></description><category></category></item><item><title><![CDATA[程序分析实例 - 无双大蛇（Orochi）]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/2218770</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/2218770</guid><author>vbvan</author><pubDate>Wed, 26 Mar 2008 10:08:00 +0800</pubDate><description><![CDATA[下面以对KOEI的无双大蛇的一个bug的研究为例，介绍程序分析的基本方法。无双大蛇是KOEI公司推出的一款动作类游戏，3.20日发布了日文PC版。在游戏过程中发现，进入某些战斗的时候程序会陷入死循环，具体表现是在菜单中选择战斗场景之后，画面变黑，但是一直不出现战前配置的界面。Alt+F4关闭主窗口之后，还可以在任务管理器中找到它的进程。因为是进入战斗场景时发生的问题，猜测可能是读取或者解析场景]]></description><category></category></item><item><title><![CDATA[RPGViewer - 游戏常用压缩算法的介绍和识别]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/2118668</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/2118668</guid><author>vbvan</author><pubDate>Mon, 25 Feb 2008 11:26:00 +0800</pubDate><description><![CDATA[deflatehttp://www.zlib.net/这是ZIP默认采用的压缩算法。ZIP格式使用非常广泛，不仅有开源的C实现-zlib，还有众多的商业解决方案。因此在游戏中采用deflate，可以大大降低编程的成本。很多国外游戏的档案都采用这种压缩算法，或者直接使用ZIP文件格式存储资源。目前不少国内厂商也开始采用deflate。默认ZIP使用的deflate，传入的WindowBits是-0x]]></description><category></category></item><item><title><![CDATA[游戏资源提取软件介绍]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/2117087</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/2117087</guid><author>vbvan</author><pubDate>Sun, 24 Feb 2008 18:36:00 +0800</pubDate><description><![CDATA[注：资源的版权属相应的游戏公司所有，请勿将提取得到的资源用于非法的用途。中国EgoUnpacker    支持提取Studio e.go!公司的游戏。LeafUnpacker    支持提取Leaf公司的游戏。    这两款都是windseven的作品，采用类似于WinZip的界面，仅支持解包。不过他在ys168上的网盘已经不存在了。Kid Tools GUI v1.5 build 050905 ]]></description><category></category></item><item><title><![CDATA[VC Team Blog - TR1实现问答]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/2043647</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/2043647</guid><author>vbvan</author><pubDate>Mon, 14 Jan 2008 16:28:00 +0800</pubDate><description><![CDATA[原文：Q&A on our TR1 implementation大家好，我是Stephan，Visual C++库函数组的程序员。Visual Studio 2008扩展功能库的beta版已经发布（可以在这里下载，文档在这里），其中包含了TR1的实现，我想在这里回答一些关于TR1的问题 Q. 扩展功能库是针对哪个Visual C++版本的？A. 扩展功能库是针对Visual C++ 2008的RT]]></description><category></category></item><item><title><![CDATA[汉之云的“免CD”，盗版商的胜利？]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/2017780</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/2017780</guid><author>vbvan</author><pubDate>Thu, 03 Jan 2008 11:34:00 +0800</pubDate><description><![CDATA[（注：因为评论中有回复说mycrack和MENTING不是一个人。慎重起见，对文章内容作了修改）  虽然破解汉之云并不是一件很困难的事情，但是这么快就出现盗版还是有些出人意料。操刀此次破解的是“MENTING”（不知是否就是看雪论坛的那位MENTING？），和盗版商同流合污，特意将10M+的解密数据隐藏在了3G的垃圾之中。SecuRom 的脱壳早已不是什么秘密，ARTeam有详细的教程。SecuR]]></description><category></category></item><item><title><![CDATA[读C++标准系列 - 5.6~5.15 双目运算符（指针运算）]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/1946910</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/1946910</guid><author>vbvan</author><pubDate>Tue, 18 Dec 2007 15:11:00 +0800</pubDate><description><![CDATA[返回目录5.7 + -对于涉及指针的算术运算，标准中有比较严格的限制条件：参与运算的指针必须指向数组对象中的元素，或者指向数组对象最后一个元素的下一个元素（这是STL中能够使用distance(v.begin(),v.end())计算元素个数的前提条件）。（注：对于指向普通对象的指针，可以将该对象当成长度为1的数组中的元素）（5.7-4）否则，会导致未定义的行为。指针加减一个整型类型，相当于对指针]]></description><category></category></item><item><title><![CDATA[C++ Internals: 序言]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/1941835</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/1941835</guid><author>vbvan</author><pubDate>Sun, 16 Dec 2007 13:21:00 +0800</pubDate><description><![CDATA[要深入了解一门语言，必须同时了解其内部机理，这样才能合理高效的使用它。本系列文章旨在介绍C++各种特性是如何实现的。VC RTTI C++ Internals: VC RTTI - 基本数据结构 C++ Internals: VC RTTI - typeidC++ Internals: VC RTTI - dynamic_cast (1)  C++ Internals: VC RTTI - dyn]]></description><category></category></item><item><title><![CDATA[解密QQ消息文件格式]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/1937440</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/1937440</guid><author>vbvan</author><pubDate>Fri, 14 Dec 2007 21:16:00 +0800</pubDate><description><![CDATA[QQ的消息实际上是存放在本地的，位于"QQ安装目录/QQ号码/MsgEx.db"内。关于QQ消息文件格式的文章，网上有不少，但是没有一篇是完整并且可重现。结合QQ聊天记录察看器 5.1，我做了一些研究，重现了读取并显示历史消息的完整过程。一个很好的学习QQ相关算法的实例，是它的Linux版本LumaQQ首先，MsgEx.db文件的大致结构可以参考QQ聊天记录查看器 5.3 华军版IStorage的]]></description><category></category></item><item><title><![CDATA[C++ Internals: VC RTTI - dynamic_cast (2)]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/1925675</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/1925675</guid><author>vbvan</author><pubDate>Sun, 09 Dec 2007 17:12:00 +0800</pubDate><description><![CDATA[返回目录下面进入正题，让我们见识一下dynamic_cast到底是如何实现的。首先，在你调用dynamic_cast之前，编译器会帮你进行语法检查。如果指针的静态类型和目标类型相同，那么就什么事情都不做。否则，首先对指针进行调整，使得它指向vftable，并将其和调整之后的指针、调整的偏移量、静态类型以及目标类型传递给内部的__RTDynamicCast函数。其中最后一个参数指明转换的是指针还是引]]></description><category></category></item><item><title><![CDATA[GoogleBook页面地址获取工具]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/1923537</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/1923537</guid><author>vbvan</author><pubDate>Fri, 07 Dec 2007 22:03:00 +0800</pubDate><description><![CDATA[Google给每个页面图片的地址都加上了验证码来防止批量下载。通过对网页源代码的分析，可以发现每个页面都包含1~5个相邻页面的图片验证码。同时，每个页面都包含所有其它页面的地址。因此可以很容易的写出一个批量获取图片地址的小工具（工具可以在优快云下载）首先进入你要分析的book的某一页，将浏览器地址栏的地址传给GoogleBook即可比如：GoogleBook "http://books.goog]]></description><category></category></item><item><title><![CDATA[优快云 Blogger小工具]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/1910821</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/1910821</guid><author>vbvan</author><pubDate>Sat, 01 Dec 2007 17:08:00 +0800</pubDate><description><![CDATA[C#编写，需要.Net framework 2.0的支持（可以在我的网盘的“小工具”目录或者优快云下载）提供文章备份和代码语法高亮功能1、文章备份首先输入你的用户名、密码，并根据图片输入验证码。这样就可以登陆了登陆之后会自动加载文章列表（里面的序号和PostEdit.aspx?后面的id对应）点击备份之后就会把文章保存到当前目录的Xml文件夹下。保存的文件格式是xml，程序在Xml目录中附带了B]]></description><category></category></item><item><title><![CDATA[C++ Internals: VC RTTI - dynamic_cast (1)]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/1909013</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/1909013</guid><author>vbvan</author><pubDate>Fri, 30 Nov 2007 13:28:00 +0800</pubDate><description><![CDATA[返回目录相对而言，dynamic_cast的实现比较复杂，因此我们首先看一下它的简化版本dynamic_castvoid  *>。根据标准5.2.7-7，dynamic_castvoid  *>会将当前指针转化为指向实际对象（most derived object）的指针。比如说： class T1 {public: virtual ~T1() {}}; class T2 {public: vir]]></description><category></category></item><item><title><![CDATA[C++ Internals: VC RTTI - typeid]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/1907934</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/1907934</guid><author>vbvan</author><pubDate>Thu, 29 Nov 2007 21:54:00 +0800</pubDate><description><![CDATA[返回目录在研究过VC的RTTI的基本结构之后，我们先来看看最简单的typeid是怎么实现的。在VC中，当你对多态类的指针ptr使用typeid(*ptr)之后，编译器会做两件事情：首先是将指针进行调整，使它指向当前类的vftable处（注意，类的vftable未必处在类的开始），然后再调用__RTtypeid，返回type_info对象。我们可以试验一下下面的代码。 templatetypenam]]></description><category></category></item><item><title><![CDATA[C++ Internals: VC RTTI - 基本数据结构]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/1907741</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/1907741</guid><author>vbvan</author><pubDate>Thu, 29 Nov 2007 19:41:00 +0800</pubDate><description><![CDATA[返回目录网上资料比较少，ms还是有研究的价值 ^_^相关资源：Reversing Microsoft Visual C++ Part II: Classes, Methods and RTTIReversing C++C++的RTTI一旦遇上了多重和虚继承，简直就是噩梦 -.-这里介绍一下VC中用来表示RTTI的内部数据结构（具体可以参考《Reversing C++》里的描述）。利用下面的程序可以]]></description><category></category></item><item><title><![CDATA[C++界面库 - Xtreme Toolkit Pro]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/1899282</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/1899282</guid><author>vbvan</author><pubDate>Fri, 23 Nov 2007 13:20:00 +0800</pubDate><description><![CDATA[一套扩展MFC的界面库，可以很方便的实现各种界面风格。不过话说VC2008的MFC即将集成它竞争对手的产品BCGControl，呵呵  官方网站：http://www.codejock.com/products/toolkitpro  最新的11.20版本已经支持VC2008了，所以编译没有太大的问题。要注意的一点是，源文件的注释有一些非GBK字符，编译的时候命令行里最好加上/wd4819  使用]]></description><category></category></item><item><title><![CDATA[Win98 is gone]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/1899055</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/1899055</guid><author>vbvan</author><pubDate>Fri, 23 Nov 2007 11:22:00 +0800</pubDate><description><![CDATA[Win98早已被MS抛弃，不过至少VC2005编译的程序仍然可以在98下运行。但是如今， 随着2008的发布，Win98终于完全被无视，悼念一下。VC2005的时候，虽然官方没有提供对Win98的正式支持，但是ANSI方式编译的程序仍然可以正常运行。对于使用Unicode方式编译的程序，相对而言麻烦一些。因为Win98本身对Unicode的支持很差，所以要借助Microsoft Unicode L]]></description><category></category></item><item><title><![CDATA[精确测量代码的CPU运行周期]]></title><link>https://blog.youkuaiyun.com/vbvan/article/details/1890050</link><guid>https://blog.youkuaiyun.com/vbvan/article/details/1890050</guid><author>vbvan</author><pubDate>Sat, 17 Nov 2007 16:39:00 +0800</pubDate><description><![CDATA[工欲善其事，必先利其器。为了优化代码，我们需要准确的获取代码在运行期间的相关数据，比如最重要的运行时间。这里介绍若干种测量方法。目前有不少商业软件可以完成类似的测试，比如Intel VTune，AMD CodeAnalyst等等。VS2005的Professional版本中也有相应的Profiling功能。不过，对于轻量级的代码优化而言，杀鸡未必要用牛刀。首先，对于简单的计时需求，可以使用boos]]></description><category></category></item></channel></rss>