博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取进程命令行参数
阅读量:5787 次
发布时间:2019-06-18

本文共 1482 字,大约阅读时间需要 4 分钟。

  hot3.png

#include 
#include
#include
//获取进程命令行BOOL GetProcessCommandLine(HANDLE hProcess, LPTSTR pszCmdLine, DWORD cchCmdLine){ BOOL bRet; DWORD dwPos; LPBYTE lpAddr; DWORD_PTR dwRetLen; bRet = FALSE; dwPos = 0; lpAddr = (LPBYTE)GetCommandLine;Win7: if(lpAddr[dwPos] == 0xeb && lpAddr[dwPos + 1] == 0x05) { dwPos += 2; dwPos += 5;Win8: if(lpAddr[dwPos] == 0xff && lpAddr[dwPos + 1] == 0x25) { dwPos += 2; lpAddr = *(LPBYTE*)(lpAddr + dwPos); dwPos = 0; lpAddr = *(LPBYTE*)lpAddr;WinXp: if(lpAddr[dwPos] == 0xa1) { dwPos += 1; lpAddr = *(LPBYTE*)(lpAddr + dwPos); bRet = ReadProcessMemory(hProcess, lpAddr, &lpAddr, sizeof(LPBYTE), &dwRetLen); if(bRet) { bRet = ReadProcessMemory(hProcess, lpAddr, pszCmdLine, cchCmdLine, &dwRetLen); } } } else { goto WinXp; } } else { goto Win8; } return bRet;}int main(int argc, TCHAR *argv[]){ TCHAR szPath[1024]; HANDLE hProcess; if(argc != 2)//参数一是进程PID return 1; hProcess = OpenProcess(PROCESS_VM_READ, FALSE, _tcstoul(argv[1], NULL, 10)); if(hProcess) { if(GetProcessCommandLine(hProcess, szPath, 1024)) { printf("%s\n", szPath); } CloseHandle(hProcess); } return 0;}

tcc a.c -o getargv.exe

出处:

转载于:https://my.oschina.net/plp626/blog/312657

你可能感兴趣的文章
(十八)js控制台方法
查看>>
VB关键字总结
查看>>
android代码生成jar包并混淆
查看>>
一个不错的vue项目
查看>>
屏蔽指定IP访问网站
查看>>
python学习 第一天
查看>>
根据毫秒数计算出当前的“年/月/日/时/分/秒/星期”并不是件容易的事
查看>>
python的图形模块PIL小记
查看>>
shell变量子串
查看>>
iOS的主要框架介绍 (转载)
查看>>
react报错this.setState is not a function
查看>>
poj 1183
查看>>
从根本解决跨域(nginx部署解决方案)
查看>>
javascript实现的一个信息提示的小功能/
查看>>
Centos7.x:开机启动服务的配置和管理
查看>>
HTML5 浏览器返回按钮/手机返回按钮事件监听
查看>>
xss
查看>>
iOS:百度长语音识别具体的封装:识别、播放、进度刷新
查看>>
JS获取服务器时间并且计算距离当前指定时间差的函数
查看>>
华为硬件工程师笔试题
查看>>