static NAKED VOID Nakd_KiAttachProcess()
8.{
9. __asm
10. {
11. mov edi,edi
12. push ebp
13. mov ebp,esp
14. push ebx
15. push esi
16. mov eax,KiAttachProcessAddress //注意这个是全局变量 BYTE*
17. add eax,7
18. jmp eax
19. }
20.}
21.//
22.// 名称: RecoveryHook_KiAttachProcess
23.// 功能: 解除游戏保护对_KiAttachProcess函数的HOOK(DNF)
24.// 参数:
25.// 返回: 状态
26.//
27.NTSTATUS My_RecoveryHook_KiAttachProcess()
28.{
29. BYTE *KeAttachProcessAddress = NULL; //KeAttachProcess函数地址
30. BYTE *p;
31. BYTE MovEaxAddress[5] = {0xB8,0,0,0,0}; //
32. BYTE JmpEax[2] = {0xff,0xe0};
33. KIRQL Irql;
34. //特征码
35. BYTE Signature1 = 0x56, //p-1
36. Signature2 = 0x57, //p-2
37. Signature3 = 0x5F, //p-3
38. Signature4 = 0x5E, //p+5
39. Signature5 = 0xE8; //p第一个字节
40. //获得KeAttachProcess地址,然后通过特征码找到
41. //KiAttachProcess的地址
42. KeAttachProcessAddress = (BYTE*)MyGetFunAddress(L"KeAttachProcess");
43. if (KeAttachProcessAddress == NULL)
44. {
45. KdPrint(("KeAttachProcess地址获取失败\n"));
46. return FAILED_TO_OBTAIN_FUNCTION_ADDRESSES;
47. }
48. //将p指向KeAttachProcess函数开始处
49. p = KeAttachProcessAddress;
50. while (1)
51. {
52. if ((*(p-1) == Signature1) &&
53. (*(p-2) == Signature2) &&
54. (*(p+5) == Signature3) &&
55. (*(p+6) == Signature4) &&
56. (*p == Signature5))
57. {
58. //定位成功后取地址
59. KiAttachProcessAddress = *(PULONG)(p+1)+(ULONG)(p+5);
60. break;
61. }
62. //推动指针
63. p++;
64. }
65. //计算中继函数地址
66. *(ULONG *)(MovEaxAddress+1)=(ULONG)Nakd_KiAttachProcess;
67. WPOFF(); //清除CR0
68. //提升IRQL中断级
69. Irql=KeRaiseIrqlToDpcLevel();
70. //写入
71. RtlCopyMemory(KiAttachProcessAddress,MovEaxAddress,5);
72. RtlCopyMemory(KiAttachProcessAddress+5,JmpEax,2);
73. //恢复Irql
74. KeLowerIrql(Irql);
75. WPON(); //恢复CR0
76. return STATUS_SUCCESS;
77.}
这行代码上面有汇编 如何能编译这段代码创建程序
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y
这是汇编语言。请参考
https://www.cnblogs.com/dgwblog/p/11865850.html
参考:https://bbs.csdn.net/topics/320099656
首先 NAKED编译器就不认识了...
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632