jgs 发表于 2023-9-13 09:10

谢谢楼主分享,学习收藏

chinamsu 发表于 2023-9-13 09:47

壹佰 发表于 2023-9-13 09:03
应该可以的。

大佬请写个demo测试下吧,99%的可能是没法hook这个方法的

chinamsu 发表于 2023-9-13 09:59

另外你说的GetFunctionPointer()无法获取准确地址的问题,我猜测是因为你在调用RuntimeHelpers.PrepareMethod时没有调用正确导致的,有泛型参数的时候你只传入一个MethodHandle是没法正确jit的。
可以:
            var typeHandles = rawMethod.DeclaringType.GetGenericArguments().Select(t => t.TypeHandle).ToArray();
            RuntimeHelpers.PrepareMethod(rawMethod.MethodHandle, typeHandles);
            rawMethodPtr = (byte*)rawMethod.MethodHandle.GetFunctionPointer().ToPointer();
这样来获取,因为我不会使用windbg所以没法验证

chinamsu 发表于 2023-9-13 10:01

另外你说的GetFunctionPointer()无法获取正确的方法地址,我猜测是因为你前面PrepareMethod没有正确调用导致的,方法有泛型参数时不能只传入一个MethodHandle,可以尝试下面这样:
var typeHandles = rawMethod.DeclaringType.GetGenericArguments().Select(t => t.TypeHandle).ToArray();
RuntimeHelpers.PrepareMethod(rawMethod.MethodHandle, typeHandles);
rawMethodPtr = (byte*)rawMethod.MethodHandle.GetFunctionPointer().ToPointer();
我不会windbg没法验证,欢迎大佬来测试下

壹佰 发表于 2023-9-13 10:56

chinamsu 发表于 2023-9-13 09:47
大佬请写个demo测试下吧,99%的可能是没法hook这个方法的

加w叩2.5.2.5.0.2.5.6.8

易木 发表于 2023-9-13 17:54

感谢分享!好人一生平安!

热爱汇编学习 发表于 2023-9-21 08:44

学习一下IL

zsl847 发表于 2023-9-22 05:18

这个可以啊

爱娜生 发表于 2023-9-22 16:34

回帖看内容

koalamm638 发表于 2023-9-23 23:03

这个厉害了。
页: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19
查看完整版本: 【Aspose系列】之Aspose.Words非暴力破解去限制(适用于NET4及NET6)