Kysymys:
Koodin kopiointi / liittäminen suoritettavaksi Ollyllä
Fewmitz
2013-04-19 23:45:39 UTC
view on stackexchange narkive permalink

Työskentelen joidenkin x86-kokoonpanokoodien kanssa ja minun on kopioitava yhdestä suoritettavasta tiedostosta ja liitettävä koodi toiseen.

Minulla oli alun perin suoritustiedosto, jonka oli tarkoitus hyväksyä kaksi komentoriviparametriä ja suorittaa käsinkirjoitettu toiminto niille. Minulla oli kuitenkin ärsytyksiä GetCommandLine et al: n avulla palauttamaan parametrit ASM: ssä. Nimittäin se palautti Unicoden ja tarvitsin parametrit ANSI: ssa. Sen sijaan, että käsittelisin kirjastokutsujen määrittämistä ja muuntamista tällä tavalla, koin pienen ohjelman, joka käyttää komentoriviargumentteja tarkoituksenaan käyttää koodia uudelleen.

Joten nyt minulla on kaksi suoritettavaa tiedostoa: - yksi komentorivillä parametrit jäsennettyinä ja oikeissa paikoissaan - kaksi varsinaista koottua toimintokoodia sen sisällä.

Ensimmäisessä suoritettavassa tiedostossa on tilaa funktiolle NOP'd out, mutta tarvitsen hyvän tavan liittää logiikka sisään . Olen tarkastellut Asm2clipboardia, Code Ripperiä ja Data Ripperiä, mutta niillä on vain toiminnot kopion kopioimiseksi, mutta ei liittämistä takaisin.

Tiedän, että minun on korjattava osoitteet ja vastaavia, mutta en löydä Ollystä tai muista työkaluista tapaa siirtää koodia suoritettavien tiedostojen välillä. Voin mennä HexEditiin tai vastaavaan, minkä luulin, mutta toivoin, että on olemassa helpompi tapa.

uhm, `GetCommandLineA` tai` GetCommandLineW`? Miksi et yksinkertaisesti käytä oikeaa asiayhteydellesi?
Kolme vastused:
Ange
2013-04-19 23:59:36 UTC
view on stackexchange narkive permalink

disasm

käytä IDA: ta (miksi vain olly? IDA free saattaa tehdä tempun) tai OllyDbg: tä BeaEngine-laajennuksella (sillä on joitain erityisiä ASM-syntaksivaihtoehtoja)

parannus disassemblerissa

nimeä uudelleen niin monta tarraa kuin mahdollista delta-osoitetta käyttämällä - on tuskallista tehdä se myöhemmin

vienti ASM: ään

muokata ASM-syntaksia saadaksesi se voidaan koota uudelleen

-korjaus

joko:

  • tee ASM-koodistasi EIP-riippumaton ja korjaa se heksaksina

  • pistää se uudelleen Iczelionin Code Snippet Creatorilla (se pistää OBJ: stäsi kootun ASM-koodisi)

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

OllyDbg: lle se on

  1. Valitse koodi suorittimen ikkunasta

  2. Napsauta hiiren kakkospainikkeella ja valitse Binary

  3. Valitse Binary Copy

  4. Suorita kohde-CPU-ikkunassa sama, mutta valitse Binary Paste

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

Multiline Ultimate Assembler on monirivinen (ja lopullinen) assembler (ja purkaja) -laajennus OllyDbg: lle. Se on täydellinen työkalu käännettyjen suoritettavien toimintojen muokkaamiseen ja laajentamiseen, koodiluolien kirjoittamiseen jne.

http://rammichael.com/multimate-assembler



Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...