Ntdll
-
Selamlar daha önce ntdll'den nt, zw fonksiyonlarnı çağırmış kimse var mı? Aslında konu tam olarak bu değil prototipi mevcut olan her fonksiyon çağrılıyorda mesela LdrFindResource_U fonksiyonunun protipi mevcut değil yada ben bulamadım prototipi belli olmayan arkadaşları nasıl çağıracaz? Şu adreste bazı fonksiyonların prototipi mevcut fakat yetersiz gibi https://undocumented.ntinternals.net/
Ntdll'de ki her fonksiyonun prototipi winapideki gibi midir?
// Örnek
typedef NTSTATUS(NTAPI *pdef_NtTerminateProcess)(HANDLE ProcessHandle, NTSTATUS ExitStatus);
LPVOID lpFunctionAddress = GetProcAddress(LoadLibraryA("ntdll.dll"), "NtTerminateProcess");
pdef_NtTerminateProcess NtCall = (pdef_NtTerminateProcess)lpFunctionAddress;
NTSTATUS NtRet = NtCall(FikiFiki, 0);
Bu konularda bizi yeşillendirecek tecrübesini paylaşacak müridleri selamlıyorum.
-
Ben de yakın zamanda iyi dokumente edilmemiş kodlarla uğraştım.
bu durumda en çok yardımcı olan şey fonksiyonların tanımı. senin de gösterdiğin gibi o tanımlardaki argümanların type'larının ne olduğunu ne işe yaradığını kavraman ona göre değişkenler oluşturup çağırman lazım.Yani aslında o argümanlar sana bu fonksiyona ya da metoda ne göndermen gerektiğini söylüyor. Ben bu şekilde yazılmış bir java koduyla uğraşmıştım. Saniyorum ki bu c kodu haliyle oop değil
kolay gelsin
-
Uplayalım belki bir yazılımcı arkadaş görür...
-
winapi tanrısı ipnetör @WH0 konuyu görürse yardımcı olacaktır
-
Hoca malware kokusu aliyorum. Cok ayip yapmayin oyle seyler. Aradigin fonksiyonun prototipi bir github reposunda var tirnak icine alip aratirsan gorursun.
Undocumented fonksiyonlarin undocumented olmasinin bir sebebi var, her sistemde bulunmayabilir, implementasyonu ya da parametreleri degisebilir, kaldirilabilir vs vs.
Prototipi ve aciklamasi olmayan bir fonksiyonu cagirsan ne yapacaksin, assembly sini inceleyip ya da __stdcall ise sonunda @xx rakamini inceleyip kac parametre aldigini bulabilirsin, bos parametreler sallayip cagira da bilirsin, ama sonucta ne yaptigini bilmedigin ve parametrelerinin anlamini bilmedigin fonksiyonu ne yapacaksin?
Prototipi olmayan fonksiyonlarin parametre sayisini bulup void xxx(void *p1, void *p2) vs diye bir dummy baslik dosyasinda toplayip cagirabilirsin, bir de import library (.lib) dosyasi hazirlaman gerek, gayet basit bir is, onunla link ediceksin boylece her fonksiyon icin o function pointer ve dynamic adres alma izdirabindan kurtulursun.
-
babayarisi bunu yazdı
winapi tanrısı ipnetör @WH0 konuyu görürse yardımcı olacaktır
Uzak dursun baba çakal çukkalla ne işimiz var. Bilgisi ona kalsın.
-
AMpul bunu yazdı
Hoca malware kokusu aliyorum. Cok ayip yapmayin oyle seyler. Aradigin fonksiyonun prototipi bir github reposunda var tirnak icine alip aratirsan gorursun.
Undocumented fonksiyonlarin undocumented olmasinin bir sebebi var, her sistemde bulunmayabilir, implementasyonu ya da parametreleri degisebilir, kaldirilabilir vs vs.
Prototipi ve aciklamasi olmayan bir fonksiyonu cagirsan ne yapacaksin, assembly sini inceleyip ya da __stdcall ise sonunda @xx rakamini inceleyip kac parametre aldigini bulabilirsin, bos parametreler sallayip cagira da bilirsin, ama sonucta ne yaptigini bilmedigin ve parametrelerinin anlamini bilmedigin fonksiyonu ne yapacaksin?
Prototipi olmayan fonksiyonlarin parametre sayisini bulup void xxx(void *p1, void *p2) vs diye bir dummy baslik dosyasinda toplayip cagirabilirsin, bir de import library (.lib) dosyasi hazirlaman gerek, gayet basit bir is, onunla link ediceksin boylece her fonksiyon icin o function pointer ve dynamic adres alma izdirabindan kurtulursun.
Doğrudur hocam malware kokusu... Bilgi için minettarım. Tecrübe kokusu alıyorum :D İleride PM atsak sıkıntı çıkmaz umarım :D
-
https://github.com/CalebFenton/cerberus-software-protector/blob/master/libsupport/winternl.h
https://github.com/kode54/wine/blob/master/dlls/ntdll/resource.c
-
x-t0xid bunu yazdıbabayarisi bunu yazdı
winapi tanrısı ipnetör @WH0 konuyu görürse yardımcı olacaktır
Uzak dursun baba çakal çukkalla ne işimiz var. Bilgisi ona kalsın.
hahaha, şeyh hazretlerinin gözü önünde aynı masada kaptana fake veri verip kazık atan üstelik sonra kaptan aradığı telefonlarını açmayıp irittibatını kesen adam çakal / çukal olmuyo da ben mi oluyorum şimdi :)
BEN SEKSİYİM AQ. TANIYAN BİLİR...
kaptan bana bu çocuk için binlerce kez yalvardı ve o kadar çok ısrar etti ki ben kaptanı bu ısrarları yüzünden "hayır kurumu veya hazret-i isa olmadığım için" uzun bir süre "engelledim". Ne olur bi elini tut, bişeyler öğret diye... Tanıyanlar bizzat kendisine sorabilir...
@babayarisi, sana gelince... daha önce de söylediğim gibi, beni referans olamayacağın adamlar ile tanıştırma/muhattap etme! rujlu hemde kocaman öpüldün. "I'm not JESUS!"
@x-t0xid, sana gelince... devenin yanında sinek kadar değerin yok. tek başınasın... sende sadece öpüldün.
@# Schw4rz, sana gelince.. ayaklı gazete! sadece seviyorum seni.