- UID
- 3587
- 帖子
- 184
- 主題
- 17
- 精華
- 0
- 積分
- 20
- 楓幣
- 799
- 威望
- 16
- 存款
- 722
- 贊助金額
- 0
- 推廣
- 0
- GP
- 17
- 閱讀權限
- 10
- 性別
- 保密
- 在線時間
- 81 小時
- 註冊時間
- 2012-1-30
- 最後登入
- 2022-3-2
|
目前小弟是用
Process.GetProcessesByName(String)
來取得程式並注入DLL
可是如果說我的程式執行的時候會有2個程序
A.exe PID:19004
A.exe PID:23472
並且可以確定我需要注入的程序的PID一定較小
有沒有辦法指定他?
目前注入的方法是:
TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, TargetProcess(0).Id)
pszLibFileRemote = porcessname(儲存程式名稱)
pfnStartAddr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")
TargetBufferSize = 1 + Len(pszLibFileRemote)
Dim Rtn As Integer
Dim LoadLibParamAdr As Integer
LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)
Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)
CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)
CloseHandle(TargetProcessHandle)
然後設定一個Button觸發,程序跟DLL都存在的話就
call 上面那段注入
|
|