hogyan lehet megváltoztatni a dll-t


Válasz 1:

Nos, először is nagyon meglepődtem az itt élő emberek válaszaival, elbátortalanítva a kérdezőt.

A dll egy dinamikus könyvtár, amely bináris kódot tartalmaz, így nem lehet egyszerűen szerkeszteni, szükséges az assembler nyelv ismerete és egy kis türelem.

Számos eszköz létezik, amelyekben láthatja a kódot, és megfordíthatja annak logikáját.

  • Debugger és dissasembler (IDA, ollydebug, xdbg stb.)
  • Hexeditorok

A dll hasonló a Windows normál futtatható fájljához, de nem rendelkezik a normál PE futtatható fájlokban található normál OEP-vel (belépési kód).

Attól függ, hogy mit szeretnél csinálni, módosítanod kell a PE fejléceket, például ha további kódot akarsz hozzáadni, akkor meg kell.

Ha csak apró változtatásokat akar végrehajtani, vagy megkerüli a kód egyes részeit, lehetséges, hogy elég lesz a javítás, és adjon hozzá néhány nop kódot az üres kód feltöltéséhez.

Néhány hibakeresőnek lehetősége van módosítani az utasításokat, és menteni egy új futtatható fájlba, az IDA és az ollydbg lehetővé teszi ezt.

Most a dll szerkesztési eljárása pontosan megegyezik az egyik Windows futtatható futtatásával.

Ha el akarja kezdeni ezt a világot, akkor el kell olvasnia és tanulmányoznia a Windows belsejét és az assembler nyelvét, nem könnyű feladat, de egyáltalán nem lehetetlen, csak időre és türelemre van szükség.

Felejtsd el, hogy a DLL vagy az EXE pontosan megegyezik-e, kevés különbség van, ha a kód megfordításáról beszélünk.

A feltörő és feltörő fórumok és oktatóanyagok nagyon hasznosak lesznek, ha Ön kezdő.

Nagyon sok dokumentáció van a neten, és csoportok / fórumok / levelezőlisták vannak készséggel az emberek számára, akik készen állnak a segítségére, ha megfelelő kérdéseket tesz fel, de itt, Quorában nem a legjobb hely erre, mert nagyon általános kérdés.

Üdvözlettel,


Válasz 2:

Ha olyan kérdést tesz fel, hogy „mi a legjobb módszer a DLL-fájl szerkesztésére”, akkor a legjobb az, ha leáll, hosszasan elgondolkodik azon, hogy mit szeretne csinálni, és miért gondolja a DLL-fájl szerkesztését. segít megtenni.

Ezután megtudhatja, mi a DLL fájl. Ha a Microsoft Windows számítógépeken található fájlokra hivatkozik, amelyek fájlnevük végén „.DLL” kiterjesztésűek, azok lefordított szoftverkönyvtárak. A „DLL” ebben az összefüggésben a

Dinamikusan összekapcsolt könyvtár

. Ezek nem szerkeszthető tartalmak, hanem egy szoftverfejlesztési folyamat eredményei. A változtatás legjobb módja az, ha a forráskóddal indulunk, amelyből a DLL összeállt.

Végül törölje ezt a kérdést, és írjon egy új kérdést, amely kihasználja a jelenlegi helyzet tisztább megértését, hogy mit akar valójában megvalósítani, és miért gondolja, hogy a folyamat részeként meg akarja változtatni a DLL-t.


Válasz 3:

Tegyük fel, hogy tudja, mi a DLL fájl, és hogy bináris, lefordított kód-gép nyelvet tartalmaz. Ezek a fájlok PE formátumban vannak, ezért indíthat egy PE szerkesztővel. Ez lehetővé tenné a DLL néhány aspektusának megváltoztatását, és legalább a gépnyelvi szöveg megtalálását, ha meg szeretné változtatni az ott található utasításokat. Ismerem az X86 Assemblert, és Windows-on 32 bites alkalmazásokhoz tudok összeszerelési szintű hibakeresést végezni. Meg sem próbálnám bináris szerkesztővel módosítani a DLL-t. X64? A generált kód nagy részét el tudom olvasni egy fordítótól, de nem tudom elképzelni, hogy X64 gépnyelven ássak körül. Nem. Felejtsd el.