Pro extra šťouraly já sám Mach nepoužívám, dal jsem na radu Robokopa a ubírám se cestou EMC (s procesorem na 550 MHz mi stejně nic jiného vyjma investice do upgradu hardwaru nezbývá

Tedy hned napoprvé mne trochu zarazilo, že exe soubor Machu není nikterak chráněn a lze ho poměrně snadno disassemblovat (IDA to zvládla za 2,5 minuty). U podobného softwaru bych očekával ochranu min. na úrovni AsProtect nebo Armadillo. Patrně si autoři jsou jisti tím, že jejich ochrany jsou dostatečně robustní. Další zděšení mne čekalo, když jsem zjistil, že celý modul Mach3 (vyjma driveru) je postaven na mrkvosofťáckém MFC a navíc typickou architekturou Doc/View, dle mého soudu pro řídící program z hlediska rychlosti naprosto nepochopitelná volba. Ale budiž.
Vlastní licence se ukrývá jak všichni majitelé licence vědí v 200 znakovém lic. souboru (podle výpisu jsou 3 - jeden pro Mach, jeden pro Wizardy a jeden pro G100. Data ze souborů se načtou do paměti hned na začátku, ale jsou vyhodnocována v pravidelných intervalech (jak již psal Pupak), ale již se znovu ze souborů nenačítají. Rovněž si myslím, že licence není vztažena k hardwaru,
Vlastní kryptování je poměrně složité a vzhledem k tomu, že po Machu netoužím, jsem se do nějakého důkladnějšího průzkumu nepouštěl (patrně nějaký RSA, SHA nebo co já vím). Koneckonců je pro účely tohoto přízpěvku bezpředmětné.
Každopádně na konci každého dešifrování je porovnání a pak se většinou nastavuje nějaký příznak např. DemoFlag. Zde musím autory Machu pochválit, protože Mach poměrně záhy přijde na to, že ač je DemoFlag v nule (malý patch

Nevím jak ostatní verze, ale tahle škodí tak, že prohazuje piny na motory, což je jistě uznáte krajně destruktivní (a dobře tak těm, co jim to naboří ... jsem zastáncem legálního softwaru). Další způsoby škození jsou např. že zastavuje zpracování programu u každé instrukce Mxxx nebo při spuštění Wizardu už dále program nereaguje na klikání na tlačítka a musí se restartovat. Jistě asi budou patchnutý soft provázet další nepříjemnosti. Vzhledem k tomu, že CNC mašinu zatím nemám hotovou, nedají se ostatní případné "sabotáže" odhalit (to nemyslím vážně, zcela s autory soucítím a jen škoda, že Mach nemá i pin "kick his ass").
Trochu mne mrzí, že Mach nepozná, že běží pod debuggerem. Možná, že ano, ale i po 1 hodině pod Olly to neudělalo nic zlého, i když jsem to moc nezkoumal, ale v kódu nikde není funkce IsDebuggerPresent ani nic jí podobné.
Závěrem bych tvůrcům Machu jen doporučil, aby zvážili větší zabezpečení exe souboru (většina komerčních ochranných systémů má již antidebugg ochrany implementovány a tato ochrana sama je již velmi dokonalá, přičemž má téměř nulový vliv na rychlost programu - je aktivní pouze při zavádění programu do paměti).
A úplným závěrem vzkaz pro ty, kteří snad v tomto příspěvku COSI čekali, nalezl jsem relativně snadný způsob, jak u demoverze deaktivovat omezení počtu řádků (v mé verzi je 500 a 150 pro soustruh) + aktivace wizardů. Nemohu tedy trdit 100%, že na něj Mach nepřijde, ale zhruba po 5 hodinách zatěžkávacích zkoušel bylo vše v normálu a ani usilovné pátrání v kódu po nějakém náznaku kontroly CRC exe souboru nevedlo nikam. Ten způsob, o němž jsem psal, však ze zcela logických důvodů zveřejňovat nehodlám a jak jsem výše předeslal, ani ho nehodlám využít pro vlastní potřebu. Koneckonců 2,6k Czk je směšná částka za stovky hodin úsilí autorů.
A co Robokop?