Küsimus:
Koodi rippimine / kleepimine käivitatavasse faili Olly abil
Fewmitz
2013-04-19 23:45:39 UTC
view on stackexchange narkive permalink

Ma töötan mõne x86 koostekoodiga ja pean rippima ühelt käivitatavalt faililt ja kleepima selle koodi teise.

Algselt oli mul käivitatav fail, mis pidi aktsepteerima kahte käsurea parameetrit ja käivitage neile käsitsi kirjutatud funktsioon. Kuid ASM-i parameetrite tagastamiseks tekkis mul GetCommandLine'i jt kasutamisega pahameel. Nimelt tagastas see Unicode'i ja mul oli vaja parameetreid ANSI-s. Selle asemel, et tegeleda teegi kõnede seadistamise ja muundamisega, koostasin väikese programmi, mis kasutab koodi taaskasutamise eesmärgil käsurea argumente.

Nüüd on mul kaks käivitatavat faili: - üks käsureal parseldatud parameetrid ja nende õiged kohad - kaks koos tegeliku kokkupandud funktsioonikoodiga.

Esimesel käivitataval on ruumi funktsioonile NOP'd välja, kuid mul on vaja head viisi loogika kleepimiseks . Olen vaadanud Asm2clipboardi, Code Ripperit ja Data Ripperit, kuid neil on ainult võimalus komplekti välja rebimiseks, kuid mitte uuesti kleepimiseks.

Ma olen teadlik, et pean aadressid parandama ja sellised asjad, kuid ma ei leia Ollyst ega muudest tööriistadest viisi, kuidas koodi käivitatavate failide vahel liigutada. Ma võin minna HexEditi või midagi sellist, mida ma arvasin, kuid ma lootsin, et on lihtsam viis.

uhm, `GetCommandLineA` või` GetCommandLineW`? Miks mitte kasutada lihtsalt oma konteksti jaoks õiget?
Kolm vastused:
Ange
2013-04-19 23:59:36 UTC
view on stackexchange narkive permalink

disasm

kasutage IDA-d (miks ainult olly? IDA free võib seda trikki teha) või BeaEngine'i pistikprogrammiga OllyDbg-d (sellel on mõned konkreetsed ASM-i süntaksivalikud)

parandage disassembleris

nimetage võimalikult palju silte ümber, kasutades delta-aadressi - seda on hiljem valus teha

eksport ASM-i

töötleme ASM-i süntaks ümber see saab uuesti kokku panna

plaaster

kas:

  • muutke oma ASM-kood EIP-st sõltumatuks ja parandage see heksiks

  • süstige see uuesti Iczelioni koodilõigude loojaga (see süstib teie ASM-koodi, mis on koostatud teie OBJ-st)

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

OllyDbgi puhul on see

  1. Valige protsessori aknast kood

  2. Paremklõpsake ja valige Binary

  3. Valige Binaarkoopia

  4. Tehke CPU sihtaknas järgmist: sama, kuid valige Binary Paste

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

Multiline Ultimate Assembler on mitmerealine (ja ülim) monteerija (ja demonteerija) pistikprogramm OllyDbg jaoks. See on ideaalne tööriist kompileeritava käivitatava funktsiooni muutmiseks ja laiendamiseks, koodikoobaste kirjutamiseks jne.

http://rammichael.com/multimate-assembler



See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 3.0-litsentsi eest, mille all seda levitatakse.
Loading...