反调试之CRC校验编写

admin 2022年3月29日03:13:42评论112 views字数 759阅读2分31秒阅读模式

反调试之CRC校验编写

扫一扫关注公众号,长期致力于安全研究反调试之CRC校验编写

前言:本文主要讲解CRC校验编写



0x01 前言

目前有做逆向方面的,可以点主页联系方式,联系本人

可以一起搞一个逆向方面的团队~(10人左右)平时一起交流学习,共同进步


0x02  CRC校验编写

当一个程序被OD调试的时候,肯定会使用断点等指令操作,那么代码的编写就容易了,如果当发现程序内代码段被修改,则认为进行了调试操作

首先获取原程序代码段

 //全局变量  int g_size = 0;  int size = 0X4000;int size = 0X4000;  int add = 0X411000;  for (int i = 0; i < size; i++){    byte b = 0;    ReadProcessMemory((HANDLE)-1, (LPVOID)add,&b,1,NULL);    g_size += b;    add++;  }
      二次校验代码:
          当程序进行更改操作,则会进行弹窗,当然这里可以进行程序终止
DWORD WINAPI Thread(LPVOID s1){
int address = 0X411000; int temp = 0; for (int i = 0; i < size; i++){ byte b = 0; ReadProcessMemory((HANDLE)-1, (LPVOID)address, &b, 1, NULL); temp += b; address++;
}
if (temp != g_size){ MessageBox(NULL, L"不要破解了", L"标题", NULL);
}

return 0;}


0x03 测试

当编写完之后,程序是正常执行

反调试之CRC校验编写


进行断点操作

反调试之CRC校验编写


运行之后,可以发现成功拦截到了断点的操作

反调试之CRC校验编写

反调试之CRC校验编写



0x04 全部代码

关注本公众号 回复  CRC  即可获取

微信搜索关注 "安全族" 长期致力于安全研究


下方扫一下扫,即可关注反调试之CRC校验编写

反调试之CRC校验编写






本文始发于微信公众号(安全族):反调试之CRC校验编写

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月29日03:13:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   反调试之CRC校验编写http://cn-sec.com/archives/541925.html

发表评论

匿名网友 填写信息