西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)其它知識 → Reflector reflexil爆破軟件使用實例

Reflector reflexil爆破軟件使用實例

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2016/1/17 22:53:39字體大。A-A+

作者:西西點擊:76次評論:1次標(biāo)簽: Reflector

  • 類型:反編譯(譯逆工程)大。9.3M語言:英文 評分:4.0
  • 標(biāo)簽:
立即下載

一起玩一個CrackMe(C#),打算一起來寫KeyGen,他用的是爆破的方法,我修復(fù)程序后發(fā)現(xiàn)里面常量各種溢出...無奈,只能用reflexil注入方法,然后寫出KeyGen.
分享下使用reflexil常用的幾個方法..

Reflector 之reflexil使用

先寫個簡單的控制臺程序

工具,添加插件.

選中reflexil 1.6 (1.7從來沒附加成功過.不知道為啥..)

一 直接修改操作數(shù)

可以直接編輯IL

Update 后

在程序集中右鍵

另存程序.

執(zhí)行剛保存的程序

還可以直接添加IL 接著讓后面繼續(xù)輸出

二 直接注入IL

右鍵,新建(new Create),填寫對應(yīng)的操作碼,選擇類型,

值得注意的是右邊的按鈕,append(添加),接著是插入在選擇之前,然后是插入在選擇之后;別選錯了.

注意    注入的時候操作數(shù)的類型別選錯了.

然后繼續(xù)參照上面的,將程序另存一次.

三 替換代碼

如果不想折騰IL,直接選擇 替換所有代碼.

不過這意味著你要重寫所有代碼(大多數(shù)時,我都會用在重寫某個方法上)…然后提交一下,他會自動編譯, 然后繼續(xù)參照上面的,將程序另存一次.

提交完成后會自動編譯,并且再右側(cè)區(qū)域會生成對應(yīng)的IL.

然后繼續(xù)參照上面的,將程序另存一次.

執(zhí)行下…

四  注入方法

別選錯地方了.是你要將方法注入到某個類中,不是注入class所以,一定是在類上右鍵

暫時只能注入返回值為void的方法

對了,點擊OK后會有個該死的提示,這提示的大致意思是:

當(dāng)你在執(zhí)行,增加,刪除,重命名,等動作時,你不會直接看見相應(yīng)的操作,他們是不同步的.

你必須要重新加載程序集才可以看見.

當(dāng)然,你還需要將程序另存一次.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

然后你需要關(guān)閉程序集,接著重新打開剛才另存的 

現(xiàn)在方法已經(jīng)注入進(jìn)去了.

然后我需要給它添加點內(nèi)容..

讓方法輸出個InjectedMethod字符串

在方法中添加IL

接著修改Main方法,并且調(diào)用剛才注入的方法.

另存下..

執(zhí)行結(jié)果.

Ps:   如果是替換代碼的話,先更改injectmethod時不用實現(xiàn)main方法,只需要修改injectmethod()方法,然后再去修改Main方法.調(diào)用時因為injectmethod方法不是static所以需要實例化Program

接下來說說添加有參數(shù),有返回值的方法:

先在參數(shù)(parameter)標(biāo)簽,中添加一個參數(shù).

然后在屬性標(biāo)簽中修改返回值為string.

接著使用替換代碼的功能

可以看見方法已經(jīng)帶有參數(shù)并且有返回值.

修改下這個方法

打印下傳進(jìn)來的名字,并且打印當(dāng)前時間

修改主函數(shù)調(diào)用

編譯,然后不要忘記另存….

Good Job .

Have Fun .

By McevilRock

9-7/2014

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(1)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)