-
-
[求助]有什么工具是可以分析目标程序使用了哪些API?
-
-
[求助]有什么工具是可以分析目标程序使用了哪些API?
需求如下:
目标程序是有加密保护的,所以无法直接用depends等工具查看调用了哪些dll内的哪些api
因为加密保护,所以也无法用od之类的进行动态调试。
动态运行中,procexp等工具又无法查看使用了哪些api,因为各种dll都一股脑全加载进来了,并没有办法获取哪些api被链接了。
我的本意是想自己写个工具,但发现太复杂,就先问问有没有现成的?
我的思路是这样的:
我写个exe,CreateProcess 让目标程序以挂起状态。
注入个dll,hook掉loadlibrary和getprocaddress.
在hook函数里,把所有信息给打印到log中去。
这样。理论上就知道整个程序使用了哪些dll的哪些函数
但是也有缺点,就是分不清哪些api是程序本身调用的,哪些是windows模块自身引用的。
目标进程有10来个模块。理论上是要找出这些进程自己直接依赖的api。尽量不受其它模块加载时的信息污染。
还有个缺点就是,在创建成功时,有些未加密模块可能已经完成导入表了,所以可能记录不到这些信息。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)