Dll ile form inject etmek istiyorum ??

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
  • Konuyu başlatan
  • Yasaklandı
  • #22
I'm the Boss
Ultra Üye
Katılım
4 Ağu 2016
Mesajlar
887
Tepki puanı
30
9 HİZMET YILI
Ya beyler bir ünümü buna harcadım çıldıracam madem dll uygulamalarında form çalıştırma diye bişey yok o zman niye add kısımna Windows forms koymuşlar delircem yhha :(((
 
aka panic.rs
Kurucu
Katılım
18 Haz 2015
Mesajlar
3,379
Çözümler
50
Tepki puanı
13,156
Ödüller
22
Sosyal
10 HİZMET YILI
exBrowser' Alıntı:
LeftSpace' Alıntı:
dwordun eski loaderindeki , herhangi bir dll yi inject etmiyordu :D herkes yanlış biliyor

external overlay ? hangi loader knk ?

bi önceki sürümdeki loader nyxlaunchere entegre oluyodu ama dll inject ile değil. ondan bahsediyom
 
aka panic.rs
Kurucu
Katılım
18 Haz 2015
Mesajlar
3,379
Çözümler
50
Tepki puanı
13,156
Ödüller
22
Sosyal
10 HİZMET YILI
exBrowser' Alıntı:
LeftSpace' Alıntı:
bi önceki sürümdeki loader nyxlaunchere entegre oluyodu ama dll inject ile değil. ondan bahsediyom

ilk kendin çizdirdin daha sonra imgui geçtin o mu?

external overlay degil mi o?

la ondan bahsetmiyom :d neyse boşver hile menüsünü demiyom ben
 
Słyszę, słyszę letni powiew.
Kurucu
Katılım
20 Haz 2015
Mesajlar
7,666
Çözümler
136
Tepki puanı
20,724
Ödüller
25
10 HİZMET YILI
BozkurtTeam' Alıntı:
Ya beyler bir ünümü buna harcadım çıldıracam madem dll uygulamalarında form çalıştırma diye bişey yok o zman niye add kısımna Windows forms koymuşlar delircem yhha :(((

DLL ınject ettiğinde form açılmasını sağlıyabilirsin.

MainDLL.cpp
Kod:
include <windows.h>
extern int Main(); // bizim compilere bu fonksiyonun başka yerlerde de konumlandığını anlatıyoruz.

void WINAPI MainThread( )
{
    //Burası dll yi oyuna inject ettiğimiz zaman çalışıyor
    Main(); //Burası biraz sonra ekleyeceğimiz formu çağırıp göstericek

}

BOOL WINAPI DllMain ( HMODULE hModule, DWORD dwReason, LPVOID lpvReserved )
{
    switch ( dwReason ) {
        case DLL_PROCESS_ATTACH:

            DisableThreadLibraryCalls(hModule);

            if ( CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MainThread, NULL, 0, NULL) == NULL ) {
                return FALSE;
            }
            break;
            
        case DLL_PROCESS_DETACH:
            break;

        case DLL_THREAD_ATTACH:
            break;

        case DLL_THREAD_DETACH:
            break;
    }
    return TRUE;
}
 
Bunu sourceye ekledikten sonra form ekle:

Add > New Item > UI > Windows Form
Formun ismide Form1 olsun, çıkan hatalara evet de.

Formu ekledikten sonra Form1.cpp ye git, includelerden sonra şu kodları ekle:
Kod:
//MyDLL senin projenin isminin adı, eğer projenin ismi selamınaliminyumsa MyDLL yerine selamınaliminyum yaz

using namespace MyDLL; 

[STAThreadAttribute]

int Main()
{
    // Herhangi bir kontrol oluşturulmadan windows xp görsel efekti aktifleştirdik
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false); 

    
    Application::Run(gcnew Form1()); //Form1 bizim oluşturduğumuz formun adı
    //Eğer form1 değilde mesela bozkurt diye oluşturursan oraya bozkurt yaz
    return 0;
}
 
Üye
Katılım
20 Mar 2017
Mesajlar
1
Tepki puanı
0
9 HİZMET YILI
Merhabalar BozkurtTeam
dotNet bir DLL i direk bir processe inject edemezsin çünkü managed bir dlldir
Bunun için 2 yöntem var
1 Unmanaged bir dll yazıp(c++) CLR inject yapacaksın
2 EasyHook kullanıp injectleyeceksin

Saygılar Pikachu1337
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst