[工具]反組譯的好工具-JustDecompile

介紹一下JustDecompile的使用方式和動機

前言

因為公司的專案年代久遠,所以很多專案都包成dll參考進方案裡,雖然加快了編譯的速度,但是追蹤原始碼便成了一件難事,常常都要開很多個visual studio只為了追蹤原始碼,造成了電腦的速度也越來越慢,雖然筆者以前用的是ilspy這套工具來反組譯人家的原始碼,但最近在看公司的原始碼卻發現有些時候原始碼差異有點大,所以就繼續尋找更合適的工具了,以筆者理解目前能反組譯的幾種常見工具如下

  1. Reshape(收費)
  2. .net relector(收費)
  3. ilspy
  4. dot peek(個人覺得挺難用的,或許我不知道怎麼用)
  5. JustDecompile

其實筆者公司有提供Reshape給同仁使用,Reshape算是最方便和快速,只要按F12會自動反組譯原始碼可以看,但是我實在不太想依賴這麼貴的工具,在來是因為功能太強大了,我可能用不到那麼多功能,還有我怕會拖累電腦速度,其餘四種我都試用過了,最後選擇的是JustDecompile,這邊我不做產品比較,或許是我不會用之類的原因,總之最後我覺得JustDecompile最適合我,而且因為是另外一個工具,就不會在加重visual studio的負擔,這也是我覺得挺好的原因。

官網下載

http://www.telerik.com/products/decompiler.aspx

可以看到官網已經說明此工具為免費使用的,所以就安心的下載來使用吧。

安裝完之後就可以去尋找這個工具,然後開啟起來,然後如圖示說明

這邊的說明是筆者目前有用到的部份,其餘比較沒用到的,就請讀者再自行研究看看,然後我們可以再看一下visual studio的部份

也可以把Dll一次選取起來,然後選擇View in JustDecompile之後,就會自動打開View in JustDecompile了

我們可以直接搜尋想看到的方法,然後再針對想追的原始碼直接點擊,就可以直接追到參考的原始碼,但是如果我們想要完全在裡面追蹤原始碼的話,連本身專案都要的話,就可以直接去DEBUG裡面把DLL全部參考進來

可以看一下我的操作,其實也非常簡單

然後我們可以把這個DLL直接Create Assembly List,如果在DLL變動不大的話,下次就直接打開,在裡面追蹤原始碼就好了,非常方便,但是得注意一下哦,在介面的追蹤上就沒有那麼方便了,只會追蹤到介面的部份,只能再自己另外搜尋實做的類別和方法名稱了。

結論

有了這麼方便追蹤程式碼的工具,就可以先確定完要改的程式碼,再去開啟真正的專案來修改,簡略的介紹一下這工具,如果各位有發現更好的工具,或者使用方式再請分享給筆者喔。