无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(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分析與還原的評論 (共 條)

分享到微博請遵守國家法律
锦州市| 达尔| 兴和县| 和田市| 大石桥市| 灌南县| 平潭县| 杭锦旗| 四子王旗| 河北省| 馆陶县| 共和县| 屏东市| 铜川市| 岑巩县| 竹溪县| 尚义县| 宾川县| 柳州市| 广昌县| 开鲁县| 莱芜市| 阳城县| 宜良县| 龙南县| 和龙市| 星座| 西林县| 德惠市| 贵州省| 沛县| 修文县| 格尔木市| 阳春市| 滦平县| 清远市| 浦县| 武城县| 黄龙县| 额尔古纳市| 南投县|