彩票走势图

代码保护软件VMProtect学习笔记——Handle块优化与壳模板初始化(八)

转帖|使用教程|编辑:李显亮|2020-06-02 11:21:14.683|阅读 207 次

概述:小编大家整理了大佬们的使用技巧和经验与大家分享,希望能够帮助你解决实际运用中遇到的问题。本文继续讲解Handle块优化与壳模板初始化。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

VMProtect是一种很可靠的工具,可以保护应用程序代码免受分析和破解,但只有在应用程序内保护机制正确构建且没有可能破坏整个保护的严重错误的情况下,才能实现最好的效果。

【下载VMProtect最新试用版】

小编大家整理了大佬们的使用技巧和经验与大家分享,希望能够帮助你解决实际运用中遇到的问题。本文接着介绍关于反汇编引擎。

第四章:Handle块优化与壳模板初始化

找到填充虚拟机上下文的Handle块

1、根据GetSize的返回值填充v223数组

代码保护软件VMProtect学习笔记——Handle块优化与壳模板初始化

2、根据大小跟助记符再过滤一遍Handle块,将符合条件的下标保存起来

代码保护软件VMProtect学习笔记——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、未初始化的地方填充随机数

代码保护软件VMProtect学习笔记——Handle块优化与壳模板初始化

5、效果图:

实际有用的只有22跟0,其他都是随机数填充的

代码保护软件VMProtect学习笔记——Handle块优化与壳模板初始化
总结

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块


VMProtect正版授权专享在线订购特享超低价格!还不赶紧加入你的订购清单?

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP