易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录

子程序名称定位插件(用于无标记定位异常代码的地址)含Demo   [复制链接]

    2020-09-08 08:58:20
    模块控件源码
    易语言资源网
    3701 次浏览
    来源链接

作用:

          静态/黑月编译后会生存同名的txt文件,内含 子程序名称,代码起始偏移,代码结束偏移;

          根据以上文件,可以实现不在源码中做标记的情况下,进行发布版本的异常定位!

          支持加壳定位,前提是子程序中的代码没有被加密壳混淆,如压缩壳与没有进行虚拟/变异处理的VMP壳等.

          支持易语言模块中的子程序.

          目前支持易语言5.90,因为是动态定位特征码,所以理论上相邻版本也可以用.

          奉上源码与demo.

以文本形式输出是为了直观调试,易友们也可以修改成输出二进制文件或更友好的格式.

偏移相对于映像基址.如果是EXE一般为0x00400000,DLL不固定

-------------------------------------------------------------------------------------------------------------------------------------------------------

前几天我在论坛上下载了个异常通知辅助模块(作者东灿,修改者QIQI)

配合工具效果还可以.

就是得添加一大堆代码来定位错误的函数名,不仅影响执行效率,还容易担心软件会被小白破解

正所谓不怕贼偷就怕贼惦记,所以我还是放弃使用他了.

这时候我就萌生出能不能写个把子程序名称和所在内存地址导出的插件.

也没花多少时间,在参考了小色开源的WonderWall插件后我终于确定了可行性!

第二天初版就写好了,经过几天的修改现在已经兼容黑月与静态编译.

本来想先发支持库,等我自己体验下,没得修改了再开源.主要是没有时间,干脆直接开源了.希望大神能完善完善.

现在可以支持定位到错误的子程序名以及调用者的子程序名.我相信还有进步空间,多敲几行代码可以定位到行号什么的.

我也不知道网上有没有类似这样的插件,但起码我没见过.

插件源码,成品以及demo源码



点我下载 (已有 261 次下载)

引用模块


源码文件名 模块文件名
插件支持库.e
Hook4E.ec
demo.e
一个错误的模块.ec


引用支持库


源码文件名 支持库文件名 支持库标识
hook4e.e 系统核心支持库 5.7 d09f2340818511d396f6aaf844c7e325
插件支持库.e 系统核心支持库 5.7 d09f2340818511d396f6aaf844c7e325
demo.e 系统核心支持库 5.7 d09f2340818511d396f6aaf844c7e325
一个错误的模块.e 系统核心支持库 5.7 d09f2340818511d396f6aaf844c7e325


[错误报告]   上一篇:超级列表框置行列色,修改不闪烁版本...     下一篇:【火山PC】漫水算法处理图像...