Spørgsmål:
Rippe / indsætte kode i en eksekverbar fil ved hjælp af Olly
Fewmitz
2013-04-19 23:45:39 UTC
view on stackexchange narkive permalink

Jeg arbejder med nogle x86-samlingskoder, og jeg skal rippe fra en eksekverbar og indsætte den kode i en anden.

Oprindeligt havde jeg en eksekverbar fil, der var beregnet til at acceptere to kommandolinjeparametre og køre en håndskrevet funktion på dem. Imidlertid stødte jeg på irritationer med at bruge GetCommandLine et al. Til at returnere parametrene i min ASM. Det returnerede nemlig Unicode, og jeg havde brug for parametrene i ANSI. I stedet for at beskæftige mig med at opsætte bibliotekets opkald og konvertere på den måde kompilerede jeg et lille program, der bruger kommandolinjeargumenter med det formål at genbruge kode.

Så nu har jeg to eksekverbare filer: - en med kommandolinjen parametre parset og på deres rette steder - to med den faktiske samlede funktionskode inde i den.

Den første eksekverbare har plads til funktionen NOP ud, men jeg har brug for en god måde at indsætte logikken ind Jeg har kigget på Asm2clipboard, Code Ripper og data ripper, men de har kun funktionaliteten til at rive samlingen ud, men ikke indsætte den igen.

Jeg er opmærksom på, at jeg bliver nødt til at rette adresser. og sådan noget, men jeg kan ikke finde en måde i Olly eller andre værktøjer til at flytte koden mellem eksekverbare filer. Jeg kan gå ind i HexEdit eller noget lignende, formodede jeg, men jeg håbede, at der var en lettere måde.

uhm, `GetCommandLineA` eller` GetCommandLineW`? Hvorfor ikke bare bruge den rigtige til din kontekst?
Tre svar:
Ange
2013-04-19 23:59:36 UTC
view on stackexchange narkive permalink

disasm

brug IDA (hvorfor kun olly? IDA gratis kan gøre tricket) eller OllyDbg med BeaEngine plug-in (det har nogle specifikke ASM-syntaksindstillinger)

forbedring i disassembler

omdøb så mange etiketter som muligt ved hjælp af delta-adresse - det er smertefuldt at gøre det senere

eksportere til ASM

omarbejde ASM-syntaksen for at få det kan samles igen

patch

enten:

  • gør din ASM-kode EIP-uafhængig og patch den som hex

  • Genindsprøjt det med Iczelions Code Snippet Creator (det injicerer din ASM-kode, der er sammensat fra din OBJ)

waliedassar
2013-04-20 13:57:12 UTC
view on stackexchange narkive permalink

For OllyDbg er det

  1. Vælg kode fra CPU-vinduet

  2. Højreklik og vælg Binær

  3. Vælg Binær kopi

  4. I mål-CPU-vinduet skal du gøre det samme, men vælg Binær pasta

matrosov
2013-04-29 01:47:48 UTC
view on stackexchange narkive permalink

Multiline Ultimate Assembler er et multiline (og ultimativt) assembler (og disassembler) plugin til OllyDbg. Det er et perfekt værktøj til at ændre og udvide en kompileret eksekverbar funktionalitet, skrive kodehuler osv.

http://rammichael.com/multimate-assembler



Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 3.0-licens, den distribueres under.
Loading...