日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

17. OD-带有多态、变形的程序进行打补丁去掉nag(分析xor加密解密、自身修改代码的程序)

發(fā)布時(shí)間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 17. OD-带有多态、变形的程序进行打补丁去掉nag(分析xor加密解密、自身修改代码的程序) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

?

win32程序?

此程序打開會(huì)彈出一個(gè)neg,確定后彈出主對話框

查找字符串,下斷點(diǎn),發(fā)現(xiàn)程序并沒有進(jìn)斷點(diǎn),這些匯編是坑爹的,故意搞混我們

此程序非主流,一般我們寫的程序均為push ebp

往上看代碼,發(fā)現(xiàn)這些字符均不是代碼,好像進(jìn)入數(shù)據(jù)段一樣,因?yàn)檫@是OD幫你自動(dòng)分析了

我們?nèi)∠鸒D的自動(dòng)分析

代碼恢復(fù)正常

自己在異或代碼,也就是自己改代碼,變形?

最常用的加密手段?

7 xor 2 = 5

2 xor 5 = 7

第一個(gè)call進(jìn)行xor解密

第二個(gè)call進(jìn)入繼續(xù)解讀

這里還有一個(gè)xor解密

循環(huán)地址為00403000 -> 00403120

觀察發(fā)現(xiàn)MessageBox中的參數(shù)地址就是這個(gè)循環(huán)里的過程地址

可見原本是亂碼的字符串參數(shù)進(jìn)行xor解密后得到正確的字符串

那么我們?nèi)绻蜓a(bǔ)丁

如果將MessageBox給nop掉,異或的數(shù)據(jù)將會(huì)出錯(cuò),直接運(yùn)行程序出錯(cuò)

開始分析

進(jìn)入第一個(gè)call

1.? 解密401000到401218, xor 0x5A,下圖

進(jìn)入第二個(gè)call

2. 修改自身代碼,從401011到401025,這樣就把對話框的代碼修改出現(xiàn)了,下圖

3. 對nag窗口加密的標(biāo)題和文本進(jìn)行xor解密,就是把對話框窗口的參數(shù)解密出來。

4. 接下來再次修改自身代碼,401011到401027進(jìn)行覆蓋,將neg窗口代碼修改為主窗口代碼

5. 對nag窗口的標(biāo)題和文本加密,用完就加密

程序結(jié)束。

?

開始打補(bǔ)丁

第一種方法,將MessageBox的第一給參數(shù)修改為1,使其找不到父窗口

但是因?yàn)橛衳or加密解密過程,所以我們要找使到哪里修改了0040101D的代碼

因?yàn)榇a使xor 0x5A解密得到的新代碼,那么我們直接將0x6A改為0x016A這樣不行(注意大小端)

所以我們要用1 xor 0x5A = 0x5B

所以我們應(yīng)該改成這樣

nag窗口成功去掉了。

?

第二種方法,將對話框代碼忽略,直接跳轉(zhuǎn)到0040106A處,這樣就刪除了nag代碼

所以我們要將00401011地址處的值改為 EB 57


我們找到修改此地址的代碼處

進(jìn)行反異或運(yùn)算

EB xor 0x5A = B1

57 xor 0x5A = 0D

修改時(shí)注意大小端

我們要再內(nèi)存數(shù)據(jù)種修改,不能再代碼段種修改,否則程序運(yùn)行崩潰

成功。

總結(jié)

以上是生活随笔為你收集整理的17. OD-带有多态、变形的程序进行打补丁去掉nag(分析xor加密解密、自身修改代码的程序)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。