8.3-Namen: overblijfsel 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 bestandsextensie mochten hebben. Letters werden bovendien groot geschreven. Dat leidt bijvoorbeeld tot ‘MIJNTE~1.TXT’ in plaats van ‘Mijn tekstbestand.txt’.
Het FAT-bestandssysteem, waarmee een usb-stick normaal gesproken geformatteerd is, maakt voor iedere map of bestand een 8.3-naam aan. Langere namen – ook al is dat tegenwoordig standaard – zijn een extraa tje om het FAT-systeem te moderniseren. Ook NTFS biedt standaard nog 8.3namen, maar daar zijn ze optioneel en kan dat uitgeschakeld 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 oudgediende Opdrachtprompt 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 Opdrachtprompt even te starten en daar dir /x mee uit te voeren: cmd /c dir /x
De parameter /c zorgt ervoor dat Opdrachtprompt na het uitvoeren van dir /x automatisch 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 problematische tekens als array van hexadecimale getallen aan te geven, daar een string van te construeren en die in een variabele te schrijven. Die variabele is dan in andere strings te gebruiken, voor zover die met dubbele aanhalingstekens 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 beheerbestanden 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 mappenstructuur. 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 tussenliggende 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 comfortabel. Maar het laat wel zien met welke trucs de kopieerbeveiligingssoftware de directe toegang tot de bestanden wil verhinderen.
Er worden geneste mappen gebruikt waarvan de namen breken met de gebruikelijke conventies, maar die door het bestandssysteem wel toegestaan zijn. De mappenstructuur kan daardoor probleemloos bestaan op een usb-stick, maar veroorzaakt wel problemen als je daar met de gebruikelijke programma’s bij wilt kunnen.
Met die wetenschap kun je nu naar een bijpassende tool zoeken die de bestanden makkelijker toegankelijk maakt. Die tool moet Unicode probleemloos ondersteunen en moet Windows-conventies niet al te serieus nemen. Dergelijke tools bestaan er wel degelijk: het bekende compressieprogramma 7-Zip heeft een ‘file-manager’ die zich niet van de wijs laat brengen en de complete mappenstructuur op de stick kan achterhalen en de bestanden kopiëren. Dat geldt bijvoorbeeld ook voor de oeroude bestandsmanager Total Commander.
TWEEDE RONDE?
Je kunt de gevonden bestanden gebruiken als bij het inrichten van de usb-stick de versleutelingssterkte op het standaard ingestelde Normal is blijven staan. Een ‘normale’ versleuteling betekent bij Kakasoft namelijk zonder versleuteling. Als alternatief is er nog High, wat een niet nader omschreven encryptie betekent, en Highest, wat voor een versleuteling met Blowfish staat. Dat laatste is een bewezen algoritme zonder grotere bekende minpunten.
Als geïnteresseerde ‘ hacker’ moet je je daar echter niet door laten tegenhouden, je moet dan alleen anders te werk gaan. Want het in het begin genoemde probleem van kopieerbeveiligingssoftware blijft immers bestaan, zelfs als Blowfish foutloos geïmplementeerd is: gebruikers moeten de bestanden kunnen lezen, dus vroeger of later moeten ze ontsleuteld 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 interessante Windows-details bij kijken.