轉帖|使用教程|編輯:李顯亮|2020-06-02 11:21:14.683|閱讀 295 次
概述:小編大家整理了大佬們的使用技巧和經驗與大家分享,希望能夠幫助你解決實際運用中遇到的問題。本文繼續講解Handle塊優化與殼模板初始化。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
VMProtect是一種很可靠的工具,可以保護應用程序代碼免受分析和破解,但只有在應用程序內保護機制正確構建且沒有可能破壞整個保護的嚴重錯誤的情況下,才能實現最好的效果。
小編大家整理了大佬們的使用技巧和經驗與大家分享,希望能夠幫助你解決實際運用中遇到的問題。本文接著介紹關于反匯編引擎。
第四章:Handle塊優化與殼模板初始化
1、根據GetSize的返回值填充v223數組
2、根據大小跟助記符再過濾一遍Handle塊,將符合條件的下標保存起來
3、符合條件的有2處(填充虛擬機上下文的Handle塊):
{ 0x06,0x01,0x01,0x00,0x02,0x02,0x00,0x00, } //0047499B 80E0 3C and al,0x3C //0047499E FF3407 push dword ptr ds : [edi + eax] ,{ 0x06,0x01,0x02,0x00,0x02,0x02,0x00,0x00, } //00474AC3 80E0 3C and al, 0x3C //00474AC6 8F0407 pop dword ptr ds : [edi + eax]; 123.0047499B
4、未初始化的地方填充隨機數
5、效果圖:
實際有用的只有22跟0,其他都是隨機數填充的
1、其實這部分代碼都是針對部分特殊指令進行變形替換
例如:jmp可以變成 jmp+ret;例如:lods byte ptr ds:[esi]可以變成 mov aXX,[ESI] INC esi 等等
2、涉及重定位的代碼還是沒有修復
例如:
push 0xFACE0002
mov edi,0xFACE0003
jmp dword ptr ds:[eax*4+0x474FCF]
jmp short 00474984
3、找到填充虛擬機上下文的兩個Handle塊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: