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下运行退出你的应用程序后,它会弹出对话框,显示相关信息,主要是程序运行中的内存泄漏问题,在哪一行分配的内存没有删除。

简单测评v5.net的美国cn2云服务器:电信双程cn2+联通AS9929+移动直连

v5.net一直做独立服务器这块儿的,自从推出云服务器(VPS)以来站长一直还没有关注过,在网友的提醒下弄了个6G内存、2核、100G SSD的美国云服务器来写测评,主机测评给大家趟雷,让你知道v5.net的美国云服务器效果怎么样。本次测评数据仅供参考,有兴趣的还是亲自测试吧! 官方网站:https://v5.net/cloud.html 从显示来看CPU是e5-2660(2.2GHz主频),...

Boomer.Host(年付3.5美)休斯敦便宜VPS

Boomer.Host是一家比较新的国外主机商,虽然LEB自述 we’re now more than 2 year old,商家提供虚拟主机和VPS,其中VPS主机基于OpenVZ架构,数据中心为美国得克萨斯州休斯敦。目前,商家在LET发了两款特别促销套餐,年付最低3.5美元起,特别提醒:低价低配,且必须年付,请务必自行斟酌确定需求再入手。下面列出几款促销套餐的配置信息。CPU:1core内存:...

pacificrack7月美国便宜支持win VPS,$19.99/年,2G内存/1核/50gSSD/1T流量

pacificrack发布了7月最新vps优惠,新款促销便宜vps采用的是魔方管理,也就是PR-M系列。提一下有意思的是这次支持Windows server 2003、2008R2、2012R2、2016、2019、Windows 7、Windows 10,当然啦,常规Linux系统是必不可少的!1Gbps带宽、KVM虚拟、纯SSD raid10、自家QN机房洛杉矶数据中心...支持PayPal、...

boundschecker为你推荐
网络视频下载器那些视频下载器比较全而且好用?avc是什么格式电厂AVC啥意思?上行宽带上行宽带和下行宽带代表什么?云输入法QQ云输入法怎样调整候选词的个数?cursorlocation如何用ENVI把不同图像中的相同地点的某个像素点的值读出来。按时间把这个点的值连起来,。谢谢好人。网站客服代码请问怎么在网页里面加入在线客服系统的代码,代码要怎么获得?动画分镜头脚本动漫脚本和分镜头的区别?懂的进gbk内码怎么查GBK内码?particular教程AE的particular的particle设置flex是什么这些b365m和b360m什么意思
国外服务器租用 草根过期域名 香港bgp机房 singlehop 空间打开慢 英语简历模板word 777te 日本bb瘦 东莞数据中心 广州服务器 hkt 德讯 空间申请 网站加速 godaddy退款 windowsserverr2 shuangshiyi 云主机 堡垒主机 usb大容量存储设备 更多