application verifier x64是一款功能强大的应用程序验证器工具,主要用于检测和帮助调试内存损坏、危险的安全漏洞,感兴趣的朋友欢迎来劲途游戏网下载体验!
Application Verifier是一款微软的代码验证工具,可以找出在正常程序代码检测中难以察觉的错误。
1. AppVerifier的原理是hook分配和释放资源的API,在程序调用这些API时记录信息,在程序退出时报告出未释放的资源。
2. 只能检测Native代码。
3. 程序正常退出才行,强行杀进程不能得到正确的报告。
4. 基于原理,只能做Run-time检测。尽量使用程序的所有功能已保证检测到更多代码。
—应用程序正确地使用 API 的时刻:
—不安全的 TerminateThread API。
—正确使用线程本地存储(Thread Local Storage,TLS)API。
—正确使用虚拟空间操作(例如,VirtualAlloc 和 MapViewOfFile)。
—应用程序是否使用结构化的异常处理隐藏访问冲突。
—应用程序是否试图使用无效的句柄。
—堆中是否有内存损坏或存在内存问题。
—应用程序是否在资源不足的情况下用尽了内存。
—是否正确使用了临界区。
—运行在管理员环境中的应用程序在具有较低特权的环境中是否能良好运行。
—当应用程序作为受限用户运行时是否会存在潜在的问题。
—在线程的上下文中,是否在将来的函数调用中会存在未初始化的变量。
1)、打开appverifier,选择File--Add Application添加应用程序;
Basic最基本的验证
—Exceptinons 防止程序做这样的操作,比如程序用异常捕获,以防止错误继续抛出。
—Handles 检测句柄错误
—Heaps 检测内存中的堆栈错误
—InputOutput 检测读写文件,读写网卡数据等的错误
—Locks 检测锁使用情况,确定应用程序是否正确的使用关键段
—Memory 检测应用程序虚拟内存使用情况
—ThreadPool 监控线程池使用,线程池的线程不应该被应用程序关闭
—Tls 检测线程局部存储api是否被正确使用
2)Compatibility 兼容性问题验证
—Filepaths 检测是否正常访问文件目录
—Highversionlie 验证应用程序是否正确检测windows版本
—InterActiveservices 检查一个程序是否运行为可桌面交互的服务,或者向可交互的用户桌面发送过数据。这样的应用程序可能会引发严重的安全问题。
—KernelModeDriverInstall 检测驱动程序安装
3)Low resources simulation 低资源情况下,如内存将耗尽,程序是否能正常运行。
4)Luapriv 检测程序在标准用户权限下是否能正常运行
5)Miscellaneous
—dangerousapIs 检测应用程序是否使用了危险的API,如TerminateThread
—Dirtystacks 检测应用程序是否使用了未初始化的变量
—TimeRoleOver 模拟使GetTickCount and TimeGetTime APIs 返回的值比实际的大,即时间跑的更快的情况下,程序运行是否正常。
6)Pringting
—PrintAPI
—PrintDriver
对部分功能进行了优化