Kérdés:
Kód futtatása / beillesztése futtathatóvá Olly használatával
Fewmitz
2013-04-19 23:45:39 UTC
view on stackexchange narkive permalink

Néhány x86-os összeállítási kóddal dolgozom, és be kell szakítanom az egyik futtatható fájlból, és be kell illesztenem a kódot a másikba.

Eredetileg volt egy futtatható fájlom, amely két parancssori paraméter elfogadását jelentette és futtasson rajtuk egy kézzel írt funkciót. Azonban a GetCommandLine és mtsai használatával bosszúságokat tapasztaltam az ASM-ben lévő paraméterek visszaadására. Ugyanis visszaadta az Unicode-ot, és szükségem volt a paraméterekre az ANSI-ban. Ahelyett, hogy a könyvtárhívások beállításával és az átalakítással foglalkoznék, összeállítottam egy kis programot, amely parancssori argumentumokat használ a kód újrafelhasználása céljából.

Tehát most két futtatható fájlom van: - az egyik a parancssorral paraméterek elemezve és a megfelelő helyeken - kettő a benne lévő tényleges összerakott funkciókóddal.

Az első futtatható fájlban van hely a NOP'd függvény számára, de jó módszerre van szükségem a logika beillesztésére Megnéztem az Asm2clipboard-ot, a Code Ripper-t és az adat-rippert, de ezeknek csak az a funkciójuk van, hogy kiszedjék az összeállítást, de ne illesszék be vissza.

Tisztában vagyok azzal, hogy meg kell javítanom a címeket és ehhez hasonló dolgokat, de az Olly-ban vagy más eszközökben nem találok módot a kód futtatására a futtatható fájlok között. Bemehetek a HexEditbe vagy valami hasonlóba, amit gondoltam, de reméltem, hogy van egy egyszerűbb út is.

uhm, `GetCommandLineA` vagy` GetCommandLineW`? Miért ne használná egyszerűen a megfelelőt a kontextusához?
Három válaszokat:
Ange
2013-04-19 23:59:36 UTC
view on stackexchange narkive permalink

disasm

használja az IDA-t (miért csak az olly? Az IDA free teheti a dolgot), vagy az OllyDbg-t a BeaEngine beépülő modullal (van néhány speciális ASM-szintaxis opció) a disassemblerben

minél több címkét nevezzen át delta cím használatával - ezt később fájdalmas megtenni

exportálás ASM-be

az ASM-szintaxis átdolgozása újból összerakható

javítás

vagy:

  • tegye ASM-kódját EIP-függetlenné és javítsa hexaként

  • adja be újra az Iczelion Code Snippet Creatorjával (az Ön OBJ-jéből összeállított ASM-kódot adja be)

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

Az OllyDbg esetében ez

  1. Válasszon kódot a CPU ablakból

  2. Kattintson a jobb gombbal, és válassza a Binary lehetőséget

  3. Válassza a Bináris Másolás

  4. A cél CPU ablakban tegye a következőket: ugyanaz, de válassza a Bináris beillesztés

lehetőséget
matrosov
2013-04-29 01:47:48 UTC
view on stackexchange narkive permalink

A Multiline Ultimate Assembler egy többsoros (és végső) assembler (és szétszerelő) plugin az OllyDbg számára. Tökéletes eszköz egy lefordított futtatható funkció módosítására és bővítésére, kódbarlangok írására stb.

http://rammichael.com/multimate-assembler



Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...