跳到主要內容

發表文章

目前顯示的是 2016的文章

lneditor - 漢化文本編輯器建置

這幾天找了一個漢化常用的工具來研究。 lneditor 是某個位漢化組大神寫出來的文本編輯工具,原始碼幾乎全部都是使用組合語言寫成,這真的令人佩服。 我這幾天把原始碼拿來compile,雖然最後成功了,不過中途也是遇到各種問題,我這邊就一個一個列出來。 1. WinDDK不存在,這個簡單,把WinDDK裝起來就好 2. Strings.mac不存在,這就麻煩了,這應該是舊版MASM32的東西,新版並沒有,我好不容易才在網路上找到。 3. STRINGA定義問題,直接把STRINGA定義註解掉就好 4. zlib版本過舊,去下載zlib源碼,用VC建置 5. delete(void*, unsigned int)沒有定義,自己定義 6. 找不到 lnedit2.lib,源碼中C++資料夾下有這個lib的專案檔,用VC把它建出來

鬼畜王ランスWin10硬碟版製作方法

主要參考這兩篇文章(其實是同一文章的不同語言版本): 鬼畜王蘭斯Win7安裝流程 (中文) 鬼畜王ランスをwindows7にインストールしてみた(改) (日文) 檔案這裡就不提供了,這裡就不再重複敘述完整流程,只說win10要注意的地方: 1.掛載映像檔時,要在win7的環境下掛載,否則無法安裝。我是先裝在虛擬機裡面 2.安裝完成後,直接把遊戲在win7裡的安裝目錄(C:\AliceSoft\鬼畜王ランス)整個複製到win10裡面,到這裡為止,轉區即可進行遊戲,不過沒有BGM 3.之後按照原文,把System39.exe打上,覆蓋鬼畜王SA.ALD,執行ご都合SP3.exe 4._inmm.dll的部分一樣先去他的官網下載,不過季的要載的是 Zip版 (301KB) 5.解壓_inmm238.zip之後,轉日區執行裡面的_inmmcnf.exe

回想--關於遊戲

最近生活終於有些上軌道了,我想回想一下我接觸galgame的歷程,做個紀錄。 第一次接觸galgame應該是高三的時候吧,那時我正熱衷於某論壇,常常沒有事就上去到處逛,基本上都是玩FPS或是運動競技類的單機遊戲比較多。有一次我偶然發現原來有galgame的板塊,於是就近去載了一部下來玩。我還記的當初下載的是 Rewrite,那時候我連key社是什麼都還不清楚,key社的動畫一步都沒看過,就這樣機緣巧合的開始玩 Rewrite。 玩 Rewrite時,由於我還是初次接觸galgame,總覺得劇情進行太慢,於是不少地方都是用skip看過而已,那時我也沒有看攻略,糊裡糊塗的就進到了小鳥線,結局讓我憂鬱了好 陣子。通完小鳥線後,我其實沒有什麼感動,反而覺得有些厭煩,於是就把遊戲丟著不管了。

SiglusEngine地區檢查分析(二)

這次來分析SiglusEngine的第二種與第三種檢查地區的方式。 在這之前可以先看一下之前的一些結果: SiglusEngine地區限制破解 SiglusEngine地區檢查分析(一) 第二個檢查函式在這個地方: 0045DD10  />  E8 8BFCFFFF   CALL 0045D9A0                       ;檢查 0045DD15  |.  84C0                     TEST AL,AL 0045DD17  \.  E9 EA000000     JMP 0045DE06 0045DD1C      90                          NOP 按F7跟進去,乍看之下沒什麼線索,不過有一個地方讓我比較在意: 0045D9E5  |.  50                         PUSH EAX                                                    ; /Arg1 = 1 0045D9E6  |.  B9 782D7C00   MOV ECX,OFFSET 007C2D78                  ; |UNICODE "0411" 0045D9EB  |.  C64424 50 01   MOV BYTE PTR SS:[ESP+50],1               ; | 0045D9F0  |.  E8 4BA0FBFF   CALL 00417A40                            ; \SiglusEngine.00417A40 "0411"很眼熟不是嗎? 這正是是日文的Language ID,顯然這裡是從某處得到系統語言 的Language ID的字串形式,然後再拿那個字串跟 "0411"比較。

SiglusEngine地區檢查分析(一)

之前為了破解SiglusEngine的地區限制,我有做了一些分析: SiglusEngine地區限制破解 這一次我的目的是還原第一個關鍵跳轉那個地方的檢查算法。 首先回顧一下第一個關鍵跳轉: 0045DC5A  |.  E8 81F9FFFF         CALL 0045D5E0          ;檢查 0045DC5F  |.  84C0                         TEST AL,AL 0045DC61      E9 AA000000         JMP 0045DD10 ;第一個關鍵跳轉 0045DC66      90                              NOP 在 CALL 0045D5E0 這裡按 F7 跟進: 0045D5E0  /$  6A FF                    PUSH -1         ;函式開頭 0045D5E2  |.  68 D1087600        PUSH 007608D1                             0045D5E7  |.  64:A1 0000000    MOV EAX,DWORD PTR FS:[0] 0045D5ED  |.  50                           PUSH EAX 0045D5EE  |.  81EC 7C020000 SUB ESP,27C 0045D5F4  |.  A1 90348000        MOV EAX,DWORD PTR DS:[803490] 0045D5F9  |.  33C4                       XOR EAX,ESP 這個函式有點長,我就不全部列出來了。

