» Poradna » Programy

Jak editovat .dll soubor

 |   |  Microsoft Windows 8 IE 10.0

Ahoj, zajímalo by mne jak lze editovat .dll soubory. Co vše k tomu potřebuji. Důvod? Chci nahlédnout do kódu programů a pochopit jak fungují. Prý se jedná o nelegální činnost. Co je na tom pravdy?

Mohlo by vás také zajímat

Odpovědi na otázku

 |   |  Linux AppleMAC-Safari 5.0

Že by pokračování tématu: http://www.zive.cz/poradna/nejlepsi-programo... ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 IE 10.0

Ne

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows XP Firefox 20.0

DLL je knihovna obsahujicí funkce. Nevim, co na tom chceš editovat. Pokud přepsat nějaké retězce, tak třeba jakýkoliv hexa editor. Pokud Tě to zajímá jako celek, tak to můžeš prohnat disassemblerem, ale předpokládám, že tomu co z toho vyleze stejně nebudeš rozumět, dkyž pokládáš takovýto dotaz ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Firefox 20.0

Obsahem dll bude se vší pravděpodobností strojový kód. Pokud ho neumíš (na 99,9999% určitě ne), tak máš smůlu."Prý se jedná o nelegální činnost."Záleží na licenci toho dll."Chci nahlédnout do kódu programů a pochopit jak fungují."Opravdu blbý způsob. Raději se nauč nějaký programovací jazyk.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 IE 10.0

Tak jinak. Četl jsem něco o reverzním inženýrství. A chtěl bych rozlousknout program tak, aby mi to vyhodilo kódy přesně tak jak byly napsány autorem abych si mohl projít jednotlivé části a zjistit co jaká dělá. A odpovědi jako "když tomu nerozumíš tak to nech bejť" si nechte pro sebe.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux AppleMAC-Safari 5.0

"...Četl jsem něco o reverzním inženýrství..." A oni tam nepsali též, že tohle může provádět spíše tým než jedinec, ale složený z velmi zkušených a velmi vzdělaných jedinců a ne frikulínek s naprosto prázdnou hlavou?!Ale tohle přeci nechcete číst, že?! Vy chcete kouzelný program, který "vyhodí" kód a nejlépe i s komentářem tvůrce...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 IE 10.0

Nač tolik rage?:D Tak jsem se jen zeptal. Oh god. Vemte si prášky na nervy nebo vám vybuchne hlava z toho, co jste právě přečetl. Nejde to, nejde. Ok. Stačí to napsat v klidu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux Firefox 16.0

Trochu pochopeni , to je mistni agent provokater .

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 26.0.1410.64

Nikdy ti to nevyhodí kód přesně tak, jak ho psal autor.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux Chrome 25.0.1364.160

Tak to jsi četl velmi špatně. Nikdy tam nebylo napsáno, že ty kody budou revezně přeloženy, tak jak je programátor napsal. Minimálně platí toto:1. Budou v assambleru, bez ohledu na původní jazyk2. Nebudou v nich komentáře3. Proměnné a konstanty nebudou mít "lidská jména"To je to, co se ti ostatní snaží sdělit. Jde o jasný pokus o flame war. Prosím zamknout.PrasatkoPee

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 IE 10.0

No dobrý už jsem vyhledal něco o dekompilaci .dll. Já myslel že mi to vyjede v takovém formátu v jakém to bylo napsáno a né v assembleru. To je kvůli ochraně zneužití či co?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux AppleMAC-Safari 5.0

"...To je kvůli ochraně zneužití či co?..." Kristepane(TM)! Tady je opravdu prázdno! Z binárního kódu pro určitou rodinu CPU má asi vylést jako co?!

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8 IE 10.0

Nene, právě naopak. Dneska je tu velice živo :D.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 IE 9.0

Ne, to opravdeu není kvůli ochraně proti zneužití. Opravdu dobrý programátor se dokáže pohrabat i v tom assmebleru. Důvod, proč to v něm vyjde je ten, že zkompilovaný program je už jen čistý strojivý kód (instrukce procesoru, jejich operandy...) a assembler je, zjednodušeně řečeno, jen takový lidsky přívětivější zápis toho strojového kódu. Ale i když člověk píše program ve strojovém kódu, tak používá různé zástupné symboly pro adresy (třeba instrukce skoků na jiné místo v programu), pro adresy v paměti (dá se přirovnat k proměnným ve vyšších jazycích) atd. Ale tyhle symboly už v přeloženém programu nejsou, takže program přechroustaný diasslemblerem je to nepřehlednější.A dostat z toho zápis, jaký byl v nějakém vyšším jazyce, to uý vůbec není možné. Ten zápis je prostě nenávratně pryč, navíc mohl vypadat "na tisíc" způsobů.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 8 Firefox 20.0

