具有变更权限的自修改代码问题

时间:2019-04-12 01:17:20

标签: c++ visual-studio

我正在编写自我修改的代码。我尝试更改要执行的函数的地址权限,但是当我尝试将用Dev C ++编写的代码迁移到Visual Studio 2017时,出现错误。

在默认配置下,我正在使用Microsoft Windows 10和Visual Studio 20017。

elem.animate({ transform: [ `translateY(-${offset}px)`, 'none' ] }, 300);

// In future when browsers ship support for implicit to/from keyframes:
elem.animate({ transform: `translateY(-${offset}px)`, offset: 0 }, 300);

我希望在Visual Studio中具有与dev c ++相同的行为

错误

  

错误(有效)E0852表达式必须是指向完整对象的指针   类型
  错误C2036'无效*':未知大小

overwrite_mutation

1 个答案:

答案 0 :(得分:1)

addr -= (uintptr_t)addr % page_size;是问题所在。 指针上的-=减去左侧的整数倍指针所指事物的大小,然后从指针中减去。编译器在抱怨,因为它不知道void的大小。

您可以将参数设为char *吗?