精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
前两天刚翻译了一个调试器开源项目SRDF,里面有EXE的管理和探查接口,用于看看EXE里的秘密,其实APIMonitor也是这样的工具软件,能够帮助分析EXE,好的方向是能帮你掩盖你EXE的秘密,坏的方向是别人可以用APIMonitor看到你EXE的秘密。
APIMonitor的主界面如下:。
界面元素有菜单、工具栏、API类型、当前监控进程、进程API流水、运行进程、API参数、API内存、API函数调用堆栈和输出窗口。
APIMonitor用法最常用的就是打开进程后,在进程API流水里找自己关注的API,比如我加载的进程是MFC开发的,我关注的API就是MFC类的,而截图的API函数调用堆栈里是RegisterClass这样的调用,是MFC里注册窗口类的操作。实际的情况是,你要根据自己的需要找对应的API,在API类型窗口里的DLL前面打勾就会跟踪这类API,不打勾不跟踪。对于不同类型的API,可以多执行几次进程,每次关注一类API,也降低操作难度。
APIMonitor调试技巧主要是API的查找和内存查看。API的查找,能够帮你快速定位,可以查找API名称和字符串参数的内容,节省分析时间。内存查看可以帮你找出来密码这类信息,不过要看运气。内存查看界面如下
每个模块都会分配内存,在右边DLL下拉窗口里可以看到每个模块分配内存的大小,选择这些模块,就会看到左侧地址会自动变化,表明模块和地址有对应关系。
API监控可用于跟踪 API 的可用性、功能、速度和性能问题,并且通常可以通过自动化来促进。
可用性:API 监控检查与 API 连接的资源是否可用、是否正常工作并响应调用。随着应用程序对其他应用程序和服务的相互依赖性越来越强,API 监控通常也扩展到监控 API 所依赖的资源的可用性。API 监控可以提醒管理员依赖关系链中的任何中断,并允许 IT 团队采取适当行动以确保他们的网站或应用程序保持在线状态。
性能:即使 API 正确返回调用,其应用程序性能也可能达不到标准。响应速度有多快?HTTP 响应代码是否经过优化?响应时间是否降低?API 的性能在不同的环境中是否有所不同,例如在开发环境中与生产环境中?
这些性能指标中的任何一个,无论是由您调用的 API、后端服务,还是由其他 API 引起的,都会影响性能,并且需要对网站或应用程序进行某种性能监控。API 监控将通过通知提醒您这些降级,并让您做出响应。
数据验证和多步骤流程:您的 API 可能可用并响应请求,但它可能会发回不正确的数据或以意外方式格式化的数据。监控数据验证可确保您以正确的格式获得正确的响应,这对于收到初始响应后的多步骤流程尤为重要。数据验证将让您知道这些流程是否按预期工作。
监控与第三方和合作伙伴 API 的集成:Slack 和其他 Web 应用程序和 Web 服务等应用程序和服务通常同时依赖于托管 API 和第三方 API,用户通常无法区分两者。API 监控解决方案可以让您了解第三方和合作伙伴 API(例如 AWS、信用卡提供商和其他公司的 API)以及您管理的 API 的性能。这样,您不仅可以让合作伙伴承担责任,还可以知道在出现任何问题时该联系谁。
监控功能更改:当您拥有依赖于外部服务性能的功能时,您需要确保您的应用程序与该服务保持兼容。无论更改是新版本还是错误修复的结果,如果基本代码在更改或升级后停止使用 API 驱动的服务,API 监控都可以提醒最终用户。
安全监控:组织向外部连接开放其网络的次数越多,恶意行为者利用任何漏洞的机会就越大。当您使用 API 时,您假定 API 是安全的,并且安全设置已维护。您还承担了馈送到其中的任何其他 API 的风险。API 监控通过搜索可能表示安全漏洞的异常行为并实时识别威胁,确保身份验证并确保连接到应用程序的 API 的安全性。