|
推薦兩款神器:Deblector和reflexil
Deblector
它的名字是Debug 和 reflector 兩個單詞的結(jié)合。就是用來調(diào)試的。 簡單的說,它可以像ide一樣啟動調(diào)試進(jìn)程,或者Attach到一個運行中的進(jìn)程,并調(diào)試他們,設(shè)置斷點,單步運行,查看變量等等。 它不需要pdb文件,也不會像reflector pro的調(diào)試插件一樣依賴ide,也不需要反編譯dll。 一切工作僅在reflector內(nèi)部完成,是不是很cool。 但缺點也是有的,那就是它只能在il級別調(diào)試。不過對于我們調(diào)試bug來說,這個基本已經(jīng)足夠了。
簡單說一下這個插件的用法。安裝到reflector后, tools菜單下會多一個Deblector菜單。
點開這個菜單,就可以打開這個插件了。 這時reflector的toolbar上會多出一些button。
如果想啟動一個新進(jìn)程調(diào)試的話,可以把exe拖到reflector中, 然后點擊toolbar上的第一個按鈕,就是小三角,就可以自動啟動這個exe并進(jìn)入調(diào)試模式。
此時進(jìn)程啟動起來了,但是會在main函數(shù)的入口處斷住,等待你的操作,這個時候你可以找到你想要設(shè)斷點的方法,F(xiàn)9設(shè)置斷點。
然后點擊小三角或者F7繼續(xù)運行程序。然后當(dāng)程序走到斷點的時候,就能斷住了。
這里要注意一點,要設(shè)置斷點,必須在程序已經(jīng)斷住的時候才能設(shè),這就是為什么在程序一開始會自動斷在main入口處的原因了。 如果中途還想設(shè)斷點,可以點擊暫停按鈕。暫停下來,再設(shè)。 其他的功能自己玩吧。 這個工具目前好像已經(jīng)停止更新了,我測試的可以調(diào)試3.5的代碼。4.0的似乎調(diào)不了。
reflexil
簡單的說這個東東可以修改dll的代碼,并保存成一個新的dll。按照它自己的說法叫做dll注入工具。 單看這一點似乎沒什么。 但這個插件的功能卻是很強(qiáng)大。我簡單的說一些: 安裝后,會有這個菜單,
當(dāng)你選中一個方法的時候,它能顯示處il代碼以及很多別的信息,這些信息都是可以修改的。
尤其值得一提的是他的 “Replace All will Code” 功能, 點開會出現(xiàn)一個C# 代碼編輯器, 和當(dāng)前方法的空方法體,然后可以自由書寫代碼。帶智能提示的哦。寫完之后點擊 Compile就可以了。 注意這里寫代碼似乎要用全名,別的有時候可能會出錯,編不過。
其他的功能就不多說了,它幾乎可以修改dll中的任何地方,而且對強(qiáng)名的支持,已及對強(qiáng)名引用的支持都很強(qiáng)大 有興趣的可以自己試。
歡迎大家分享一下心得。
下載地址:DeblectorAddin-1.1.zip、reflexil.1.1.bin.zip
NET技術(shù):給大家分享兩款正在使用的reflector插件,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。