Lilyandy 發表於 2007-10-1 12:25:18

有關ASCII字串修改的問題

<P>大家好!</P>
<P>晚輩算是業餘的中文化作者,(因為偶而才因自己的需求才做的)</P>
<P>但是很少修改ASCII字串,</P>
<P>所以比較沒有碰到這些問題。</P>
<P>&nbsp;</P>
<P>因為正好想使用某些軟體如BinPatch,</P>
<P>因此才著手修改字串成為個人特別風格。</P>
<P>&nbsp;</P>
<P>但是卻碰上不少技術上的問題,</P>
<P>也在網路上搜尋了不少前人經驗,</P>
<P>可是一直無解(因為不具有程式設計的背景),</P>
<P>無耐只好買了范大師的著作,</P>
<P>雖然部份修改字串成功了,(比如:&amp;Apple ==&gt; 套用(&amp;A))</P>
<P>但是還是有許多問題,</P>
<P>如斷行、空白、…等。</P>
<P>&nbsp;</P>
<P>然而因為偏移量轉換器在xp下無法執行,</P>
<P>只好用 Plus 1.05版內建的偏移量轉換器,</P>
<P>但它是試用版的…所以在修改時相當大的不便(但又比在UltraEDIT下改方便多了),</P>
<P>不知有誰知道它的購買方式嗎?</P>
<P>&nbsp;</P>
<P>另外請問范大師您問前是使用那一種程式Patch製作呢?</P>
<P>雖然目前大家的頻寬都一個比一個來的大,</P>
<P>但是晚輩還是希望能做出輕巧的Patch,</P>
<P>所以才會打 BinPatch 的主意,</P>
<P>可是卻一直找不到那邊買的到?</P>
<P>&nbsp;</P>
<P>PatchMarker 做出來的 Patch 也相當的小巧,</P>
<P>可是無法自動產生備份,所以也不太理想,</P>
<P>不知有沒有更好用的工具呢?</P>
<P>&nbsp;</P>
<P>另外VC++ 2005 免費版的好像無法修改是嗎?@@?</P>
<P>所以只好用 Sisulizer 了…(之前是用exespoce)。</P>
<P>&nbsp;</P>
<P>以上望前輩前指導。謝謝!^_^</P>
<P>&nbsp;</P>

MarchFun 發表於 2007-10-1 17:05:47

<P>偏移量轉換器在 XP 下是可以執行的,至少我用起來沒有問題。版本是0.94B。真的不行的話,設定一下相容性模式為 98 或 2000 試試。斷行及空白等 ASCII 字串,書中有提及,使用 0D0A 及 20。</P>
<P>&nbsp;</P>
<P>至於 BinPatch 及梁利峰開發的那些軟體,註冊網頁都已失效。要買的話可能真的得找到本人才行。</P>

MarchFun 發表於 2007-10-1 17:12:53

<P>補上一個資訊:</P>
<P>&nbsp;</P>
<P>梁利峰的點晴工作室網站:</P>
<P><A href="http://llf.javaeye.com/">http://llf.javaeye.com/</A></P>

Lilyandy 發表於 2007-10-2 17:10:13

<P>大師~您好!</P>
<P>晚輩修改了好幾次,結果都差不多。</P>
<P>&nbsp;</P>
<P>用偏移量轉換器時(0.94c版的,是1.05試用版內附的),</P>
<P>雖然能夠正常顯示,</P>
<P>但是排版很奇怪,</P>
<P>因為空白好多!(用20)</P>
<P>&nbsp;</P>
<P>最後只好自已手動用UltraEdit一個一個的改,</P>
<P>雖然空白沒有了,(用00)</P>
<P>但是 OK 的字不見了!&gt;"&lt;</P>
<P>還多了空白!&gt;&lt;"</P>
<P>&nbsp;</P>
<P>之後由 00 改為 FF ,</P>
<P>空白是消失了,</P>
<P>可是 OK 的字一樣不顯示,</P>
<P>請問是什麼問題呢?</P>
<P>&nbsp;</P>
<P>這是晚輩的修改結果,請大師過目:(請下載)</P>
<P><A href="http://www.sendspace.com/file/ubpex5">http://www.sendspace.com/file/ubpex5</A></P>
<P>&nbsp;</P>
<P>內有三個檔案。</P>
<P>&nbsp;</P>
<P>其中一個檔案的註釋晚輩寫錯了。</P>
<P>本來是:dopatch.stb_偏移量版</P>
<P>應該是:dopatch.stb_Localize Plus 1.05版(20)</P>
<P>&nbsp;</P>
<P>因為本來要用偏移量的,</P>
<P>但是發現多出空白很難看,</P>
<P>所以只好重改.........</P>
<P>&nbsp;</P>
<P>對了,晚輩是改 BinPatch 3.0n 的:</P>
<P>\BinPatch\bin\stubs\gui\Win32\comp\dirpat\dopatch.stb</P>

[ 本文最後由 Lilyandy 於 2007-10-2 05:12 PM 編輯 ]

MarchFun 發表於 2007-10-3 13:34:57

