樱花落满地 发表于 2024-5-10 18:24

求一个version.dll的源码

{:5_189:}在精益上下载的工具,DLL劫持代码生成,把version弄成代码了,复制到易语言编译后发现软件不加载,还是加载的系统DLL,请各位老师发一个源码,能加载就行

秋寒 发表于 2024-5-10 19:06

....

Eric 发表于 2024-5-10 20:51

你先要确保需要劫持的程序输入表是否有version.dll

樱花落满地 发表于 2024-5-10 22:44

Eric 发表于 2024-5-10 20:51
你先要确保需要劫持的程序输入表是否有version.dll

有这个,就是因为没有winspool所以才用的这个

要你管 发表于 2024-5-10 23:58

首先要确认这个DLL是否能被劫持。从系统目录里复制DLL出来放到EXE同级目录,运行EXE看看是加载同级目录的DLL还是系统目录里的DLL。
我印象中你说的这个DLL不能被劫持。

柳暗花明丶七七 发表于 2024-5-11 12:53

要你管 发表于 2024-5-10 23:58
首先要确认这个DLL是否能被劫持。从系统目录里复制DLL出来放到EXE同级目录,运行EXE看看是加载同级目录的DL ...

的确,单独拉出来也没加载,应该是不能被劫持,winmm,这个可以,有源码吗

终极帅哥 发表于 2024-5-12 17:48

用AheadLib 自己生成一个

学编程的闹钟 发表于 2024-6-15 11:43

version.dll不是win系统的dll吗,这还有源码,难道是用ida反编译???

dujinshanD 发表于 2024-6-17 20:29

.版本 2

.DLL命令 LoadLibrary, 整数型, "kernel32.dll", "LoadLibraryA"
    .参数 lpLibFileName, 文本型

.DLL命令 FreeLibrary, 整数型, "kernel32.dll", "FreeLibrary"
    .参数 hLibModule, 整数型

.DLL命令 GetProcAddress, 整数型, "kernel32.dll", "GetProcAddress"
    .参数 hModule, 整数型
    .参数 lpProcName, 文本型

.DLL命令 GetCurrentProcessId, 整数型, "kernel32.dll", "GetCurrentProcessId", 公开

.DLL命令 GetLastError, 整数型, "kernel32.dll", "GetLastError"



.版本 2

.程序集 Version劫持, , , 支持静态编译和黑月静态编译
.程序集变量 dll, 整数型
.程序集变量 GetFileVersionInfoA, 整数型
.程序集变量 GetFileVersionInfoByHandle, 整数型
.程序集变量 GetFileVersionInfoExW, 整数型
.程序集变量 GetFileVersionInfoSizeA, 整数型
.程序集变量 GetFileVersionInfoSizeExW, 整数型
.程序集变量 GetFileVersionInfoSizeW, 整数型
.程序集变量 GetFileVersionInfoW, 整数型
.程序集变量 VerFindFileA, 整数型
.程序集变量 VerFindFileW, 整数型
.程序集变量 VerInstallFileA, 整数型
.程序集变量 VerInstallFileW, 整数型
.程序集变量 VerLanguageNameA, 整数型
.程序集变量 VerLanguageNameW, 整数型
.程序集变量 VerQueryValueA, 整数型
.程序集变量 VerQueryValueW, 整数型

.子程序 _启动子程序, 整数型, , 请在本子程序中放置动态链接库初始化代码

.如果真 (dll = 0)
    初始化DLL ()
.如果真结束

信息框 (“劫持成功”, 0, , )
返回 (0)' 返回值被忽略。

.子程序 Dll入口函数, 逻辑型, 公开
.参数 DLL实例句柄, 整数型
.参数 调用类型, 整数型
.参数 保留, 整数型

.判断开始 (调用类型 = 1)
    返回 (初始化DLL ())
.判断 (调用类型 = 0)
    释放DLL ()
.默认

.判断结束

返回 (真)

.子程序 释放DLL

.如果真 (dll ≠ 0)
    FreeLibrary (dll)
.如果真结束


.子程序 初始化DLL, 逻辑型

dll = LoadLibrary (读环境变量 (“SystemRoot”) + “\system32\version.dll”)
.如果真 (dll = 0)
    返回 (假)
.如果真结束

