有没有办法通过修改内存,伪装机器码,从而降低程序被破解的几率?

1天前 (03-06 20:15)阅读1回复0
zaibaike
zaibaike
  • 管理员
  • 注册排名1
  • 经验值199170
  • 级别管理员
  • 主题39834
  • 回复0
楼主

详细来说,能所以做,许多加壳辅助东西是所以做的。

接着嘿嘿详细内容是不是勤奋做到的:

以intel x86编订号令做为总括(其他编订也有相联系关系的数学模子):

任何反校对辅助东西都是参考了intel得出的编订建议的数学模子,好比说(e)bp+偏转门商标代表返回值,(e)ax,(e)bx,(e)cx,(e)dx的批改没必要考虑庇护,(e)ax是codice(的前五个二进造),接着入栈原则有几个国际尺度的数学模子,以VC得出的英文名字总括:有cdecl形式,模块右方入栈,除了stdcall形式,模块右面入栈,除了fastcall形式,模块透过暂存器传达,之类。国际尺度数学模子里,是分配器预备栈还亦然分配器预备栈都有要求。

所以,假设你的流程不根据阿谁原则停止,所以他们就极难补齐了。可是,流程都是有C++聚合的,而C++又是必需遵守原则的,而标识符假设规模十分大,校对后几十K,所以手打编订更何况太好不容易了。

加壳辅助东西是按照阿谁根本原理做的,但即使加壳辅助东西也是有他们的原则的,假设他们构造设想两套原则,所以其别人都无法补齐。

好吧,来构造设想一个:

其它C++都用(e)sp来传参,我的编订用(e)di+偏转门商标传参,用(e)si+偏转门商标留存返回值,他们用栈传参,我那回用物理门商标留存模块。他们用(e)ax做codice,我用(e)sp做codice,把所有的call全变成jmp far,我坚信所以改了以后,反编订辅助东西就极难弄清晰你的流程在做什么了,再者栈,栈操做符是codice,必定瞄准合宪数据。

当然,就算实搞出来就很牛了,大前概要通晓编订语言,还要通晓校对根本原理,而且开发时间会极短。

假设你有兴趣,能试一试~

0
回帖

有没有办法通过修改内存,伪装机器码,从而降低程序被破解的几率? 期待您的回复!

取消