MS, uklidni než ti praskne žilka.Dekompilovat lze programy které jsou napsaná v .NETu nebo v Javě. Ten kód sice není uplně stejný jako originál, liší se i podle použitého dokompileru a někdy ani není funkční, nicméně lze to.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 16.0

Teoreticky to musí jít zpátky všechno, akorát kdo vymyslel kompilátor musí vymyslet i decompilátor a hlavně ho dát do oběhu jako program.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 26.0.1410.64

Ani teoreticky to nemůže fungovat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 16.0

Do těch *.dll se volá programem a je to tam napsaný né jedničkama a nulama ale programovacím jazykem.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows XP Firefox 20.0

Tu DLL můžeš využít z kteryhokoliv programu, jen musíš znát tzv interface a datovej typ předávané proměnné. Tudiž ono DLL je v podstastě spustitelný binární kód pro daný typ procesoru, ze kterého daná část se vykoná právě zavoláním z volajícího spuštěného programu ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows XP Firefox 20.0

...a nejlíp i s názvama proměnných, ne

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 16.0

Tak jak se to posílá do převaděče z písmenek na 01 tak to musí jít zpátky.Ta *dll je to samé jako spustitelný *.exe, takže záleží na kompilátoru jak a kam a v jaké formě to posílá, jenom jedničky a nuly tam nejsou.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 26.0.1410.64

Nemusí, prostě nemusí.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 16.0

Ano, v současné době to prakticky nejde, takže nemusí, ále kdyby se chtělo tak to může jít. V soušastnosti lze použít nějaké odchytávání programu a převod do písmenek nebo nějaký stručný překladač.pozn: Že dnes něco nejde je vyvoláno uměle.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 IE 9.0

Opravdu meleš. Nevíš o tom zhola nic.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 26.0.1410.64

Ono to nejde jenom prakticky, ono to nejde vůbec. Při překladu se ztratí spousta informací z původního programu, protože k běhu programu prostě nejsou potřeba. A jakmile se tyhle informace jednou ztratí, tak už není možné je vrátit zpátky.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 16.0

S tou první větou nesouhlasím, jinak nejsem v rozepři. Tak stačí ucpat cedník a nic se neztratí.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 26.0.1410.64

Jo jasně, takže budeme mít programy mnohem větší a pomalejší, jenom pro to, aby si to někdo mohl náhodou dostat zpět do podoby zdrojových kódů.Takový kompilátor by asi nikdo nepoužíval.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 16.0

No tak větší by byly, pomalejší v žádném případě, proč taky, možná při kompilaci. Na druhou stranu by mohly ty zdrojáky být separátně uloženy a nemuselo by se nic zpětně vracet, že? Tak to jde nebo né? No ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 26.0.1410.64

Pomalejší by to rozhodně bylo. Musela by se vypnout optimalizace při kompilaci.Kdo chce zdrojáky poskytovat, ten je taky postkytuje. Fakt nevím, proč by si měl kvůli tomu ještě prznit výsledné zkompilované soubory.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 16.0

O žádným prznění nemůže být řeč, kolikrát se komu stalo že si nezazálohoval rozpracovaný zdroják, kompiloval a po několika opravách zjistil že ten zkompilovaný už nemá protože spoustu toho už smazal a rád by se vrátil do doby kdy kompiloval, třeba ...Takže teoreticky to lze a prakticky taky s podmínkou že to bude podložené tou teorií co to umožňuje. Tááák.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 26.0.1410.64

Od toho jsou verzovací nástroje.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 16.0

Tak to je Ti platný když nemáš zdroják té verze.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 26.0.1410.64

Tak to je pak programátor pako, že má verzovací systém a nepoužívá ho.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 16.0

Na to nemusí mít nějaký verzovací systém, stačí když si to uloží a chce to uložit, jenže když se domnívá že už je dál tak může automatické uložení vypnout, ale o tom jestli je programátor pako nebo nebo né je už jiná věc.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 17.0

Pak si ale zasloužíš, abys o hotovou práci přišel a musel jí dělat znova. A když tě ani tohle nenaučí zálohovat, pak je čas nechat programování a nastoupit tam, kde zálohovat netřeba - např. k popelářům.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 16.0

