發表文章

目前顯示的是有「Injector」標籤的文章

[C++]DLL遠程注入(LoadLibraryA)

國中寫的東西現在翻一翻 然後整理一下XD 丟上來Blog當廢文發XD [VB.NET]DLL跨進程遠程注入(LoadLibraryA) C++ Source Code在GitHub: https://github.com/aaaddress1/Dll-Injector-In-CB bool EnablePrivilege() { //提權模組 //這個其實你用不用都沒差(在Win7以上) //不過這個模組如果不用,在XP之下會沒辦法正常寫入記憶體/跨進程存取 HANDLE hToken=NULL; //用OpenProcessToken確認自己的進程等級(非NULL則有權限) if (OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken)) return true; LPCTSTR szPrivName = SE_DEBUG_NAME;//調整到DEBUG BOOL fEnable = true; TOKEN_PRIVILEGES tp; tp.PrivilegeCount = 1; LookupPrivilegeValue(NULL,szPrivName,&tp.Privileges[0].Luid); tp.Privileges[0].Attributes = fEnable ? SE_PRIVILEGE_ENABLED:0; AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(tp),NULL,NULL); return((GetLastError() == ERROR_SUCCESS)); } bool RemoteInject(String DLLPath,DWORD process_id) { EnablePrivilege();//提權 //接著用OpenProcess取得遠端進程控制句柄 void* ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS,false,process_id); if(!ProcessHandle) return false; //接著把String轉Char Arra...

[VB.NET]DLL跨進程遠程注入(LoadLibraryA)

這份Code在我高二的時候好像就丟在某論壇惹吧 不過既然現在有Blog就一併更新發上來了 [C++]DLL遠程注入(LoadLibraryA) Source Code在GitHub: https://github.com/aaaddress1/DLL-Injector-In-VB.NET 核心Code: Dim DllPath As String = Application.StartupPath + "/MyDll.dll" '先宣告變數來存放你要注入的DLL Dim TargetHandle As IntPtr = Process.GetProcessesByName("ProcessName")(0).Handle '然後透過Process類別去取得Handle '特別注意一下這個Handle取到了就同等於用OpenProcess得到控制句柄了喔 If (TargetHandle.Equals(IntPtr.Zero)) Then MsgBox("對進程 " + ComboBox1.Text + " 進行打開進程行為失敗.") Exit Sub End If '獲取LoadLibraryA的地址(PS:不同進程但同API,地址相同). Dim GetAdrOfLLBA As IntPtr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA") If (GetAdrOfLLBA.Equals(IntPtr.Zero)) Then MsgBox("取得LoadLibraryA API函數基址失敗.") Exit Sub End If '將DLL路徑轉為Char()陣列. Dim OperaChar As Byte() = System.Text.Encoding.Default.GetBytes(DllPath) '在目標進程申請一塊空間存放路徑字串. Dim DllMemPathAdr = VirtualAllocEx(TargetHandle, 0...