我测试时,没有使用楼主提供的DLL文件,
自己按楼主的汇编代码,用VB6编译了一个“等同”的DLL来用。
因为我的系统是纯“衤果 奔”的
![[滑稽]](/static/emoticons/u6ed1u7a3d.png)
![[滑稽]](/static/emoticons/u6ed1u7a3d.png)
![[滑稽]](/static/emoticons/u6ed1u7a3d.png)
,
虽然用了楼主的dll,中招的可能性很小,但还是小心为上。
先贴张我的DLL的导出函数信息截图:


注意TestFunc的“函数入口”是: &H1560 。
然后就是我的DLL的VB6代码,和“反汇编”之后的代码截图。
下图中,反汇编代码的下面那个框中的那段,就是TestFunc 的代码了。
因为我编译DLL时,选用的代码基址是 &H12000000,
因此“叠加”之后,函数入口的虚拟地址就是&H12001560了。
而上面那个框中的部分(&H12001550开始),则就是DllMain的函数代码了。
可以看到,我编译好之后的DLL,代码跟楼主的“汇编代码”是完全一致的。


当然,楼主的“计算时间”的方法,精度太低了点,
我也就把楼主的代码适当修改了一下。
江湖规矩,贴出代码截图,大家也可看看:


下面两张就是运行结果的截图了,勿需多言,大家看看就好。
(注意,这是编译后运行的,因为“测试2”在IDE中无效)


