注(只能接触我的应用里面部分代码)
完全看不懂你的问题,你就做呗,做wraper就做啊
1楼 @tinyfool 用了一个第三方的库A(没有源码无法改动),那个库调用了一个系统函数B,那个系统函数B有问题。需要运行时的把那个系统函数B换下来。类似于Mac OSX下面的mach_override 库做的事情,想问问windows下面有没有类似的东西。
2楼 @gaodeng 还是不会问问题,首贴就没说清楚
现在你就不能直接说函数B是什么么。。。
这可能涉及到怎么具体解决问题的
4楼 @tinyfool 问题在于还不知道那个第三方的库到底调用了系统的哪一个具体函数。现在需要先找到运行时替换系统函数的方式,去替换,观察,然后才知道。
3楼 @玉楼 对的,就是你第三点说的。Mac OSX下面已经用mach_override 实现了。现在不知道windows下面如何搞。
6楼 @gaodeng 好吧,具体到了什么函数还有很多问题,比如用的是windows的runtime可能只能靠hook之类的,但是如果是c语言的runtime,有一些其他的机制,这就是要等你具体逮到了具体分析了。再或者用了某个开源库的API,那你自己编译一个出来,也可以嘛
用我M$R出品的detour来hook他们啊,这样还能在不改变exe的情况下做你要的wrapper
detour
敢情啥分析都没做就来没头没尾的问问题,连这个函数是静态链接进去的还是动态链接的都没弄清楚。