精易论坛

标题: 8.0.0模块中,类_取内部方法地址() 没添加xx执行保护会崩溃的改进建议(附源码) [打印本页]

作者: 74596877    时间: 2020-2-17 22:10
标题: 8.0.0模块中,类_取内部方法地址() 没添加xx执行保护会崩溃的改进建议(附源码)
本帖最后由 74596877 于 2020-2-18 02:39 编辑
  
子程序名返回值类型公开备 注
类_取方法指针整数型 返回生成的普通函数地址 用完了记得释放[只能在类里调用] [不能在 _初始化 里调用]
参数名类 型参考可空数组备 注
方法序号整数型从1开始,([_初始化]和[_销毁]不管在什么位置都不计数)
变量名类 型静态数组备 注
lpBin整数型 
' lpBin = HeapAlloc (GetProcessHeap (), 0, 14)'旧的方法
lpBin = VirtualAlloc (0, 14, 4096, 64)
置入代码 ({ 139, 69, 0, 139, 64, 8, 137, 193, 139, 93, 8, 67, 107, 219, 4, 139, 0, 139, 0, 1, 216, 139, 24, 139, 69, 252, 102, 199, 0, 91, 184, 137, 88, 2, 198, 64, 6, 104, 137, 72, 7, 102, 199, 64, 11, 83, 255, 198, 64, 13, 224 })
返回 (lpBin)
子程序名返回值类型公开备 注
类_释放方法指针_逻辑型 用于释放生成代码后的返回指针,若你确定你的回调已经停用了才能释放
参数名类 型参考可空数组备 注
ptr整数型类中函数指针
' return (HeapFree (GetProcessHeap (), 0, 方法地址))'旧的方法
如果真 (ptr = 0)
返回 ()
return (VirtualFree (ptr, 0, 32768)  ' MEM_RELEASE)


作者: 凌哥    时间: 2020-2-18 10:48
这个还有BUG的,在某些API循环回调中 参数有异常
作者: 74596877    时间: 2020-2-18 11:18
凌哥 发表于 2020-2-18 10:48
这个还有BUG的,在某些API循环回调中 参数有异常

汇编只略懂...不会改...希望有大佬可以优化
作者: 凌哥    时间: 2020-2-18 11:30
74596877 发表于 2020-2-18 11:18
汇编只略懂...不会改...希望有大佬可以优化

我模块有完美版本
作者: 帅气南北    时间: 2020-2-18 22:15
谢谢楼主楼主辛苦了
作者: 项目部006    时间: 2020-3-27 20:54
标记一下, 到时候跟004探讨一下
作者: xiansheng1    时间: 2020-7-12 11:30
很赞同,谢谢,很赞同,谢谢




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4