Kérdés:
Melyek a különböző típusú csomagolók?
perror
2013-04-15 16:36:24 UTC
view on stackexchange narkive permalink

Ismerem a csomagoló alapelvét. Alapvetően a program elején elindított kis rutinról van szó, amely kibontja a tényleges programot, és az elérés után ráugrik.

Úgy tűnik azonban, hogy ezen elvek körül nagyon sok variáció létezik. Nemrég tudtam meg a " virtualizált csomagolókról " vagy a " on-the-fly csomagolókról ", és sokat hiányozhat. Tehát meg tudja-e határozni valaki, hogy mi az az alap csomagoló, majd elmagyarázni, hogy melyek a különböző típusok, amelyekkel találkozhatunk?

Szia @perror, Tudna nekem adni néhány kapcsolódó anyagot a "menet közbeni csomagolókról" ...? Kerestem a Google-ben, de nem találtam semmi érdekeset. Köszönöm!
A "on-the-fly packers" névből egészen hasonlónak kell lennie a VM packer-hez ..... de nem vagyok biztos benne
Kettő válaszokat:
Ange
2013-04-15 17:00:04 UTC
view on stackexchange narkive permalink

Általános meghatározás

A bináris csomagolók az eredeti bináris adatokat megváltoztatják, és a végrehajtás előtt (többé-kevésbé) visszaállítják.

Különböző nevük inkább a jellemzőjüktől függ: nehéz egyértelműen megkülönböztetni, mivel egy anti-debug és egy Xor hurok felhelyezésével a csomagoló is védővé és titkosítóvá válik.

típusok

kiterjesztés

extra csomagoló a kód végrehajtásra kerül

  • kompresszor: az eredeti adatok méretének csökkentése
    • közös: aPLib (FSG,, LZMA, NRV (UPX)
    • egyéb: JCALG1, BriefLZ , LZMAT
  • protektor: megnehezíti a fordított mérnöki munkát
    • ellenintézkedések:
      • hibakeresés: IsDebuggerPresent, ...
      • anti-virtualizáció: észleli a VmWare-t, ...
      • dömpingellenes: törli a fejlécet a memóriából ...
      • manipuláció megakadályozása, ellenőrző összegeken keresztül
        • gyakori : gördülő ellenőrző összeg, CRC32, md5, sha1, adler, md4
        • egyéb: Tiger, Whirlpool, md4, adler
  • cryptor: az eredeti adatok titkosítása
    • közös: bitenkénti operato rs (XOR / ROL / ...), LCG, RC4, Tea
    • mások: DES, AES, Blowfish, Trivium, IDEA, ElGamal

átalakítás

az eredeti kód átírása

  • virtualizáló: az eredeti kódot virtuális kódgá alakítja beágyazott virtuális géppel
  • mutater: megváltoztatja kód - ugyanaz az utasításkészlet és architektúra, de módosítva:
    • tükröző
    • oligomorfizmus

extra funkciók

  • csomag: fájl eldobás, API összekapcsolással (a több fájlból álló program egyetlen fájlként történő futtatásához)

Ezek a grafikák segíthetnek további hivatkozásként.

Most nem vagyok biztos benne, hogy kezdettől fogva közösségi wikivé kellett volna változtatnom - közölje velem a véleményét.
Nehéz megmondani. A kérdés vs wiki osztályozása nagyon szubjektív. Azt mondanám, hogy azt csináld, amiben a legkényelmesebbnek érzed magad. Megmaradhat, mint véleményem szerint.
dyasta
2013-04-15 21:54:19 UTC
view on stackexchange narkive permalink

Definíció

Meghatározunk egy csomagolót futtatható kompresszorként.

A csomagolók a tömörítéssel csökkentik a futtatható fájl fizikai méretét. A dekompressziós csonkot ezután parazita módon hozzákapcsolják a futtathatóhoz. Futás közben a kibontási csonk kibővíti az eredeti alkalmazást, és átadja az irányítást az eredeti belépési pont nak.

Szinte minden modern platformra léteznek csomagolók. A csomagolóknak két alapvető típusa van:

  • Helyben (memóriában)
  • Írjon lemezre

Helyben csomagolók azt csinálják, amit helyben történő dekompressziónak neveznek, és amelyben a kicsomagolt kód és adatok ugyanazon a helyen vannak, ahová betöltötték. Az ezekhez a tömörített futtatható fájlokhoz tartozó visszafejtési csonk futás közben továbbítja a vezérlést az alkalmazás eredeti belépési pontjára, miután a dekompresszió befejeződött.

Írjon lemezre a csomagolóknak van egy visszafejtési csonkja (vagy egy teljes modulja), amely futás közben írja ki a kibontott alkalmazást a fájlrendszerbe vagy egy blokk memóriába, majd továbbítja vezérlés az eredeti alkalmazáshoz az alkalmazás kódjának normál API hívásokon keresztüli végrehajtásával.

Használat

A futtatható kompresszorok eredeti célja a tárolási követelmények (a lemezen lévő méret) csökkentése volt, még a lemezkor a tér prémium volt. Csökkenthetik az átvitt tömörített futtatható fájlok hálózati sávszélességét is, legalábbis akkor, amikor a hálózati forgalom egyébként nem lenne tömörítve.

Manapság nincs prémium a lemezterületen, ezért használatuk ritkább. Leggyakrabban a fordított tervezés elleni védelmi rendszer részeként használják. Sajnálatos módon a visszaélések is gyakoriak.

Visszaélés

A rosszindulatú programok szerzői visszaélnek bizonyos csomagolókkal, amikor megpróbálják elrejteni a rosszindulatú programokat a szkennerek elől. A legtöbb szkenner képes „belsejében” (kicsomagolni) a csomagolt futtatható fájlokat. Ironikus módon a csomagolók rosszindulatú programokon történő használata gyakran kontraproduktív, mivel a rosszindulatú programokat gyanússá teszi, és ezáltal mélyebb elemzéseknek vetik alá.

További funkciók

További funkciók, mint pl. a csomagológéphez hozzá lehet adni a fordított tervezés elleni védelmet, így a csomagoló is védővé válik. A tömörítés folyamata maga az elfedés és az absztrakció egy olyan formája, amely eredendően némi védelemként szolgál.



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...