轉(zhuǎn)帖|使用教程|編輯:李顯亮|2020-03-30 12:02:10.397|閱讀 657 次
概述:小編大家整理了大佬們的使用技巧和經(jīng)驗(yàn)與大家分享,希望能夠幫助你解決實(shí)際運(yùn)用中遇到的問題。本文講解Handle塊優(yōu)化與殼模板初始化。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
VMProtect是一種很可靠的工具,可以保護(hù)應(yīng)用程序代碼免受分析和破解,但只有在應(yīng)用程序內(nèi)保護(hù)機(jī)制正確構(gòu)建且沒有可能破壞整個(gè)保護(hù)的嚴(yán)重錯(cuò)誤的情況下,才能實(shí)現(xiàn)最好的效果。
小編大家整理了大佬們的使用技巧和經(jīng)驗(yàn)與大家分享,希望能夠幫助你解決實(shí)際運(yùn)用中遇到的問題。本文接著介紹關(guān)于反匯編引擎。
第四章:Handle塊優(yōu)化與殼模板初始化
殼主要干了什么?
①初始化殼模板:指令變形、等價(jià)替換。例如:
jmp = push + retn 或則 lea + jmp lods byte ptr ds:[esi] = mov al,[esi] + inc esi 或則 mov al,[esi] + add esi,1
②優(yōu)化Handle塊代碼,將不使用的直接刪除
ESIResults[X] == 0表示不使用,這種就會(huì)優(yōu)化 ESIResults[X] == 1表示使用
③找出填充虛擬機(jī)上下文的兩個(gè)Handle塊
1、找出殼模板push 0xFACE0002與mov edi,0xFACE0003
總結(jié):
2、根據(jù)pNtHeader_OptionalHeader.Magic篩選ESI_Matching_Array數(shù)組
首先我們得到的信息有:
總結(jié):
3、判斷用戶解析Opcode有沒有需要特殊處理的指令
這些都是一些不常用的指令,如果存在就在ESIResults[X]=1,表示使用
假設(shè)找到的話執(zhí)行Vmp_GetVmHandleIndex函數(shù)
v184==ESIResults就是我們前面篩選的,如果有就在指定位置+1,表示使用
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn