yapa yzeka yapabilmişmi la

  • Konuyu Başlatan Konuyu Başlatan vaxobey
  • Başlangıç tarihi Başlangıç tarihi

vaxobey

Master Üye
Katılım
16 Mar 2024
Mesajlar
1,273
Beğeniler
268
Kod:
#include <iostream>
#include <Windows.h>
#include <TlHelp32.h>
#include <string>
#include <vector>

// Hedef process adını bulmak için basit bir fonksiyon (gerçek uygulamada daha sağlam olmalı)
DWORD FindProcessId(const std::wstring& processName) {
    PROCESSENTRY32 processInfo;
    processInfo.dwSize = sizeof(processInfo);

    HANDLE processesSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
    if (processesSnapshot == INVALID_HANDLE_VALUE) {
        return 0;
    }

    Process32First(processesSnapshot, &processInfo);
    if (processName.compare(processInfo.szExeFile) == 0) {
        CloseHandle(processesSnapshot);
        return processInfo.th32ProcessID;
    }

    while (Process32Next(processesSnapshot, &processInfo)) {
        if (processName.compare(processInfo.szExeFile) == 0) {
            CloseHandle(processesSnapshot);
            return processInfo.th32ProcessID;
        }
    }

    CloseHandle(processesSnapshot);
    return 0;
}

int main() {
    // Enjekte edilecek DLL'in tam yolu (injector.exe ile aynı klasörde olduğunu varsayalım)
    char dllPath[MAX_PATH];
    GetFullPathNameA("executor_dll.dll", MAX_PATH, dllPath, NULL);

    // FiveM process adları değişebilir, en yaygın olanları deneyebilirsiniz.
    // Örnek: "FiveM_GTAProcess.exe", "FiveM_b2060_GTAProcess.exe" vb.
    // Doğru process adını Görev Yöneticisi'nden kontrol edin.
    std.wstring fivemProcessName = L"FiveM_GTAProcess.exe"; // Bu adı FiveM sürümünüze göre ayarlayın

    std::wcout << L"FiveM process aranıyor: " << fivemProcessName << std::endl;
    DWORD processId = 0;
    
    // Farklı FiveM process adlarını deneyebilirsiniz
    std::vector<std::wstring> possibleProcessNames = {
        L"FiveM_GTAProcess.exe",
        L"FiveM_b2189_GTAProcess.exe", // Örnek build numaraları
        L"FiveM_b2372_GTAProcess.exe",
        L"FiveM.exe" // Bazen ana process bu olabilir
    };

    for (const auto& name : possibleProcessNames) {
        processId = FindProcessId(name);
        if (processId != 0) {
            fivemProcessName = name;
            std::wcout << L"Process bulundu: " << fivemProcessName << L" (PID: " << processId << L")" << std::endl;
            break;
        }
    }

    if (processId == 0) {
        std::cerr << "Hata: FiveM process bulunamadı. FiveM'in çalıştığından ve process adının doğru olduğundan emin olun." << std::endl;
        system("pause");
        return 1;
    }

    std::cout << "DLL enjekte ediliyor: " << dllPath << std::endl;

    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processId);
    if (hProcess == NULL) {
        std::cerr << "Hata: Process açılamadı. Yönetici olarak çalıştırmayı deneyin. Hata kodu: " << GetLastError() << std::endl;
        system("pause");
        return 1;
    }

    void* allocMem = VirtualAllocEx(hProcess, NULL, strlen(dllPath) + 1, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
    if (allocMem == NULL) {
        std::cerr << "Hata: Hedef process'te bellek ayrılamadı. Hata kodu: " << GetLastError() << std::endl;
        CloseHandle(hProcess);
        system("pause");
        return 1;
    }

    if (!WriteProcessMemory(hProcess, allocMem, dllPath, strlen(dllPath) + 1, NULL)) {
        std::cerr << "Hata: Hedef process'e yazılamadı. Hata kodu: " << GetLastError() << std::endl;
        VirtualFreeEx(hProcess, allocMem, 0, MEM_RELEASE);
        CloseHandle(hProcess);
        system("pause");
        return 1;
    }

    HANDLE hThread = CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)LoadLibraryA, allocMem, 0, NULL);
    if (hThread == NULL) {
        std::cerr << "Hata: Remote thread oluşturulamadı. Hata kodu: " << GetLastError() << std::endl;
        VirtualFreeEx(hProcess, allocMem, 0, MEM_RELEASE);
        CloseHandle(hProcess);
        system("pause");
        return 1;
    }

    std::cout << "DLL başarıyla enjekte edilmiş olabilir. Hedef process'te DLL'in DllMain fonksiyonu çalıştırılacak." << std::endl;
    std::cout << "DLL'in loglarını veya etkilerini kontrol edin." << std::endl;

    CloseHandle(hThread);
    // Belleği hemen serbest bırakmak DLL'in çalışmasını engelleyebilir, bu yüzden process kapanana kadar tutulabilir
    // veya DLL kendi kendini unload ettikten sonra serbest bırakılabilir.
    // VirtualFreeEx(hProcess, allocMem, 0, MEM_RELEASE); // Şimdilik yorum satırı
    CloseHandle(hProcess);

    system("pause");
    return 0;
}
 
