ARJ, een voorbeeld van hoe aan de crack ARJ doos met brute force., Contributor: John SHIPLEY, {------8< -------------Snip---------------8< ------------Snip------------8< -------}, {$I-}, eenheid zipviewu; en (*/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\\\/\\/\\/\\/\\/\\/\\/\\*) (* * * * * * * - view, eenheid: Datum: 23 maart 1994 (* * * * * * * * * * * * * *,), van John shipley: 1,0: - * * * * * * *) (* * * * * * * * * * * * * *). (* * * * * * *, Steve Wierenga - kredieten: ZIPV.PAS gevonden in SWAG - heb ik begon Op de * * * * * * *) (* * * * * * * zipviewu code, sinds ZIPV.PAS was redelijk makkelijk te lezen (* * * * * * * * * * * * * *, in tegenstelling tot de andere).Ik zag de code.(* * * * * * * * * * * * * * * * * * * * *) en (*), dat 汤姆金瑟 - zipper.pas zipper.zip (1989) (* * * * * * * * * * * * * *), beschikbaar op mijn vertaling " bossen 714-951-5282 Creek hotel " deze code helpen de * * * * * * *) (* * * * * * *, duidelijk veel dingen.Rits de code kan dan de * * * * * * * * * * * * * *), (deze code en geregistreerd.(* * * * * * * * * * * * * * * * * * * * *) en (*), enzegt hij dat 39; s appnote.txt pkz110.exe * * * * * * *) (* * * * * * * * * * * * * *), en (* * * * * * * de eenheden die tot het publieke domein als krediet wordt verleend (*), is het in de eer.Ik accepteer geen verantwoordelijkheid voor deze code in je * * * * * * * * * * * * * *), het systeem (of je vriend of van iemand anders.Heb je de code, zodat je het kan oplossen.Als de code van de harde schijf van formaat, je leven te bevrijden, * * * * * * * (*), dan kan ik alleen maar zeggen, "waarom' je komt niet terug?"* * * * * * *) (* * * * * * * * * * * * * *), en (* * * * * * * doelstelling: na" V "; de bij de produktie van software;.(v2.04g) * * * (*), de code is vrij dicht bij het doel, maar niet perfect.(* * * * * * * * * * * * * * * * * * * * *) en (* * * * * * * * * * * * * *), demo:), (* * * * * * * * * * * * * *) (* * * * * * * * * * * * * * zip_viewit en programma 's; (*), het gebruik van beeldschermen, dos, zipviewu; * * * * * * *) (* * * * * * * * * * * * * *, begin (*), als paramcount < > 0 * * * * * * * (*) (* * * * * * * * * * * * * *,), zipview (paramstr (1) (* * * * * * * * * * * * * *)); en het* * * * * * *) (* * * * * * *).* * * * * * *) en (*/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\\\/\\/\\/\\/\\/\\/\\/\\*), die gebruik maakt van CRT -, dos, de procedure zipview (zipfile:;, touw, IMPLEMENTATION, hexdigit CONST); ARRAY[0..15] van: - = ' 0123456789abcdef' een hexbyte (B, byte): touw; (* * * * * * * * * * * * * *) te Hexbyte), beginnen, hexbyte: = hexdigit[b psy 4]+hexdigit[b en $f];, einde;, een hexlong (:: wat LONGINT); (* * * * * * * * * * * * * * Longint te Hexlong), var. N: ARRAY[1..4] van byte absoluut L;, beginnen, hexlong: = hexbyte (n[4]) +hexbyte (n[3]) +hexbyte (n[2]) +hexbyte (n[1]); - een , ;, lenn (s: wat het gehele getal; (*): als de waarde, maar skips kleur codes * * * * * * *), var I len: de gehele;, beginnen, Len:= lengte (s); , ik: = 1; tegelijkertijd (M < = lengte (s) van de doen, beginnen, als ([] [3in me, en' ^ en']) en, als ("dan stop; (* * * * * * * * * * * * * * als de schuld dan uit de functie), als (maar. Handtekening = csig) (* * * * * * * dat de centrale en een hoofd?* * * * * * *), beginnen, seekc:= waar; (eerst naar de centrale hoofd * * * * * * *), zoeken (F, curpos); (* * * * * * * bij de centrale positie van ons hoofd om ervoor te zorgen dat de documenten, * * * * * * *) aan het einde van ; aan het einde van , ;, var, beginnen, curpos:LongInt; numfiles:= 0; (* * * * * * * BAR om te bepalen wanneer de hoeveelheid documenten doen * * * * * * *), z = 0; (* * * * * * * * * * * * * * de behandeling van het dossier tegen), (* * * * * * * * * * * * * * totalu:= 0; niet dossiers, het totale aantal bytes) totalc:= 0; (* * * * * * * de totale omvang van samengeperst ) en nieuwe (-); (* * * * * * * de dynamische toewijzing van een voorlopige titel opgenomen. * * * * * * *), een粗(F,压缩文件);(*指定文件名的文件变量*), { $我}, 复位(F,1);(*开放无类型文件), { $我+ }, 如果ioresult <;>;0(如果我们得到一个错误,退出程序*), 开始, Writeln(与# 39;错误未找到文件,与# 39;);, 停止(253);, 结束;如果不是, seekc(F)然后(*跳过局部头去第一中心头*), 开始(如果我们没有找到一个中央头*), 关闭(F);(*近无类型文件), Writeln(与# 39;错误损坏或不是一个zip文件,# 39;);, HALT(254); (* Exit Program *), END;, WRITELN(' Length Method Size Ratio Date Time CRC-32 '+, ' Attr Name');, WRITELN(' ------ ------ ----- ----- ---- ---- --------'+, ' ---- ----');, REPEAT, FILLCHAR(s,SIZEOF(s),#0); (* Clear Name String *), BLOCKREAD(f,hdr^,SIZEOF(cheader)); (* Read File Header *), BLOCKREAD(f,MEM[SEG(s):OFS(s)+1],hdr^.fnamelen); (* Read Archive Name *), s[0] := CHR(hdr^.fnamelen); (* Get Archive Name Length *), IF (hdr^.signature=csig) THEN (* Is a header *), BEGIN, INC(z); (* Increment File Counter *), WRITE(mrn(cstr(hdr^.usize),7)); (* Display Uncompressed Size *), WRITE(' '+mrn(comptypes[hdr^.compress],7)); (* Compression Method *), WRITE(mrn(cstr(hdr^.csize),8)); (* Display Compressed Size *), percent := ROUND(100.0-(hdr^.csize/hdr^.usize*100.0));, WRITE(mrn(cstr(percent),4)+'% '); (* Display Compression Percent *), WRITE(' '+w2date(hdr^.date)+' '); (* Display Date Last Modified *), WRITE(' '+w2time(hdr^.time)+' '); (* Display Time Last Modified *), WRITE(' '+hexlong(hdr^.crc32)+' '); (* Display CRC-32 in Hex *), WRITE(b2attr(hdr^.efa[1],hdr^.gpflag[1])); (* Display Attributes *), WRITELN(' '+mln(s,13)); (* Display Archive Filename *), INC(totalu,hdr^.usize); (* Increment size uncompressed *), INC(totalc,hdr^.csize); (* Increment size compressed *), END;, SEEK(f,FILEPOS(f)+hdr^.extrafield+hdr^.fcl);, UNTIL (hdr^.signature<>csig) OR EOF(f) OR (z=numfiles); (* No more Files *), WRITELN(';------ ------ ---与# 39;+, 和# 39;-------和# 39;);, 写(MRN(CSTR(totalu),7)+';与# 39;);(*显示总压缩*), 写(MRN(CSTR(totalc),7)+';与# 39;);(*显示总压缩*), 写((100 totalc /totalu×100):3:0,与# 39;% ';+ MRN(与# 39;与# 39;,34));(*显示% *), Writeln(MRN(CSTR(Z),7));(*显示的文件数×), 关闭(F);(*近无类型文件), 处置(HDR);(*释放头VAR记忆*), 结束,结束。,