𰰰𰰰𰰰𰰰𰰰𰰰 ===================================================== -------------------------------------- **> Pss <** ܱ ۲ ۲ ۲ ۲ ۲ܲ ܱ V 2.10 scii iAN/TWT ۲۲۲۲ ۲ ۲ ۲ baccan@isanet.it Premessa Chiss quante volte vi sar capitato di dire: "Bella quella schermata del Demo XXX dei YYY, ed anche il modulo! Li devo avere!" Peccato che il Demo in questione sia un unico file di 4 MB, non composto di singoli file. Un'altro caso si riscontra con i famigerati demo 'Only GUS', che in presenza di una scheda SoundBlaster (o comunque non Gravis) rimangono completamente muti... o non partono nemmeno! (Polemica #1: su 100 PC, 90 montano una SB o compatible, 10 una GUS ) Come fare quindi ad ascoltarne almeno le musiche, senza dover ordinare la GUS direttamente in Canada? (Polemica #2: In Italia ho trovato solo un rivenditore, non ufficiale, e il prezzo comprensivo di spese di spedizione risulta pressoch identico a quello Ufficiale americano) L'unica soluzione affidarsi ad un "Ripper", cio un programma che cerca i file all'interno di altri file. Ma tutti i rippers che sono riuscito a trovare finora, e ce ne sono a bizzeffe, al massimo estraggono Moduli Amiga (MOD), Screamtracker 3 (S3M) e pochi altri. E le schermate? E gli altri tipi di file sonori ? Armandosi di un paio di Hex editors (primo tra i quali l'indispensabile HIEW 5.50) fino ad oggi si potevano estrarre 'a mano' con vari, lunghi tentativi e forti mal di testa a furia di fissare schermi pieni di numeri e caratteri alla rinfusa. Un bel giorno, osservando la struttura di un demo, scoprii che conteneva una decina di LBM e un MOD. Avrei speso un sacco di tempo per estrarli. Era ora che nascesse Multi Ripper!! TADAAAH ! 8-)) Eseguibili Windows Un vero ripper non poteva escludere completamente il mondo Windows, o meglio il mondo degli eseguibili WIN16/WIN32 Provate ad utilizzare un qualsiasi Ripper con eseguibili Windows pieni zeppi di immagini, icone, cursori etc, nessuno vi estrarr mai nulla. Da questa versione di MultiRipper invece cio non pi vero, infatti ora in grado di estrarre tutte le BitMap, Icone e Cursori dagli eseguibili considerati fino ad ora dai programmi DOS inespugnabili La cosa pi strepitosa poi data dal fatto che sono estratte le risorse sia degli eseguibili WIN16 che degli eseguibili WIN32, pertanto possibile decompilare sia EXE Windows 3.x, OS/2 che eseguibili fatti apposta per Windows 95 o Windows NT, OCX compresi Nessun prodotto fino ad ora stato in grado, nello stesso eseguibile, di fare cio, esistono infatti editor di risorse, ma normalmente vi sono due eseguibili diversi per i due target. MultiRipper diventa cos un prodotto universale, in grado di passare tranquillamente dal mondo dei demo e dei giochi DOS a quello dei demo e dei Giochi Windows, siano essi fatti per Windows 3.1, 95 o NT, e naturalmente NON dimentichiamoci di NT Multi Ripper Il Programma richiede almeno un parametro, il nome del file da esaminare. Possono essere specificati pi file e sono ammesse WildCards. Altre opzioni sono: /P: path di destinazione, utile nel caso si voglia estrarre da un file da CD-Rom , Network drive, etc. Esempi: MRIP MIOFILE.BIN /P:E:\DOWN (I file verranno generati in E:\DOWN) MRIP MIOFILE.BIN /P\ (I file verranno generati nella root del drive corrente) /N: Non effettua nessun controllo aggiuntivo sui file generati. In pratica tiene conto solo del pattern di ricerca ed estrae TUTTO quello che si trova tra un pattern e l'altro. /S: Se si accorge che nel file da estrarre c' una libreria, viene fatta solo l'estrazione della libreria, dopo di che la scansione ha termine. Senza questo switch, dopo l'estrazione, viene effettuata un'ulteriore scansione generica. /B: Ricerca Batch, attiva una ricerca su tutti i pattern senza input, pu essere interrotta in ogni momento. Se allo switch viene aggiunto un + (/B+) alla fine della scansione non viene effettuata la pausa di 5 secondi. /R: Abilita lo scan ricorsivo nelle strazioni batch /D: Permette di dirigere su un file di testo (MRIP.LOG) tutte le operazioni effettuate durante le estrazioni, per poter tenere traccia di ci che stato estratto e a quale indirizzo stato trovato. Se si specifica /D+ (con un segno "+") verranno notificati anche i falsi positivi. Un esempio di output potrebbe essere: Ļ Source = TEST.EXE ; Destination Path = Current False alarm: Interleaved Bitmap @ 00002408 No Interleaved Bitmap Found. ( 1 false alarms ) False alarm: CompuServe GIF (87a/89a) @ 0000244A No CompuServe GIF (87a/89a) Found. ( 1 false alarm ) False alarm: 16Bits Font (80x25) @ 00038884 False alarm: 16Bits Font (80x25) @ 00038894 No 16Bits Font (80x25) Found. ( 2 false alarms ) Match found,RIP0000.F8 created: 8 Bits Font (80x50) @ 00036630 Match found,RIP0001.F8 created: 8 Bits Font (80x50) @ 00036E40 2 8 Bits Font (80x50) Found. Total Files Extracted : 2 ļ /F: Disattiva il flush della cache che viene effettuato dopo ogni estrazione. La funzione di flush stata aggiunta per evitare i rallentamenti del disco causati dal buffer di cache pieno, che si verifica esaminando file molto grossi contenenti almeno uno dei pattern ricercati. Funziona con Microsoft SmartDrive e compatibili, cioe` Norton Cache, Symantec SpeedCache+ e SpeedDrive... Secondo le informazioni tratte dalle Ralf Brown Interrupt List non dovrebbero sussistere incompatibilit con altri tipi di cache, con le quali comunque non viene effettuato il flush. /MHHHH: Dimensione del buffer interno di lettura file Dimensione minima 4096, massima 32768 /M1000 = 4096 byte /M8000 = 32768 byte /G: Esegue un dump delle risorse sconosciute /E: Espande il file prima del rip /HS+: Non esegue l'algoritmo di estrazione generica per fare l'unpack degli eseguibili /L: Licenza d'uso, standard disclaimer... e modalit di registrazione! /??: Esempi di utilizzo E' inoltre possibile creare un file contenente tutte le opzioni e passarlo a MultiRipper tramite @ Esempio mrip @option.txt FILE : option.txt ----8<---------8<---------8<---------8<---------8<---------8<---- /B /S *.exe *.com *.dat @2file.txt /R ----8<---------8<---------8<---------8<---------8<---------8<---- NB I file '@' possono a loro volta chiamare altri file @ L'elenco delle opzioni e` disponibile lanciando MRIP senza parametri o con /? e /H, inclusi per compatibilit (?) Quando verr eseguito Multiripper la prima cosa che apparir sar una picklist con varie scelte predefinite, formata da: Pattern Descrizione Estensione ^^^ ^^^ ^^^ Quello che va Tipo di file Default per cercato nel identificato dal i file file pattern generati. Per sceglierne una basta posizionarsi con i tasti cursore e premere INVIO. Ovviamente data la quantit di scelte possibili, non potevano essere tutte contemporaneamente visibili nella finestra della picklist, quindi paginando coi tasti cursore ne potranno apparire altre. L'ultima delle scelte possibili "User Defined" cio `Decidete voi cosa cercar. Vi verranno quindi chiesti i parametri di ricerca: Pattern: La stringa che volete ricercare Extension: Quale estensione usare per i file estratti Offset: La posizione (0-999999) a cui si trova la stringa di ricerca nell'header dei file che volete estrarre. ES.: I moduli Protracker Amiga hanno come Pattern `M.K.', estensione 'MOD' e offset 1080 (0x0438) Il Pattern di ricerca e l'offset possono essere introdotti in notazione esadecimale premettendo `0x'. ES.: per cercare PIPPO si pu scrivere `0x504950504F' . Notare che alcuni pattern predefiniti sono stati immessi in questo modo, ad es. per i PCX che iniziano con un carattere di Line Feed (0x0A), che non pu essere introdotto altrimenti. Ricordo inoltre che la ricerca influenzata dai maiuscoli/minuscoli. L'estrazione pu essere interrotta in qualunque momento premendo [ESC] . Terminata la scansione vi verr chiesto se continuare con un altra ricerca o uscire, per controllare i file generati. La ricerca su pi pattern possibile. Premendo [F7] verr effettuata la scansione del file con tutti i pattern nella picklist. Premendo [F8] otterrete la stessa scansione ma a partire dal pattern corrente e solo tra i tipi di file simili, nella picklist ordinati e separati da linee ("") . Ovviamente la ricerca pu essere interrotta in ogni momento con [Esc] e vi verr chiesto se passare al prossimo pattern o concludere la ricerca automatica e ritornare nella picklist. Durante la ricerca multipla una finestra mostrer i risultati per ogni pattern trovato, quanti file sono stati estratti e quanti erano dei falsi allarmi. Se vengono specificati piu` nomi di file, o si usano wildcards, si puo` scorrere l'elenco dei file selezionati con i tasti [+] e [-]. In questa versione NON sono ancora gestiti automaticamente. A partire dalla versione 1.30, MultiRipper effettua un controllo sui file per verificare l'esistenza di un indice che contiene i nomi originali e i puntatori dei file che compongono l'intero File esaminato. Se viene trovato un indice valido, viene richiesto se si vuole estrarre tutti i file indicati da tale indice o se si preferisce continuare a ricercare il pattern selezionato. Di norma, l'estrazione delle "librerie", la cui struttura e` indicata appunto dal suddetto indice, garantisce l'estrazione di TUTTI i file, anche di quelli non riconosciuti normalmente da MultiRipper. Per maggiori informazioni sulla struttura delle Librerie standard riconosciute da MultiRipper rimando alla lettura del file LIBS.TXT contenuto nella directory UTILS. Premendo [ALT-M] si ottiene un About/Info Box, con informazioni sulla versione del programma. Nella Directory UTILS sono presenti alcuni file aggiuntivi: Per i pi esperti ho aggiunto XORFILE, una piccola utility per poter decriptare file altrimenti "invisibili" ad MRip. Nello stesso ZIP di XORFILE sono presenti BUGDECR.EXE, una versione speciale di XORFILE per decriptare i file estratti dal demo BUGFIXED (ACME-BUG.EXE) e due batch per eseguirne l'estrazione automatica. XENTVIEW un mio "hack" che consente di vedere singolarmente o fare degli Slideshow con le immagini estratte da alcuni giochi... vedi tabella: "Quando posso usare MRIP?" Nei singoli pacchetti comunque contenuta una documentazione aggiuntiva per maggiori chiarimenti sull'utilizzo. LIBS.TXT e` un file di documentazione sulle strutture di librerie riconosciute da MultiRipper, che ho scritto sopratutto per non dovermele imparare a memoria! BUON RIPPAGGIO (Neologismo?) Gli Autori: >-SoftWizard-> The Wonderful Team Frequently Asked Questions Q) Con che linguaggio stato scritto MRIP ? A) MRIP scritto principalmente in CA-CLIPPER, con l'aggiunta di alcune routine in C e alcune in ASM. Il tutto lincato con BLINKER 4.1 Q) Clipper SwapWare? Cosa significa? A) Il termine SwapWare, coniato da me (Ian) in un breve momento di lucidit, sta ad indicare un tipo di programmi Freeware che possano essere molto utili, spesso indispensabili strumenti di lavoro per utenti avanzati, e quindi ottima 'merce di scambio' tra gli amici, proprio come facciamo tra noi membri del TWT ogni volta che ci incontriamo... L'utilizzo di CA-Clipper dovuto alla conoscenza acquisita sul lavoro (Tutti i membri del TWT sono infatti programmatori in 2 SoftwareHouse) e sopratutto per dimostrare che il linguaggio NON solo dBase-oriented, ma si adatta flessibilmente a qualsiasi utilizzo. Q) Ma in realt come funziona MRIP ? A) MRIP si basa sul fatto che quasi tutti i file hanno un identificatore o 'Pattern' composto da alcuni byte, spesso delle scritte significative all'inizio del file, o comunque nei primi Kb, e spesso sono seguiti da altri byte che ne indicano le caratteristiche. Tutti questi byte compongono l'header del file. MRIP non fa altro che cercare un pattern all'interno del file ed estrarre tutto quello che incontra fino alla prossima occorrenza o la fine del file. Ovviamente, pu capitare (Spesso 8-) che il file generato sia esagerato rispetto alla reale dimensione, ma generalmente sufficiente caricare il file con l'apposito editor e risalvarlo, riprisinando la reale dimensione. D'altro canto possibile che vengano estratti file che non hanno niente a che vedere con il formato cercato... 8-) Alcuni formati contengono sufficienti dati per poterne calcolare la reale dimensione e quindi , nel limite del possibile, i file generati verranno troncati alla dimensione esatta. Questi sono i formati che MRIP sa estrarre con precisione al byte: - LBM (Interleaved Bitmap) - GIF (Graphic Interchange Format, varianti 87a e 89a) - SCX (Colorix) - BMP (Windows Bitmap) - RAW (HSI Raw) - RAS (Sun Raster Bitmap) - PNG (Portable Network Graphics) - TIF (Tagged Image File Format) - PCX (ZSoft PCX 3.0) - JPG (Joint Photographic Expert Group) - TGA (Targa Uncompressed) - MTR (Arkham MasterDraw) - MPG (Motion Picture Expert Group) - FLI (Autodesk FLI/FLC animations) - 3DS (Autodesk 3D Studio Mesh) - AVI (Audio/Video Interleaved animations) - Fxx (TextMode Fonts 8/16 bits [80x50 + 80x25]) - IFF (Amiga sound file) - AIF (Apple sound file) - XMI (X-midi [Miles Design Midi]) - MOD (4-32 channels; varianti: M.K.,FLT?,?CHN,??CH,CD81,OCTA) - S3M (ScreamTracker 3) - XM (FastTracker ][ module) - MED (OctaMed Amiga) - OKT (Oktalyzer Amiga) - DMF (Delusion Digital Music Format [X-Tracker]) - MDL (N-Factor DigiTrakker Module) - PLM (Psychic Link Disorder Tracker 2.0) - DSM (DSIK V2 RIFF module) - PSM (MASI PSM [Epic Megagames]) - LIQ (Liquid Tracker 1.0) - D00 (Vibrants Adlib Player) - MTR (Arkham MasterTracker) - MID (Standard Midi songs) - RMI (Windows Midi) - WAV (Windows Wave) - AU (Sun/NeXT Audio File) - CMF (Creative Labs Music file) - SAT (Surpise! Prod Adlib) - VOC (Creative Voice file) - MUS (DOOM music file) - HMP (Human Machines Interface Midi) - SBK (EMU SoundFont Bank / AWE32 Bank) - PAT (GUS Patches) - RA (RealAudio) - DLZ (Diet Archives) - EXE (Standard EXE , dos image size) - EXE (EXE packers: PKLITE,LZEXE,Diet,ProPack,ComPack,WWPack,AINEXE, UCEXE,TinyProg ) - USM (USM Player v1.0) Questi file vengono controllati ulteriormente ma non vengono ancora estratti correttamente: - AMF (DSMi module by Otto Chrons) - STM (ScreamTracker 2) - ULT (Ultratracker) - FAR (Farandole Composer) - PTM (PolyTracker) - PSM (ProTracker Studio + ProTracker Studio16) - DSM (DSIK module V1) - UNI (MikMak/Unicorn Design Module (MikMod)) Questi file sono estratti comunque e non subiscono ulteriori controlli: - RNC (Propack archive) - GPH (Megatech graphic File) - AMS (Extreme Tracker module) - AMS (Velvet Studio module) - STX (STMIK 0.20) - IT (Impulse Tracker) - MTM (MultiTracker) - 669 (669 Composer) [Solo senza titolo] - GDM (Music & Sound Engine Module) - RAD (Reality Adlib) - AMD (Elyssis AMusic) - AMM (Renegade Audio Manager Module) - FNK (FunkTracker) - CBA (Black Artist/Heretics CBA Noise driver) - PDM (Psychic Link Disorder Tracker 1.6 (old)) - FMC (Faust Music Creator) - TRK (RamJet Ramtracker 1.0) - LIQ (Liquid Tracker 0.14) - RTM (Real Tracker 2.01) Q) Quando posso usare MRIP? A) SEMPRE! Ogni volta che si trova un Demo od un gioco con dei file di dimensione abbastanza elevata significa solo una cosa: sono composti da pi file concatenati tra di loro , e MRIP li pu estrarre... ... a meno che siano criptati o compattati, quindi non aspettatevi molto! Dalla versione 2.0 inoltre possibile estrarre le risorse degli eseguibili windows !! Questo rende Multiripper "Unico" nel suo genere e in grado di estrarre "Virtualmente" qualsiasi tipo di risorsa esistente ! Comunque alcuni esempi sono: Ŀ Titolo: Tipo Cosa si trova: Ĵ Whacky Wheels GameMIDI,PCX,VOC (file WHACKY.DAT) Mystic Towers GameMOD,PCX (file RGMYSTOZ.DAT) Frankenstein GameDiet file (Espanderli con DIET -R) Terminal Velocity Game6CHN MOD, WAV (file *.POD) Knight of Xentar GameGPH Metal & lace GameGPH Mortal Kombat ]I[ GameLBM (DATA.MK3) WAV (MK3.ASG,*.FTR) NO! by Nooon DemoDiet file (Espanderli con DIET -R) Stars by Nooon DemoDiet file (Espanderli con DIET -R) Megamix by Realtech DemoGIF87a, AMF (file MEGAMIX.RES) Dimension by Realtech DemoGIF87a, AMF (file DIM.RES) Hex Appeal By Cascada DemoRIX,6CHN MOD Holistic by Cascada DemoRIX,8CHN MOD Show by Majic 12 DemoLBM,MOD Poor by Majic 12 DemoLBM,MOD Go 4 the Record II by M12DemoLBM,MOD Facts of Life by Witan DemoSTX (file LIFE.) Fishtro By Future Crew DemoS3M,LBM Panic by Future Crew DemoS3M Unreal by Future Crew DemoS3M 2nd Reality by Future C. DemoS3M (inutilizzabili perch criptati...) Epic by Zuul Design DemoPKLITE + LZEXE (espanderli e riprovare!) Contagion by Coexistence DemoS3M,AMF Uneatable by Coexistence DemoEXE,8CHN MOD,S3M,VOC Project XYZ by Orange DemoPCX X14 by Orange DemoPCX,SCX Verses by EMF Demo8CHN MOD Images by Epical DemoGIF, S3M (*.DAT; PART3.DAT UN S3M) Dope by Complex DemoProPack EXE (espansi contengono SCX) Cardiac by Infiny DemoLBM,FLI,EXE (espansi contengono LBM+RAW) Lifeforms by Halcyon DemoSCX (*.DAT) Catchup! by Grif DemoPklite EXE Little green men / KFMF DemoGIF,PCX,3DS (LGM.KOS) Peek-a-Boo by ACME DemoPTM (Cubic Player 1.4 li suona) Optimal Torque by Dubius DemoPCX,TGA,XM,EXE DreamSteal by S!P DemoMOD,EXE (espansi contengono LBM+RAW) COCOON by S!P Demoa parte i soliti, ben 4 FLI! (Cheaters!) ACT1 by Psychic Link DemoPDM Juice by Psychic Link DemoPLM Qualsiasi .CPI DOS Numerosi font a 16 e 8 BIT MorIcons.dll Windows 3.x WIN .ICO PBrush.exe Windows 3.x WIN .CUR .ICO .BMP mmsys.cpl Windows 95 WIN .ICO .BMP Q) Quali file contengono una "Standard Lib" ? A) Di solito si tratta di demos, e una certa LIB e` utilizzata solo dal gruppo che l'ha ideata, ma altre (XLink ad esempio) sono rilasciate al Pubblico Dominio, cos altri possono utilizzarle. Alcuni esempi sono: Ŀ Nome Lib Dove si trova Ĵ Future Crew Lib Unreal,Panic,FishTro,TheParty'92 (Future Crew) Realtech Lib DX Project,Aquaphobia,Countdown (Realtech) Psychic Link FLIB Act 1, Juice (Psychic Link) ElectroMotive Force LIB Verses,ASM95 InvTro (EMF) Caero (Plant+EMF) The Coexistence XLink 1.0 Contagion (The Coexistence) The Coexistence XLink 2.02 Babes fast intro (The Coexistence) Groove (Fudge) Blues (sYmptom) Hurtless ~ (TFL-TDV) ACME Virtual FileSystem 1.0BUG-Fixed , Big deal ,Peek-a-Boo (ACME) Pelusa Resource Compiler Fake Demo (Pelusa/PM) Iguana Lib HeartQuake (Iguana) Speed Haste (game by Jare/Iguana) Japotek Lib Fighting for something (Japotek) Note: ~ HURTLESS contiene molti file con estensione *.VT? In effetti si tratta di file ARJ, e una volta espansi (ARJ x *.VT?) si ottengono tutte le risorse del demo. BUG-Fixed contiene file criptati, per decriptarli occore BUGDECR.EXE contenuto nella directory UTILS, utilizzato a sua volta da BUG.BTM per estrarre automaticamente il modulo PTM (Header interno al primo EXE, samples esterni) Q) Sono sicuro che deve esserci un'immagine nel file esaminato ma MRIP non trova n LBM, n PCX, n GIF... Cosa posso fare? A) Il file in questione in un formato sconosciuto o addirittura RAW, cio il bitmap completo non compresso, e quindi senza un identificatore. anche possibile che la stringa di riconoscimento sia stata alterata proprio per evitarne il riconoscimento e relativa estrazione, tipico in molti demo in cui i MOD sono privati della scritta `M.K.' . Spiacente ma dovete rivolgervi ad un altro ripper. 8-( Consiglio comunque ByteRaper V4.0 per i file contenenti immagini RAW. Q) Non potevi supportare anche la risoluzione testo 80x25 anzich andare fisso a 80x50? A) NO! Q) Anche per Amiga esiste un MultiRipper. C'entra qualcosa? A) Ehm, no! Il nome comune del tutto una casualit (mancanza di fantasia?) e comunque non sussistono problemi, in quanto: - Non ho mai avuto un Amiga sotto mano; - L'autore era un membro di un gruppo pirata tedesco; - Non esistono copyright sul nome, anche quel MultiRipper era Public Domain o counque FreeWare; - Quello era solo un MOD ripper, il mio MRIP MOLTO pi completo... - L'Amiga MORTO, e si trascinato dietro tutti i seguaci... i pi furbi sono passati al PC e non penso facciano caso ad una somiglianza di nomi tra due programmi cos differenti. Revision History Ŀ FUTURE Ricerca automatica dei decompressori di eseguibili installati Sempre pi accurati controlli sulle lunghezze... Ovviamente tutto quello che mi sar suggerito. Ŀ Mrip 2.10 (5 Maggio, 1997) Nuovi (Estrazione corretta) - USM: USM Player v1.0 Nuovo algoritmo di HackStop Unpacking MultiRipper ora in grado di rippare gli eseguibili compressi e poi protetti con HackStop !! Nuovo algoritmo di Unpacking Ora possibile informare Multi Ripper di come fatto un eseguibile compresso e di come decomprimerlo. In questo moddo MultiRipper automaticamente decomprime gli eseguibili prima di rippare un exe. Nuovo link Ora MultiRipper stato chiuso con un DosExtender 286 Ditemi se ci sono problemi Nuovi formati di Risorsa Ora multiripper in grado di riconoscere is eguenti nuovi formati di risorsa - WAVE Generici - File CAB - File prodotti da MS Compress Nuovo estrattore generico di risorse Ora possibile estrarre le risorse NON riconosciute Add Nuovo FAST scan mode : in molte circostanze fino a 7 volte pi veloce della scansione globale, ma con lo stesso numero di file estratti Ottimizzata la scansione delle risorse che ora immediata !! Abilitate le wildcard anche nelle estrazioni batch Abilitata la ricorsione nelle estrazioni batch Fix Un problema con l'output in modalita' verbose Un problema con eseguibili windows con resource information sbagliate Un bug con l'estrazione delle icone Un problema di estrazione con eseguibili WIN16 Ŀ Mrip 2.01 (22 Aprile, 1997) Add Un nuovo modulo per fare il view esadecimale del file Aggiunta la possibilit di fare uno xor dei file mentre vengono caricati Nuovi (Sucker Support) - RTM (Real Tracker 2.01) - Deathstar CLAUDIA DEMO Fix Corretti dei problemi nell'estrazione delle risorse string Ŀ Mrip 2.00 (28 marzo,1997) + Mrip ora e` anche un resource decompiler grazie alla procedura realizzata da SoftWizard. SoftWizard Entra di merito nella author list di Mrip. Aggiunto un modulo per decompilare le risorse degli eseguibili WIN16/WIN32 Risorse attualmente gestite in eseguibili WIN16 - RT_MENU : Risorse dei menu - RT_STRING : Risorse di tipo Stringa - RT_ACCELERATOR : Risorse di tipo Accelerator - RT_ICON : Risorse delle icone Dimensioni stratte : 64x64x2, 64x64x8, 64x64x16, 64x64x256 32x32x2, 32x32x8, 32x32x16, 32x32x256 32x16x2, 32x16x8, 32x16x16, 32x16x256 - RT_BITMAP : Risorse bitmap - RT_CURSOR : Risorse cursore Risorse volutamente saltate - RT_GROUP_ICON : Risorse dei gruppi di icone - RT_GROUP_CURSOR : Risorse dei gruppi di cursor Under Working - RT_DIALOG - RT_FONTDIR - RT_FONT - RT_RCDATA - NAMETABLE - RT_VERSION Ulteriori Informazioni gestite - Alcune imformazioni sulla struttura dei nuovi exe Risorse attualmente gestite in eseguibili WIN32 - PE_STRING : Risorse di tipo Stringa - PE_ICON : Risorse delle icone Dimensioni stratte : 64x64x2, 64x64x8, 64x64x16, 64x64x256 32x32x2, 32x32x8, 32x32x16, 32x32x256 32x16x2, 32x16x8, 32x16x16, 32x16x256 - PE_BITMAP : Risorse bitmap Risorse volutamente saltate - PE_GROUP_ICON : Risorse dei gruppi di icone - PE_GROUP_CURSOR : Risorse dei gruppi di cursor Under Working - PE_RES_0 - RT_CURSOR - RT_MENU - RT_DIALOG - RT_FONTDIR - RT_FONT - RT_ACCELERATOR - RT_RCDATA - PE_MESSAGETABLE - PE_RES_13 - PE_RES_15 - RT_VERSION Gestiti i seguenti tipi di Eseguibili NE, LE, LX, W3, PE Estensioni riconosciute : .EXE .DLL .VBX .SCR .CPL .DRV .VXD e .OCX - aggiunto pattern HMP - aggiunta Iguana Lib (Exe + Dat) - aggiunta Japotek Lib (EXE) - aggiunta 3D Realms Lib GRP (Duke Nukem) - aggiunta Digital Underground DfMAKE Lib - aggiunta CHAMP programming Library (Softwizard) Bugfixes - corretto inspiegabile baco che impediva la segnalazione che il PCX o il GIF estratto aveva le stesse dimensioni del file esaminato - Diet packed file: pattern reso pi generico ed aggiunto patch per normalizzare file con identificatore modificato (ad es. i file linkati con EOS degli Eclipse hanno "EOS" al posto di "dlz" , e Diet si rifiuta di espanderli) Ŀ Mrip 1.30 (27 marzo,1996) Nuovi (Estrazione corretta) - SBK: Emu SoundFont Bank / AWE 32 Bank - DSM: RIFF Digital Sound Mod - MDL: N-Factor Digitrakker - PLM: Psychic Link Disorder Tracker 2.0 (new) - FNK: FunkTracker 1.8 - PSM: MASI PSM/Epic Megagames Modules (not Protracker studio!) - LIQ: Liquid Tracker (v0.9 e v1.0) - F16/F8: Font Testo (Routine by Softwizard) - RA : RealAudio Rivisti e corretti - PAT: Estrazione corretta - DLZ: Estrazione corretta - SAT: Estrazione Corretta ; TUTTE le revisioni fino alla 9 (SAdT 2.0) - IFF: Ora distinti in AIF (Apple) e IFF (Amiga) Nuovi (Sucker Support) - AMS: Velvet Studio Module 2.2 - RAD: Reality adlib - AMD: Elyssis AMusic - AMM: Audio Manager Module - CBA: Chuck Biscuit+Black Artist/Heretics CBA Noise driver - UNI: MikMak/Unicorn Design Module (MikMod) - PDM: Psychic Link Disorder Tracker 1.6 (old) - LIQ: Liquid Tracker (v0.14) - FMC: Faust Music Creator - TRK: RamJet Ramtracker 1.0 Fix - BMP: Alcuni BMP estratti a 0 byte... Routine corretta da SoftWizard Miglirato riconoscimento ed estrazione (spero definitivamente!) - MMD: alcuni MMD non venivano estratti, ora s - XM : Gli XM generati da Digitrakker/N-Factor non venivano riconosciuti - TGA: Alcuni TGA a 24bit non venivano estratti alla dimensione esatta. Changes - Estrazione Automatica librerie standard 1) Future Crew Lib 2) Realtech Lib (EXE) 2a) Realtech Lib (DAT) 3) Psychic Link FLIB 4) ElectroMotive Force LIB 5) The Coexistence XLink 2.02 6) The Coexistence XLink 1.0 7) Pelusa Resource Compiler 0.1 8) ACME Virtual File System 1.0 9) LucasArts GOB file 10) iD Software WAD file 11) Cascada Resource file - Aggiunto file di log attivato dagli Switch /D e /D+ - Separati file Midi/adlib da digitali - Riordinati MODs nella lista cos che i mod con supporto completo siano prima di quelli ad estrazione "Sucker" che partono dagli STM 2.0 - Rimosse Informazioni completamente inutili sulla memoria disponibile... - Logo Finale, fonts migliorati... ci stavano bene... 8-) Ŀ Mrip 1.302 (16 gennaio,1996) Aggiunte alcune routine di controllo: - TGA: Aggiunto pattern e troncati all'offset esatto. Per ora solo non compressi ma estrazione precisa al byte. Notare che sono necessari 2 pattern per differenziare i TGA 256 col e truecolor (16/24/32 bits). Purtroppo saranno trovati molti falsi positivi dato che i pattern sono un p troppo generici... - AU: Aggiunto pattern e troncati all'offset esatto. - IT : Aggiunto pattern - GDM: Aggiunto pattern - PSM: Aggiunto pattern - GPH: Aggiunto pattern . Sono presenti nei giochi Manga della Megatech. Usare XentView per vederli, Incluso nella directory UTILS - MTR: Aggiunti MasterTracker e MasterDraw (entrambi con estensione MTR) e troncati all'offset esatto Corrette alcune routine di controllo: - PCX: corretto controllo che preveniva l'estrazione di alcuni PCX validi - FLC: corretto controllo che preveniva l'estrazione di alcuni FLC validi - Corretto bug che causava troncamento/invalidazione di alcuni MOD validi (es. il Modulo 8CHN nell'intro Airframe/Prime non veniva estratto!) + Aggiunte utility: XORFILE e XENTVIEW Ŀ Mrip 1.301 (19 Settembre,1995) Corrette e aggiunte alcune routine di controllo: - XM : Troncati all'offset esatto.... I moduli che mi creavano problemi non avevano anomalie, colpa mia che ne seguivo male la struttura. La routine di controllo degli XM l'ho finita di scrivere il 12 Agosto, 2 giorni dopo il rilascio 1.20... peccato! - CMF: Troncati all'offset esatto. Alcuni CMF dopo il terminatore possono avere un 0xFF, ma vengono suonati ugualmente se manca... e siccome non ho dox a riguardo per sicurezza lo lascio. - VOC: Corretto Bug che preveniva il riconoscimento di alcuni VOC. Nei VOC versione 1.20 presente un Chunk non documentato, indicato col numero 9, ma sembra equivalere al Chunk 2... Chiunque abbia le specifiche del formato VOC 1.20 e` caldamente pregato di farmele pervenire... Grazie! - ULT: Controllo della validit limitato alla revisione (da 1 a 4) - FAR: Controllo della validit limitato alla revisione (1.0) ed alcuni byte fissi. - PTM: Controllo della validit limitato alla revisione (2.03) ed alcuni byte fissi. - PSM: Controllo della validit limitato alla revisione (0) ed alcuni byte fissi. - DSM: Controllo della validit limitato al numero di canali (4,8,16,32) - RAS: Aggiunto pattern e troncati all'offset esatto. Molto simili ai file Colorix (SCX) e aggiungono una sorta di compressione RLE. - GIF: Troncati all'offset esatto. Decoder ricavato dai sorgenti C di 2OBJ di Mark Thomas/N.P.S. Software e convertito per Clipper. - PCX: Troncati all'offset esatto. Decoder ricavato dai sorgenti C di 2OBJ di Mark Thomas/N.P.S. Software e convertito per Clipper. - JPG: Troncati all'offset esatto. Mai la legge di Murphy fu pi vera che con i JPEG: "Quando una cosa pu andare male, lo far nel peggiore dei modi!". Mentre scrivevo lo scanner, pensando che TUTTI i Chunk avessero il campo della lunghezza mi sono accorto che il Data stream (cio il Chunk che occupa piu` del 95% di tutto il file) NON ce l'ha 8-( rendendo necessario implementare un JPEG decoder. QPEG, che il pi veloce, impiega gi qulache secondo per visualizzare un JPEG... Figurarsi se lo faccio io! Risolto il problema cercando SOLO il Terminatore. 8-) Se non lo trovo NON considero valido il file. >8-P - MPG: Aggiunto pattern e troncati all'offset esatto. Anche per questi vale il discorso per i JPG ! - 3DS: Aggiunto pattern e troncati all'offset esatto. Implementato Terminator Scanner per file come JPG e CMF, praticamente un piccolo MRIP all'interno di MRIP... Se si esaminano piccoli file, che non possono contenere il pattern perch l'offset superiore alla lunghezza del file appare un messaggio di errore che pu interrompere le ricerche batch/multiple. Ora appare solo durante la ricerca singola. Tasto [F7] (Ricerca su tutti i pattern) non funzionava se posizionati su `User Defined'. Fixato. Se il file esaminato un file intero ora viene segnalato anche nella finestra dei risultati della scansione con un messaggio tipo: ` ... REFLECTER.XM un intero FastTracker ][ module ' Aggiunto totale file estratti a fine scansione. Se non stato trovato nulla non aspetta pi un tasto (inutile esaminare una finestra piena di falsi allarmi o alla peggio completamente vuota!) Rimosso detect della CPU... a qualcuno non piaceva! 8-) Aggiunto un About / Info Box con [Alt-M] migliorie estetiche: - Aggiunto Logo iniziale animato (interrompibile) 100% Original ANSi Font ! (VGA Font model: oOto/Avalanche) - Random Font , due fonts disponibili - Random Layout , Originale (PickList Blu) e VB-Like (Picklist Grigia) - Tweaked 80x50 mode, per una migliore connessione tra i caratteri grafici. Nei modi normali 80x25 e 80x50 questi caratteri sono separati creando un'effetto... cubettoso. Con questo speciale settaggio sono visibili come un insieme continuo... pi facile vedere che spiegare! Ŀ Mrip 1.20 (10 Agosto,1995) Corrette e aggiunte alcune routine di controllo: - FLI: Aggiunti Pattern e controlli per animazioni Autodesk FLI (320x200) e FLC (qualsiasi dimensione) ... molti controlli vengono effettuati per eliminare i falsi positivi, ma non assicuro (come sempre!) la perfezione. - LBM: Aggiunto controllo per chunk `ANNO' (Annotation), se era prima del chunk `BMHD' (Bitmap Header) l'LBM non veniva estratto... - DSM: Descrizione errata, non si chiamano `Delusion Modul (Delusion sono gli ideatori di X-Tracker) ma `Digital Sound Modul , dal Digital Sound Interface Kit (DSIK)... sono comunque molto rari. - TIF: Aggiunto pattern e troncati all'offset esatto. Sapevo che era un formato complesso... ma pensavo peggio! Notare che alcuni programmi di conversione, GDS 3.1f e CSHOW 9.03, non creano TIFF standard, per cui non (ancora) estraibili. Image Alchemy e GWS 7.x creano invece file perfetti, secondo lo standard TIFF 5.0 . - PNG: Aggiunto pattern e troncati all'offset esatto. (Chunk scanner) Cerco Sorgenti (non Dox!) per la Scrittura/Lettura/Visualizzazione di questo nuovo formato, io ho solo CSHOW 9.03 per gestirli, ma moolto lento! - DMF: Troncati all'offset esatto. (Chunk scanner) - OKT: Troncati all'offset esatto. (Chunk scanner) - MID: Troncati all'offset esatto. (Chunk scanner) - VOC: Eliminati alcuni falsi positivi controllando l'header e troncati all'offset esatto. (Chunk scanner) - S3M: Troncati all'offset esatto.... finalmente! Estrae esattamente anche S3M con strumenti Adlib. Struttura abbastanza complessa, Le WORD sono un p Big-endian e un p Little-endian... un p sono offsets assoluti altri sono segmenti relativi... Per fortuna sono riuscito ad interpretare il doc anche se conteneva un paio di imprecisazioni! - PTM: Aggiunto pattern - PSM: Aggiunto pattern - MED: Rimosso tipo 2; secondo un doc ufficiale sul formato non mai stata realizzata una versione di OctaMed che scrivesse MED con signature 'MMD2' - JPG: Aggiunto pattern. - AVI: Aggiunto pattern e troncati all'offset esatto. Molti CD-Rom ne contengono a bizzeffe! - STM: Patterns raggruppati in uno solo ed aggiunto controllo del tipo. 2 passate per cercare i 2 tipi di STM erano un p eccessive. - GIF: Patterns raggruppati in uno solo ed aggiunto controllo del tipo. Stesso discorso per gli STM... - EXE: Bugfix: Venivano estratti alcuni EXE di lunghezza 0 (oops!) e altri venivano scartati perch contenevano il Pattern 'MZ'. Penso che ora non succeder pi... Aggiunti pattern per Diet,WWPack,AINEXE,ComPack,UCEXE,TinyProg - XM : AIUTOOOO! ci sto lavorando sopra, ma i dox sul formato non spiegano molto bene... (vedi S3M). Un paio di moduli che contengono strumenti a pi samples sembrano non seguire la struttura come si deve, per cui penso che lascer il supporto completo agli XM per la prossima release... Implementato Chunk scanner per file con struttura a Chunks ("Fette") di lunghezza conosciuta o derivabile come PNG,DMF,MID,OKT etc. ... ma sto ancora aspettando che Softwizard mi dia il suo Scanner per i ... chunks delimitati da terminatori (es. GIF) Maggiore controllo della linea comando... parametri in posizione variabile e gestione delle wildcards nei filenames. Aggiunti tasti "+" e "-" per cambiare il file in esame in caso di file multipli e/o wildcards. Flush della cache immediato a fine estrazione, comunque disabilitabile. Visualizzazione dei totali per ogni tipo di file durante lo scan. Aggiunto contatore dei Falsi allarmi, cio che stato trovato il pattern di ricerca ma dal controllo risulta che il file estratto invalido. Definitivamente rimosso il 'Flash' del messaggio di stato quando trovava file invalidi. Ora il messaggio 'Match Found' appare solo DOPO aver estratto il file e averne controllato la validit e lunghezza. Fixato problema di settaggio modo video 80x50: lanciando MRIP da un qualsiasi modo video a 132 colonne veniva settato inspiegabilmente il modo 40x50 !! Testato su schede TSENG e Cirrus 542x , ora funziona. Corretto bug nell'immissione dell'offset User Defined , ora accetta anche notazione esadecimale. Ottimizzazione variabili/arrays, per risparmiare memoria. Rimossi i 4 font random e sostituiti da 1 solo, 6Kb risparmiati! minori cambiamenti estetici. Ŀ Mrip 1.11 (14 Giugno,1995) Corrette e aggiunte alcune routine di controllo: - PCX: Controllo di un minimo di header (128 byte) e rimosso un controllo errato che preveniva l'estrazione di alcuni PCX validi. - RAW: Aggiunto Pattern e troncati all'offset giusto. - MUS: Troncati all'offset esatto. Ora potete veramente estrarre i MUS dai WAD aggiuntivi per DOOM (e convertirli con MUS2MIDI) senza che abbiano dati inutili appesi alla fine... - XMI: Troncati all'offset esatto. - WAV: Corretti pattern ed ENORME errore di calcolo (22 byte in pi!) Per questo alcuni WAV (e va bene, praticamte tutti) non venivano estratti... - RMI: Vedi WAV, essendo applicato lo stesso controllo... - IFF: Aggiunto pattern e controllo per Samples in formato Amiga IFF - AMS: Corretto pattern ed estensione (avevo messo X3M, ora AMS) - D00: Corretto pattern e troncati all'offset giusto. Purtroppo non si pu calcolare la lunghezza del driver, e quindi va estratto a mano. Io comunque ho trovato i driver v3.03 e v4.00, chiunque ne fosse interessato pu contattarmi! - STX: Cambiata descrizione. Avevo messo 'ScreamTracker X' in quanto era un formato 'di passaggio' tra STM e S3M , rilasciato da PSI/FC nello ScreamTracker Music Interface Kit 0.20 (STMIK), e a dispetto del consiglio dell'autore di non utilizzarlo, molti demo lo hanno implementato (Facts of life/WITAN, Vanity & Apathy/Doomsday Prod.) - MED: Moduli OctaMed Amiga, aggiunto pattern e troncati all'offset esatto. Eliminati falsi positivi controllando il tipo: 0,1 o 2 (Non ne sono sicuro se esistano MED2, persino i MED1 sono rari...) - MOD: cambiata descrizione da `FT1/Taketracker' a `FastTracker Mod.' per il semplice motivo che non mi piaceva... Comunque FastTracker pu scrivere moduli fino a 32 canali (32CH), TakeTracker 'solo' 16. Aggiunte varianti CD81 (Atari Falcon/STe) e OCTA (OcataComposer?) Non ne sono sicuro, ma dovrebbero avere la stessa struttura dei 8CHN FastTracker... Fatemi sapere o, meglio, pervenire qualche Modulo di questi tipi! 8-) Notare che ho incluso solo alcuni pattern `xxCH' ma se ne avete bisogno di altre (ad es. `28CH') c' sempre la User Defined, in cui dovrete specificare un'offset di 1080. Aggiunta ricerca su tutti i pattern. Premendo [F7] o [F8] verr effettuata la scansione con tutti i pattern. Corretto messaggio di fine estrazione: - nel caso un pattern venisse trovato ma il file risultasse incorretto, e quindi non realmente estratto, dava un messaggio positivo. Fixato. - se trovati file validi ne viene indicato il numero ('2 PCX 3.0 Found.') Aggiunto parametro: path di estrazione, utile per esaminare file su CD-ROM Aggiunti Random Fonts... l'idea nata con Turbo Chainer, un'altro programma TWT 8-P I campi di input dell' `User Defined' venivano azzerati ogni volta che si sceglieva, ora vengono riproposti e possono essere editati Se il file sorgente un file intero (es. si vuole estrarre PCX da un PCX) quindi il file estratto ha la stessa lunghezza, vi viene richiesto se si vuole cancellarlo o lasciarlo comunque. applicato solo nella ricerca a pattern singolo e se possibile calcolare con esattezza la lunghezza del file estratto, in quanto meglio tenersi il file anche se pi grande del necessario... e pu essere ridotto con l'editor pi appropriato. Nella ricera multipla verr sempre cancellato, senza chiedere. Ŀ Mrip 1.10 (15 Maggio,1995) Corretti alcuni pattern di ricerca e riordinata la lista per tipo di file. - Moduli 669: Non possibile per ora estrarre 669 con titolo, in quanto i 2 byte di identificazione possono essere trovati anche a met del modulo, provocandone il troncamento errato... Sono estraibili i 669 senza titolo, cio con degli spazi vuoti... - RNC (Propack EXE): Ora ne dovrebbe riconoscere di pi, ma potrebbero essere confusi con gli ARCHIVI Propack 'grazie' al pattern identico... - PCX: Riuniti i 2 pattern in uno solo, avendo aggiunto il controllo. - SAT: Pattern pi preciso (Compressed) - MID: Pattern pi preciso Aggiunta `Riparazion dei file generati (troncandoli all'offset esatto) e Controllo della congruenza del file generato. - LBM: Troncati all'offset esatto ed eliminati falsi positivi. - MOD: Eliminati file in cui si trovano stringhe del tipo: `M.K.FLT46CHN8CHNSCRM' che solitamente contenuta nella routine del player... 1 sola stringa per file accettata. Calcolo della dimensione esatta (canali*pattern*256)+samples+header pi incasinata del previsto... testata fino ai 32CHN ->OK! Sono sicuro che non sia possibile un numero di positions > 128. Se incontro un valore superiore non lo considero un modulo valido. Se pensate mi stia sbagliando lasciatemi un messaggio a riguardo. - AMF: Controllo della versione dalla 0x09 alla 0x10 ( la versione attuale 0x0e, introdotta con il DMP 3.0, ma prevedo ulteriori sviluppi, quindi ho lasciato un buon margine) - PCX: Controllo della validit (bits x plane,versione) - BMP: Troncati all'offset esatto ed eliminati falsi positivi. Alcuni BMP possono avere il campo della dimensione errato. In questo caso la dimensione esatta verr calcolata in base alle dimensioni dell'immagine e al numero di bit. - SCX: Troncati all'offset esatto ed eliminati falsi positivi. Riconosco solo SCX da 256 o 16 colori (Immagini con meno di 16 colori sono comunque salvate come 16 colori...) - WAV: Troncati all'offset esatto ed eliminati falsi positivi. - RMI: Troncati all'offset esatto ed eliminati falsi positivi. - CMF: Controllata versione (1.0 o 1.1, non ne conosco altre) - EXE: Dimensione esatta indicata dal Dos image size, calcolato in pagine di 512 byte + i byte nell'ultima pagina. Non estrae se: * No. di pagine > 0x4ff (.EXE lunghi 640KB senza overlay=impossibile) * byte nell'ultima pagina > 0x1ff MRIP pu essere usato anche per eliminare gli overlay dagli EXE! Alcune delle routine di controllo sono state scritte da SoftWizarD. Cambiato il comportamento del contatore per i file generati. Se si estraevano pi tipi di file venivano chiamati ad esempio RIP0000.LBM RIP0001.LBM RIP0002.MOD RIP0003.MOD RIP0004.GIF ........... Ora vengono generati tutti i file a partire da RIP0000.XXX RIP0000.LBM RIP0001.LBM RIP0000.MOD RIP0001.MOD RIP0000.GIF ........... Il cursore della picklist ritornava sempre all'inizio. Ora rimane sull'ultima posizione scelta. Nota per SoftWizarD: esistono anche le variabili statiche... >8-)) font alternativo Corretti `bugs' nel doc che state leggendo... 8-P Ŀ Mrip 1.00 (1 Maggio,1995) MAYDAY! Rilascio iniziale, dopo i vari bugfix e abbellimenti. Ŀ Mrip 0.01 (Aprile 1995) Prima versione (Brutalissima!) Estrazione FORM (ILBM) MRIP nato principalmente perch volevo estrarre tutte le schermate da -SHOW- e -POOR- dei Majic 12, e da qui scaturito tutto! Aggiunto controllo Offset , che permette di estrarre file in cui il pattern di ricerca non segna l'inizio del file ma si trova ad un offset specifico. (Grazie a SoftWizarD, io non lo avrei nemmeno implementato...) Greetings I Miei ringraziamenti personali vanno a: Michele Catania, per i consigli e per il sempre mitico WCOMP. Maciek Drejak, Autore di ByteRaper 2000, uno dei pi bei ripper esistenti (Sto aspettando un'upgrade per i modi 640x480!) SEN, Autore di HIEW , l'hex editor pi utilizzato dal T(/\)T. nuText Systems, Autori di Aurora Editor 2.1a, senza il quale sia Multiripper che il testo che state leggendo sarebbero stati scritti meno volentieri... Mark Thomas, Autore di 2OBJ 1.10 (dai cui sorgenti ho ricavato i preziosi decoder per GIF e PCX) e MegaDebugger 1.0, un debugger ben fatto che mi servito dove altri (Gametools e TurboDebugger ad esempio) hanno fallito... Author Ŀ Per ogni problema riguardante Multi Ripper contattateci Indirizzo: Indirizzo: Peruch Emiliano Baccan Matteo Via Alle Scuole 6 Vicolo Casa del Popolo, 7 28055 Ghiffa (VB) 28052 Cannobio (VB) ITALY ITALY Telefono: Telefono: 0323/59706 (20:00-22:00) 0323/70631 (20:00-22:00) Sono raggiungibile Isa South Europe (TWT HQ) sulle seguenti BBS: 0323/925428 Side Effects (Soft One HQ) Internet email 075/6979417 baccan@isanet.it Nippon Dreams 02/48017350