作者changjeimin (小張)
看板Visual_Basic
標題[.NET] vb2008 注入相關問題
時間Sat Dec 26 20:26:47 2009
請問各位前輩們
注入的方式
類似如下
我所測試的就是 ...DLL 注入好像 必定 不是 VB 做出來的DLL才能注入?
我測試過VB做出來的DLL 用這方式注入沒效果
但是如果是C++ 做出來的卻是可以?
MyGetWindow = FindWindow("notepad", vbNullString)
If MyGetWindow = 0 Then
MsgBox("NotePad Not Found。」Exit")
Exit Sub
End If
GetWindowThreadProcessId(MyGetWindow, MyProcessID)
MyProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or
PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, MyProcessID)
MyLoadDll = "G:\Windowed.dll"
MyStartAddr = GetProcAddress(GetModuleHandle("Kernel32"),
"LoadLibraryA")
MyBufferSize = 1 + Len(MyLoadDll)
Dim MySetMemory As Integer
MySetMemory = VirtualAllocEx(MyProcessHandle, 0, MyBufferSize,
MEM_COMMIT, PAGE_READWRITE)
WriteProcessMemory(MyProcessHandle, MySetMemory, MyLoadDll,
MyBufferSize, 0)
CreateRemoteThread(MyProcessHandle, 0, 0, MyStartAddr, MySetMemory,
0, 0)
MsgBox("ok")
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.32.248
1F:→ nobody1:注入是什麼東西? Orz 12/26 23:24
2F:→ MOONRAKER:是啊!為什麼要這樣「注入」? 12/26 23:54
4F:→ changjeimin:我上面是很久以前的一個範例 12/27 02:02
5F:→ changjeimin:我是覺得為何vb做出的dll不能被注入呢? 12/27 02:03
6F:→ changjeimin:注入是目前比較廣泛的說法... 12/27 02:04
7F:→ changjeimin:如果用類似工作管理員的那種程式(ProcessExplorer) 12/27 02:05
8F:→ changjeimin:就可以看到例如NOTEPAD下會有一堆DLL載入 12/27 02:06
9F:→ changjeimin:或許[注入]比較正常的說法應該是[載入]吧 12/27 02:06
10F:推 horngsh:你的方式較屬於VB6的寫法, 找找.NET的P/Invoke 12/27 11:00
11F:→ MOONRAKER:目前比較普遍?聽都沒聽過。 12/27 11:16