-
Data: 2017-08-19 17:40:49
Temat: Re: code for flushing imports to .idata in exe
Od: fir <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu sobota, 19 sierpnia 2017 15:22:46 UTC+2 użytkownik fir napisał:
> I think i need some code that would work like
> that
>
> AddImportsForModule("KERNEL32.DLL", "ExitProcess", "GetModuleHandleA",
"GetProcAddress");
>
> AddImportsForModule("msvcrt.dll", "fopen", "free", "printf", "exit", "fclose",
"fread");
>
>
>
> well maybe it would be more like
>
> char* import_names[] = {"fopen", "free", "printf", "exit", "fclose", "fread");
>
> AddImportsForModule("msvcrt.dll", import_names);
>
> but this is detail
>
> the code just need to build binary block of .idata section that i can flush to exe
file
> when flushing exe to disk in my assembler
>
> im howewer a bit confused how weirdly this .idata binary is build, so maybe some
hints on that?
>
> btw some best info i found on this topic is here
>
> https://github.com/macton/x64-fasm-examples/blob/mas
ter/Windows/00_BasicOS/00_pe_return_03.asm
>
> or around here, so if someone would like to focus on this and give me some hints
may use it
>
> tnx
after contemplating that sht for a while
https://github.com/macton/x64-fasm-examples/blob/mas
ter/Windows/00_BasicOS/02_pe_messagebox_03.asm
it seems to me that i need to do such things
(say i got N modules of import)
- flush N of those 40-byte-long module describing records and finish it with zero
record
- flush N module names
- flush so called ILT and IAT for each module (slightly confused here)
- flush all function names (intermixed with 'hints')
would it be all? if so it seems less confusing i previously thought (though those
import-adding-api should be redefined as i need to build a wholle collection before
flushing it in last step
somethink like
AddImport("KERNEL32.DLL", "ExitProcess");
AddImport("KERNEL32.DLL", "GetModuleHandleA");
AddImport("KERNEL32.DLL", "GetProcAddress");
AddImport("msvcrt.dll", "fopen");
AddImport("msvcrt.dll", "free");
AddImport("msvcrt.dll", "printf");
AddImport("msvcrt.dll", ""exit");
AddImport("msvcrt.dll", "fclose");
AddImport("msvcrt.dll", "fread");
FlushIDataSection();
Następne wpisy z tego wątku
- 20.08.17 20:20 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
- 20.08.17 20:39 fir
Najnowsze wątki z tej grupy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
Najnowsze wątki
- 2025-05-12 presja na aplikacje i blik
- 2025-05-12 czy znacie bardziej popierdolone sieci niż polskie?
- 2025-05-12 czy znacie bardziej popierdolone sieci niż polskie?
- 2025-05-11 Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- 2025-05-11 Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- 2025-05-11 obca rejestracja budzi agresję
- 2025-05-11 Po nie udanej próbie egzekucji: Nigeryjczyk, który chciał zabić Polaka, nie odpowie za atak
- 2025-05-10 Szczecin => Key Account Manager IT <=
- 2025-05-10 Rudno => Administrator sieci IT <=
- 2025-05-10 Wrocław => Controlling systems Consultant <=
- 2025-05-10 Rudno => IT network administrator <=
- 2025-05-10 Warszawa => Customer Service with Spanish + translation <=
- 2025-05-10 Warszawa => Senior Account Manager <=
- 2025-05-10 Trójmiasto => Head of Social Media <=
- 2025-05-10 Warszawa => C Programmer <=