goodboy111
驱动牛犊
驱动牛犊
  • 注册日期2007-08-10
  • 最后登录2009-09-08
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:4016回复:5

获取所有进程的映像路径以及命令行参数

楼主#
更多 发布于:2007-08-10 23:13
我们知道,如果获取本进程命令行的话,可以通过调用 GetCommandLine 获得, GetCommandLine 返回的是LPTSTR类型的数据,该返回值便是本进程命令行的内存首地址。那么,我们可以让远程执行 GetCommandLine 这个函数,然后获取远程进程中这个函数的返回值,再通过 ReadProcessMemory 把远程进程的命令行读出来就得到我们想要的了。
具体实现步骤如下:
1、通过 GetProcAddress 取得 GetCommandLineA 的地址。
2、用 CreateRemoteThread 启动远程线程,使远程进程执行 GetCommandLineA 。
3、用 WaitForSingleObject 等待远程线程结束。
4、用 GetExitCodeThread 取得远程线程退出代码,其实就是远程进程中 GetCommandLineA 函数的返回值,这是远程进程命令行的首地址。
5、通过 GetProcAddress 取得 lstrlenA 的地址。
6、用 CreateRemoteThread 启动远程线程,使远程进程执行 lstrlenA 。
7、用 WaitForSingleObject 等待远程线程结束。
8、用 GetExitCodeThread 取得远程线程退出代码,其实就是远程进程中 lstrlenA 函数的返回值,这是远程进程命令行的文本长度。
9、使用 ReadProcessMemory 把远程进程的命令行读取出来。


[代码性质] VC完整应用程序代码
附件名称/大小 下载次数 最后更新
GetProcA.rar (295KB)  193 2007-08-10 23:13
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
沙发#
发布于:2007-08-11 11:07
ring3层~确实...
没有战争就没有进步 X3工作组 为您提供最好的军火
zjan521
驱动牛犊
驱动牛犊
  • 注册日期2002-10-02
  • 最后登录2010-07-20
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望91点
  • 贡献值0点
  • 好评度74点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-08-25 09:11
用不着这样吧,这样也太狠了,会被人当成木马的。
yangtengfei
驱动牛犊
驱动牛犊
  • 注册日期2005-11-18
  • 最后登录2010-10-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望18点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-09-30 11:22
大家不要下载那附件了,是病毒.
虽然代码是不病毒,但里面编译好的EXE 文件是病毒..
dupchina
驱动牛犊
驱动牛犊
  • 注册日期2006-07-21
  • 最后登录2009-06-08
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-10-03 22:31
楼上的是金山的吧
初来乍到,大家多多包涵...
w800gl
驱动牛犊
驱动牛犊
  • 注册日期2007-09-23
  • 最后登录2007-11-13
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-10-11 10:01
楼猪提供的EXE应该是病毒!

中毒了咯!
游客

返回顶部