初來乍到,希望園子裡的大牛們不要扔磚頭哈,本人做開發也有幾年時間了,一直想擁有自己的一個blog,當然也是一直比較忙,最重要的一點,本人比較菜的緣故吧,呵呵,今天終於鼓起勇氣啦!切入正題,由於本人最近在研究UO方面的東東,找到一個用Delphi寫的Client,怎麼辦呢?本人畢竟是搞C#和.net的,Delphi不熟悉,就在網上找到一個Delphi2cs的軟體,很開心呀^_^!試了挺好,可是最後一看,呀!
// Delphi2CS trial converts the .PAS file that is less than 500 lines.
// Main.pas is 4343 lines.
// Please purchse the final version to avoid the limitation.
本人英語不是很好,但差不多意思看懂了,這個版本不能轉換超過500行的delphi檔案,國外和國內的網站搜了一大圈,沒有破解的方法-_-|||。
怎麼辦呢?想想還是自己動手吧,自己動手豐衣足食,於是網上找教程,就依葫蘆畫瓢吧!
首先用Reflector反編譯下delphi2cs.exe,咦,不錯呀,C#寫的,對上道了,哈哈!
代碼雖然亂但好像沒有混淆呀,慶幸,要不然我可束手無策了!終於被我找到一句:
else if (this.GB.A > 500)
{
this.ED("Delphi2CS trial converts the .pas file that is less than 500 lines.");
builder3.Append(" // Delphi2CS trial converts the .PAS file that is less than 500 lines. \r\n");
string fileName = Path.GetFileName(this.O);
builder3.Append(string.Concat(new object[] { " // ", fileName, " is ", this.GB.A, " lines. \r\n" }));
builder3.Append(" // Please purchse the final version to avoid the limitation.\r\n");
flag = true;
}
這不就是關鍵的地方嗎?
於是照著網上的教程首先用ILDASM儲存成il檔案,再用EmEditor開啟il檔案進行修改,開啟我傻眼了,il看不懂呢!咋改呢!
片:
看到了吧,原先是500,我改成500000了,嘻嘻(我蒙的), 我相信應該沒有500000行的代碼,反正我是沒見過!
再用ILASM工具重新編譯成EXE檔案,在VS2008命令列下執行 ilasm /exe d:\4.il 這裡要注意一下,剛開始我怎麼編譯都是失敗,後來才發現我用的是VS2005的ILDASM和ILASM,因為EXE是.net3.5的,所以必須要用VS2008下的工具才可以編譯成功。大功告成,試了一下,一個幾千行檔案也轉換成功了^_^!呵呵,就寫到這裡吧,第一次搞破解,第一次在園子裡面寫blog,第一次原創...不為別的了,只為記憶自己程式人生中的點滴,希望各方大牛們多多指教!
http://files.cnblogs.com/liufei88866/Delphi2cs的軟體.rar