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