GetFileVersionInfoA = GetProcAddress (dll, “GetFileVersionInfoA”)
.如果真 (GetFileVersionInfoA = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

GetFileVersionInfoByHandle = GetProcAddress (dll, “GetFileVersionInfoByHandle”)
.如果真 (GetFileVersionInfoByHandle = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

GetFileVersionInfoExW = GetProcAddress (dll, “GetFileVersionInfoExW”)
.如果真 (GetFileVersionInfoExW = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

GetFileVersionInfoSizeA = GetProcAddress (dll, “GetFileVersionInfoSizeA”)
.如果真 (GetFileVersionInfoSizeA = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

GetFileVersionInfoSizeExW = GetProcAddress (dll, “GetFileVersionInfoSizeExW”)
.如果真 (GetFileVersionInfoSizeExW = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

GetFileVersionInfoSizeW = GetProcAddress (dll, “GetFileVersionInfoSizeW”)
.如果真 (GetFileVersionInfoSizeW = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

GetFileVersionInfoW = GetProcAddress (dll, “GetFileVersionInfoW”)
.如果真 (GetFileVersionInfoW = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

VerFindFileA = GetProcAddress (dll, “VerFindFileA”)
.如果真 (VerFindFileA = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

VerFindFileW = GetProcAddress (dll, “VerFindFileW”)
.如果真 (VerFindFileW = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

VerInstallFileA = GetProcAddress (dll, “VerInstallFileA”)
.如果真 (VerInstallFileA = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

VerInstallFileW = GetProcAddress (dll, “VerInstallFileW”)
.如果真 (VerInstallFileW = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

VerLanguageNameA = GetProcAddress (dll, “VerLanguageNameA”)
.如果真 (VerLanguageNameA = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

VerLanguageNameW = GetProcAddress (dll, “VerLanguageNameW”)
.如果真 (VerLanguageNameW = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

VerQueryValueA = GetProcAddress (dll, “VerQueryValueA”)
.如果真 (VerQueryValueA = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

VerQueryValueW = GetProcAddress (dll, “VerQueryValueW”)
.如果真 (VerQueryValueW = 0)
    FreeLibrary (dll)
    返回 (假)
.如果真结束

返回 (真)

.子程序 GetFileVersionInfoA, , 公开, 一定要公开
.局部变量 jmp, 整数型

jmp = GetFileVersionInfoA
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 GetFileVersionInfoByHandle, , 公开, 不要修改
.局部变量 jmp, 整数型

jmp = GetFileVersionInfoByHandle
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 GetFileVersionInfoExW, , 公开
.局部变量 jmp, 整数型

jmp = GetFileVersionInfoExW
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 GetFileVersionInfoSizeA, , 公开
.局部变量 jmp, 整数型

jmp = GetFileVersionInfoSizeA
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 GetFileVersionInfoSizeExW, , 公开
.局部变量 jmp, 整数型

jmp = GetFileVersionInfoSizeExW
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 GetFileVersionInfoSizeW, , 公开
.局部变量 jmp, 整数型

jmp = GetFileVersionInfoSizeW
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 GetFileVersionInfoW, , 公开
.局部变量 jmp, 整数型

jmp = GetFileVersionInfoW
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 VerFindFileA, , 公开
.局部变量 jmp, 整数型

jmp = VerFindFileA
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 VerFindFileW, , 公开
.局部变量 jmp, 整数型

jmp = VerFindFileW
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 VerInstallFileA, , 公开
.局部变量 jmp, 整数型

jmp = VerInstallFileA
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 VerInstallFileW, , 公开
.局部变量 jmp, 整数型

jmp = VerInstallFileW
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 VerLanguageNameA, , 公开
.局部变量 jmp, 整数型

jmp = VerLanguageNameA
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 VerLanguageNameW, , 公开
.局部变量 jmp, 整数型

jmp = VerLanguageNameW
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 VerQueryValueA, , 公开
.局部变量 jmp, 整数型

jmp = VerQueryValueA
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })

.子程序 VerQueryValueW, , 公开
.局部变量 jmp, 整数型

jmp = VerQueryValueW
置入代码 ({ 201, 88, 139, 68, 36, 244, 91, 95, 94, 255, 224 })



商品国际 发表于 2024-7-2 08:49

如果是易语言的 最好看下清单是否屏蔽了 如果屏蔽了考虑用注入的方式去KO掉
页: [1]
查看完整版本: 求一个version.dll的源码