<P>不要再辛苦了,這裏有中文化版本:</P>
<P><A href="http://www.suma.tw/forum/thread-2862-1-1.html">http://www.suma.tw/forum/thread-2862-1-1.html</A></P>

Lilyandy 發表於 2007-10-3 15:17:36

<P>原文由 <I>MarchFun</I> 於 2007-10-3 01:34 PM 發表 <A href="http://www.suma.tw/forum/redirect.php?goto=findpost&amp;pid=10947&amp;ptid=2861" target=_blank><IMG alt="" src="http://www.suma.tw/forum/images/common/back.gif" border=0></A> 不要再辛苦了,這裏有中文化版本: http://www.suma.tw/forum/thread-2862-1-1.html </P>
<P>&nbsp;</P>
<P>@@嗯~,其實晚輩也有取得已中文化的版本,</P>
<P>但是為了練習改ASCII,</P>
<P>所以才拿 BinPatch3.0n來開刀練習的......@@"</P>
<P>&nbsp;</P>
<P>另一方面也想改出適合自已特色的版本出來呢....</P>
<P>&nbsp;</P>
<P>剛才看了一下....</P>
<P>翻譯的方式…這不是小貓版的嗎?@@???</P>
<P>感覺翻譯的方式一樣....</P>
<P>&nbsp;</P>
<P>奇怪....無論晚輩怎麼Try就是改失敗~&gt;"&lt;~</P>
<P>不信邪.....</P>
<P>還是想辨法學學這玩意...</P>
<P>&nbsp;</P>
<P>不知大師是否能夠提示?</P>
<P>晚輩改不出與大師與小貓前輩的那種效果.....</P>
<P>&nbsp;</P>
<P>不過怪了。怎麼明明都是 3.0n的版本,</P>
<P>但是核心版本不一樣?</P>
<P>&nbsp;</P>
<P>晚輩在Cpatch下載的3.0n版而言,</P>
<P>genpatch 版本為3.0k</P>
<P>&nbsp;</P>
<P>大師提供的 genpatch 版本為 3.0o</P>
<P>整整跳了 l m n o 四個版本號.....</P>

[ 本文最後由 Lilyandy 於 2007-10-3 03:32 PM 編輯 ]

MarchFun 發表於 2007-10-3 17:32:49

<P>你說的「效果」是什麼我不知道(因我沒改過這套)。不過我猜你遇到的問題可能與「文字區塊」有關。一般常見的 ASCII 字串均為字串形式。就是從頭到 00 為一句的字串,以一般的文件來說就是一行的文字。「文字區塊」則有所不同,就一般的文件來說類似多行文字。這個時候你如果使用字串替換器之類的工具的話,它會將文字區塊拆成多個文字字串,並在第一個文字串後面填上 00 造後面的字串都無法顯示。這時候你需要以十六進位的方式手動進行調整。</P>
<P>&nbsp;</P>
<P>處理這種區塊文字就要善用十六進位的換行 (0D0A) 來處理。首先將個別的字串翻譯置入後,將每個字串後面多餘的空格 (20) 搬到整個文字區塊最後面的 00 之前,保留每個字串間的 0D0A 不要刪除即可。</P>
<P>&nbsp;</P>
<P>當然你也可以將所有多餘的 20 搬到整個文字區塊最後面 00 之後,不過有時候某些程式會產生問題。</P>
<P>&nbsp;</P>
<P>示例如下:</P>
<P>&nbsp;</P>
<P>未處理前的文字區塊</P>
<P>這是一個 ASCII 多行文字修改的範例。<FONT color=blue>20 20 20 20 20 20</FONT> <FONT color=magenta>0D0A</FONT> 請不要刪除文字區塊中間的換行符號。<FONT color=blue>20 20 20&nbsp;</FONT><FONT color=red>00</FONT> </P>
<P>&nbsp;</P>
<P>處理之後的文字區塊</P>
<P>這是一個 ASCII 多行文字修改的範例。<FONT color=magenta>0D0A</FONT> 請不要刪除文字區塊中間的換行符號。<FONT color=red>00</FONT> <FONT color=blue>20 20 20&nbsp;20 20 20 20 20 20</FONT> </P>

Lilyandy 發表於 2007-10-4 15:43:56

<P>晚輩有修改後,本來有抓圖的,</P>
<P>但是因為無法上傳附件,</P>
<P>所以有點麻煩......@@</P>
<P>&nbsp;</P>
<P>這幾天工作比較忙,</P>
<P>ASCII中文化又只好擔葛了....</P>
<P>加上網路因換ip而無法使用網路,</P>
<P>改天再把圖片上傳到免空好了。</P>
<P>&nbsp;</P>
<P>反正改的很怪就是了@@</P>
<P>&nbsp;</P>
<P>也看了小貓版的改法,但發現版本不同比對也不同,</P>
<P>最慘的是每次解殼之後,</P>
<P>ASCII的排列都不一樣.....天哪.....@@"</P>
頁: [1]
檢視完整版本: 有關ASCII字串修改的問題