2.0版相对1.0版本的更新如下:
1、增加多层劫持,劫持对象启动新程序继续劫持,如果你劫持了A程序如果A程序启动了B程序会继续劫持,B程序启动了C,D程序同样会劫持,无限扩展。
2、增加格式化函数,使用特定格式导出函数在导出后使用名称格式化按钮进行格式化符合静态编译,格式化后的函数名称与原函数保持一致,但无法同步序数,请使用黑月编译导出函数可同步函数名称和序数,默认情况下黑月导出函数后无需再使用名称格式化,如果生成后提示需要格式化且数量不为0的情况下需要黑月导出函数并使用名称格式化这样才能同步函数名称。不格式化函数也可以使用黑月的导出函数修改来同步序数。注:C++函数也就是函数前面有一个或两个问号的函数必须使用黑月修改导出函数再名称格式化!
3、增加调试输出,生成的DLL源码支持使用“调试文本”把文本输出到到调试输出编辑框。
4、增加附加DLL,额外加载您的自定义DLL,您的DLL必须在根目录或者系统目录,其他需求可自行修改源码,多个DLL请用逗号(,)隔开。例如:abc.dll,123.dll
5、增加静态导出表,先生成好固定的函数表存放在文本数组变量中,符合导出函数较少的DLL动态链接库,不支持序数函数。
6、增加动态导出表,无需生成导出表直接在运行的时候动态获取,使用该方式你只需要公开所需要的函数即可无需改动其他代码,符合导出函数较多的DLL动态链接库。
7、增加支持序数函数,并非所有函数都有名称,没有名称的函数就是序数函数(隐藏函数),需要序数值来调用。使用此功能将导出序数函数编译后必须黑月修改导出函数且必须使用动态导出表。
支持序数函数必须使用黑月编译请勾选黑月的允许编译时修改DLL函数在导出静态库中的名称,将导出函数全部复制到黑月修改导出函数框中,可以直接拖拽左侧图标到黑月输入框中,可解决黑月输入框 30000 长度限制。
8、增加修改注册表添加系统劫持DLL
大部分系统DLL库不会在根目录寻找是因为注册表登记了。
位于注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
删除该注册表的值需要SYSTEM权限,我们大可不必去删除。
系统为我们提供了ExcludeFromKnownDlls注册表,该注册表值内容可排除登记的DLL。
使用方法在系统劫持菜单的劫持列表里面,一行一个DLL。修改后必须重启电脑。
如果无法修改请管理员运行!
9、支持查看x86/x64动态链接库的导入导出函数以及序数函数(隐藏函数)
x64的DLL劫持本来打算写出来,但考虑到易语言无法编译64位的DLL以后转至火山吧。