当前位置: 首页 > news >正文

东莞网络营销型网站企业品牌网站营销

东莞网络营销型网站,企业品牌网站营销,广州建论坛网站,专业做图表的网站标 题: 【原创】对抗OD内存断点作 者: 堕落天才时 间: 2007-09-28,21:08:51链 接: http://bbs.pediy.com/showthread.php?t52503 1,OD内存断点原理A,内存访问断点,OD将目标内存所在的页面(范围圆整为1000h的倍数)设置为PAGE_NOAC…

标 题: 【原创】对抗OD内存断点
作 者: 堕落天才
时 间: 2007-09-28,21:08:51
链 接: http://bbs.pediy.com/showthread.php?t=52503

 

 

1,OD内存断点原理
   A,内存访问断点,OD将目标内存所在的页面(范围圆整为1000h的倍数)设置为PAGE_NOACCESS,当被调试程序对这个内存进行任何“读、写或运行”操作时,都会触发异常。
   B,内存写入断点,OD将目标内存所在的页面(范围圆整为1000h的倍数)设置为PAGE_EXECUTE_READ,当被调试程序对这个内存进行“写”操作时触发异常。
   (原来都不是传说中的PAGE_GUARD?太惊讶了。)   

2,反OD内存断点原理
   要知道OD可以通过VirtualProtectEx改变内存页面属性,我们当然也可以修改,这样我们就可以发现内存断点或使其失效。
3,代码1
代码:
.386
.model flat,stdcall
option casemap:noneinclude windows.inc
include kernel32.inc
include user32.incincludelib kernel32.lib
includelib user32.lib.data
szAppName  db "Anti memory break point - By 堕落天才",0
szText     db "Hi,try to set a memory break point here!",0
szFound    db "A memory break point was found!",0.data?
dwOldProtect dd ?.code     _start:                       invoke lstrlen,addr szTextinc eax invoke VirtualProtect,addr szText,eax,PAGE_READWRITE,addr dwOldProtect   .if eax == FALSEinvoke GetLastError .if eax == ERROR_NOACCESSinvoke MessageBox,NULL,addr szFound,addr szAppName,MB_OKjmp @ExitMain.endif.endif  invoke MessageBox,NULL,addr szText,addr szAppName,MB_OK     @ExitMain:     invoke ExitProcess,0       end _start  
    用OD载入附件中AntiMBP_ASM.exe,对00403026-00403057(szText)内存范围下内存访问断点,F9运行,很快就中断了,是在lstrlen的内部。一直F9,如无意外程序将会显示“A memory break point was found!”提示框(在我的电脑里面是这样)。因为lstrlen后面的VirtualProtect试图改变szText所在内存范围的属性,失败后,LastError == ERROR_NOACCESS,这样我们就知道szText被设置内存断点了。

4,代码2
 
代码:
#include<windows.h>char szAppName [] = "Anti memory break point - By 堕落天才";
char szFound[] = "A memory break point was found!";
char szText[] = "Hi! try to set a memory break point here! Success?";int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd )
{DWORD dwOldProtect;int nLen = lstrlen( szText );nLen++;if(! VirtualProtect( &szText,nLen,PAGE_READWRITE,&dwOldProtect ) ){if(GetLastError() == ERROR_NOACCESS ){MessageBox( NULL,szFound,szAppName,MB_OK );}}else{MessageBox(NULL,szText,szAppName,MB_OK);}return 0;
} 
    用OD载入附件中的AntiMBP_CPP.exe,对00405078-004050A9(szText)内存范围下内存访问断点,F9运行,一样很快就中断在lstrlen内部。一直F9,如无意外程序将会显示“Hi! try to set a memory break point here! Success?”提示框(在我的电脑上是这样)。因为lstrlen后面的VirtualProtect试图改变szText所在内存范围的属性,成功后,下面的MessageBox函数对szText读取,不会再中断,这样szText上面设置的内存断点就失效了。

5,最后
   上面两段代码机会一摸一样,我不知为什么会有两个结果,不过无论是发现还是使其失效,我们反OD内存断点的目标已经达到。

6,反-反OD内存断点
   对VirtualQuery,VirtualQueryEx,VirtualProtect,VirtualProtectEx下断点,应该很快就能到达反内存断点的地方。

******************************************************************************************************
   “堕落天才”这个ID注册快一年了,认识看雪论坛也有一年了。一年前,不会汇编、不会驱动连OD都不知为何物,后来有少少发现就到论坛上灌,真是“不知自己无知”。半
年前,终于“知道自己无知”,不敢再乱灌,就沉默了下来。一年来,在看雪上学到了很多,借烂文一篇感谢一下。 

 

上传的附件
文件类型: rarAntiMBP.rar (8.5 KB, 263 次下载)[谁下载?]

 

转载于:https://www.cnblogs.com/moher/archive/2013/05/03/3058574.html

http://www.lbrq.cn/news/2389717.html

相关文章:

  • 怎样维护网站怎么自己做个网站
  • 做公司网站源代码怎么写百度快快速排名
  • 政府采购电子商城网站免费做网站软件
  • 青海省高速公路建设管理局网站关键词智能优化排名
  • 汽车网站设计模板东莞建设网
  • magento做的网站宁波建站模板系统
  • 广东省住房及建设厅官方网站优化seo报价
  • 湖南省政府 网站建设网站排名怎么优化
  • 学好网页设计与网站建设的意义如何创建自己的网站平台
  • 佛山免费网站建设站内seo优化
  • 岳阳建网站百度网站排名搜行者seo
  • 珠海左右创意园网站开发网络推广公司介绍
  • 卖网站赚钱吗搜索百度网页版
  • 企业品牌网站有哪些百度推广客户端电脑版
  • 国外有没有专门做靶材的网站网络平台销售
  • 可以做超大海报的网站app运营推广是干什么
  • 官方网站案例网站源码建站
  • 关于做网站的策划书天津百度关键词seo
  • 网站制作 企业网站建设哪家好谷歌官方app下载
  • 如何免费制作一个自己的网站南京seo公司排名
  • 网站建设用户核心整合营销策略有哪些
  • 微商城网站建设价位西安seo代运营
  • WordPress版本识别优化官网咨询
  • 网站服务商是什么武汉关键词包年推广
  • 微网站怎么自己做全媒体广告加盟
  • wordpress内容页文件名大侠seo外链自动群发工具
  • dw做网站详细教程百度浏览器入口
  • 可以自己做装修效果图的网站搜索引擎国外
  • 网站建设要花多少钱软件推广怎么做
  • 跨境独立站骗局广州专做优化的科技公司
  • Spring Boot 与微服务详细总结
  • 本地大模型部署工具全解析:LM Studio vs. Ollama 及最佳实践指南
  • uniapp微信小程序 实现swiper与按钮实现上下联动
  • Vue3 从 0 到 ∞:Composition API 的底层哲学、渲染管线与生态演进全景
  • openinstall九周年:聚焦安全防御,护航业务持续增长
  • 分布式面试点