Bu kullanıcıyla herhangi bir iş veya ticaret yapmak istiyorsanız, forumdan uzaklaştırıldığını sakın unutmayın.
geliştirilebilir
 
Kod:
#include <iostream>
#include <Windows.h>
#include <TlHelp32.h>
#include <string>
#include <vector>

// Hedef process adını bulmak için basit bir fonksiyon (gerçek uygulamada daha sağlam olmalı)
DWORD FindProcessId(const std::wstring& processName) {
    PROCESSENTRY32 processInfo;
    processInfo.dwSize = sizeof(processInfo);

    HANDLE processesSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
    if (processesSnapshot == INVALID_HANDLE_VALUE) {
        return 0;
    }

    Process32First(processesSnapshot, &processInfo);
    if (processName.compare(processInfo.szExeFile) == 0) {
        CloseHandle(processesSnapshot);
        return processInfo.th32ProcessID;
    }

    while (Process32Next(processesSnapshot, &processInfo)) {
        if (processName.compare(processInfo.szExeFile) == 0) {
            CloseHandle(processesSnapshot);
            return processInfo.th32ProcessID;
        }
    }

    CloseHandle(processesSnapshot);
    return 0;
}

int main() {
    // Enjekte edilecek DLL'in tam yolu (injector.exe ile aynı klasörde olduğunu varsayalım)
    char dllPath[MAX_PATH];
    GetFullPathNameA("executor_dll.dll", MAX_PATH, dllPath, NULL);

    // FiveM process adları değişebilir, en yaygın olanları deneyebilirsiniz.
    // Örnek: "FiveM_GTAProcess.exe", "FiveM_b2060_GTAProcess.exe" vb.
    // Doğru process adını Görev Yöneticisi'nden kontrol edin.
    std.wstring fivemProcessName = L"FiveM_GTAProcess.exe"; // Bu adı FiveM sürümünüze göre ayarlayın

    std::wcout << L"FiveM process aranıyor: " << fivemProcessName << std::endl;
    DWORD processId = 0;
   
    // Farklı FiveM process adlarını deneyebilirsiniz
    std::vector<std::wstring> possibleProcessNames = {
        L"FiveM_GTAProcess.exe",
        L"FiveM_b2189_GTAProcess.exe", // Örnek build numaraları
        L"FiveM_b2372_GTAProcess.exe",
        L"FiveM.exe" // Bazen ana process bu olabilir
    };

    for (const auto& name : possibleProcessNames) {
        processId = FindProcessId(name);
        if (processId != 0) {
            fivemProcessName = name;
            std::wcout << L"Process bulundu: " << fivemProcessName << L" (PID: " << processId << L")" << std::endl;
            break;
        }
    }

    if (processId == 0) {
        std::cerr << "Hata: FiveM process bulunamadı. FiveM'in çalıştığından ve process adının doğru olduğundan emin olun." << std::endl;
        system("pause");
        return 1;
    }

    std::cout << "DLL enjekte ediliyor: " << dllPath << std::endl;

    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processId);
    if (hProcess == NULL) {
        std::cerr << "Hata: Process açılamadı. Yönetici olarak çalıştırmayı deneyin. Hata kodu: " << GetLastError() << std::endl;
        system("pause");
        return 1;
    }

    void* allocMem = VirtualAllocEx(hProcess, NULL, strlen(dllPath) + 1, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
    if (allocMem == NULL) {
        std::cerr << "Hata: Hedef process'te bellek ayrılamadı. Hata kodu: " << GetLastError() << std::endl;
        CloseHandle(hProcess);
        system("pause");
        return 1;
    }

    if (!WriteProcessMemory(hProcess, allocMem, dllPath, strlen(dllPath) + 1, NULL)) {
        std::cerr << "Hata: Hedef process'e yazılamadı. Hata kodu: " << GetLastError() << std::endl;
        VirtualFreeEx(hProcess, allocMem, 0, MEM_RELEASE);
        CloseHandle(hProcess);
        system("pause");
        return 1;
    }

    HANDLE hThread = CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)LoadLibraryA, allocMem, 0, NULL);
    if (hThread == NULL) {
        std::cerr << "Hata: Remote thread oluşturulamadı. Hata kodu: " << GetLastError() << std::endl;
        VirtualFreeEx(hProcess, allocMem, 0, MEM_RELEASE);
        CloseHandle(hProcess);
        system("pause");
        return 1;
    }

    std::cout << "DLL başarıyla enjekte edilmiş olabilir. Hedef process'te DLL'in DllMain fonksiyonu çalıştırılacak." << std::endl;
    std::cout << "DLL'in loglarını veya etkilerini kontrol edin." << std::endl;

    CloseHandle(hThread);
    // Belleği hemen serbest bırakmak DLL'in çalışmasını engelleyebilir, bu yüzden process kapanana kadar tutulabilir
    // veya DLL kendi kendini unload ettikten sonra serbest bırakılabilir.
    // VirtualFreeEx(hProcess, allocMem, 0, MEM_RELEASE); // Şimdilik yorum satırı
    CloseHandle(hProcess);

    system("pause");
    return 0;
}
denenmesi lazım çalışıyomu
 

Şuanda konuyu görüntüleyen kullanıcılar

Geri
Üst Alt