VB读写内存

这篇博客介绍了一种使用VB进行内存操作的方法,包括DLL注入和获取目标进程模块基址。通过调用Windows API函数,如OpenProcess、VirtualAllocEx、WriteProcessMemory等,实现了将DLL注入到指定进程并执行的功能。此外,还提供了获取进程模块句柄和基址的辅助函数。
摘要由CSDN通过智能技术生成

Option Explicit


Private Sub InjectDLL(ByVal processId As Long, ByVal dllpath As String)
    Dim hProcess As Long, hThread As Long, lpAddress As Long, dwBytesWritten As Long, hKernel32 As Long, LoadLibraryAddress As Long
    hProcess = OpenProcess(&H1F0FFF, False, processId)
    lpAddress = VirtualAllocEx(hProcess, 0, Len(dllpath) + 1, &H1000, &H4)
    WriteProcessMemory hProcess, lpAddress, dllpath, Len(dllpath) + 1, dwBytesWritten
    ' 获取目标进程中的 Kernel32.dll 模块句柄
    hKernel32 = GetModuleHandleA("Kernel32")
    '获取函数地址
    LoadLibraryAddress = GetProcAddress(hKernel32, "LoadLibraryA")
    ' 创建远程线程来加载 DLL
    hThread = CreateRemoteThread(hProcess, 0, 0, LoadLibraryAddress, lpAddress, 0, 0)
    If hThread = 0 Then
    MsgBox "无法创建远程线程"
    VirtualFreeEx hProcess, lpAddress, 0, &H8000
    CloseHandle (hPr

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值