最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

看雪VMProtect分析與還原

2023-05-23 12:57 作者:bili_73767213996  | 我要投稿

VMProtect虛擬機保護軟件是業(yè)界公認的高強度軟件保護工具。VMP除了具有常規(guī)的IAT保護、資源保護、反調(diào)試、完整性校驗、運行時殼等保護手段以為,其最為人痛恨的是虛擬化保護。通過將原始的二進制匯編代碼轉(zhuǎn)化成語義等價的虛擬機字節(jié)碼(也常稱為PCODE,偽代碼),并使用自定義虛擬機(或稱字節(jié)碼解釋器)對字節(jié)碼進行解釋執(zhí)行。想恢復原始的代碼,必須分析虛擬機本身,大大提高了逆向分析的難度。

據(jù)筆者目前查到的資料,尚無公開的工具或方法可以進行VMP虛擬機字節(jié)碼到原始二進制代碼的還原。

個人覺得主要原因在于VMP虛擬機的RISC棧機體系結(jié)構(gòu)與x86的CISC體系結(jié)構(gòu)差異巨大。

如x86的一條指令如mov eax, [ebp+0x100],轉(zhuǎn)化為VMP偽代碼會變成類似如下的代碼:

push ebppush 0x100addpop eflpop tmppush tmppop eax

(實際上ebp, efl, tmp, eax都會對應VMP的虛擬寄存器,這里為了方便表達暫時這么寫)

一條CISC指令轉(zhuǎn)化成RISC棧機指令時會發(fā)生巨大的指令膨脹。想將膨脹后的偽代碼還原為一條CISC匯編指令是很困難的。

1. 如果單純依靠模式規(guī)則的匹配,這么必須收集非常多的膨脹規(guī)則,需要付出巨大的人力代價,開發(fā)難度高,卻不一定有好的效果。

2. 由于VMP的寄存器輪轉(zhuǎn)問題,確定指令的真實寄存器是很困難的。(2009年中國軟件安全峰值 Bughoho的PPT 《VMProtect的逆向分析與靜態(tài)還原》中詳細描述了寄存器輪轉(zhuǎn)并提出了解決方案,但這種方案比較復雜,開發(fā)難度比較高。)


看雪VMProtect分析與還原的評論 (共 條)

分享到微博請遵守國家法律
绩溪县| 成安县| 盖州市| 陆丰市| 香河县| 阜新| 古交市| 东乡族自治县| 交口县| 藁城市| 德令哈市| 兴安盟| 青铜峡市| 萍乡市| 军事| 广元市| 渝中区| 任丘市| 垣曲县| 洱源县| 工布江达县| 合江县| 永春县| 商都县| 卢龙县| 临汾市| 施甸县| 宜城市| 洛川县| 屏东县| 宝应县| 山阳县| 晋城| 兰考县| 连城县| 青阳县| 象州县| 伊宁县| 东乌珠穆沁旗| 南涧| 土默特左旗|