原创 Prefer Compiler Error to Runtime Error - taking advantage of the syntax check flag

寫代碼難免會有bug,所以我們會寫很多Test來確保我們的代碼能夠正常工作。但是爲什麼不從源頭上避免bug的發生呢?Compiler可以幫助我們探測到

原创 用Winhex dump exe

爲了順利地dump,你需要準備一個內存編輯工具,比如Winhex(www.winhex.com/winhex )。下面是dump的具體步驟:首先運行e

原创 IDA Pro中"The database is corrupted"的解決辦法

ida pro默認不允許你打開由其他用戶創建的idb文件,這給逆向分析帶來很多不便。經過研究發現,ida pro會在idb文件中存放ida.key的信

原创 遊戲資源提取軟件介紹

注:資源的版權屬相應的遊戲公司所有,請勿將提取得到的資源用於非法的用途。中國EgoUnpacker    支持提取Studio e.go!公司的遊戲。LeafUnpacker    支持提取Leaf公司的遊戲。    這兩款都是winds

原创 漢之雲的“免CD”,盜版商的勝利?

(注:因爲評論中有回覆說mycrack和MENTING不是一個人。慎重起見,對文章內容作了修改) 雖然破解漢之雲並不是一件很困難的事情,但是這麼快就出現盜版還是有些出人意料。操刀此次破解的是“MENTING

原创 程序分析實例 - 無雙大蛇(Orochi)

下面以對KOEI的無雙大蛇的一個bug的研究爲例,介紹程序分析的基本方法。 無雙大蛇是KOEI公司推出的一款動作類遊戲,3.20日發佈了日文PC版。在遊戲過程中發現,進入某些戰鬥的時候程序會陷入死循環,具體表現是在菜單中選擇戰鬥場景之後,

原创 Trip Report: June 2008 ISO C++ Standards Meeting

原文:http://herbsutter.wordpress.com/2008/07/04/trip-report-june-2008-iso-c-standards-meeting/    The ISO C++ committee

原创 C++ Internals: 序言

要深入瞭解一門語言,必須同時瞭解其內部機理,這樣才能合理高效的使用它。本系列文章旨在介紹C++各種特性是如何實現的。VC RTTIC++ Internals: VC RTTI - 基本數據結構C++ Int

原创 讀C++標準系列 - 5.6~5.15 雙目運算符(指針運算)

返回目錄5.7 + -對於涉及指針的算術運算,標準中有比較嚴格的限制條件:參與運算的指針必須指向數組對象中的元素,或者指向數組對象最後一個元素的下一個元素(這是STL中能夠使用distance(v.begin(),v.end())計算元素

原创 讀C++標準系列 - 序言

閒暇之餘讀讀C++的標準也是一件很有意思的事情, 我們可以在C++標準委員會的官方網站(http://www.open-std.org/jtc1/sc22/wg21/)下載C++0X標準的草案。目前最新的版

原创 RPGViewer - 遊戲常用壓縮算法的介紹和識別

deflatehttp://www.zlib.net/這是ZIP默認採用的壓縮算法。ZIP格式使用非常廣泛,不僅有開源的C實現-zlib,還有衆多的商業解決方案。因此在遊戲中採用deflate,可以大大降低

原创 解密QQ消息文件格式

QQ的消息實際上是存放在本地的,位於"QQ安裝目錄/QQ號碼/MsgEx.db"內。關於QQ消息文件格式的文章,網上有不少,但是沒有一篇是完整並且可重現。結合QQ聊天記錄察看器 5.1,我做了一些研究,重現

原创 C++ Internals: VC RTTI - 基本數據結構

返回目錄網上資料比較少,ms還是有研究的價值 ^_^相關資源:Reversing Microsoft Visual C++ Part II: Classes, Methods and RTTIReversing C++C++的RTTI一旦

原创 CSDN Blogger小工具

C#編寫,需要.Net framework 2.0的支持(可以在我的網盤的“小工具”目錄或者CSDN下載)提供文章備份和代碼語法高亮功能1、文章備份首先輸入你的用戶名、密碼,並根據圖片輸入驗證碼。這樣就可以

原创 C++ Internals: VC RTTI - dynamic_cast (2)

返回目錄下面進入正題,讓我們見識一下dynamic_cast到底是如何實現的。首先,在你調用dynamic_cast之前,編譯器會幫你進行語法檢查。如果指針的靜態類型和目標類型相同,那麼就什麼事情都不做。否則,首先對指針進行調整,使得它指