递归火山软件开发平台

标题: SetWindowLongPtrA 崩溃问题 [打印本页]

作者: czxv000    时间: 2024-9-14 16:19
标题: SetWindowLongPtrA 崩溃问题
SetWindowLongPtrA (全局.窗口句柄, -4, 取静态方法地址 (NewLong))64位程序 用此方法 程序直接崩溃 我写的不对吗


易语言 用 SetWindowLongA (g_窗口句柄, -4, 到整数 (&NewLong))  一切正常








作者: 雪很冷    时间: 2024-9-14 16:21
听说火山都是用W的。你试试W的崩溃不
作者: czxv000    时间: 2024-9-14 16:23
雪很冷 发表于 2024-9-14 16:21
听说火山都是用W的。你试试W的崩溃不

崩溃了......

作者: 雪很冷    时间: 2024-9-14 16:47
那就不清楚了。还是请大佬来帮帮你
作者: czxv000    时间: 2024-9-14 16:49
  1. <火山程序 类型 = "通常" 版本 = 1 />

  2. 方法 启动方法 <公开 类型 = 整数>
  3. {
  4.     主窗口对象.创建主窗口 ()
  5.     全局.进程ID = 进程_取自进程ID_GetCurrentProcessId ()
  6.     调试输出 ("进程ID", 全局.进程ID)
  7.     全局.窗口句柄 = 窗口操作类.进程_ID取窗口句柄 (全局.进程ID, , , , )
  8.     调试输出 ("全局.窗口句柄", 全局.窗口句柄)
  9.     全局.hook句柄 = SetWindowLongPtrW (全局.窗口句柄, -4, 取静态方法地址 (NewLong))


  10.     调试输出 ("全局.hook句柄", 全局.hook句柄)
  11.     变量 要转换的字节集 <类型 = 字节集类>
  12.     变量 结果指针 <类型 = 变整数>
  13.     要转换的字节集 = 文本到字节集 ("______TLKJGJFDZB")
  14.     调试输出 ("要转换的字节集", 要转换的字节集)
  15.     结果指针 = 要转换的字节集.取字节集指针 ()
  16.     调试输出 ("结果指针", 结果指针)
  17.     全局.通信句柄 = RegisterWindowMessageA (结果指针)
  18.     调试输出 ("全局.通信句柄", 全局.通信句柄)
  19.     // SendMessageA (全局.窗口句柄, 全局.通信句柄, -1, 0)


  20.     返回 (1)
  21. }

  22. 方法 NewLong <静态 类型 = 整数>
  23. 参数 窗口句柄 <类型 = 变整数>
  24. 参数 消息值 <类型 = 整数>
  25. 参数 参数一 <类型 = 整数>
  26. 参数 参数二 <类型 = 整数>
  27. {
  28.     如果真 (消息值 == 257)
  29.     {
  30.         调试输出 ("按键A", 参数一)
  31.         如果真 (参数一 == 36 || 参数一 == 33)
  32.         {
  33.             调试输出 ("按键", 参数一)
  34.             全局.分控窗口.可视 = 取反 (全局.分控窗口.可视)

  35.         }

  36.     }
  37.     如果真 (消息值 == 全局.通信句柄)
  38.     {
  39.         如果真 (参数一 == -1)
  40.         {
  41.             调试输出 ("创建窗口")

  42.         }

  43.     }

  44.     返回 ((整数)CallWindowProcW (全局.hook句柄, 窗口句柄, 消息值, 参数一, 参数二))


  45. }
复制代码



作者: uuyyhhjj    时间: 2024-9-14 17:09
大概是你参数3写错了
(, 下载次数: 27)

作者: czxv000    时间: 2024-9-14 17:52
uuyyhhjj 发表于 2024-9-14 17:09
大概是你参数3写错了

是的,确实是参数1和参数2的问题  ,,,,, 但是get出来的数据 有点不对...不知道为啥  我在研究研究 ,,感谢大哥

作者: czxv000    时间: 2024-9-14 18:07
2625756, 274, 61536, 32900657
2625756, 16, 0, 0
2625756, 144, 0, 0
2625756, 70, 0, 885196310336
2625756, 71, 0, 885196310336
2625756, 134, 0, 0
2625756, 127, 2, 0
2625756, 6, 0, 0
2625756, 878, 0, 885196306504
2625756, 28, 0, 6948
2625756, 273, 33554533, 332208
2625756, 2, 0, 0


目前能获取到很多消息,,,唯独没看见  按键消息
//按下一个键
WM_KEYUP = 257;
//释放一个键
WM_CHAR = 258;
//按下某键,并已发出WM_KEYDOWN, WM_KEYUP消息
WM_DEADCHAR = 259;


作者: czxv000    时间: 2024-9-15 01:58
已解决 ,不知道什么原因 注入后 get到按键消息  
不注入 直接调试运行  ,get不到按键消息 很奇怪





欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4