Disassembler

Artificial intelligence is no match for natural stupidity.

C# / .NET

Změna vlastníka souborů a registrů Windows


Windows pracuje s oprávněními poněkud komplikovaněji a nad rámec klasického a dnes už skoro archaického read, write a execute. Obvykle pro správnou funkci počítače nebo pro povolení přístupu k soukromým souborům není potřeba měnit vlastníka a vystačíte si s přidáním nového uživatele do ACL (seznamu oprávnění). Občas se ale někomu zachce se systémem udělat nějaké pořádné psí kusy a sáhnout do souborů, které jsou chráněné. Celý princip ochrany obvykle spočívá pouze právě v tom, že soubory jsou vlastněny speciálním uživatelem a nikdo jiný je nemá povoleno modifikovat.

číst dále… žádný komentář

ORO WebService - Testovací tragikomedie


Před půl rokem jsem v článku o podepisování XML SHA256 hashi v .NET psal o jakési oznamovací povinnosti podle zákona pro značení lihu. Celní správa se naštěstí pohybuje již v jednadvacátém století, takže většinu záležitostí je s ní možno řešit skrze různá webová rozhraní a webové služby. To jsem ale tak úplně netušil, že psát aplikaci podle jejích specifikací bude takové drama.

číst dále… žádný komentář

Podepisování XML SHA256 hashi v .NET


.NET mám docela rád a obecně jej považuji za poměrně kvalitní platformu, na které se dá napsat ledacos a která se mi zdá daleko méně overengineered než třeba Java. I přesto se jí jednou za čas povede vyběhnout na mě s nějakou chuťovkou, nad jejímž řešením strávím celý den a zopakuju si u toho svou zásobu invektiv několikrát dokola.

číst dále… 3 komentáře

Lámání hesel k Excelovským dokumentům


Tabulkový procesor Microsoft Excel podporuje uzamykání dokumentů a jejich částí už nějaký ten pátek. Uzamykání se hodí, když nechcete, aby vám někdo vrtal do buněk, do kterých by neměl nebo aby vaše pracně vymyšlené vzorečky zůstaly skryty. V takovém případě můžete odemknutí podmínit i heslem. Bohužel se Excel snaží zachovávat zpětnou kompatibilitu s dvacet let starým softwarem (resp. dokumenty jím vytvořenými), což přináší nejednu násilně zachovávanou regresi, takže vám je takové heslo úplně k ničemu.

číst dále… 19 komentářů

C#: SelectedIndices v ListView s VirtualMode


Aneb jak mi z Microsoftu málem praskla žilka.

Jednoho krásného dne jsem programoval aplikaci. Jednalo se jednoduchý wake-on-LAN prográmek, který zároveň pomocí pingu zjišťuje stav vzdáleného stroje a z kontextového menu vám snadno umožní připojit se po PuTTY nebo Microsoftí vzdálené ploše. Možná jej sem jednou dám i ke stažení. Tento prográmek používá jako hlavní GUI komponentu ListView, u které jsem si zvykl používat featuru VirtualMode. VirtualMode umožňuje dynamicky generovat položky ListViewu z kolekcí objektů uložených jinde v paměti, takže když máte milion položek k zobrazení, nemusíte mít v paměti i milion položek ListViewu, ale vždy budete mít pouze ty, které jsou zrovna v oblasti, kterou vidí uživatel.

číst dále… žádný komentář