Multi Injector
:: C++
Halaman 1 dari 1
Multi Injector
1. dalam tipe inject.txt tanda bintang (*) dan kemudian nama proses. (mis. iw4mp.dat *)
2. kemudian pada baris kedua jenis jalur DLL. Jika Anda ingin lebih DLL harus disuntikkan dalam proses ke baris berikutnya dan jenis DLL lain.
3. Jika anda ingin menyuntikkan DLL dalam proses-proses lebih hanya pergi ke sebuah baris baru lagi dan tipe lain tanda bintang dengan nama proses. Jadi inject.txt yang valid adalah:
2. kemudian pada baris kedua jenis jalur DLL. Jika Anda ingin lebih DLL harus disuntikkan dalam proses ke baris berikutnya dan jenis DLL lain.
3. Jika anda ingin menyuntikkan DLL dalam proses-proses lebih hanya pergi ke sebuah baris baru lagi dan tipe lain tanda bintang dengan nama proses. Jadi inject.txt yang valid adalah:
- Spoiler:
- *iw4mp.dat
number1.dll
number2.dll
number3.dll
*notepad.exe
number4.dll
number5.dll
- Spoiler:
- #include
#include
#include
#include
#include
#include
#define
CREATE_THREAD_ACCESS (PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION
| PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ)
BOOL Inject(char* procName, char* dllName);
using namespace std;
int main() {
ifstream myFile;
string output;
string process;
string strDLL;
char* Proc;
char* DLL;
myFile.open("C:\\Users\\Johan\\Desktop\\inject.txt");
if (myFile.is_open()) {
while (!myFile.eof()) {
myFile >> output;
if(output[0]=='*'){
process = output.substr(1, output.size());
Proc=&process[0];
} else {
strDLL = output;
DLL = &strDLL[0];
Inject(Proc, DLL);
}
}
}
myFile.close();
return 0;
}
BOOL Inject(char* procName, char* dllName)
{
DWORD ProcID = 0;
PROCESSENTRY32 pe;
HANDLE thSnapshot;
BOOL retval, ProcFound = false;
thSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(thSnapshot == INVALID_HANDLE_VALUE)
{
return false;
}
pe.dwSize = sizeof(PROCESSENTRY32);
retval = Process32First(thSnapshot, &pe);
while(retval)
{
if(StrStrI(pe.szExeFile, procName) )
{
ProcFound = true;
break;
}
retval = Process32Next(thSnapshot,&pe);
pe.dwSize = sizeof(PROCESSENTRY32);
}
ProcID = pe.th32ProcessID;
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if(OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
{
LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, 0, &tkp, sizeof(tkp), NULL, NULL);
}
HANDLE Proc;
LPVOID RemoteString, LoadLibAddy;
Proc = OpenProcess(CREATE_THREAD_ACCESS, FALSE, ProcID);
if(!Proc)
{
return false;
}
LoadLibAddy = (LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
RemoteString = (LPVOID)VirtualAllocEx(Proc, NULL, strlen(dllName), MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(Proc, (LPVOID)RemoteString, dllName, strlen(dllName), NULL);
CreateRemoteThread(Proc, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibAddy, (LPVOID)RemoteString, NULL, NULL);
CloseHandle(Proc);
return true;
}
:: C++
Halaman 1 dari 1
Permissions in this forum:
Anda tidak dapat menjawab topik