Nejste přihlášen/a.

Přihlásit se do poradny

 

Program na nahrazení řetězce v hex. tvaru

Od: h4ever® odpovědí: 12 změna:

Zdravím programátory.

Já sice nejsem programátor, ale potřebuju zeditovat soubor registru .reg pro windows. Data jsou v hexadecimálním tvaru. Příklad:
[HKEY_CLASSES_ROOTCLSID{1ABCFC13-2340-11d2-B601-006097DF5BD4}InProcServer32]
@=hex(2):43,00,3a,00,5c,00,57,00,49,00,4e,00,44,00,4f,00,57,00,53,00,5c,00,73,
00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,73,00,69,00,65,00,
66,00,74,00,70,00,2e,00,64,00,6c,00,6c,00,00,00
"ThreadingModel"="Apartment"
Znamená: C:WINDOWSsystem32msieftp.dll
A tak potřebuji najít nějaký editor, který by zvládl tohle zeditovat v tom souboru .reg! Hromadně na D:...

 

 

12 odpovědí na otázku
Řazeno dle hodnocení

 

 

dzordz*
hodnocení

1x

Hm, ve wordu bych to taky neukládal, pouze tam udělal to nahrazení, pak to vykopíroval do notepadu/pspadu a tam uložil.

Wallkysek, to by samozřejmě taky šlo, i pár řádků v perlu/pythonu s jedním regexp, ale proč, když to umí word nebo třeba i obyčejný grep? :)

Ten H4everův dotaz na znaky jsem nepochopil, ale to kódování používá pro jeden znak dva bajty, takže se C místo 43 uloží jako 4300 little-endian, tedy 0043. Lomítko na konci označuje pokračování textu na dalším řádku, je to jen zalomení pro čitelnost a "vlezení" se na řádek, není to enter ve funkčním smyslu (třeba nového příkazu).

 

dzordz*
hodnocení

0x

C: chcete hromadně nahradit za D:? Otevřel bych to ve wordu a provedl hromadné nahrazení (snad ctrl+H).

Vezmete nějaký dostatečný řetězec, který se jinde vyskytovat nemůže, třeba "):43,00,3a,00,5c,00" a 43 přepíšete na 44.

hodnocení

Tak to by taky šlo. Díky

hodnocení

Budu se ale potřebovat naučit převádět to hex - ascii ; ascii - hex. abych se na vlastní oči přesvědčil co tam je.

Zkoušel jsem hledat nějaký hex - ascii convertor a našel jsem toto:

www.dolcevie.com//...

Ale nezdá se že by to fungovalo, nebo to neumím používat? Nebo ta hodnota je jiná než jsem čekal?

43:00:3a:00:5c:00:57

vrací:

C?:?W

Co ty otazníky? To je jako vyescapovaný zápis?

?:

? že by otazník excapoval zpěné lomítko?

43:00:3a:00:5c:00:57:00:49:00:4e:00:44:00:4f:00:57:00:53:00:5c:00:73:00:79:00:73:00:74:00:65:00:6d:00:33:00:32:00:5c:00:6d:00:73:00:69:00:65:00:
66:00:74:00:70:00:2e:00:64:00:6c:00:6c:00:00:00

C?:?W?I?N?D?O?W?S?s?y?s?t?e?m?3?2?m?s?i?e?t?p?.?d?l?l?

Kurňa to je nějaký divný zápis. To je jako UTF-8 nebo co?

hm*

Ano, ty dvojznakové kódy, to je UTF.

hodnocení

Takže pokud to chci zapsat jakýkoliv string bez háčků tak to je včky "znak?" jo?

Neměl by k tomu být ještě nějaký převodník na UTF8?

hm*

Kódování je asi UTF-16. Základní znaky se zapisují jako ASCII a (hexa) "00", např. C = 43 00.

doplněno 26.12.11 18:13:

Těmi základními jsem myslel prvních 127 znaků ASCII (doufám, že i ty zvláštní na začátku tam patří).

hodnocení

Co znamenají ty lomítka v .reg. nakonci:

@=hex(2):43,00,3a,00,5c,00,57,00,49,00,4e,00,44,00,4f,00,57,00,53,00,5c,00,73,
00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,73,00,69,00,65,00,
66,00,74,00,70,00,2e,00,64,00,6c,00,6c,00,00,00

Jinak díky za tip

 

hm*
hodnocení

0x

Ty si teda zahráváš! ;)

Použil bych nějaký nedestruktivní textový editor (MS word raději ne), přejmenoval *.reg na *.txt a dál postupoval tak, jak psal @dzordz . A pak zas přejmenovat zpět na reg. Ovšem za výsledek se ručit nedá.

Doufám, že máš kopii originálního registru a že se k němu dostaneš i v případě totálního znefunkčnění systému s tímto registrem.

 

wallkysek*
hodnocení

0x

Mno, chápu to dobře, že chcete vzít nějakej registr, otevřít si ho (tzn. že hex se převede na normál ascii) přečíst, případně poupravit a pak uložit (tzn. z ASCII zpět do hexu)? To by se dalo normálně napsat ve visualu nebo C++ pokud se nepletu. To je základní práce se soubory a šifrováním. Jinak nějakej takovej editor bohužel neznám (:

hodnocení

Ne, myslel jsem:

-vyexportovat soubor s registrem (Registry Workshop - hledám konkrétní řetězec)

-zeditovat v programu

-importovat

wallkysek*

Aha, tak to vám bohužel takhle neporadím, napsat by to šlo určitě, ale musel bych vědět jak to funguje. Zkusím se na to podívat

 

 


 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.

Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.

Copyright © 2004-2025 Poradna Poradte.cz. Všechna práva vyhrazena. Prohlášení o ochraně osobních údajů. | [tmavý motiv]