Page 1 sur 3

Pure Shredder v1

Publié : mar. 10/janv./2006 21:10
par Jacobus
Salut à tous,
J'aurai besoin de testeurs pour un petit soft de destruction de fichiers.
Vos impressions générales seront les bienvenues et si quelqu'un possède un logiciel de récupération de fichiers effacés, j'aimerai bien savoir s'il a réussi à récupérer le fichier supprimé avec Pure Shredder, et si oui (normalement non :? ) dans quel état.

A savoir : Le principe est l'écrasement des données par la réécriture multiple de bytes de données sur chaque octet du fichier. Procédé assez long surtout si le fichier est gros. ( Faites des tests sur des fichiers de moindre importance, 50 ko à 300 ko par exemple )

Avec un AMD Sempron 3000+ et vitesse d'écriture de disque de 30 Mo/sec il m'a fallu :
- 5 minutes pour un fichier de 1,5 Mb en mode sécurisé soit 15 passes.
- 5 minutes pour un fichier de 4 Mb en mode standard soit 5 passes.
(Plus rapide en exe qu'avec le debugger, je continue mes tests.)

Pour l'instant voici l'exe en zip à télécharger ( 47 ko ) en bas de ce post.
Je donnerai le code source un peu plus tard pour ceux que cela intéresse.

La tronche du machin :

Image

Image


Télécharger :
Pure Shredder V1

Voilà, merci aux testeurs [/url]

Publié : mar. 10/janv./2006 21:29
par Crystal Noir
je m'en charge avec plaisir ;)

Publié : mar. 10/janv./2006 21:40
par CameleonTH
Sa a l'air pas mal, mais les Beep sont trés enervant.
Et le processus est peu lent.
Essaye de l'optimiser.
Sinon Félicitation.

Publié : mar. 10/janv./2006 21:55
par Droopy
ça a l'air efficace, HandyRecovery n'a rien trouvé

Publié : mar. 10/janv./2006 22:54
par flaith
Avec "Restoration v2.5.14" j'ai récupéré ce nom : "NomdeFichier_bidon.xyz" d'un fichier qui a été "broyé" 15 fois mais il est remplie de "0F" donc ca marche ! :wink:

Publié : mar. 10/janv./2006 23:01
par Dorian
flaith a écrit :Avec "Restoration v2.5.14" j'ai récupéré ce nom : "NomdeFichier_bidon.xyz" d'un fichier qui a été "broyé" 15 fois mais il est remplie de "0F" donc ca marche ! :wink:
Moi il n'a rien retrouvé en mode normal ^^.

Par contre je suis interessé par la méthode :?.

Je savais pas que windows se contentait d'effacer qlq lettres du fichiers pour le détruire 8O ^^.

Publié : mer. 11/janv./2006 7:26
par Heis Spiter
Windows, même si on lui demande, ne supprime aucun fichier. C'est pour ça d'ailleurs qu'il est plus facile, et rapide de supprimer un fichier que d'en créer un. En fait, Windows se contente de supprimer le lien logique du fichier (afin qu'il ne soit plus accessible), puis réécrit dessus, d'autres fichiers.

Publié : mer. 11/janv./2006 9:02
par Crystal Noir
oui c pas mal du tout comme soft ^^

C'est vrai les beep c'est chiant :mrgreen:

Publié : mer. 11/janv./2006 9:11
par Progi1984
Un truc intéressant serait de tester avec des outils de récupération professionnel !

Publié : mer. 11/janv./2006 9:47
par lionel_om
Ya Easy Recovery.
Je l'ai je vais tenter de tester ton soft avec ...
Mais si tu arrive à accéder à l'emplacement mémoire et modifier les bits 15 fois, ya aucun moyen de récupérer les données : on ne peut récupérer aucune donnée d'un DD après 7 formatages <=> 7 ré-écritures. CQFD...

Publié : mer. 11/janv./2006 10:23
par Jacobus
Merci à vous tous pour votre participation.
Je suis parti d'un topic de "The Fool" sur le forum anglais durant l'été dernier. Le projet n'ayant pas été finalisé je m'en suis chargé pour pouvoir intégrer cette fonction dans un programme de sécurisation de données.

Je vous prépare le source avec les commentaires nécessaires au niveau de la méthode employée et je vous le poste ici. Ainsi chacun ayant besoin de ce type de fonction pourra l'inclure simplement dans son programme. Même si ce n'est pas la perfection, cela représente déjà un bon compromis.

Sur le net circulent plusieurs softs du genre, mais tous ne font pas ce qu'ils prétendent. Pire, certains derrière une interface chiadée et au nom reconnu, se contentent d'un simple delete à la windows. Un signe qui ne trompe pas sur la réalisation de la tâche c'est le temps mis pour. Si le traitement se fait en un éclair autant dire qu'il n'y a pas eu grand chose de fait.
Effacement logique/physique: lorsqu'un utilisateur efface un fichier mémorisé sur un
support physique, l'effacement porte en fait sur la table d'allocation du système de fichiers,
mais le contenu ne finit par être écrasé que lorsque l'espace libéré est réalloué et
réoccupé par un autre fichier. De ce fait, une procédure appropriée (undelete) permet de
récupérer facilement un fichier effacé logiquement. Pour éliminer d’une façon définitive un
fichier, il existe des utilitaires spécifiques d’effacement physique (wipe, shred…). Une
défragmentation du support conduit aussi à un certain écrasement des résidus de fichiers,
grâce au regroupement de l'espace libre disponible. Un simple formatage du support ne
suffit en outre pas à éviter toute récupération de données, car seule une réécriture
multiple des secteurs avec des schémas binaires prédéfinis offre cette garantie. La
destruction physique des objets supprimés dans une base de données (tables, rows…)
n'est pas clairement résolue.
Il existe aussi des moyens de récupération par rémanence électro-magnétique ( image résiduelle persistante ) mais si vraiment on craint à ce point là, autant passer un aimant sur le disque dur.

@+

Publié : mer. 11/janv./2006 12:13
par Jacobus
Voici le code source que j'ai agrémenté de commentaires normalement explicites. J'ai rajouté la possibilité de supprimer les fichiers en lecture seule.
Plusieurs librairies sont utilisées et énumérées en début de code. Assurez-vous de les avoir installées avant de lancer la compile tel que. Sinon vous devrez travailler pour adapter le code, mais c'est pas très compliqué à modifier. Les icônes sont inclues en Data (Merci Denis) pour être directement utilisées. Elles sont de moi, vous pouvez donc les réutiliser librement.

Si vous apportez votre contribution pour le faire évoluer, merci de nous en faire profiter.

[quote]

; PURE SHREDDER V1 01/2006 - Jacobus
; PB 3.94
; SUPPRESSION DEFINITIVE DE FICHIER PAR ECRASEMENT MULTIPLE DES DONNEES

; LIBRAIRIES UTILISEES /
; - Droopy's lib V 1.31
; - PureTools_I V 0.21 de Danilo
; - PureColor de Gnozal
; - MoreMenu 3.40 de Denis

;-constantes
Enumeration
#WinShredder
#PopUpShredder
#Menu_ShredIt
#PopupMenuBar
#Menu_fileInfo
#btnOpenRep
#btnHelp
#btnReboot
#FilesExplorer
#Compteur
#ContainerBroyeur
#frameBroyeur1
#Option_1
#Option_2
#Option_3
#Option_4
#frameBroyeur2
#textNBpasses
#progbarShred
#Shred_it
#Text_eof
#Text_eof_compte
#frameEvent
#Text_CPU
#Text_CPU_usage
#progbarCPU
#Text_Memoire
#Text_Memoire_usage
#progbarMemoire
#StatusShredder
EndEnumeration

Global Var.ItemParams

Global Image1,Image2
Image1 = CatchImage (1, ?Image1)
Image2 = CatchImage (2, ?Image2)

Procedure UC_Mem_use()
uc = CpuUsage()
MemUse = GlobalMemoryStatusMemoryLoad()
SetGadgetText ( #Text_CPU_usage , Str (uc)+ " %" ) ; affichage
SetGadgetState ( #progbarCPU , Val ( Str (uc)))
SetGadgetText ( #Text_Memoire_usage , Str (MemUse)+ " %" ) ; affichage
SetGadgetState ( #progbarMemoire , Val ( Str (MemUse)))
EndProcedure

;- Fenêtre
ww = 500 : wh = 490
If OpenWindow ( #WinShredder ,0,0, ww, wh, #PB_Window_SystemMenu | #PB_Window_ScreenCentered |#PB_Window_TitleBar| #PB_Window_MinimizeGadget , "PURE SHREDDER V1 - Beta" )=0 Or CreateGadgetList ( WindowID ( #WinShredder ))=0
End
EndIf
If CreatePopupMenuColor( #PopUpShredder )
Var\Text = "Passer au broyeur"
Var\TextColor = #Blue
Var\MenuBarColor = RGB ($66,$0,$66)
Var\IconAreaBkGndColor = RGB ($E6,$E6,$FF)
Var\TextAreaBkGndColor = #White
Var\SelectedTextColor = 255 ; couleur rouge
Var\SelectedBkGndColor = RGB (191, 210, 241)
Var\SelectedFrameColor = RGB (49, 106, 197)
PopupMenuItemColor( #Menu_ShredIt ,Var)
SetPopupMenuImageColor( #Menu_ShredIt , Image1)

PopupMenuBarColor( #PopupMenuBar , Var)

Var\Text = "Fichier"
PopupMenuItemColor( #Menu_fileInfo ,Var)
SetPopupMenuImageColor( #Menu_fileInfo , Image2)
EndIf

LoadFont (0, "Comic Sans MS" , 11, #PB_Font_Bold )

ButtonGadget ( #btnOpenRep ,5,0,120,20, "Ouvrir un répertoire" )
GadgetToolTip ( #btnOpenRep , "Sélectionner le répertoire contenant les fichiers à écraser" )

ButtonGadget ( #btnHelp ,130,0,100,20, "Help / info" )
GadgetToolTip ( #btnHelp , "Comment ça marche" )

ButtonGadget ( #btnReboot ,375,0,120,20, "Redémarrer Windows" )
GadgetToolTip ( #btnReboot , "Redémarrer votre système pour effacer les dernières traces" )

ExplorerListGadget ( #FilesExplorer ,5, 20, 490, 200, " " , #PB_Explorer_NoParentFolder|#PB_Explorer_NoFolders|#PB_Explorer_AlwaysShowSelection )
ChangeListIconGadgetDisplay ( #FilesExplorer , 0)
TextGadget ( #Compteur , 5, 220, 490, 20, " Contient " + Str ( CountGadgetItems ( #FilesExplorer ))+ " fichiers" , #PB_Text_Border|#PB_Text_Center )
PureCOLOR_SetGadgetColor( #Compteur , RGB ($FF,$FF,$FF), RGB ($7E,$7E,$7E))

ContainerGadget ( #ContainerBroyeur ,5,240,490,225, #PB_Container_Raised )
Frame3DGadget ( #frameBroyeur1 ,5,0,100,105, "Options broyage" )
OptionGadget ( #Option_1 ,15,20,70,15, "Standard" ) ; 5 passes
GadgetToolTip ( #Option_1 , "Données écrasées 5 fois" )
OptionGadget ( #Option_2 ,15,40,70,15, "Sécurisé" ) ; 15 passes
GadgetToolTip ( #Option_2 , "Données écrasées 15 fois" )
OptionGadget ( #Option_3 ,15,60,70,15, "Confidentiel" ) ; 35 passes
GadgetToolTip ( #Option_3 , "Données écrasées 35 fois" )
OptionGadget ( #Option_4 ,15,80,70,15, "Paranoïac" ) ; 70 passes
GadgetToolTip ( #Option_4 , "Données écrasées 70 fois" )
SetGadgetState ( #Option_2 ,1) ; par défaut on sélectionne le mode sécurisé soit 15 passes.

Frame3DGadget ( #frameBroyeur2 ,115,0,365,105, "Broyeur" )
TextGadget ( #textNBpasses , 125,15,345,20, " Ecrasement des données " )
SetGadgetFont ( #textNBpasses ,0)
PureCOLOR_SetGadgetColor( #textNBpasses , RGB ($E8,$0,$0), #PureCOLOR_SystemColor )

ProgressBarGadget ( #progbarShred , 125,40,345,15,0,100, #PB_ProgressBar_Smooth )

TextGadget ( #Text_eof , 125,70,200,20, "Nombre de passes effectuées : " )
DisableGadget ( #Text_eof ,1)
TextGadget ( #Text_eof_compte , 325,70,60,20, "" )
SetGadgetFont ( #Text_eof_compte ,0)
PureCOLOR_SetGadgetColor( #Text_eof_compte , RGB ($67,$0,$CE), #PureCOLOR_SystemColor )

Frame3DGadget ( #frameEvent ,5,110,475,100, "Indicateurs système" )

TextGadget ( #Text_CPU , 10,145,150,20, "Niveau de charge CPU : " )
TextGadget ( #Text_CPU_usage , 160,145,50,20, "%" )
ProgressBarGadget ( #progbarCPU , 215,145,255,15,0,100, #PB_ProgressBar_Smooth )

TextGadget ( #Text_Memoire , 10,185,150,20, "Niveau d'utilisation mémoire : " )
TextGadget ( #Text_Memoire_usage , 160,185,50,20, "%" )
ProgressBarGadget ( #progbarMemoire , 215,185,255,15,0,100, #PB_ProgressBar_Smooth )

CloseGadgetList () ; fermeture du container

If CreateStatusBar ( #StatusShredder , WindowID ())
AddStatusBarField (500)
StatusBarText ( #StatusShredder ,0, "PURE SHREDDER V 1.00 - 01/2006 - Jacobus" , #PB_StatusBar_Raised|#PB_StatusBar_Right )
EndIf

CloseFont (0)
Timer(1, 500, @UC_Mem_use())

;- Programme
Repeat
EventID = WaitWindowEvent ()
Select EventID
Case #PB_EventGadget
Select EventGadgetID ()

Case #btnOpenRep
NomChemin$ = PathRequester ( "Sélectionnez un répertoire" , "c:\*.*" )
SetGadgetText ( #FilesExplorer ,NomChemin$+ "*.*" )
SetGadgetText ( #Compteur , " Contient " + Str ( CountGadgetItems ( #FilesExplorer ))+ " Fichiers " )


Case #FilesExplorer
Select EventType ()
Case #PB_EventType_RightClick
PosPopup = GetGadgetState ( #FilesExplorer )
If PosPopup >= 0
SelectedFile$ = GetGadgetItemText ( #FilesExplorer , PosPopup, 0)
CurrentRep$ = GetGadgetText ( #FilesExplorer )
FileToShred$ = CurrentRep$+SelectedFile$
SetPopupMenuTextColor( #Menu_fileInfo , "Fichier : " + GetFilePart (FileToShred$)+ " / Taille : " + StrF ( FileSize (FileToShred$)/1024,2)+ " Ko" ) ; récupération et affichage dans le popupmenu du nom et de la taille du fichier sélectionné
DisplayPopupMenuColor( #PopUpShredder , WindowID ( #WinShredder )) ; affichage du popup
EndIf
EndSelect


Case #btnHelp
MessageRequester ( "FONCTIONNEMENT" , "1/ - Sélectionner et ouvrir le répertoire contenant les fichiers à écraser." + Chr (13)+ "2/ - Sélectionner le fichier à détruire puis faire un clic-droit dessus." + Chr (13)+ "3/ - Vous obtenez le nom et la taille du fichier sélectionné et le choix de le passer au broyeur." + Chr (13)+ "4/ - Si vous êtes décidé(e) à détruire le fichier cliquez sur 'Passer au broyeur'." + Chr (13)+ "5/ - Une confirmation vous est demandée, un clic sur OK pour entamer le processus." + Chr (13)+ "6/ - Attendre la fin du processus d'écrasement, un message vous en avertira." + Chr (13)+ "" + Chr (13)+ "LE TEMPS DE DESTRUCTION VARIE EN FONCTION DE DEUX PARAMETRES :" + Chr (13)+ "LA TAILLE DU FICHIER A SUPPRIMER ET LA PUISSANCE DU SYSTEME...SOYEZ PATIENT." + Chr (13)+ "" + Chr (13)+ "PureShredder v1 est fourni en l'état, beta test, parfaitement fonctionnel" + Chr (13)+ "Ne peut-être redistribué sans l'accord de l'auteur. - Free for personnal use." , #MB_ICONINFORMATION )

Case #btnReboot
RebootWindows = MessageRequester ( "REDEMARRER LE SYSTEME" , "ÊTES-VOUS SÛR(E) DE VOULOIR CONTINUER ?" , #MB_ICONEXCLAMATION | #PB_MessageRequester_YesNo )
If RebootWindows = 6
a$ + "Yes"
Reboot()
ElseIf RebootWindows = 7
a$ + "No"
MessageRequester ( "INTERRUPTION PROCESSUS" , "VOUS POURREZ REDEMARRER VOTRE SYSTEME PLUS TARD" , #MB_ICONINFORMATION )
EndIf


EndSelect
EndSelect

Select EventID
Case #PB_EventMenu
Select EventMenuID ()

Case #Menu_ShredIt
SelectedFile$ = GetGadgetItemText ( #FilesExplorer , PosPopup, 0)
CurrentRep$ = GetGadgetText ( #FilesExplorer )
FileToShred$ = CurrentRep$+SelectedFile$
Resultat = MessageRequester ( "SUPPRESSION DEFINITIVE D'UN FICHIER" , "ÊTES-VOUS SÛR(E) DE VOULOIR SUPPRIMER" + Chr (13)+ "" + Chr (13)+ "LE FICHIER : " +SelectedFile$, #MB_ICONEXCLAMATION | #PB_MessageRequester_YesNo )
If Resultat = 6
a$ + "Yes"
;On vérifie que le fichier n'est pas protégé, sinon on le modifie pour pouvoir le supprimer.
;A prévoir en option seulement pour éviter d'écraser n'importe quoi.
If GetFileAttributes(FileToShred$) & #FILE_ATTRIBUTE_READONLY
SetFileAttributes(FileToShred$, #FILE_ATTRIBUTE_NORMAL )
EndIf
TimerKill(1) ; termine le timer pour utiliser la procédure simple par la suite
DisableGadget ( #Text_eof ,0)
SetGadgetText ( #textNBpasses , " Ecrasement en cours ... : PATIENTEZ SVP..." )
WindowsMove( WindowID ( #WinShredder ), #False ) ; doit empêcher le déplacement de la fenêtre pour autoriser le rafraîchissement . si le cpu est à 100% le refresh est nul.

OptionDel_1 = GetGadgetState ( #Option_1 )
OptionDel_2 = GetGadgetState ( #Option_2 )
OptionDel_3 = GetGadgetState ( #Option_3 )
OptionDel_4 = GetGadgetState ( #Option_4 )
If OptionDel_1 = 1 : Passes = 5 ; réécrit 5 fois de suite si option cochée
ElseIf OptionDel_2 = 1 : Passes = 15 ; 15 fois si cochée
ElseIf OptionDel_3 = 1 : Passes = 35 ; 35 fois si cochée
ElseIf OptionDel_4 = 1 : Passes = 70 ; 70 fois si cochée
EndIf
For np = 1 To Passes
OpenFile (0,FileToShred$) ; ouverture du fichier en écriture
filesize= Lof () ; longueur en octets du fichier
For i = 1 To filesize ; de 1 octet (minimum) à la longueur totale
; WriteByte(Random(127)) ; pour utiliser des nombres aléatoires
WriteByte ($0F) ; (00001111)
Next i
e = Eof (0)
If e<>0 ; on vérifie que le fichier a été complètement passé/écrasé et donc qu'on a atteint la fin du fichier.
SetGadgetText ( #Text_eof_compte , Str (np)+ " fois" ) ; si OK on incrémente de 1 le nombre de passes
Else ;si c'est pas ok... ( fichier protégé en écriture )
SetGadgetText ( #Text_eof_compte , "ERREUR!" )
np = Passes ; on force pour terminer
EndIf
CloseFile (0) ; fermeture du fichier pour écriture effective sur le disque
pourcentage.f = np/Passes*100 ; calcul du pourcentage effectué
SetGadgetState ( #progbarShred ,pourcentage) ; mise à jour de la progressbar
Etat = GetGadgetState ( #progbarShred ) ; récupération de sa valeur...
SetGadgetText ( #textNBpasses , " Ecrasement en cours ... : " + Str (Etat)+ " % PATIENTEZ SVP" ) ;affichage format texte
Beep_ (400,100) ; matérialisation sonore ( à virer si ça vous énerve, lol )
UC_Mem_use() ; remplace le timer temporairement ( on utilise la procédure seule )
Next np ; on continue jusqu'au nombre de passes choisi.

SetGadgetText ( #textNBpasses , " Ecrasement des données terminé. 100 % complet" )
MessageRequester ( GetFilePart (FileToShred$)+ " a été détruit" , "Toutes les données contenues dans : " + Chr (13)+ "" + Chr (13)+ GetFilePart (FileToShred$)+ Chr (13)+ "" + Chr (13)+ "ont été écrasées " + Str (Passes)+ " fois" , #MB_ICONINFORMATION )
Renommer = RenameFile (FileToShred$, CurrentRep$+ "NomdeFichier_bidon.xyz" ) ; on renomme le fichier avant de l'effacer pour le cacher aux logs de récupération.
Final = DeleteFile (CurrentRep$+ "NomdeFichier_bidon.xyz" )
If Final = 0 ; ( Un fichier lecture seule peut générer l'erreur, dans ce cas il n'est pas réécrit mais seulement renommé )
MessageRequester ( "ERREUR" , "Bien que les données aient été détruites" + Chr (13)+ "le Fichier n'a pu être effacé de son emplacement." , #MB_ICONERROR )
;Else
;MessageRequester("EFFACEMENT COMPLET", GetFilePart(CurrentRep$+"NomdeFichier_bidon.xyz")+" a été effacé.", #MB_ICONINFORMATION)
EndIf
SetGadgetText ( #FilesExplorer ,CurrentRep$) ; Mise à jour de l'explorateur après destruction.
SetGadgetText ( #Compteur , " Contient " + Str ( CountGadgetItems ( #FilesExplorer ))+ " Fichiers " ) ; on actualise le compte des fichiers qu'il contient.
SetGadgetText ( #textNBpasses , " Ecrasement des données " ) ; réinitialisation
SetGadgetState ( #progbarShred ,0) ; réinitialisation
SetGadgetText ( #Text_eof_compte , "" ) ; réinitialisation
DisableGadget ( #Text_eof ,1) ; désactivation

WindowsMove( WindowID ( #WinShredder ), #True ) ; on permet le déplacement de la fenêtre à nouveau.
ActivateWindow () ; on conserve le focus à la fenêtre
Timer(1, 500, @UC_Mem_use()) ; relance le timer pour actualiser les indicateurs système en permanence.
ElseIf Resultat = 7 ; si on a annuler au début
a$ + "No"
EndIf


EndSelect
Case #PB_Event_CloseWindow :Quitter = 1

EndSelect
Until Quitter
End

Publié : mer. 11/janv./2006 12:28
par Jacobus
Datasection à rajouter en fin de listing

Code : Tout sélectionner

;-Data 
;Icônes de ma conception, cadeau.
DataSection 
Image1 : ; shred_32.ico
Data.l $00010000, $20200001, $00010000, $0CA80018, $00160000, $00280000
Data.l $00200000, $00400000, $00010000, $00000018, $08800000, $00000000
Data.l $00000000, $00000000, $00000000, $F4F80000, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F2F4F8F3, $F7F1F3F7, $EEF5EFF1, $E5EAF3EC, $ECDDE3F0
Data.l $D4E8D3DC, $C2CFE6C9, $E0BBCAE3, $BEDDB4C4, $A4B8DAAB, $D89FB4D8
Data.l $B2D79DB3, $9CB2D79C, $DA9EB3D8, $BEDDA4B8, $B6C6E1AC, $E8BFCDE4
Data.l $DAEBC7D3, $DAE1EED0, $F4E2E7F2, $F4F8EAED, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F1F3F7F2, $F6F0F2F7, $ECF4EDEF, $E0E5F1E8, $E7D4DDEC
Data.l $C9E3C7D2, $8C918DBA, $D9A8BBDC, $B0D6A1B6, $92AAD399, $6B8398BA
Data.l $A4D15E67, $8BA5D18A, $D48DA7D2, $B1D792AB, $A4B8DA9B, $E1ADBFDE
Data.l $CFE6B7C6, $CFD9EBC2, $F3DBE2EF, $F4F8E4E9, $F3F4F8F3, $F8F3F4F8
Data.l $F3F8F2F4, $F0F2F7F2, $F4EDF0F6, $E7F2E9ED, $D7DFEEE2, $E3CAD5E9
Data.l $AEC4BAC9, $2C23009F, $D37B8AA2, $A4D090A9, $84A0CE8A, $2B2F3538
Data.l $9BCC292B, $7E9BCC7E, $CE809DCD, $A5D184A0, $92ABD48B, $DB9BB1D7
Data.l $C4E0A7BA, $C3D0E6B4, $F0D1DAEB, $F4F8DDE3, $F3F4F8F3, $F8F2F4F8
Data.l $F2F7F2F4, $EFF1F6F1, $B7EAEDF5, $E1EED3CF, $CDD7EADA, $DEBECCE4
Data.l $8897AEC0, $1914017C, $B61B1A12, $9BCC768E, $4251697D, $02070602
Data.l $8DBF0706, $7695C970, $CB7796CA, $9CCC7A98, $839CC47F, $D68DA7D2
Data.l $BADB98AF, $B6C6E1A7, $ECC6D2E7, $F4F8D3DC, $F3F4F8F3, $F8F2F4F8
Data.l $F2F7F2F3, $EDEFF6F0, $5CE6EAF3, $7C3DAC9D, $AFB6BD8A, $D9B1C2DF
Data.l $646CA1B6, $1813015C, $2A110F01, $739A2127, $0707045C, $04050604
Data.l $5F810404, $7192C74A, $987393C8, $2D2A5C73, $6D84A72A, $D1829ECE
Data.l $B0D68CA6, $A9BCDC99, $E8B8C7E2, $F4F8C7D3, $F3F4F8F3, $F7F2F4F8
Data.l $F1F7F1F3, $EBEEF5EF, $96E2E7F2, $5500B8B3, $5544006A, $CA707162
Data.l $443791A6, $251E0144, $041E1902, $14061A16, $11100716, $070D0D07
Data.l $3C51090A, $6988BC2E, $022E3B50, $14110504, $7695C911, $CE7A98CB
Data.l $A7D2839F, $9CB2D78E, $E4ACBEDD, $F4F8BDCB, $F3F4F8F3, $F7F2F4F8
Data.l $F0F6F1F2, $E9ECF4EE, $C2DFE5F1, $5800C4C6, $5F4C006E, $12534300
Data.l $3F115145, $4034024A, $063A2F04, $2909362D, $27240B2F, $0C1E1D0C
Data.l $1B1B1617, $13171916, $04050607, $32430204, $7292C828, $CB7695C9
Data.l $A0CF7C99, $92AAD385, $E0A2B6DA, $F4F8B4C4, $F2F4F8F3, $F7F2F3F8
Data.l $EFF6F0F2, $E6EAF3ED, $E9DBE2EF, $6A10CCD6, $735C0080, $016D5700
Data.l $53016A55, $65520367, $09625005, $470C5B4D, $49401053, $143B3713
Data.l $21132D2C, $1417101F, $090B0E0C, $56750608, $6F90C742, $CA7293C8
Data.l $9CCC7796, $8BA5D17F, $DE9BB1D7, $F4F8ADBF, $F2F3F8F3, $CAF1F3F7
Data.l $DBBAECE5, $D8D3B8E3, $AFCAC8B3, $832CBBBC, $8C700097, $018C7000
Data.l $73018F72, $9075048F, $0B8D7307, $6A108770, $7062167E, $1C5E551A
Data.l $381C4C47, $28291939, $0F181B14, $56760E11, $556E9942, $98576F98
Data.l $7A9A5C73, $7E95B865, $DC95ADD5, $F4F8A8BB, $F2F3F8F3, $CAF1F2F7
Data.l $A711EBE5, $B99400CC, $00AF8C00, $8600A887, $AA8800A7, $01AE8B00
Data.l $9301B490, $B79304B7, $0CB49307, $8A14AE90, $94801BA3, $26807321
Data.l $54276B64, $3F412455, $182B2E1F, $1111191D, $06090C0D, $04050607
Data.l $2C2B0809, $7D98C328, $DA90A9D3, $F4F8A2B6, $F2F3F8F3, $F6F0F2F7
Data.l $D29AEDF0, $C69E00DF, $00C09A00, $9B00BF99, $C7A000C2, $01CEA500
Data.l $AC01D2A9, $D5AC04D6, $0DD2AB07, $A115CBA7, $B0991FC0, $2F9B8C28
Data.l $6C32867D, $57583170, $243E432C, $1D1C272D, $0B111417, $23070A0D
Data.l $8DBE161B, $7F9CCD70, $D88CA7D2, $F4F89FB4, $F2F3F8F3, $F6F1F2F7
Data.l $EBF4EEF0, $DBC56BE8, $00D4AA00, $B000D7AC, $E2B500DD, $01E8BA00
Data.l $B201EABC, $EB8203EC, $0EE5BA07, $B017DCB6, $C1A821D2, $37AE9C2D
Data.l $7F3E988F, $6B6D3F81, $3351583B, $2C293941, $131B1F22, $A6131B23
Data.l $94C85B78, $7D9BCC73, $D88CA5D2, $F4F89DB3, $F2F3F8F3, $F6F1F2F7
Data.l $ECF4EEF0, $E0E3E3E9, $00E6BF1F, $C400EEBE, $FAC800F5, $01FCC900
Data.l $C701FBC9, $F16402F8, $0EEA7C05, $BA17E7BE, $CDB123DC, $3EB7A531
Data.l $8C49A29A, $757B4D8B, $445E684B, $3B394652, $1B282D2F, $C5425C7F
Data.l $93C86B8E, $7D9ACC72, $D98BA6D1, $F4F89DB3, $F2F4F8F3, $9DF3F2EA
Data.l $D54FF6E5, $F9C700F6, $00FCC900, $D400FFCF, $FFD600FF, $01FFD500
Data.l $CE01FED1, $FBBF04FD, $06DB0E00, $BC18D24B, $D0B525E0, $45BCAB35
Data.l $9252A59F, $79835A8F, $5665735C, $4B4B5061, $25353E3A, $2F16242F
Data.l $455B1621, $576A8634, $D887A0C6, $F4F89EB4, $F6EEBCF3, $00FEDD11
Data.l $D400FFD7, $FFD500FF, $00FFD900, $E100FFDE, $FFE100FF, $01FFDD00
Data.l $D101FED8, $FBCD04FD, $00E56604, $490AB500, $D0B629B4, $4CBBAC3A
Data.l $945CA4A0, $7787678C, $67647A6C, $575E536A, $2C425040, $2F1E303F
Data.l $1A211321, $171B1610, $D95D6972, $F4F89EB4, $F2F4F8F3, $5EF3F3EA
Data.l $E000F9E8, $FFE100FF, $00FFE600, $EE00FFEB, $FFEA00FF, $01FFE500
Data.l $D502FDDC, $FACE05FD, $01F3BE09, $0000B30E, $812F0B88, $54B1A13D
Data.l $93669FA0, $71877486, $78617C79, $606F5370, $334E6143, $3E243B50
Data.l $3E55182C, $6F8CB72B, $DA8CA7D2, $F4F8A1B7, $F2F4F8F3, $F7F2F3F8
Data.l $EFC9F0F2, $F9EC3FF0, $00FFF100, $F700FFF6, $FFF300FF, $01FFEB00
Data.l $D703FDE1, $F9D106FC, $0AF3CA0C, $0000CB64, $5B000082, $5752210D
Data.l $91709295, $6B867E7F, $855C7D86, $667E5073, $37577044, $9F304D6C
Data.l $92C74C70, $7C9CCD6C, $DC90ABD4, $F4F8A5BB, $F2F4F8F3, $F7F2F3F8
Data.l $F0F6F0F2, $F2F19BEE, $00FFFB00, $FF00FFFF, $FFFB00FF, $01FFF300
Data.l $DD03FDE7, $F8D407FC, $17F1CB0D, $0D03E4BA, $5B00008A, $0D360000
Data.l $75622E15, $64848767, $8F567C8F, $6A874C74, $395C7A44, $9B2C4C68
Data.l $93C8496E, $80A0CE6D, $DE95AFD6, $F4F8ACC0, $F2F4F8F3, $EAF2F4F8
Data.l $F85EF3F4, $FFFD00F9, $00FFFF00, $FF00FFFF, $FFFF00FF, $01FFFB00
Data.l $E403FDF0, $F8DA07FC, $19F0D00E, $6014E5C7, $640000B1, $003D0000
Data.l $0A081F00, $516B7418, $95537B95, $6C8D4A75, $3A5F7F43, $582F506D
Data.l $5C782741, $85A4D143, $E19CB4D8, $F4F8B4C5, $F3F4F8F3, $30F5F6CB
Data.l $FF00FDFD, $FFFF00FF, $00FFFF00, $FF00FFFF, $FFFF00FF, $01FFFF00
Data.l $EE03FDF9, $F8E207FC, $18F1D80D, $B726E5CC, $7D0D04D2, $004E0000
Data.l $00002C00, $110A0A14, $963C5668, $6D8E4A75, $3C618044, $5934536D
Data.l $3D442C45, $4E5B5B2C, $E4A0B4D1, $F4F8BBCB, $F4F5E9F3, $7DF8F98C
Data.l $FA6EF9F9, $FCFC40FA, $20FBFC3F, $FF00FDFD, $FFFF00FF, $01FFFF00
Data.l $F802FDFE, $FCB405FD, $11F3AB09, $981CE4A1, $A23C13D0, $00690000
Data.l $00004000, $0E000021, $5E080000, $6D8D3449, $436A8B45, $74436482
Data.l $768A445E, $7180845E, $E798A3A4, $F4F8C3D2, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F1F3F7F2, $5EEFF1F6, $FF00F8FA, $FFFF00FF, $01FFFF00
Data.l $FD02FEFE, $FF4001FD, $00FF0000, $0000EE00, $B60000D7, $008C0000
Data.l $00005D00, $18000034, $000B0000, $37450A00, $4C739730, $CF6993C9
Data.l $AED57CA0, $A6BDDD91, $EABACBE4, $F4F8CCD8, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F2F3F8F2, $00F3F4DA, $FF00FFFF, $FFFF00FF, $01FFFF00
Data.l $FE01FEFE, $FDAF03FD, $00FF0000, $0000FF00, $DD0000F7, $00B50000
Data.l $00008100, $2800004F, $00120000, $00000D00, $39272C15, $D36F94C0
Data.l $B8DA88A9, $B3C7E29E, $EDC7D4E9, $F4F8D5DF, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F2F4F8F3, $00FAFB5F, $FF00FFFF, $FFFF00FF, $00FFFF00
Data.l $FE01FFFF, $FDFD02FE, $00FF2201, $0000FF00, $FF0000FF, $00DF0000
Data.l $140DA800, $4A221D73, $2030201F, $1D1F241F, $381C1C27, $D75F5057
Data.l $C1DF94B2, $BECFE6AA, $F0CFDBEC, $F4F8DDE4, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F4F5DBF3, $00FFFF00, $FB5FFFFF, $F3F4BAFB, $00FBFC3F
Data.l $FE01FFFF, $FDFE01FE, $00FE9003, $0000FF00, $FF0000FF, $00FF0000
Data.l $0B06CD00, $7878538F, $A46F8A8F, $7B7E6C8D, $5C6F6162, $CA616E54
Data.l $C9E39CB3, $C9D6E9B5, $F2D7E1EE, $F4F8E2E8, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $FAFA6DF3, $DBF9F97D, $F3F7F4F5, $F0F2F7F1, $00FBFC40
Data.l $FF00FFFF, $FDFE01FF, $00FCEA13, $0000FF11, $FF0000FF, $00FF0000
Data.l $0000EB00, $751C0EAB, $D583918E, $AED68CAD, $92ADC98F, $9A90A09C
Data.l $D1E79FAA, $D1DCECC1, $F3DDE5F1, $F4F8E6EB, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F3F4F8F3, $F8F3F4F8, $F4F8F3F4, $F2F3F8F2, $00FCFC40
Data.l $FF00FFFF, $F2F49BFF, $01F3F07B, $0000FE59, $FF0000FF, $00FF0000
Data.l $0000FF00, $890000C5, $DE764037, $C1DFA7C0, $AFC4E1A9, $E7B7CAE3
Data.l $D9EBC1D2, $D8E2EFCD, $F5E2E9F2, $F4F8E9EE, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F3F4F8F3, $F8F3F4F8, $F4F8F3F4, $F2F4F8F3, $00FCFC41
Data.l $F89DFFFF, $EEF1F6F7, $11EEF1E8, $0000FDCF, $FF0000FF, $00FF0000
Data.l $0000FF00, $A10000DA, $85740000, $D1E79678, $C5D4E8C1, $EDCAD8EA
Data.l $E2EFD1DD, $E1E8F2D9, $F6E7EDF4, $F4F8ECF0, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F3F4F8F3, $F8F3F4F8, $F4F8F3F4, $F3F4F8F3, $9DFCFC41
Data.l $F3F8F7F8, $F1F3F7F2, $7DF0F2F7, $3A01F7EE, $FF0000FF, $00FF0000
Data.l $0000FF00, $B60000E9, $008C0000, $A9B47300, $D6E0EEBA, $F1D9E3EF
Data.l $E8F3DEE5, $E7EDF4E2, $F7ECEFF6, $F4F8EFF1, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F3F4F8F3, $F8F3F4F8, $F4F8F3F4, $F3F4F8F3, $F8F5F6CA
Data.l $F4F8F3F4, $F2F4F8F2, $EAF2F4F8, $A10DF3F4, $FF0000FE, $00FF0000
Data.l $0000FF00, $C50000F5, $009D0000, $10118400, $D7CDD684, $F4E3EAF3
Data.l $EDF5E5EB, $ECEFF6E9, $F7EEF1F6, $F4F8F0F2, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F3F4F8F3, $F8F3F4F8, $F4F8F3F4, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F3F4F8F3, $F8F3F4F8, $F2ACF2F4, $F0F3F7F6, $F6EEF2F7
Data.l $EEF6EDF0, $E9EDF5EB, $F4E6ECF4, $EBF4E6EC, $E6EBF4E5, $F5E7ECF4
Data.l $EFF5E9ED, $EDF0F6EB, $F7EFF2F7, $F4F8F1F3, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F3F4F8F3, $F8F3F4F8, $F4F8F3F4, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F3F4F8F3, $F8F3F4F8, $F4F8F3F4, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F2F4, $F2F4F8F2, $F8F3F4F8, $F4F8F3F4, $F3F4F8F3, $F8F3F4F8
Data.l $F4F8F3F4, $F3F4F8F3, $F8F3F4F8, $0000F3F4, $00000000, $00000000
Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
Data.b  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

Image2 : ;FichierInconnu2.bmp 32
Data.l $0C364D42, $00000000, $00360000, $00280000, $00200000, $00200000
Data.l $00010000, $00000018, $0C000000, $00000000, $00000000, $00000000
Data.l $00000000, $F6F80000, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F6F5F5F7, $F3F5F4F4, $F2F1F3F3
Data.l $F0F1EFF1, $EEF0F0EE, $F0EFF1F0, $F4F1F0F2, $F4F6F2F2, $F4F5F7F4
Data.l $F8F5F5F7, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F3F4F6F5
Data.l $EFEFF0F2, $EAECEDEE, $E5E6E8E9, $DEE1E1E3, $D7D8DCDC, $D2D0D1D8
Data.l $C5CCC9CA, $C0C0C8C4, $C1BDBEC4, $BABFBBBC, $B6B8BBB9, $B4B3B4B7
Data.l $ABAFAFB0, $A4A5AAAA, $9D9D9EA3, $90969697, $87888E8F, $D6D7D987
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E5E8E9EB, $DDDEE3E3, $D7D6D7DC, $C7CECECF, $BBBCC7C6, $B7B2B3BF
Data.l $A3B0AAAA, $9D9EABA2, $A09899A6, $909B9595, $8A8A9490, $8584848D
Data.l $727B7C7C, $67677272, $5C5C5C67, $43515151, $37374343, $B6B7B837
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E5E8E9EB, $DDDEE3E3, $D6D6D7DC, $C5CDCDCE, $B8B9C6C4, $B5ADAEBD
Data.l $9CAEA3A4, $9797A99B, $A09394A5, $8F9C9292, $8A8A958F, $8583838E
Data.l $727C7C7C, $68687272, $5C5C5C67, $43505050, $36364242, $B6B7B836
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E5E8E9EB, $DDDEE3E3, $D6D5D6DC, $C3CDCCCD, $B5B6C5C2, $B3A9A9BC
Data.l $95AC9D9E, $9191A795, $9F8E8FA3, $8D9C8F8F, $8989958D, $8683838E
Data.l $727C7C7C, $68687272, $5C5C5C67, $43505050, $36364242, $B6B7B836
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E5E8E9EB, $DDDEE3E3, $D6D5D6DC, $C2CDCCCD, $B3B4C4C1, $B2A6A6BB
Data.l $91AB9A9A, $8D8DA691, $9F8B8CA2, $8B9C8C8C, $8888968B, $8683838F
Data.l $727C7C7C, $68687372, $5C5C5C67, $43505050, $36364242, $B6B7B836
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E5E8E9EB, $DDDEE3E3, $D6D5D6DC, $C2CDCCCD, $B2B3C4C1, $B1A4A5BA
Data.l $8FAA9898, $8A8BA58F, $9F8989A2, $8A9C8B8B, $8888968A, $8782828F
Data.l $727D7C7C, $68687372, $5C5C5C67, $43505050, $36364242, $B6B7B836
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E5E8E9EB, $DCDDE3E3, $CCBCBDDC, $639F6768, $5A5A9362, $7C535386
Data.l $8E846061, $8989A58E, $9F8788A2, $889C8989, $86869788, $88828290
Data.l $727E7B7B, $68687472, $5D5C5C68, $43505050, $36364242, $B6B7B836
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E5E8E9EB, $DCDDE3E3, $C1A1A2DC, $006C0000, $00005800, $37000046
Data.l $8E502828, $8889A58E, $9F8686A1, $869C8787, $85859786, $89818192
Data.l $727F7B7B, $68687572, $5D5C5C69, $43505050, $36364242, $B6B7B836
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E4E8E9EB, $DBDCE2E2, $C0A0A0DB, $006C0000, $00005700, $2E000040
Data.l $8E472828, $8888A58E, $9E8484A1, $839C8484, $82829883, $8C7F7F93
Data.l $72827B7B, $69697772, $5E5D5D6A, $43515050, $36364242, $B6B7B836
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E4E8E9EB, $DADBE2E2, $C19F9FDA, $006F0000, $00005900, $2A000040
Data.l $8E402727, $8788A58E, $9E8383A1, $819C8181, $80809981, $8E7E7E95
Data.l $73857A7A, $69697A73, $5F5D5D6C, $43515151, $36364242, $B6B7B836
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E2E7E8EA, $D8D9E1E0, $CEC2C3D9, $8AB39393, $8081A889, $8F78789B
Data.l $8D8F7B7B, $8787A48D, $9E8282A1, $7E9C8080, $7E7E9A7E, $917C7C97
Data.l $73887979, $6A6A7C73, $605E5E6E, $43525151, $36364342, $B6B7B836
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E2E7E8EA, $D6D7E1E0, $CDC0C1D8, $007D0000, $00006800, $35000050
Data.l $8C422626, $8686A48B, $9E8181A1, $7D9D7E7E, $7C7C9B7D, $927B7B98
Data.l $73897979, $6A6A7E73, $615E5E6F, $43525151, $36364342, $B6B7B836
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E1E7E8EA, $D5D6E1DF, $CEC8C9D7, $008C0D0D, $00007500, $4200005D
Data.l $2C280000, $7E7E432C, $9E818199, $7D9D7E7E, $7C7C9B7D, $937B7B98
Data.l $738A7979, $6A6A7E73, $615E5E70, $43525151, $37374342, $B6B7B837
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E1E7E8EA, $D5D6E1DF, $CEC8C9D7, $0DB88D8E, $00008B0D, $55000070
Data.l $00370000, $090A1F00, $735A5B1C, $7E9C8080, $7D7D9A7E, $917C7C97
Data.l $73897979, $6A6A7D73, $615E5E6F, $43535252, $37374443, $B6B7B837
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E2E7E8EA, $D7D7E1E0, $D0CBCCD8, $A6C4BCBD, $4848BAA6, $6B00009B
Data.l $004C0000, $00003000, $1700001D, $816E5353, $7F7F9981, $8F7D7D95
Data.l $73867A7A, $69697A73, $605D5D6D, $44525151, $37374544, $B6B7B837
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $73D8A1A2, $6060CC72, $BE3636C6, $95B83132, $A9AABC95, $9F6666B6
Data.l $00620000, $00004400, $2400002E, $852D0A0A, $83839885, $8C7F7F93
Data.l $72837A7A, $69697772, $5F5E5E6C, $44525252, $38384344, $B6B6B838
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $00D58486, $0000BE00, $C10000C0, $54C10000, $9293BE54, $B2A0A0B9
Data.l $00770000, $00005900, $35000042, $8A350000, $8686968A, $88808191
Data.l $73807B7B, $69697672, $5D5C5C6A, $46535252, $3A3A4545, $B6B7B83A
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $10E4CDCF, $0000CA10, $CA0000C9, $00C90000, $0000C400, $A20000B7
Data.l $00880000, $00006D00, $4B000057, $8E5E2626, $8889958E, $8681828E
Data.l $737E7B7C, $68687472, $5F5E5E69, $48535353, $3E3E4747, $B5B6B73E
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $BBE8E9EB, $0000DFBA, $CF0000CE, $00CD0000, $0000C700, $AA0000BB
Data.l $00940000, $00007D00, $6915156B, $91907C7D, $8A8B9490, $8483838D
Data.l $737D7C7C, $68687373, $5F5F5F69, $4B555555, $41414B4B, $B4B5B741
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E5E8E9EB, $D0D1E3E3, $D46C6DDB, $00CE1C1C, $0000C700, $AD0000BC
Data.l $229C0000, $60609121, $9E959696, $939A9A9A, $98989392, $B3B0B799
Data.l $7293909C, $6A6A7272, $6060616A, $4F575757, $47474F4F, $B4B5B647
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E5E8E9EB, $DDDEE3E3, $D7D7D8DC, $CACECFD0, $C1C2C8C9, $BABABBC2
Data.l $ADB4B3B4, $A7A8ADAC, $A09FA0A8, $939A9A9B, $A7A89393, $F1EDFCA7
Data.l $F9DCCFFB, $89D5C7B1, $836CB69F, $6767588A, $4D4D5650, $B2B3B44D
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E5E8E9EB, $DDDEE3E3, $D5D6D7DC, $CACECFD0, $C2C2C8C9, $BBBBBCC1
Data.l $AEB3B4B5, $A8A8ADAD, $9FA0A0A7, $92989999, $A6A79192, $F2EEFDA6
Data.l $FADCCFFC, $93F9C7B1, $9C74F8B1, $EB8655F7, $638B6E38, $F5F6F86F
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E5E8E9EB, $DDDEE3E3, $D5D6D7DC, $CACECED0, $C2C3C9C9, $BABABBC2
Data.l $ADB3B3B4, $A6A6ACAD, $9E9F9FA5, $91989899, $A6A69191, $F2EEFDA6
Data.l $FADCCFFC, $93F9C7B1, $9C74F8B1, $988157E4, $F6F87F74, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F5F7F5F6, $EFF0F2F4
Data.l $E5E8E9EB, $DDDEE3E3, $D5D5D7DC, $C9CECED0, $C0C1C8C8, $BABABBC0
Data.l $ACB2B3B3, $A5A5ABAB, $9D9E9EA4, $91979798, $A6A69090, $F2EEFDA6
Data.l $FADCCFFC, $93F9C7B1, $9272DDB1, $F8A3A2AB, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F4F6F5F6, $EFF0F2F3
Data.l $E5E8E9EB, $DDDFE3E3, $D5D5D7DD, $C8CECFD0, $C1C2C7C7, $B9B9BAC0
Data.l $ABB1B1B2, $A4A4AAAA, $9C9C9DA3, $8F969696, $A6A68E8F, $F2EEFDA5
Data.l $FADCCFFC, $89CFC7B1, $A7A6AE9E, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F4F6F5F6, $EFF0F2F3
Data.l $E5E8E9EB, $DDDFE3E3, $D5D5D7DD, $C9CECFD0, $BFC0C7C8, $B8B9BABE
Data.l $AAB0B0B1, $A3A3A9AA, $9B9B9CA2, $8E959596, $A5A58E8E, $F2EEFDA5
Data.l $CADCCFFC, $CFD0AA9C, $F5F6F8CE, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F4F6F5F6, $EEEFF1F3
Data.l $E5E8E9EB, $DDDFE3E3, $D5D6D7DD, $C9CECFD0, $BFC0C7C8, $B8B8B9BF
Data.l $A9B0B0B1, $A2A2A8A9, $9A9A9BA2, $8D949495, $A5A58D8D, $F2EEFDA4
Data.l $D3AAA4B8, $F6F8D1D2, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F4F6F5F6, $EEEFF1F3
Data.l $E5E8E9EB, $DDDFE3E3, $D5D6D7DD, $C8CECFD0, $BFC0C7C7, $B7B7B8BF
Data.l $A9B0B0B1, $A1A2A8A8, $99999AA1, $8E939394, $9D9D8D8D, $B2B1B69C
Data.l $F8EBECEE, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F4F6F5F6, $EEEFF1F3
Data.l $E5E8E9EB, $DDDFE3E3, $D5D6D7DD, $C8CDCDCE, $BFC0C7C7, $B7B7B8BF
Data.l $A9AFB0B0, $A1A2A8A8, $99999AA1, $8D939394, $98988D8D, $EBECEE97
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.l $F8F5F6F8, $F6F8F5F6, $F5F6F8F5, $F8F5F6F8, $F6F8F5F6, $F5F6F8F5
Data.b  -8, -10, -11, -8, -10, -11
; 
; ShredderIcone : ;Shred_it.ico 32
; Data.l $00010000, $20200001, $00010010, $02E80004, $00160000, $00280000
; Data.l $00200000, $00400000, $00010000, $00000004, $02800000, $00000000
; Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $80000080
; Data.l $80000000, $00800080, $00800000, $80800080, $C0C00000, $808000C0
; Data.l $00000080, $FF0000FF, $FF000000, $00FF00FF, $00FF0000, $FFFF00FF
; Data.l $FFFF0000, $000000FF, $00000000, $00000000, $00000000, $00000000
; Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
; Data.l $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
; Data.l $00000000, $00000000, $000F0000, $00000008, $00000000, $00000000
; Data.l $08000000, $00000000, $00000000, $00000000, $00F00000, $00000080
; Data.l $00000000, $00000000, $08FF0800, $00000008, $00000000, $00000000
; Data.l $00FF0F00, $00000080, $00000000, $00000000, $08FF8F00, $00000009
; Data.l $00000000, $00000000, $00FFFF08, $00000099, $00000000, $00000000
; Data.l $09FFFF8F, $00000099, $00000000, $88808000, $09FFFFFF, $00000099
; Data.l $80800000, $8F080808, $09FFFFFF, $08000099, $08080808, $8FFF8F88
; Data.l $09FFFFFF, $00000099, $88F8FF80, $FFFFFFFF, $09FFFFFF, $08000099
; Data.l $00000000, $00000000, $99000900, $80000099, $90090908, $99999090
; Data.l $99999990, $08000099, $99990980, $99999999, $99999999, $88000099
; Data.l $99999909, $99999999, $99999999, $00000099, $99999999, $99999999
; Data.l $99999999, $99070099, $00909999, $00000000, $99999900, $99070099
; Data.l $77079999, $77777777, $99990977, $99070099, $77079999, $FFFF7777
; Data.l $999909F7, $99070099, $77079999, $00007777, $999909F7, $99070099
; Data.l $77079999, $00007777, $999909F7, $99070099, $77079999, $00007777
; Data.l $999909F7, $99070099, $77079999, $00007777, $999909F7, $99070099
; Data.l $77079999, $00007777, $999909F7, $99070097, $77079999, $77777777
; Data.l $99990977, $77070070, $FF0F7777, $FFFFFFFF, $777707FF, $00000000
; Data.l $00000000, $00000000, $00000000, $EFFF0000, $FFFFB77B, $FDFFFFFF
; Data.l $DFFFDFFF, $FFF7E1FD, $DEFF81D0, $FEF701EA, $FB7F01F4, $DDF701B0
; Data.l $3AE70170, $6E660148, $00C30100, $80860100, $00000100, $00800100
; Data.l $00000100, $00800100, $00000100, $00800100, $00000100, $00800100
; Data.l $00000100, $00000100, $00000100, $00000100, $00000100, $00000100
; Data.b  0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 7, -128, 0, 0, 15

EndDataSection

Publié : mer. 11/janv./2006 13:42
par Jacobus
Pour simplifier les choses j'ai mis à jour le Zip à télécharger (utiliser le lien dans le premier post) il contient l'exe, le code PB et l'icône. Pour un poids de 57 Ko. (exécutable 99 Ko)

Ca a un peu merdoyé quand j'ai poster le source sur le forum, trop long avec les Data. :?

@Lionel_om : As-tu fais des essais avec Easy Recovery?

@Flaith : C'est exactement ça, tu peux le voir dans le code. :wink:

Je vais maintenant l'arranger un peu pour en faire un free redistribuable.

@+

Publié : mer. 11/janv./2006 14:10
par gansta93
Merci Jacobus ! :-D
Je cherchais ça... :-D