boundschecker哪位用过BoundsChecker for Delphi啊?它怎么与Delphi

boundschecker  时间:2021-06-20  阅读:()

如何安装并使用Windows Symbol

1. 下载符合你所运行的Windows版本的Windows Symbol Package:/whdc/devtools/debugging/symbolpkg.mspx 安装路径随便你选,我一般就是默认的路径:C:/Windows/Symbols。

当然这个东东不装也可以,不过我推荐安装,因为把所有的Symbol File都从Server上下载下来还是蛮花时间的,有了这个东东,大部分的Symbol File都可以直接在本地找到。

2. 安装最新版的Debugging Tools for Windows,下载地址如下:/whdc/devtools/debugging/default.mspx 这一步很重要,因为最近微软对WinDBG的更新非常频繁,即使你不用WinDBG,我们也需要WinDBG安装包里的两个文件(dbghelp.dll和symsrv.dll)来更新其他调试工具(譬如IDA和SoftICE)所附带的这两个文件,否则极易出现无法从微软Symbol Server上正确下载最新Symbol File的情况。

3. 添加环境变量_NT_SYMBOL_PATH,设定其值如下(当然如果你的Symbol Package不是安装在C:/Windows/Symbols目录下,请自行修改): C:/WINDOWS/Symbols/16bit;C:/WINDOWS/Symbols/acm;C:/WINDOWS/Symbol/ax; C:/WINDOWS/v;C:/WINDOWS/;C:/WINDOWS/Symbols/cpl; C:/WINDOWS/Symbols/dic;C:/WINDOWS/Symbols/dll;C:/WINDOWS/Symbols/drv; C:/WINDOWS/Symbols/ds;C:/WINDOWS/Symbols/exe;C:/WINDOWS/Symbols/iec; C:/WINDOWS/Symbols/ime;C:/WINDOWS/Symbols/ocx;C:/WINDOWS/Symbols/scr; C:/WINDOWS/Symbols/sys;C:/WINDOWS/Symbols/tpl;C:/WINDOWS/Symbols/tsp; C:/WINDOWS/Symbols/wpc;symsrv*symsrv.dll*C:/symserver*/download/symbols 这里最主要的是最后一个路径:symsrv*symsrv.dll*C:/symserver*/download/symbols,它表示如果在之前的路径,以及C:/symserver目录下都找不到所需要的Symbol File,就从微软的Symbol Server上下载之,并把下载下来的Symbol File保存到C:/symserver目录下(我用这个目录是为了和DriverStudio中附带的一个Symbol Retriever工具保持一致。

4.用Debugging Tools for Windows安装目录下的dbghelp.dll和symsrv.dll文件覆盖第三方调试工具中所自带的这两个文件——如果有的话,譬如IDA,SoftICE,BoundsChecker,等等。

确保这些调试工具中的这两个dll是最新版的。

现在可以测试一下了,打开Symbol Retriever,随便添加一个dll,点击按钮Get Symbols,如果一切正常,稍后会弹出一个协议对话框,确认后过一会儿就可以看见这个文件的status变成Done,我们可以在C:/symserver/ntdll.pdb目录下找到ntdll.pdb,这就是我们想要的Symbol File。

什么是Anti-debug程序

是反跟踪技术之一。

1.MeltICE子类型 类型:检测SoftICE、TRW2000 平台:Windows9x、Windows NT 原理:用CreateFileA( )或_lopen( )函数试图获得SoftICE的驱动程序"\.SICE"(Windows9X版本)、"\.SIWDEBUG"、"\.NTICE"(Windows NT版本)、"\.SIWVID"等的句柄,如果成功则说明SoftICE驻留在内存中。

2.VWIN32_Int41Dispatch子类型 类型:检测SoftICE 平台:Windows9x 原理:VWIN32.VxD(其VxD ID为0x002A)提供一个名为VWIN32_Int41Dispatch的VxD service(其service ID为0x002A),系统内核使用此服务来与系统级调试器如WinDBG、SoftICE等进行通信。

其中0x4F号子功能是用来查询调试器是否已经驻留内存并能否处理保护模式程序,如果是的话则调试器应返回0xF386。

3.给SoftICE发送命令 类型:检测SoftICE 平台:Windows9x、Windows NT 原理:通过调试中断int 3给SoftICE发送命令让其执行,其中SI和DI寄存器中放的分别是固定值0x4647("FG")和0x4A4D("JM")。

AX中存放的是子功能号,值为0x0911则表示让SoftICE执行命令,此时DX指向一个命令字符串如"HBOOT"等。

AX还可以为其它子功能号,比如让SoftICE修改断点设置等。

4、BoundsChecker后门 类型:检测SoftICE 平台:Windows9x、Windows NT 原理:这是SoftICE为BoundsChecker留的一个公开的接口,入口参数EBP = 0x4243484B(即"BCHK"),AL =4,如果SoftICE在内存中则应返回AL = 0。

这种方法一般也要结合SEH?(结构异常处理)来实现,否则当SoftICE不存在时就会引起非法操作。

5.ICECream子类型 类型:检测SoftICE、TRW2000 平台:Windows9x 原理:调试器驻留后修改INT 1和INT 3的入口,指向它自己的处理程序,所以入口高位偏移与其他中断不同。

其他所有中断入口高位偏移都相同。

6.INT 68h子类型 类型:检测SoftICE 平台:Windows9x 原理:MOV AH, 43h INT 68h CMP AX, 0F386h ;检测此处是否被调试器设置0F386h JZ SoftICE_is_here7.搜索特征串 类型:检测SoftICE 平台:Windows9x 原理:通过在内存中搜索SoftICE的特征串来发现SoftICE,这一般要结合SEH一起使用,以防止引起内存保护出错而使得程序被终止。

这种方法在DOS下是可行的。

由于Windows95之后的操作系统中的每个ring 3进程的地址空间是独立的,使得这种方法受到限制。

比如在内存中搜索"WINICE.BR"。

8.IsDebuggerPresent子类型 类型:检测SoftICE 平台:Windows NT 原理:调用kernel32.dll输出的函数IsDebuggerPresent()来检测是否有调试器存在。

这个函数只能检查使用Debug API来跟踪程序的调试器,无法检测SoftICE之类的系统级调试器。

哪位用过BoundsChecker for Delphi啊?它怎么与Delphi

装上看看就明白了,很容易用明白的!安装以后你在IDE下运行退出你的应用程序后,它会弹出对话框,显示相关信息,主要是程序运行中的内存泄漏问题,在哪一行分配的内存没有删除。

CloudCone($82/月)15-100M不限流量,洛杉矶CN2 GIA线路服务器

之前分享过很多次CloudCone的信息,主要是VPS主机,其实商家也提供独立服务器租用,同样在洛杉矶MC机房,分为两种线路:普通优化线路及CN2 GIA,今天来分享下商家的CN2 GIA线路独立服务器产品,提供15-100Mbps带宽,不限制流量,可购买额外的DDoS高防IP,最低每月82美元起,支持使用PayPal或者支付宝等付款方式。下面分享几款洛杉矶CN2 GIA线路独立服务器配置信息。配...

819云互联 香港 日本 美国 2核4G 18元 8核8G 39元 免费空间 免费CDN 香港 E3 16G 20M 230元/月

819云互联是海外领先的互联网业务平台服务提供商。专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前平台研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务,拥有丰富的海外资源、香港,日本,美国等各国优质的IDC资源。官方网站:https://www.819yun.com香港特价物理服务器:地区CPU内存带宽...

美国G口/香港CTG/美国T级超防云/湖北高防云服务器物理机促销活动 六一云

六一云 成立于2018年,归属于西安六一网络科技有限公司,是一家国内正规持有IDC ISP CDN IRCS电信经营许可证书的老牌商家。大陆持证公司受大陆各部门监管不好用支持退款退现,再也不怕被割韭菜了!主要业务有:国内高防云,美国高防云,美国cera大带宽,香港CTG,香港沙田CN2,海外站群服务,物理机,宿母鸡等,另外也诚招代理欢迎咨询。官网www.61cloud.net最新直销劲爆...

boundschecker为你推荐
视频托管我想做一些游戏教学视频,放到网上收费该可以吗?oledbdatareader根据输入信息读取数据库中的数据,总是在执行OleDbDataReader reader = cmd.ExecuteReader()时通不过,pps官网pps官方下载,pps播放器下载公众号付费阅读如何申请微信付费阅读功能broadcast播哈尔滨哪里有卖broadcast播 这个服装品牌的qq管家官网在qq电脑管家官网有个可以登录qq的。登录上了可以加速么?音乐代码网页中怎么写自动播放mp3音乐的代码医院排队系统医院门诊排队叫号系统erp系统教程在一个公司里怎样去学ERP微盟价格微盟怎么收费?
免费云主机 网站空间商 西安域名注册 高防服务器租用 美国vps推荐 荷兰vps 中国域名网 cpanel主机 私服服务器 美国主机论坛 国外bt 台湾谷歌网址 中国电信测速112 免空 新天域互联 有奖调查 域名转接 789电视 新家坡 厦门电信 更多