Popeláři že nezálohujou? Mám za to že popeláři sváží odpad na jedno místo kde se zálohuje např.do země aby se mohl za xx let vykopat a za velký peníze rozstřídit. Jestli ho někde spálí hned zálohy netřeba.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0

Ne Tasemnice, ty jsi opravdu vůbec nepochopil, jak to funguje (proto někteří doporučují začít assemblerem, ty jsi příklad, že to některým lidem chybí). Zkus si v nějakém programocím jazyku otevřít debug okno CPU (assembleru) a krokuj si program. Bude tam mít JEN samé instrukce, celkem nic neříkající operandy (adresy, parametry...) a případně zobrazené části kódů v tom vyšším jazyce, kterých se ta část v assmebleru týká, ale to jen a jen díky tomu, že ten kompilátor z toho prostě "vaří". Ale jakmile ti to vyplivne exe nebo dll, tak tam už bude jen a jen strojovž kód, nic víc. Takový prostý cyklus For nebo While bude ve strojovém kódu (příp. po dekompilaci v assmebleru) vypadat ze všech jazyků prakticky stejně, veelmi podobně. Tam není moc co vymýšlet. Ale ve vyšších jazycích ty cylky mohou být zapsané "tisíci" způsoby, mlžeš mít proměnné nazvané miliony kombinacemi..., dále třeba volání podprogramu, prostě funce/procedura ve vyšším jazyce. V assembleru instrukce CALL a jako parametr adresa. Název podprogramu je pryč. A tak by se dalo pokračovat. Ze zkompilovaného programu (ze strojového kódu) dostaneš tak maximálně assembler, a to ještě docela "znepřehledněný" oproti tomu, co by vypadlo z programátora, který by ten program psal v assebleru.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0

A k těm podprogramům (funkcím, procedurám ve vyšších jazycích). Dost často mívají nějaké parametry, může jich být třeba 20. Kompilátory to překládají tak, že ty parametry předávají pomocí některých registrů CPU (těch je omezený počet), mohou použít i místo v RAM. Ale zase jednak ze všech možných jazyků to bude to samé "v bledě modrém", nebudou tam velké rozdíly, protože tam taky není moc co vymýšlet. Takže jednak nemáš moc šanci zjistit z jakého jazyka to bylo přeložené, navíc tam opravdu nebudou názvy parametrů, názvy procedur, názvy lokálních promenných uvnitř procedur...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 IE 9.0

Nepůjde to ani prakticky ani teoreticky, vyplývá to totiž z logiky věci. Stačí si totiž uvědomit - ale na to musí dotyčný znát programování v assebleru - že pokud totiž (jde o příklad) je dynamicky generována datová část instrukce jako rozdíl dvou hodnot označujících návěští - což jsou sami o sobě RELATIVNÍ hodnoty vztažené k jisté lokální bázi segmentu - ale jejich rozdíl je hodnota ABSOLUTNÍ, tak žádný dekompilátor (dá se to dokázat) z principu nemůže na tento fakt přijít, a vygenerovat tuhle absolutní konstantu jako rozdíl dvou relativních hodnot (nemůže totiž NIKDY zjistit, kam by měl daná dynamicky generovatelná a stejně tak dynamicky označovatelná návěští UMÍSTIT). To všem náš tazatel v této fázi - nepodceňuji ho - nemůže bez velmoi důkladného studia pochopit. proto se také hloupě ptá a neméně hloupě mu i někteří přizvukují.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 IE 8.0

S .dll je skoda stracat cas. Vcil ked procesory vykonavanie programu odhaduju a spekulativne predpovedaju by bolo lepsie sa pozriet na to, ako tomu procesoru podstrcit to, co chcem aby robil a nie len aby furt nieco odhadoval a predpovedal.Na predpovedanie mame predsa astrologiu no nie ?

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows XP Opera 9.80

Pokud bys to chtel pouze editovat (zmenit, nektere texty, nekdy i prejmenovat nektere obrazovky), tak treba Resource Hacker:http://www.angusj.com/resourcehacker/rh_shot.htmlnebo trebahttp://www.wilsonc.demon.co.uk/d10resourceeditor.htmNelze to ale vzdy pouzit...ale zdrojak timhle nedostanes.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Opera 9.80

Nehlede k tomu, ze DLL je v podstate jen knihovna funkci, ten hlavni vykonny kod, ktery funkce z DLL vola je v EXE.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 IE 8.0