SiglusEngine地區限制破解

新版網誌: https://casidi.github.io/2016/07/29/siglusengine-cracking/ 採用這個引擎的比較有名的就是key跟SAGA PLANETS這兩家公司了。 這次以SAGA PLANET做的一個小遊戲為分析對象,遊戲可以免費下載: 【はつゆきパズル☆神経衰弱☆】 下載下來的是一個壓縮檔,檔名為 hatsukipuzzle01.zip,直接解壓縮會得到一個資料夾, 名字為: はつゆきパズル 其實遊戲必要的只有 はつゆきパズル\StartData\GameData 這個資料夾,直接把GameData資料夾搬到隨便一個地方,執行SiglusEngine.exe即可啟動遊戲。

BGI引擎概論

BGI全名 Buriko General Interpreter,別名Ethornell,為Buriko公司所開發的遊戲引擎。 較著名的例子有: Lump of Sugar全系列 SMEE近期新作 AUGUST近期新作 HOOKSOFT近期新作 由於沒有公開SDK,網路上幾乎沒有正式的相關內部資訊。 若要做漢化,這篇是很好的入門: Galgame 汉化破解初级教程:以 BGI 为例,从解包到测试

rUGP引擎win10相容性問題追蹤(二)

上一篇折騰了好一陣子才找出出錯的部分,其實有一個更簡便的方法,光利用 OllyDbg就行。 步驟如下: 1. 啟動遊戲 2. 利用 OllyDbg 附加到遊戲程序(rugp2.exe)上

rUGP引擎win10相容性問題追蹤(一)

rUGP引擎在win10下是可以正常啟動的,但是遊戲進行時,時常會在隨機時間崩潰, 在skip時機率更高,skip時在30秒內崩潰的機率幾乎百分百,雖然可以透過存檔繼續推進遊戲,但是這對遊戲的連貫性造成了很大的影響。 第一個想法當然是用 OllyDbg 開啟執行檔來追蹤,不過這裡要用另外的方法找出出問題的地方,流程如下: 1. 直接啟動遊戲,觸發崩潰 2. 選擇"除錯",使用visual studio進行除錯 3. 用vs定位除錯的code 4. 利用IDA分析出錯的部分 現在一步一步來: 1. 直接啟動遊戲,觸發崩潰     直接開始遊戲,按住Ctrl進行skip,遊戲很快就會崩潰:

muv漢化補丁修復

muv的漢化補丁對Win10會有相容性問題,這自從補丁發佈到現在,漢化組都沒有修正的意思,這問題也折騰我好一陣子了,最後決定還是自己debug比較實際。 其實解決方法意外的簡單,不過追蹤的過程挺有趣的,也讓我學到了一個hook的實作方法。 在win10下啟動漢化補丁會出現下面這個對話框:

Qt 靜態連結程式庫編譯方法

詳細的原理請參考原文說明,這裡只針對建置與使用的步驟做整理。 原文: Building a static Qt for Windows using MinGW 使用靜態程式庫主要分2大步驟: 1. 事前準備 1. 建置 2. 設定環境 事前準備: 1. 安裝Qt, 到Qt下載頁 ,選擇 Qt 5.6.0 for Windows 32-bit (MinGW 4.9.2, 1.0 GB) 2. 安裝Windows PowerShell,Win8以上已經有內建,Win7要從 微軟 下載安裝檔安裝,Vista以       前是無法裝PowerShell的,可以直接放棄 3. 安裝 7-Zip, 下載連結

OllyDbg教學(二) -- Hello, World!解析

這次我們的目標是透過觀察Hello World程式,來了解使用OllyDbg的一般流程。 原始程式代碼如下: 編譯指令: gcc -o main.exe main.c 原始碼 main.c: 編譯後產生的main.exe,直接用OllyDbg載入即可。

OllyDbg教學(一) -- 基本操作

這篇簡單介紹一下OllyDbg的用法,還有一些使用上的技巧,這邊假設讀者對程式的執行已經有一定的了解。 OllyDbg 1 主頁 OllyDbg 2 主頁 要用OllyDbg來debug一個程式有兩種方法,第一種是直接以OllyDbg啟動程式,另一種則是先啟動程式,在用OllyDbg附加到執行中的程式。一般用第一種方法就可以成功,第二種方法通常用於一些需要特殊啟動環境的程式。

Galgame引擎概論

作為我的第一篇文章,先來談談galgame引擎的由來。 何謂galgame引擎? 那我們先從以製作galgame的角度說起。 最原始的想法就是直接使用任何一種支援GUI的程式語言,直接以程式碼寫出遊戲的流程以及各項功能。這項工作並不難,其實galgame程序的複雜度,在所有遊戲當中算是相當低的。