Autor Téma: Vytvorenie pas súboru z dfm + dcu + hpp  (Přečteno 2372 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4341
  • Karma: 38
    • Verze Delphi: XE7 professional
Vytvorenie pas súboru z dfm + dcu + hpp
« kdy: 30-07-2012, 14:35:15 »
Je to možné? V D7 sa mi to podarilo. V XE2 nie.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2309
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Vytvorenie pas súboru z dfm + dcu + hpp
« Odpověď #1 kdy: 30-07-2012, 18:32:17 »
Hmm, zajímavé.

Já jsem si kdysi hrál s http://delphi.cz/post/Dekompilace-DCU.aspx případně http://delphi.cz/post/Dekompilace-Delphi-aplikaci.aspx, ale nikdy to není ani zdaleka 100%.

Jak to děláš? Principiálně si totiž myslím, že to není možné. Jelikož v dcu už je binární kód, a HPP ti pomůže leda tak pro rozhraní nebo konstanty.
Embarcadero MVP - Czech republic

Offline Jan Fiala

  • Příspěvků: 49
  • Karma: 0
    • PSPad editor
Re:Vytvorenie pas súboru z dfm + dcu + hpp
« Odpověď #2 kdy: 30-07-2012, 18:52:24 »
V DCU je binarni kod, ale DFM je ulozeno v resource. Decompilery jako DeDe dokazou rekonstruovat formular, komponenty, udalosti. Ale kod je vetsinou ve forme ASM.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2309
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Vytvorenie pas súboru z dfm + dcu + hpp
« Odpověď #3 kdy: 30-07-2012, 20:39:25 »
Decompilery jako DeDe dokazou rekonstruovat formular, komponenty, udalosti. Ale kod je vetsinou ve forme ASM.

IDR co jsem odkazoval je mnohem zajímavější. Dokáže i dobře komentovat kód, jelikož umí rozeznávat patterny z RTL a VCL
Embarcadero MVP - Czech republic

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4341
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:Vytvorenie pas súboru z dfm + dcu + hpp
« Odpověď #4 kdy: 31-07-2012, 07:33:27 »
Žiaľ vôbec si nepamätám ako som to v D7 urobil. Išlo o tri formuláre RaveReport v 5.1.

Teraz potrebujem dostať pas len z jedného formulára. Ostatné som lokalizoval priamo v dfm. Ten jeden má ale kód, kde potrebujem na dvoch miestach urobiť zmenu textu - doslova string "of" na "z".

Uvidím čo sa mi podarí.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline pepak

  • Guru
  • *****
  • Příspěvků: 1412
  • Karma: 34
    • Pepak.net
Re:Vytvorenie pas súboru z dfm + dcu + hpp
« Odpověď #5 kdy: 31-07-2012, 08:16:44 »
Na to snad nepotřebuješ dělat nějaký zoufalý zpětný překlad a pak se ještě zoufaleji snažit ten zpětný překlad zase přeložit do binárky. Pokud měníš string "of" na "z" a nemáš zdroják, tak daleko nejjednodušší bývá najít v přeloženém kódu výskyty toho "of" a přepsat to nejlépe na "z " (z, mezera - aby byla zachována délka a přitom uživatel nejspíš neviděl rozdíl). Najít "ten správný" výskyt "of" může být pracnější, když je to takhle krátký string, tak se v binárce bude vyskytovat i v místech, kde to není string ale něco jiného (kód, číslo...), ale s trochou píle se to dá dost snadno poznat (a v nejhorším případě prostě postupně vyzkoušet)...

A jinak mi tedy připadá velmi neobvyklé, že by výrobce Rave Reports nenabízel lokalizační kit nebo aspoň možnost koupit zdrojáky.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4341
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:Vytvorenie pas súboru z dfm + dcu + hpp
« Odpověď #6 kdy: 31-07-2012, 08:31:26 »
// Najít "ten správný" výskyt "of" může být pracnější, když je to takhle krátký string, tak se v binárce bude vyskytovat i v místech, kde to není string ale něco jiného (kód, číslo...), ale s trochou píle se to dá dost snadno poznat (a v nejhorším případě prostě postupně vyzkoušet)...

Kde a ako ho mám hľadať?

// A jinak mi tedy připadá velmi neobvyklé, že by výrobce Rave Reports nenabízel lokalizační kit nebo aspoň možnost koupit zdrojáky.

Či ponúka kit neviem. Viacerí robili lokalizáciu sami - "ručne". Kupovať sa mi to určite neoplatí
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4341
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:Vytvorenie pas súboru z dfm + dcu + hpp
« Odpověď #7 kdy: 31-07-2012, 08:32:56 »
Kde =  v čom. Predpokladám dcu. Potom neviem ďalší postup.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline pepak

  • Guru
  • *****
  • Příspěvků: 1412
  • Karma: 34
    • Pepak.net
Re:Vytvorenie pas súboru z dfm + dcu + hpp
« Odpověď #8 kdy: 31-07-2012, 09:24:58 »
Hexadecimální editor, natáhnout do něj .dcu, nechat si vyhledat výskyty "of", zkušeným zrakem odhalit, které z nich jsou nadějné, přepsat na "z ", uložit, zkusit zkompilovat aplikaci a podívat se, jestli se text změnil nebo ne.