Reverz sa robi tak, ze si totalna kocka na to co chces reverzovat.Ak chces robit reverz gulickoveho loziska, jednoducho rozoberies zmerias a vyrobis to iste. S programom k niecomu je to podobne len s tym rozdielom, ze musis hovorit recou kmena -> 0101110000111.Bohuzial len citat o tom nestaci. Aspon 10 rokov denneho 12 hodinoveho programovania a da sa hovorit, ze by si vedel nieco zreverzovat.Ale som si isty, ze potrebna prax aspon tych 10 rokov ta odradi natolko, ze sa na to vybodnes po dvoch dnoch. Urcity jedinci sa vydrzia v tom vrtat tak mozno dva tyzdne, kym im to docvakne.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 16.0

Pošli tu knihovnu do Microsoftu, nemusí být od nich a řekni jim ať ti jí editujou ... Jsem si skoro jistý že Ti dají vědět kterou proměnou si tam napráskal blbě a co si tam zmastil, musíš jí ale vydávat za svou.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0

Totální hovadina! Zkus si (ZONDE? ), v hex editoru najít v nějakém exe nebo dll souboru název proměnné, kterou jsi použil třeba ve zdrojáku v Delphi. NENAJDEŠ! Nemáš nejmenší šanci. Ta proměnná tam prostě není, není a není. Jsou tam jen registry procesoru, které ji mohou prezentovat v procedurách/funkcích, případně jako adresy v paměti, přesněji pointry, protože dnes je paměť dynamicky alokovaná systémem. Ale to je jedno. Nenajdeš tam nic, ani názvy funkcí, procedur, ani promenných, konstant...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0

Aneb podletoho, co tady píšeš, tak o tom víš opravdu kulové. Je možné pouze to dassemblerování, a i to...kdybys někdy programoval v assembleru a pak se podíval na kód, který komplitátor vyplivne (nebo dokonce kdybys někdy něco zkusil přímo ve strojovém kódu), tak takové hovadiny netvrdíš a věděl bys, že i v tom zpětně získaném assembleru ztratíš všechno možné, čím nejrůznější assemblerové vývojové prostředí oplývají.Připomínáš mi Dr.No64/ZONDa a optočlen místo trafa a jiné jeho perly.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0

Resp. abychom byli přesní. V knihovně musí být názvy funkcí uvedené, protože těmi názvy se na ně odkazuješ v jiných jazycích, pokud je chceš nalinkovat. Ale to je JEDINÝ důvod tohoto. V exe nenajdeš názvy funkcí, a určitě ani v DLL názvy těch funkcí, které jsou vnitřní, lokální a nejsou programátorem určené pro linování někam ven.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 16.0

Koukám že sis dal po 8 minutách vždy oddech, hehehh, heh,heh, to je únavy kopec psát blbosti ve stylu románového díla ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0

Blbosti? Mluv za sebe ty "odborníku" laskavě, jo?! Meleš hovadiny, víš o tom kulové, ale hlavně že sebevědomí velikosti mrakodrapu. Nejsi ty ZOND/DrNo64? Docela typické pro něj.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 16.0

Ale ty mluvíš o "stelný krávě" a já o teorii použitelnou v praxi. No jó to je nůďo, s kým by si se hádal asi ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0

Ale prd...velký prd ty teorie použitelná v praxi Ti pošlu exe a dll, vytáhni mi z něj jména promenných a která hodila chybu dělení nulou

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0

Typický ZOND/Dr.No64...že by se vrátil? A co ten

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Firefox 20.0

*facepalm*Ty už raději nic nepiš....

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Firefox 20.0

Tak ty musíš být těžkej frajer, co? Chodíš ještě na základku a nebo jsi už na střední?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 26.0.1410.64

sežeň si zdrojaky skompiluj si je a uvidíš sám

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 23.0

Proč když chceš jenom pochopit jak pracují programy si nestáhneš nějaký zdrojáky. Kdy nejen nebudeš překračovat nějaké licenční podmínky ale také nebudeš potřebovat překonávat nějaké ochrany proti RI a shánět nějaké hackerské programy.Zkus si přečíst také něco o Open Source.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 20.0

The Tasemnice (Zodne...):Jo a tahat ve spustitelném souboru zdrojáky, jak jsi tady tvrdil, to je kravina největší. Jednak to už není zpětné inženýrství, to je úplně obyčejné poskytnutí zdrojáků, jen na jiném místě, než obvykle. A pak stejně k patřičnému zdrojáku potřebuješ patřičný kompilátor...to je jen úskok od tebe, abys měl "pravdu".

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Firefox 20.0

Radši se s ním nehádej. Bláznům se nemá odporovat

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Nelegální činnost