本文共 1120 字,大约阅读时间需要 3 分钟。
邮箱截图插件 TXGYMailCamera.dll(X86) Export: CameraWindow CameraSubArea CameraWindowLikeSpy 调用参数: rundll32 TXGYMailCamera.dll CameraWindow 微信截图插件 PrScrn.dll(X86) Export: PrScrn 调用参数:rundll32 PrScrn.dll PrScrn
下载地址:
配合merry替换QQ的截屏:
--addCommand{ command = 'snapshot', key = 'A-C-S', func = function() shellExecute('SnapShot.exe', '', TOOLS_PATH .. '\\Merry\\plugins', 'normal') end } addCommand{ command = 'snapshot', key = 'A-C-S', func = function() local snapshot = package.loadlib(TOOLS_PATH .. '\\Merry\\plugins\\' .. 'PrScrn.dll','PrScrn') snapshot() end }
以上基于旧版的微信,新版本有bug
旧版本:
新版本:
dll调试http://www.cnblogs.com/feiyucq/archive/2010/06/07/1753465.html
查看dll参数:
1.如果有头文件和对应lib文件
可以显式调用,在源代码中引用头文件和lib 2.如果没有,但是知道函数的参数个数,类型和返回值类型 可以隐式调用,先用LoadLibrary函数加载,构建函数对应参数和返回值类型的函数指针, 指向getprocaddress获取的导出地址,就可以直接调用这个导出函数了 3.如果不知道导出函数的参数个数及类型 可以通过ida加载dll,然后分析导出函数的参数个数和类型,然后按照(2)的方法调用 如果连导出函数是做什么的都不知道,那也就没什么意义了 并且如果是导出类,或者是特别复杂的函数,基本就没什么希望了 4.如果你说的仅仅是在编译好的exe文件中加载dll 那么就是很简单的修改PE文件的导入表,加入dll的名字和用到导出函数的名字, 接着修改exe文件代码段,可以用汇编把函数调用写好转成机器码,再写入代码段经测试微信新版本的PrScrn.dll只是在windows下用rundll32调用会有文字不显示,使用其他库函数调用则是没有问题的。
测试:比如使用Lua调用: