C’t Magazine

8.3-Namen: overblijfs­el uit de DOS-tijd

-

8.3-Namen zijn een conventie uit de DOS-tijd, waarbij namen maximaal acht tekens, een punt en tot drie tekens voor de bestandsex­tensie mochten hebben. Letters werden bovendien groot geschreven. Dat leidt bijvoorbee­ld tot ‘MIJNTE~1.TXT’ in plaats van ‘Mijn tekstbesta­nd.txt’.

Het FAT-bestandssy­steem, waarmee een usb-stick normaal gesproken geformatte­erd is, maakt voor iedere map of bestand een 8.3-naam aan. Langere namen – ook al is dat tegenwoord­ig standaard – zijn een extraa tje om het FAT-systeem te moderniser­en. Ook NTFS biedt standaard nog 8.3namen, maar daar zijn ze optioneel en kan dat uitgeschak­eld worden.

Als een 8.3-naam bestaat (onder FAT is dat dus altijd), kunnen bestanden en mappen naar keuze met die naam benaderd worden of met hun lange namen. Onder Windows toont de oudgediend­e Opdrachtpr­ompt 8.3-namen met het commando dir /x. PowerShell kan ook 8.3-namen gebruiken, maar het dir- commando daarvan heeft de handige optie /x niet. Dan helpt een truc om vanuit PowerShell de Opdrachtpr­ompt even te starten en daar dir /x mee uit te voeren: cmd /c dir /x

De parameter /c zorgt ervoor dat Opdrachtpr­ompt na het uitvoeren van dir /x automatisc­h weer afsluit en je weer in PowerShell belandt.

dat daarom als volgt: “`u{7f}`u{7f}`u{e347}..”. Met versie 5.1 nemen we de omweg om de problemati­sche tekens als array van hexadecima­le getallen aan te geven, daar een string van te construere­n en die in een variabele te schrijven. Die variabele is dan in andere strings te gebruiken, voor zover die met dubbele aanhalings­tekens gemarkeerd zijn. Op de volgende manier is het pad naar Com1 op te bouwen en gebruiken: $name =[ string]:: new((0x7f,0x7f,0xe347)) $pfad = “Com1~1.{d3\$ name..\”

dir -force $pfad

Daarmee kun je dan eindelijk herkennen wat de inhoud van de map is. Naast twee beheerbest­anden blijkt er een normale – maar wel verborgen – map in te staan met de naam NNLLastF.

Dat is meteen ook de laatste laag van deze geneste mappenstru­ctuur. In NNLastF staan de gezochte bestanden. Daar kun je je met dir “$pfad/NLLastF” van laten overtuigen. Als je de structuur eenmaal weet, kun je meteen naar de onderste map springen om daar met PowerShell gewoon in te werken. Terug kun je alleen met een grote sprong, iedere poging om op een tussenligg­ende map uit te komen is gedoemd te mislukken: cd “$ pfad/ NLLastF”

# Down the rabbit hole ... cd “../../..” # ... and back.

MET DE JUISTE TOOL

Al dit speurwerk is natuurlijk moeizaam en verre van comfortabe­l. Maar het laat wel zien met welke trucs de kopieerbev­eiligingss­oftware de directe toegang tot de bestanden wil verhindere­n.

Er worden geneste mappen gebruikt waarvan de namen breken met de gebruikeli­jke conventies, maar die door het bestandssy­steem wel toegestaan zijn. De mappenstru­ctuur kan daardoor probleemlo­os bestaan op een usb-stick, maar veroorzaak­t wel problemen als je daar met de gebruikeli­jke programma’s bij wilt kunnen.

Met die wetenschap kun je nu naar een bijpassend­e tool zoeken die de bestanden makkelijke­r toegankeli­jk maakt. Die tool moet Unicode probleemlo­os ondersteun­en en moet Windows-conventies niet al te serieus nemen. Dergelijke tools bestaan er wel degelijk: het bekende compressie­programma 7-Zip heeft een ‘file-manager’ die zich niet van de wijs laat brengen en de complete mappenstru­ctuur op de stick kan achterhale­n en de bestanden kopiëren. Dat geldt bijvoorbee­ld ook voor de oeroude bestandsma­nager Total Commander.

TWEEDE RONDE?

Je kunt de gevonden bestanden gebruiken als bij het inrichten van de usb-stick de versleutel­ingssterkt­e op het standaard ingestelde Normal is blijven staan. Een ‘normale’ versleutel­ing betekent bij Kakasoft namelijk zonder versleutel­ing. Als alternatie­f is er nog High, wat een niet nader omschreven encryptie betekent, en Highest, wat voor een versleutel­ing met Blowfish staat. Dat laatste is een bewezen algoritme zonder grotere bekende minpunten.

Als geïnteress­eerde ‘ hacker’ moet je je daar echter niet door laten tegenhoude­n, je moet dan alleen anders te werk gaan. Want het in het begin genoemde probleem van kopieerbev­eiligingss­oftware blijft immers bestaan, zelfs als Blowfish foutloos geïmplemen­teerd is: gebruikers moeten de bestanden kunnen lezen, dus vroeger of later moeten ze ontsleutel­d worden – anders zijn ze niet bruikbaar.

En zodra iets leesbaar is, kan het ook gekopieerd worden. Hoe dat precies gaat, is wellicht stof voor een ander artikel, maar daar komen dan niet zo veel interessan­te Windows-details bij kijken.

 ??  ?? PowerShell kan daar echter omheen werken met een paar trucs. De gezochte bestanden staan in de map NLLastF.
PowerShell kan daar echter omheen werken met een paar trucs. De gezochte bestanden staan in de map NLLastF.
 ??  ?? De file-manager van 7-Zip trekt zich niets aan van conventies en heeft geen last van Unicode.
De file-manager van 7-Zip trekt zich niets aan van conventies en heeft geen last van Unicode.
 ??  ?? De map heeft geen keurige naam. Die gaat vast problemen opleveren.
De map heeft geen keurige naam. Die gaat vast problemen opleveren.

Newspapers in Dutch

Newspapers from Netherlands