eWOW64Ext 1.21 修正版 修正原模块调试环境时与精益助手或某些插件冲突的问题
-------------------------------
易语言开源模块 eWOW64Ext v1.21 最初由作者 npzs 发布
以下为原版开源帖子传送门
https://bbs.125.la/forum.php?mod=viewthread&tid=14361249
-------------------------------
问题表述:在调试环境下调用模块公开子程序时导致被调试程序崩溃直接退出的问题(因为初始化未成功)
一般发生在进行以下操作后:(包含或不仅限于)
首次载入模块/查看模块信息[精益助手]/安装有某些助手插件(如快速定位工具)/编译后的程序某些特定情形下不能启动成功等....
-------------------------------
鉴于本人 wow64_hook 开源模块 是在 eWOW64Ext 的基础上扩展由来故同样存在这些问题
虽然不太影响使用 还是有不少朋友提议修正该问题
鉴于原作者:npzs 舟子商务,不知是否有在论坛活动 或 有无修正计划 尚未可知
故本帖在未经原作者同意下发布eWOW64Ext1.21修正
-------------------------------
eWOW64Ext开源模块 使用 eWOW64ExtInit() 进行初始化模块
其主要作用是组织了一张结构表用于给模块内其他接口快速访问调用
本次修正也主要是采用易语言的写法去重写了这张结构表
已最大可能保留原样和摘取原shellcode片段
重写涉及的子程序主要有eWOW64ExtInit //主要的初始化函数
fn_CalcModOrFuncHash // 用于计算哈希,使其不依赖初始化
GetModuleHandleEx64 // x64哈希取模块基址,使其不依赖初始化
GetProcAddressEx64 // x64哈希取函数入口,使其不依赖初始化
GetModuleHandleEx86 // x86哈希取模块基址,使其不依赖初始化
GetProcAddressEx86 // x86哈希取函数入口,使其不依赖初始化
还有就是一些help程序集中增加了一些必须用到的且大伙不必关注的
删除了原图片资源中两个用于初始化的shellcode
eWOW64Ext 1.21 中 其余代码或者命名均保持原样,只为以上修正,方便其他易友快速参照/摘取/替换