2008年10月7日 星期二

利用 JAD 將程式碼反組譯心得

最近有一項 task 還蠻有趣的,由於 Production 上的 JAR 檔案與版本控制上的程式碼不盡相同,因此每次改程式的方式,都是從測試機將 JAR 檔抓下來再將修好的 .class 檔案放進去測試,但這樣比較有風險,因為我們不知道放進去的程式會不會影響到其它的 binary 檔案。

為了作調整,將 Production 與 SVN 裡面的程式碼作同步是勢在必行了,但是 binary 檔案與 java 的格式本來就不同,那要如何作比較? 這裡提供一個簡單的方法,利用 jad.exe 將我們從 SVN checkout 的檔案反組譯,這樣他跟 JAR 檔就有比較的基準了。

每次 build 的檔案是從版本控制上下來的程式碼,比較容易追朔、也降低了風險,最重要的是我們可以確定測試機、與正式機的內容是一樣的。

0 意見: