找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18842|回复: 2

进程内存读取工具-ReadProcessMemory

[复制链接]
发表于 2017-8-24 20:15:28 | 显示全部楼层 |阅读模式
本帖最后由 老刘1号 于 2020-4-12 12:20 编辑
老刘制作——进程内存读取工具
用法:
        ReadProcessMemory       <ProcessID>     <BaseAddress>   <Long>
        ProcessID               指定需读取进程的PID
        BaseAddress             指定需读取进程内读取数据的起始地址
        Long                    指定需读取进程内读取数据的长度(Byte)

相关作品:http://www.bathome.net/thread-45155-1-1.html
  1. Option Explicit
  2. Imports System
  3. Module ReadProcessMemory
  4.         Public Class ReadProcessMemory_Main
  5.                 Public Shared Sub Main(ByVal cmdArgs() As String)
  6.                         Const PROCESS_ALL_ACCESS As Long = &H1F0FFF
  7.                         If CmdArgs.Length = 3 Then
  8.                                 If IsNumeric(cmdArgs(0)) And IsNumeric(cmdArgs(1)) And IsNumeric(cmdArgs(2)) Then
  9.                                         Dim ProcessHandle,BytesLong,ReturnValue,Conter As Long
  10.                                         Dim Bytes(Clng(cmdArgs(2))) As Byte
  11.                                         ProcessHandle = WinAPI.OpenProcess(PROCESS_ALL_ACCESS,False,Clng(CmdArgs(0)))
  12.                                         ReturnValue = WinAPI.ReadProcessMemory(ProcessHandle,Clng(CmdArgs(1)),Bytes,Clng(CmdArgs(2)),BytesLong)
  13.                                         If ReturnValue = 1 Then
  14.                                                 For Conter = 0 To BytesLong - 1
  15.                                                         Console.Write(Right("0" & Hex(Bytes(Conter)),2)&Chr(&H20))
  16.                                                 Next
  17.                                                 Console.WriteLine()
  18.                                         Else
  19.                                                 Console.WriteLine("读取失败!")
  20.                                         End If
  21.                                 Else
  22.                                         Console.WriteLine("输入的值不合法!")
  23.                                 End If
  24.                         Else
  25.                                 Console.WriteLine("老刘制作——进程内存读取工具")
  26.                                 Console.WriteLine("用法:")
  27.                                 Console.WriteLine("        ReadProcessMemory        <ProcessID>        <BaseAddress>        <Long>")
  28.                                 Console.WriteLine("        ProcessID                指定需读取进程的PID")
  29.                                 Console.WriteLine("        BaseAddress                指定需读取进程内读取数据的起始地址")
  30.                                 Console.WriteLine("        Long                        指定需读取进程内读取数据的长度(Byte)")
  31.                         End If
  32.                 End Sub
  33.         End Class       
  34.         Public Class WinAPI
  35.                 Declare Function OpenProcess Lib "KERNEL32" ( _
  36.                         ByVal dwDesiredAccess As Long, _
  37.                         ByVal bInheritHandle As Long, _
  38.                         ByVal dwProcessId As Long ) _
  39.                         As Long
  40.                 Declare Function ReadProcessMemory Lib "KERNEL32" ( _
  41.                         ByVal hProcess As Long, _
  42.                         ByVal lpBaseAddress As Long, _
  43.                         lpBuffer As Byte(), _
  44.                         ByVal nSize As Long, _
  45.                         ByRef lpNumberOfBytesRead As Long) _
  46.                         As Long
  47.         End Class
  48. End Module
复制代码

评分

参与人数 3PB +6 技术 +3 收起 理由
happy886rr + 1 好工具
Nsqs + 1 666开始学vb了
523066680 + 6 + 1 感谢分享

查看全部评分

发表于 2017-8-25 10:19:29 | 显示全部楼层
开源顶一个
发表于 2019-1-25 15:48:49 | 显示全部楼层
牛逼啊===========
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:02 , Processed in 0.020457 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表