The Belgian Hackers Zone http://www.thebhz.org 66 BBBBBB HH HH ZZZZZZZZZ 66 BB BB HH HH ZZ oo 6 TTTTT H H EEe BB B HH HH ZZ N o o 6 T H H E E BB BB HH HH ZZ NNNNN oo 6 T HHHH EEE BBBBBB HHHHHHHH ZZ N N 66 T H H E BB BB HH HH ZZ N N 6 6 T H H EEE BB B HH HH ZZ N N 6 6 BB BB HH HH ZZ N N 6 6 BBBBBB HH HH ZZZZZZZZZ N N 666 The Belgian Hackers Zone !!! The Belgian Hackers Zone : http://www.thebhz.org http://www.thebhz.com Si vous lisez ceci, c'est que vous avez telecharge ce zine sur madchat. C'est une version censuree, afin de lire la version originale, rendez vous sur le site du BHZ (http://www.thebhz.org) ou sur un des autre ssites qui distribuent BHZ Mag. Voici venues les vacances, moments de joie, de bonne humeur, d'amour, de voyages, pour beaucoup. Pour nous, ces vacances seront placees sous le signe de la diversite. En effet, pour la 6eme edition de notre zine, non seulement nous sommes plus nombreux à ecrire, mais aussi nous abordons de nouveaux themes. Que ca vous plaise ou non, on a beau s'appeler "The Belgian Hackers Zone",le "hacking" "pur" ne reste pas notre seul centre d'interet, loin de là. Ce zine comprend les premiers articles de certains, qui sans aucun doute auront un grand avenir sur la scene belge et la scene francophone. Et quel que soit le domaine que nous abordons, nous essayons avant tout de garder l'esprit, cet esprit qui nous est si cher. Cet esprit qui fut decrie, applaudi, meprise, mais qui reste avant tout notre esprit, notre facon de vivre. Oui bien sur on sait qu'on est pas les meilleurs du monde, les plus grands hackeurs de la planete. On s'en fout, on ecrit des articles qui peuvent etre lus par tout le monde, qui sont faits pour etre lus par tout le monde. Ici pas de discrimination, qu'elle soit raciale, religieuse, politique, ou meme informatique (ras-le-bol des cons qui pronent leur OS en insultant les autres, ceux qui leurs sont etrangers.) Et ce quel que soit l'OS en question. Et oui car meme si ceux-si piratent les serveurs les plus proteges du monde, si ils ne tolerent pas les differences, ce sont, à mes yeux, eux, les lamers. Little intro by Asmodeus ---> asmodeus@mail.be Vous pouvez nous joindre soit par nos adresses email respectives presentes sur le site web (http://www.thebhz.org) soit, pour les auteurs, dans le sommaire et en fin de leurs articles. Certains d'entre nous sont aussi souvent presents sur le salon officiel du BHZ sur l'irc : #thebhz sur Undernet. The Belgian Hackers Zone : http://www.thebhz.org http://www.thebhz.com 1.Envoi de SMS gratos Proximus <--> Proximus 2.La Bananarchie 3.Trucs et Astuces de Cyrius 4.La chtite pensee anarchique de GRIm@ 5.Hack de caramail v.5 6.Tutorial de Cracking n°2 7.Installer Win 98 sans serial 8.VMB Hacking 9.Tutorial de cracking n°1 The Belgian Hackers Zone : http://www.thebhz.org http://www.thebhz.com 1. Envoi de SMS gratos Proximus <--> Proximus ********************************************* credits : |SexyWax| |mulphex78@hotmail.com| ------- ******* ********************* 2. La Bananarchie ***************** credits : |Asmodeus| |asmodeus@mail.be| ------- ******** **************** 3. Trucs et astuces de Cyrius (ca rime !!) ****************************************** credits : |CyriusVirus| |cyriusvirus@yahoo.fr| ------- *********** ******************** 4. La chtite pensee anarchique de GRIm@ *************************************** credits : |GRIm@| |grima@hotmail.com| ------- ***** ***************** 5. Hack de caramail v. 5 ************************ credits : |Asmodeus| |asmodeus@mail.be| ------- ******** **************** 6. Tutorial de cracking n°2 *************************** credits : |GRIm@| |grima@hotmail.com| ------- ***** ***************** 7. Installer Windows 98 sans serial *********************************** credits : |SexyWax| |mulphex78@hotmail.com| ------- ******* ********************* 8. VMB Hacking ************** credits : |Asmodeus| |asmodeus@mail.be| ------- ******** **************** 9. Tutorial de cracking n°1 *************************** credits : |CyriusVirus| |cyriusvirus@yahoo.fr| ------- *********** ******************** The Belgian Hackers Zone : http://www.thebhz.org http://www.thebhz.com ********************************************** * Envoi de Sms Gratos Proximus <--> Proximus * [ by Sexywax ]  ********************************************** L'autre jour, j'étais dans le bus en direction de bruxelles, mon Gsm en poche et la furieuse envie de faire chier mon monde en leurs envoyant des insultes dont je ne citerai rien (ex: "Suce-moi !!!!", "Ta place est a la cuisine...", voyez ?)enfin bref. Mais je me suis dit, non ... je me suis amuser a tester deux trois (25) 0800  et je suis tombé sur un plutot intéressant d'après moi (et mon potes). En effet, lorsque vous sonnez betement sur ce merveilleux numéro, vous  tombez sur une porteuse.  FAx ? Modem ? autre ? HaHa tAtsDaKestion ! J'ai été cherché un goret hurlant (je nommerai un abonné ProxiMu$), on va  l'appelé Tom pour raccourcir. Je lui ai dit d'essayer d'envoyer des messages par  l'intermédiaire de ce numéro... Et oh miracle !  Cela fonctionne. Il ne pouvait pas envoyer de Sms  auparavant, et maintenant ca marche. Il n'y a pas de prime abord de restrictions  puisque il m'a dit (18/5/00) que ca marchait toujours et qu'il ne payait rien. Je me suis connecté sur cette affaire en rentrant chez moi, et la bécane me  demande un Log et un pass. (Un hacker pourrait s'amuser ici puisque c'est gratos :-).  Je ne me suis pas attardé dessus. Enfin bref! Ca ressemble a un truc gratos, mais méfiez-vous car je ne suis  certain de rien et je ne suis responsable de rien,je vous ai juste dit que ca  pouvait marcher très bien ... Bon maintenant le numéro : 0800/14725                   > ---> ^^^^^^^^^^^^^^^^^^^^ <--- < Autre info importante pour les MobiStar : Les Sms sont gratos dans le coin ... mais apparament, quand on n'a plus de thunes, un moment donné, les Sms ne vont plus  et meme quand vous rechargez, il ne vont toujours plus ... (Ils marchent X semaines après). "Cela pose trop de problemes technique" Dixit un mec de Mobistar. J'ai vu aussi des gars se faire taxer 250 balles d'un coup par Mobistar, parce qu'ils ne décomptent  que par gros paquets. Enfin qlq'un a des infos ...  Mulphex78@hotmail.com ________________[ Sexy Wax 18/05/2000]_________________[Mulphex78@hotmail.com]___________ ********************** * La Bananarchie !!! * [ by Asmodeus ] ********************** BBBBBB AAAAA N N AAAA N N AAA B BB A A NN N A A NN N A A B B A A N N N A A N N N A A BBBBBBBBB A A N N N A A N N N A A B B AAAAAAAAA N N N AAAAAAAA N N N AAAAAAA B BB A A N N N A A N N N A A B BB A A N N N A A N NN A A BBBBBBBBBB A A N N A A N N A A AAAA A A N N AA RRR CCCC H H YY YY A A NN N A A R R C H H YY YY AAAAAAAA N N N A A R R C HHHHH YY YY A A N N N AAAAAA RRRR C H H YY A A N NN A A R R C H H YY A A N N A A R R CCCC H H YY YY YY YY YY BANANARCHY !!!!!!!!!!!!! Qu'est ce que la "Bananarchie" ? -------------------------------- La Bananarchie est la destruction, le carnage, la terreur apportes par... des bananes... Cet article va expliquer les differentes facons qu'ont les bananarchistes pour faire des explosifs, des armes, etc... avec comme resuletat une anarchie totale. Comment ca marche la Bananarchie ? ---------------------------------- Les bananes peuvent devenir des armes tres dangereuses quand elles sont utilisees convenablment. Des bananes gelees peuvent devenir des armes fatales quand elles sont taillees jusqu'à un certain point... Mais on peut en faire bien d'autre choses... comme des bonmbes !! N'oubliez pas que les instructions et le mode d'emploi des divers outils sont là dans un but educatif uniquement. C'est surement pas moi qui vais etre responsable de ce que vous ferez apres avoir lu cet article. Les choses interessantes.... **************************** La lame de banane ----------------- la lame de banae peut devenir une arme EXTREMEMENT dangeresue quand elle est dans les mains d'un bananarchiste experimente. Materiel : - 1 banane gelee - 1 couteau tres coupant Vous vous dites surement "Pourquoi utiliser une putain de banane alors qu'on a un couteau coupant ?" petit encule va ! Sachez qu'une banane ca se voit moins qu'un couteau ou un poignard et si vous vous approchez de quelqu'un avec un couteau en main, il fera plus attention à vous que si vous avez une banane. La lame de banae est donc de loin superieure au couteau normal. Et si vous vous faites chopper, vous la mangez !! (une fois qu'elle est un peu degelee...) Une fois que la banane est bien congelee, vous la taillez. Vous devez l'utiliser assez vite apres l'avoir taillee sinon elle sera trop molle. La mine de banane (recette extremement conne) (meme Flat pourrait la faire celle-là....) ------------------ - - - - - - - - - - - - - - - - - - - - Regardez où vous marchez !! une beau de banane n'a l'air de rien comme ca... mais imaginez un gros troudcu de touriste qui s'amene, qui prend ses ptites photos, qui se promene bien tranquiellement puis qui met le pied sur la mine banane... !! Ca a l'air tres con comme ca (et d'ailleurs ca l'est) mais positionnee dans un bon endroit, ou y'a bcp de monde, les gens ne regardant pas où ils marchent, si yeen a un qui glisse, tout le monde tombe.... Hahahahahaaaaaaaa... !!! [A partir d'ici la suite des recetttes presentes dans cet article seront supprimmees pour la version de BHZ Mag n°6 distribuee sur madchat. Si les deux premieres techniques n'ont pas ete supprimmees, c'est parce qu'elles sont là principalement pour le fun, et qu'elles n'ont pas grand choses à voir avec les autres recettes presentes dans cet article ( la bombe de bananes, la grenade de bananes, le napalm de bananes, le cocktail molotov de bananes) Afin de lire la version originale de BHZ mag n°6, rendez vous sur le site du BHZ : http://www.thebhz.org] Voilà c'est tout pour la bananarchie. A vous de trouver d'autres recettes amusantes à base de bananes. Et surtout, ne l'oubliez pas, c'est dangereux. Si vous voiulez ne courir aucun risque, mangez les bananes à la place de faire des conneries avec. contact me : asmodeus@mail.be *********************** * Trucs et astuces... * [ by CyriusVirus ] *********************** 1°) PRESENTATION Salut à tous je suis CyRiUsViRuS et un je suis un nouveau membre du TEAM. J'écoute en ce moment THUNDERDOME je ne sais pas si vous connaissez mais c'est pas grave. "come into your fucking, fucking, fucking speaeaeaeaeker toumtoumroum" oula je m'embarque avec c'te zique. Bon assez rigoler je vais vous parlez des function bizzare de Windaube. (Linux, WINNER !!) 2°)Votre souris vous espionne. De nombreuses souris pour ordi proposeent de mesurer la distance parcourue. Une indication possible du travail effectué par un employé. Par exemple, si vous avez une souris à molette Micro$oft allez dans poste de travail ou panneau de configuration ça depends, cliquez sur l'icone souris puis dans l'onglet Productivité, vous trouverez une option ODOMETRIE, qu'il vous est possible de désactiver. Personnelement je trouve cette option louche imaginer q'un employé de Belg@com est le plus fénéant du monde son patron aurait une preuve pour le renvoyer avec pour motif "Manque de travail et de compétence" n'empeche tant pis pour li. 3°)Windaube vous espionne. Dans le repertoire de Windaube 98, vous trouverez un sous-répertoire caché "Applog". Dans le fichier Applog.ind, ouvert avec NotePad, vous trouverez la liste de tous les progs éxécutés un jour ou l'autre sur votre machine. Vous connaitrez même l'heure et la date regardant les propriétés (clic droit) des fichiers .Log correspondant. En ouvrant ces dernier, toujours avec l'éditeur de texte, vous verrez les appels à des bibliothèques et toutes les autres opérations effectuées sous forme codifiée. Winfuck travaillerai-t-il avec la FBI imaginer qu'a chaque fois que vous vous connectez au net toute ces infos allez a leur quartier general !!! 4°)Finnisez-en avec l'écran bleu !!!! je ne vous donnerai pas ici une méthode pour éviter les plantages de Windaube mais juste le moyen de changer la couleur de l'écran de la mort !! Ouvrez le fichier System.ini présent dans votre répertoire Windaube avec un edit de txt. Descendez et chercher une section [386Enh]. Insérez les deux lignes suivantes: MessageTextColor=Col1MessageTextColor=Col2 ou Col1 est la couleur des caractères et Col2 celle du fond avec les valeurs, codées de la facon suivante:0-Noir 8-Gris 1-Bleu 9-Bleu clair2-Vert A-Vert clair 3-Cyan B-Cyan clair4-Rouge C-Rouge clair 5-Magenta D-Magenta clair6-Jaune E-Jaune clair 7-Blanc F-Blanc Enregistrez et rebootez. Avous les messages, en vert sur fond rouge, par exemple ! Comment tester ? Sous Win 3.X appuyer sur Ctrl-Alt-Del. Sur Win 9x, attendez un peu ! Vous pouvez aidrer le destin en insérant un Cd et en le retirant pendant la lecture. Cette bidouille ne foncionne pas sous NT/2000. 5°)Planter son Pc à moindre frais Si vous voulez montrez à un ami néophyte en informatique à quoi ressemble les fameux "écrans bleus" de Windaube, voila un manip' qui vous rendra service et demeura sans danger pour votre Pc, même si un ScanDisc vous attends au redémarrage. Voici l'astuce: cliquez sur Demarrer/Executer puis enter "C:\con\con". A peine aurez-vous appuyé sur ENTER que votre écran se remplira d'un bleu roi un d'une autre couleur (voir ci-dessus :-) )Facétie de programeurs ou véritable Bug pour le moins étonnant ? En réaliter, cette commande appelle un console (d'ou le con) qui peut s'afficher en mode graphique sous Windaube 98. 6°)Cacher un répertoire partagé. Voici un moyen très simple de cacher une ressource sur un réseau local Micro$oft. Il s'agit de faire suivre le nom de repertoire destiné au partage par le symbole "$". Ainsi ce dossier restera invisible sur les autres PC. En revanche, les utilisateurs au courant de son existence auront la capaciter d'y accéder en utilisant la fonction "Connecter un lecteur réseau" complétée par la ligne : ":\\NOM_DE_L'ORDI\NOM_DU_DOSSIER$. Voilà c'est fini (snifsnifsnif). Mais prochainement je vous dirait comment avoir Windaube 2000 pour moins de 40F et comment posséder un systeme au couleurs de Windaube 2000 sans l'installer. \ _:// \\:_ / _)\\//(_ _)\\//(_ ---------- \\_o\/o_/ CyRiUsViRuS \_o\/o_// ---------- |||||| 2000 |||||| '||||' '||||' CyriuSoft (c) contact me : cyriusvirus@yahoo.fr **************************************** * La chtite pensee anarchique de GRIm@ * **************************************** _____________________________________________________ \ «««««««« ¡ Underground Production ¡ »»»»»»» / /---------------------------------------------------\ / [ La chtite pensée ananarchique ] \ \ GRIm@, L'Apprenti Sorcier Proudly Present / \---------------------------------------------------/ /LES NEWBIES D'AUJOURD'HUI SONT LES 3L33T3 DE DEMAIN\ \___________________________________________________/ [r00t@localhost]# MoD3 0n: d3L1r1Um_tR3m3Ns... d0n3 [r00t@localhost]# k1lL 3cR1tUr3 d3 C0wB0y5... Done [r00t@localhost]# launch cervaux... Done Aprés ce superbe ASCII dont seul j'ai le secret (kel horreur) voici devant vos yeux hébais, superbe et resplandissant, le premier file de la chtite pensée ananarchique... Bon, que je vous explique le concept, une fois (salut à tout mes amis brusseller ;-)), ici on vas parler de tout et de rien, de la pluie et du beau temps, de news, de conneries sans intéret, d'opinion, d'idée, enfin de plein de truc qui n'ont rien à faire dans un mag tel que celui-ci... Donc, si tu espére trouver les derniers scans de proxy ou de n° vert, voire les dernier exploit, passe ton chemin, le reste du zine est fait pout ca ! Par contre si t'a envie de déconner, de te vider un peux le crâne entre deux cours sur Le Buffer Overflow et le TCP/IP, t'est bien tombé... (ND Asmodeus : comme si BHZ Mag parlait de Buffer Overflow et de TCP IP... lol) NOTE: Il est déconseillé d'utiliser avec cet article, sous peine d'overdose, des additifs tels que boissons alc00lisée, herbe (ou moquette pour ceux qu'ont pas de sous), musik hArD-r0cK (voir même musik R0cK), ambiance sombre, etc ... Si vous voulez survivre à cette expérience au-delà du corp, il vous est chaudement recommandé de préparer beaucoup de café, de mettre comme ambiance sonore de la musik clasik (ou l'enregistrement en boucle du dernier discour du roi à noel), et voir même de switcher sous windob pour ne pas prendre de risque avec votre version RedHat de LiNuX (certaine instabilité du kernel provoquant la fonte du processeur ont été remqarquées lors de test poussé effectué par votre serviteur...) (ND Asmodeus : (decidement je participe bcp à cet article ! lol) ben moi c pas un ptit GRIm@ qui va m'empecher de boire de l'alcool nondidju ! et pis si je veux ecouter KoRn, hein ? Le discours du ROI à Noel, c'est quand il avouait qu'il avait trompe sa femme ??) EOF NOTE Bon maintenant que tout est dit allons-y pour de bon (quoi c'est pas encore commencé ?) Pénétrez le system ->normal mode on Je vais maintenant vous raconter une histoire qui m'est presque vraiment arrivée (comprendre: j'invente au fur et à mesure), c'était l'autre jour, v'là que j'me réveillait quand deux humanoide commencérent à me triturer en tout sens tout en me criant des choses incompréensible. Emérgeant de mon sommeil profond (aprés une dure nuit remplie d'éléphant rose), je les reconnus, c'était paire et maire... Il me disait un truc comme quoi jétait en retard, que je devait aller à laid-kol... Ne sachant pas trop dire ou faire, je n'osa leur demander de quoi il s'agissait, et finalement, ils m'embarquérent dans notre véhicule... -> Michael_Crichton mode on La Jeep démarra sur le chemin, et nous étions partis vers ce destin inconnu. En chemin, nous croisame quelques T-Rex, mais ils se désintéressérent de nous préférant les proies plus facile que présentait l'équipe d'urgentiste qui avait décidé de faire une ballade à pied dans le (Jurrasik) Park (Ha les cons...). Le reste du voyage se déroula sans trop probléme, ho quelque sauropode tentérent bien de nous écraser, mais gràca à la technique du back-whyling nous nous en sortîme sans trop de kass (cette technique consiste en un retournement de 180° puis à appuyer à fond sur l'accélérateur...). Un gros moustique me piqua et alla se coller dans l'ambre, mais je m'en foutait, au moins il garderont une (t)race de moi dans le futur... -> RFC (alias Encyclopedia_Universalis) mode on Finalement, nous arrivâme devant un batiment de couleur #C0C0C0 fait tout d'un mélange de sable, de mortier et d'eau (substance couramment apellée beton dans le language populaire). Le sol aux alentours était recouvert de la même substance précitée, et nul élément biologique appartenant à la classe des vivants n'était visible dans les alentours (c'est à dire à portée de vue, donc une 100taine de métres par temps clair). Un autre représentant de la classe homo asapiens asapiens (nb: le préfixe a en latin signifie l'inverse) de type féminin se présentat devent moi. Son aspect extérieur ne payait pas de mine, elle était petite, moche avec des grosses lunettes et sa voix krissait trop dans mes oreilles (yep, salut à mes copains du kebek). Quant à son aspect intérieur, brr, je préfére ne pas en parler... Résolu à recevoir une informations sur la raison de ma présence physique en ce lieux, je demarra le service de ma couche language/parole avec comme application clt/srv le mode Francais (Voir RFC-978851328674 pour plus de détails). Pour simplifier, voici + ou - la commande envoyée: GET /information/que-fais-je-ici-? FRANCAIS 3.25.56Beta Malheureusement je dus faire une erreur quelque part car la communication fut fermée et je fus emené de force dans une piéce ou d'autre représentant de mon espéce me regardérent entrer. -> Hitchkok (Alias Scream) mode on Je décidait de passer en mode passif et d'essayer de comprendre ce qui se passait ici. On nous annonca que le premier kour de la journée serait le kour d'informatique, enfin quelque chose de familier que je connaissait. Les ordinateurs était tout ce qu'il y a de plus normaux, jusqu'à ce que je les allumes. La un affreux logo s'est affiché et il etait marqué Winblows... Je ne m'afolle pas trop, me disant que c'est surement une nouvelle distribution que je connais pas. Je fouille un peux, je teste le truc en tout sens et soudain, l'incroyable vérité me fait face... ha kel film d'horreur, un systéme prioritaire... heu... propriétaire... -> normal mode on Tellement dégouté par cet affreux systéme, je décide de ne plus toucher au clavier, et je regarde autour de moi mes kamarades (salut à mes copains russ). A ma gauche se trouve une fille, trés jolie de surcroit, habillée avec une mini-jup qui en montre juste assez pour que la tirette de mon jeans n'explose pas sous la pression. Soudainement, je me sentit tout chose, et il fallut que j'aborde la conversation avec elle... -> Lara Fabian (alias LaAm, alias LaRusso) mode on JE T'AIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIMEUUUUUUUUUUUU -> h4X0r (alias L4m3Rz, alias R3d4Tt4k) m0D3 0n Devant l'air incrédule qu'elle prit, je sus que ma tirade n'avait pas fait mouche. Et donc je retournis vers mon voisin de droite, un mec plutot normal a priori. Il avait un t-shrit avec marqué "H4cK tH3 W0rLD" et un sac "R3d 4tT4cK" (cfr Forum BHZ). J'engagait la conversation, quant il me coupa: -p4S M41nt3n4nt, j3 5U15 3n Tr41n d3 h4Ck3R l3 53rV3uR... -Ha bon ? et t'a pas peur qu'on te choppe ?, répondi-je -n0N, J'41 1n5Tll3R Un3 R3dB0x p0Ur 3Tr3 1nTr4c4ble... -... (D'accord, bien sûr, c'est ca, tout a fait...) -> Quake (alias Doom, alias Half-Life, alias Duke_Nukem, alias Une_Journée_en_enfer, alias Terminator) mode on Là, ca n'allait vraiment pas, j'était dans un endroit inconnu, rempli d'inconnu, en train de faire des choses aussi inconnues que saugrenues (ca tue, n'est ce pas robert)(cfr PC Francais ;-). Les équations ne m'avait jusque là jamais posé de probléme, mais là c'était vraiment trop... Donc je me sentait mal, et je demandi à la personne responsable du kour (les autres l'appelaient Mr le métre...) si je pouvait sortir un instant pour aller aux toilettes et là, je me rend compte qu'en fait ce type n'était pas humain... Il s'agissait d'un extraterrestre venu préparer le terrain à la conquéte de la terre en créant une race de robot esclave. La sans hésiter une seconde, je décide de sortir mon super fusil protoplasmique a rayon gamma avec lance-grenade photonique à tête chercheuse intégré et je fais feux d'un air rageur sur l'extraterrestre qui vole en mille éclat... -> Pub mode on Et maintenant une petite page de pub: Grace au super nouvelle balle biodégradable, vous pouvez dégommer dégommer tous les extra-terrestre menacants sans pour autant polluer l'écosystéme que vous êtes en train de sauver... Et en plus pour les soldes, le chargeur de 100 est au même prix que celui de 50... Demandez les chez votre fournisseur PolBru (cfr Attak ;-)..) EOF PUB -> tolkien (alias final_fantasy_26) mode on Revenon à notre histoire, j'en était donc au moment ou aprés avoir exploser l'extra-terrestre (je l'ai finis au pied de biche, on ne sait jamais avec ces gars la...), un petit mec d'environ 1m20 s'améne et me déballe toute une histoire, comme quoi son monde est menacé par un méchant tyran possédant les 9 Desktop... La-dessus il me demande d'être le neuviéme membre d'une confrérie de hacker remplie de gars de race différente, genre H4X0r, Nain jaune, et autre société pétroliére francaise (cfr elf...). En plus, son monde est situé dans un monde parraléle, et je devrait traversé un endroit appelé enuménor rempli de root noir monté sur des chevaux et voulant ma capture paske je posséde un des laptop. La franchement je dois dire que j'hésitai... Sauver la terre d'accord, mais sauver un monde parralélle rempli de lamer qui n'ont pas un seul des laptop des puissances... -> Ganja (alias sleep) mode off (as know too by REBOOT mode on) Soudain, un grand coup de pied au cul, accompagné de hurlement me réveilérent, en sursaut... Et devinez qui c'était, ben oui mes pas-rend... et devinez pkoi, bien sûr j'était en retard à laid-kol... Quelqu'un a dit un jour, que les journée se suivent et ne se ressemble pas, hé bien en ce moment j'avait bien l'impression qu'il avait tord et que j'allait devoir tout recommencer... MORALITE -------- Si vous êtes en retard pour qqch, il vaut mieux ne rien faire et penser qu'il s'agit d'une stimulation neuronale, que de se crever le cul à qqch que vous devrez peut-être recommencer... ------------ EOF MORALITE [r00t@localhost]# MoD3 0fF: d3L1r1Um_tR3m3Ns [r00t@localhost]# sHutD0wN n0W Go Back in runlevel 0 mode... Err in module: cervaux at adress 9 8 7 6 5 4 3 2 1 0 (Boum) Sending Termination Signal... tH3 sYst3M 15 hAlt3D (hAs H3 sTArt3D ?)... by GRIm@, L'Apprenti Sorcier grima@hotmail.com #EOF ****************************** * hack de caramail version 5 * [ by Asmodeus ] ****************************** Bon une fois de plus j'annonce un truc super, mais ne vous inquietez pas, cet article est sans doute le pire de la serie des "hacks" de caramail... Mais je vais quand meme l'ecrire parce que je me dis que sinon ce zine ne se remplira pas et que j'aurai pas atteint mon quota d'articles. Ici on va voir comment modifier la page d'accueil de caramail !!! (Et il faut quand meme que ce soit moi qui ecrive le plus d'articles parce que sinon c pas bien !!) bon je voulais decrire cette situation en detail comme j'ai l'habitude de le faire... mais voilà je ne me souviens plus de tout (ah la perte de memoire, c'est surement du à l'abus d'alcool ca... enfin bon) Une fois de plus je glandais sur le net (ligne adsl oblige...) et j'etais sur la page d'accueil caramail qui, une fois de plus, foirait. (tiens jhe viens de me rendre compte que j'etais encore en train de decrire la situation dans son ensemble mais bon c'est pas grave, comme ca j'atteindra mon quota d'octets)(ben oui en fait j'ai un quota d'octets à atteindre, pas un quota d'articles)(disons minimum 64 Ko par zine comme ca quand les ptits windoziens veulent ouvrir le fichier texte ben hop ils l'ouvrent avec Wordpad)(je suis sur que je pourrais ecririe un article là dessus... enfin bon) Donc sur la page d'accueil, j'avais un beau message d'erreur à la con qui s'affichait genre www19.caramail..... inaccessible, serveur pourri... etc... puis la une lueur dans mes yeux : je vois un truc interessant dans le message d'erreur (la lueur n'etait pas due à celà mais au fait que j'ecoutais KoRn mais bon) Alors je vois un truc con : l'adresse qui etait pas accessible c'etait un truc du genre http://www19.caramail.com/general.asp?N=2237&C=2569& bon je recopie l'adresse sur un bout de papier (ben oui je prefere le papier aux fichiers texte) juste en dessous de l'adresse IP d'u ptit PD qui avait essaye de me nuker (le jour ou j'avais installe mon nouveau firewall en plus... je m'etais bien amuse... c'est fou tout ce qu'on peut faire avec l'IP d'un mec qu'on n'aime pas...) enfin bon je retape l'adresse mais je change les numeros, bon rien de special, j'µe m'amuse comme ca à changer les numros, je me dis qu'un moment il arrivera ptet quelque chose (on ne sait jamais..) puis je me rends compte que quand c plus haut que 65535 (le buffer) ca plante. (message d'erreur, pas plantage de serveur...) alors je m'excite à ouvrir plein de fenetres avec des nompbres plus grand que 65535 (ptet que j'vais faire un buffer overflow me dis-je) mais non que dalle... pi un moment dans N=je mets 65000+500 et ca marche (ils gerent l'addition maintenant les serveurs NT...) puis je descends la page ce que j'avais pas encore fait et je vois : dialogue den direct : 65000 500 connectes ! hahaaaaaaa la valeur de N= corrsspond donc au nombre de connectes et la valeur de C= au nombre d'articles en vente sur CaraPlazza. Mais bon ceci n'a dure que quelques heures, ce petit bug (qu'on ne peut pas appeler un hack a vite ete corrige, bravo caramail !! non franchement je le pense, parce que si ca se trouve, j'ai ete la seule personne à voir que si ce soir là 65536 personnes se connectaient sur le dialogue en direct, caramail deviendrait inaccessible. Evidemment ca n'est pas arrive et emme si ca arrivait maintenant il n'y aurait plus aucun probleme. Expliquation logique : quand l'utilisateur (vous, moi, etc...) fait une requete http sur un des serveurs de caramail, celui ci renvoie à l'utilisateur deux valeurs (N et C piur les neueneus qui n'ont encore rien entrave) et le navigateur se charge d'afficher la page avec les valeurs qu'il a recues. (Vous ne vous imaginiez quand meme pas que ces troudcus feraient une sorte de page dynamique...) Bon qu'a t on appris grace à cet article à part impressioner des filles dejà entamees par l'alcool ? rien... oui c'eszt un peu vrai... mais on sait que le fichier general.asp permet un echange d'informations client-serveur et serveur-client... bon ok toutes les pages le permettent... mais ici c'est analyse scientifiquement par moi et comme promis, cet article vous permet de changer la page d'accueil caramail... ah oui et les valeurs de N= et C= peuvent etre des lettres... (tant que ca depasse pas le buffer de 65535) donc la page http://www19.caramail.com/general.asp?N=asmodeus&C=dubhz& affichera dialogue en direct : asmodeus connecte Caraplazza : dubhz articles en vente. Et oui grace à cette magnifique technique vous pouvez ecrire tout ce que vous voulez sur la page d'accueil de caramail c'est vraiment genial non ? non. Bon ok c'est nul et ca sert à rien mais bon... ah oui, les modifications de la page d'accueil ne marchent que pour vous, meme sur le me serveur, c'est l'affichage normal qui revient (puisque le navigateur interroge le serveur) mais ce n'est qu'une introduction à ce qui pourra etre le hack de caramail version 6 !!!! hahahaa (bon c'est juste une idee mais on ne sait jamais...) Encore un article qui ne servira qu'à impressionner les filles facilement impressionables... mais bon j'ai fait le pari d'ecrire un article sur caramail dans chacun des zines (sauf le n°3 ou c'etait pas une methode de hack mais une description d'une connerie qu'ils avaient faite) Ben voilà c'est fini pour ce magnifique article... contact me : asmodeus@mail.be **************************** * Tutorial de cracking n°2 * **************************** Le premier tutorial ecrit par Grim@ pour le BHZ etait present dans BHz Mag n°5. -µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ--µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ- - «««««««« ¡ Underground Production ¡ »»»»»»» - - LES NEWBIES D'AUJOURD'HUI SONT LES 3L33T3 DE DEMAIN - -µ-µ-µ-µ-µ-µ-µ--µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ-µ- <----------------------TAILLE IDEALE,800x6000-----------------------> 000000011110000111010110010011100101100000111000000011110000111010110010011100101100000111000000011110000111010110010011100101100000111 CRACKING_BEGINNER n°02 by GRIm@, L'Apprenti Sorcier 0)INTRO: ££££££££ Salut, nous revoilà parti pour la suite de nos avantures !! Au menu cette fois-ci, Théorie de bas du CRACKING, WDasm, Corespondance Hexa Assembleur, Liste D'instruction, Suite Assembleur, et pourquoi pas, notre premier CRACK ! NB: Si vous ne connaissez rien au cracking, il est indispensable de lire le n°01 1) Théorie de Base: £££££££££££££££££££ Ok ok, la fois derniére on à appris pleinde truc intéressant, mais ca ne nous a pas aider vraiment à comprendre comment on crackait... pas d'inquiétude, on vas remédier à ca. Tout dabord, il faut que vous sachiez qu'il ne n'existe pas de facon ULTIME de cracker, chaqun à sa façon, et c'est toujours différent. Bien sur, méthode de protection tout a fait simple qui ne demande pas beaucoup de travail, c'est ces méthode que je vais vous expliquer... Tout d'abord, imaginons cette procédure en Assembleur: ... call 00405689 test eax, eax jne 00402356 ... Bon, on vois que cette routine vas en appeler une autre et tester la valeur de eax à la sortie (pour rappel on n'a toujours pas vus ce qu'étais eax, mais disont que c'est une variable.), et si eax est différent de 0 il saute à l'adresse 00402356 (avec le jne). Imaginons maintenant que cette routine fait partie de la routine qui vérifie, disons, le sérial entré par l'utilisateur pour enregistrer son programme en version shareware (exemple pris tout a fait au hasard ;-). Bon maintenant, si je vous dis que si le programmes saute avec le jne (donc que eax est différent de 0), il vas nous afficher un message d'erreur disant: "Your Sérial is Incorrect", et que si au contraire, eax=0 à la sortie du call et que donc on ne saute pas sur le jne, le programme nous affiche "Thank You for Registering" (une "régle" du cracking est d'appeler ces messages respectivement "Bad Boy" et "Good Boy"), a votre avis que devons nous faire ? Bon, ben puisqu'on est des cracker, on veut essayer que le programme nous affiche Good Boy quelque soit le sérial entré non ? On vas donc essayer demodifier le programme de façon à ce qu'il ne saute jamais avec le jne (sinon il affiche Bad Boy...) ! Ici, il existe plusieurs solutions, je vais vous en dire trois et en expliquer 2. La premiére consiste à remettre eax à 0 en changeant le call, ceci peut marcher, mais pas sur, paske le call peut trés bien accéder à quelque chose d'essentiel pour le programme. Une autre solution, consiste à effacer purement et simplement le jne, ainsi, le programme ne pourra jamais sauter dessus et on sera tranquille. La routine ainsi modifiée resemblerait à ca: ... call 00405689 test eax, eax nop nop ... Bon, je suppose que vous vous demander ce que c'est les nop, et pourqui il y en a deux pour remplacer une seule instruction (le jne). Dans un fichier exe, il n'est malheureusement pas possible d'aller rajouter des lignes de code sans faire des manipulations trés compliquée (re- configurer le PE, etc...), et donc il est aussi impossible de retirer des lignes de code. Par contre on peut trés bien remplacer une instruction par un autre. L'instruction nop, signifie No OPeration, c'est à dire pas d'opération, en gros, elle ne fait rien et le prog se contente d'aller à la ligne suivante. Si j'ai placé deux nop, c'est parceque un jne se code sur 2 Ofsset, ou sur 2 nombre Hexa si vous voulez, par contre, l'instruction nop, elle, ne se code que sur un seul offset, il faut donc en placer deux ! La troisiéme méthode qui pourrait être utilisée ici constitue à 'inverser' le jne, c'est à dire à le transformer en un je. Ainsi, le prog ira sur GoodBoy quand le code sera faux, et sur BadBoy quand le code sera juste... La routine ressemblerais à ca: ... call 00405689 test eax, eax je 00402356 ... Comme ceci, on pourra dire que le prog sera cracké, puisqu'il acceptera toujours un code faux !! La base du crack repose sur ceci, changer les instructions pour que le prog fasse ce qu'on veut, ici nous afficher GoodBoy. Bien sûr, y'a plein d'exception, de systéme de protection différent, etc etc... Mais bon ca va suffire pour le moment. 2)WDASM: ££££££££ Bon, on vas un peux parler d'un des outils INDISPENSABLE pour cracker, c'est Win32 Dasm. Ce programme permet d'ouvrir un fichier exe/dll/ocx/... et d'en retrouver le code source Asm ainsi que tous les Strings (toutes les chaines de caractéres) incluse dans ce programme. La meilleure version est à ce jour la 8.93, il faut absolument que vous trouvier ce prog sur le net, sans lui, no crack ! (chercher sur les sites de crack ou sur astalavista.box.sk). On vas essayer, ouvrer un programme quelconque (menu Dissasembler/Open File to Dessasemble). On sélectione ce programme, puis WDasm commence à travailler desus, et selon la taille de l'exe vous donnera un code au bout d'un moment. Ce code ressemble à ceci: * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:10001412(U) | :10001419 3BC3 cmp eax, ebx :1000141B 0F85AE000000 jne 100014CF :10001421 BD01000000 mov ebp, 00000001 * Possible StringData Ref from Data Obj ->"APverify" | :10001426 688C300210 push 1002308C :1000142B 892DB08D0210 mov dword ptr [10028DB0], ebp :10001431 E8D1640100 call 10017907 :10001436 83C404 add esp, 00000004 :10001439 85C0 test eax, eax :1000143B 0F8486000000 je 100014C7 Evidement, le début du code est différent, puisqu'il regroupe des infos sur l'exe (PE, Header, strings des menu, API, etc...). Si j'ai pris cet exemple de code, c'est exprés, car on y retrouve non seulement une string ref, mais aussi une jump ref. Une string ref, c'est le truc qu'il y a au dessu de la ligne 10001426, c'est une chaine de caractére (ici APverify) que le programme manipule. Une référence de saut, c'est ce qu'il y a au dessus de la ligne 10001419, on y voit que en 10001412 il existe un jmp qui améne à cette ligne. On sait qu'il s'agit d'un jmp car dans la référence il est inscrit (U), si ca avait été (C), ben alors le saut aurait été conditionel au lieu de unconditionnel et donc l'instruction aurait été un je ou un jne... Vous voyer donc directement l'intéret pratique de WDAsm, il permet de trouver des strings intéressante dans le programme (comme "Thank You for Registering, ou "Soory, That serial is not correct") pour déterminer ou se trouve la procédure qui vérifie le sérial entré, mais aussi le code assembleur de chaque instructions. Les référence au saut sont aussi trés utile, si on en voit une au dessus de BadBoy par exemple, on peut se douter que c'est ce saut qu'il faut aller modifier... Si vous vous placer au dessu d'un call, vous verrez qu'un des petits bouton de Wdasm "s'allume" (le bouton... call !) et si vous clicker dessus, vous serez immédiatement conduit à l'entrée de la routine (de la procédure que le call apelle) (à ce moment, le bouton ret devient clickable, il vous permet de revenir au call). Le même systéme fonctionne pour les jump conditionnel et inconditionnel (jne/je/jmp...). D'autre petit bouton vous permette d'avoir les APIs utilisée par le programme, les fonction exporée par le prog, divers références et aussi trés important, la boite contenant toutes les strings ref. (Petit truc, si vous rechercher une chaine particuliére, faite copy all, lancer notepad, fait coller, puis faite rechercher pour trouver la chaine que vous chercher.) Quand vous décider de sauver votre code, WDasm vas créer 2 fichier, un .alf contenant le code au format Texte et un .WPJ qui est un truc pas imporant (c'est le fichier projet de WDasm qui lui permet de retrouver l'exe, le .ALF etc...). Vous pouvez même imprimmer des parties de code. Sinon, regardez un peux les fonctions de WDAsm, et entrainez-vous avec. (Nous reparlerons d'une des fonctionalité du prog, a savoir le debuggeur, plus tard.) 3)Coresspondance Hexa Assembleur ££££££££££££££££££££££££££££££££ Bon maintenant que vous comprenez un peux mieux comment le cracking marche, il vous faut aussi apprendre à le faire. En effet, dans mes petits exemple de tanto, j'expliquais qu'il arait fallut changer le jne en 2 nop ou en un je. Tout ca c'est bien, mais comment faire ? Vous savez que chaque instructions est codée en Assembleur, il suffit donc de remplacer ce code par un autre. Encore faut-il connaitre ces codes, c'est ce dont on vas parler dans ce chapitre. Tout d'abord, on vas commencer par les quelques instructions souvent utilisée: 74 = je 75 = je EB = jmp 90 = nop 33 = Xor ... Il y en a bien sur beaucoup d'autre... Donc par exemple on veut changer un jne en un je, on vas ouvrir le programme avec un éditeur hexadécimal (je vous recommande fortement HVIEW 6.*, qui permet non seulement l'édition Hexa, mais aussi texte et directement en Assembleur =-)...) et vous rechercher l'instruction que vous voulez changer. Une fois celle-ci trouvée, vous devriez avoir un truc du genre: 75XX ou les deux X représente le nombre de byte à sauter (l'adresse ou le jne envoie si vous voulez). Puisqu'on veut obtenir un je, on vas donc remplacer le 75 par un 74, assez simple non ? Bon, je vais pas vous donner toutes la liste des coresspondance, elle serait beaucoup trop longue et déppaserait de loin le but de ces tuts, alors je vais vous donner quelques tips pour trouver la correspondance d'une ionstruction en Hexa: - Il existe un excellent petit programme (exe) qui les reprend presque toutes, pour le trouver chercher aprés un prog nommé "mnemonic", ou si vraiment vous le trouver pas, demander le moi. - Le meilleur éditeur Hexadécimal à mes yeux, HVIEW 6.16, posséde une fonction de convertion automatique, vous rentrez l'instruction et c'est bon ! - WDAsm en mode Débuggeur, lorsqu'on patche du code, fait la correspondance automatique - SoftIce, tapez a, puis rentrez vos nouvelles instructions.... ... (débrouiller vous, chercher sur le net, dans des tuts...) 4)Liste D'instruction Assembleur ££££££££££££££££££££££££££££££££ Cette liste non-exhaustive (qu'on peut rejouter des truc dedans...) vient de Alligator27, vous ne savez pas qui c'est, moi non plus, mais j'ai dit son nom ;-).... Je vous conseille de l'imprimmer car ce genre de chose sert tous le temps... J'y ait joins un tableau de correspondance Dec/Hexa des codes ASCII, ces fameux codes qui gére les lettres (en fait il s'agit bêtement du code hexa de chaque lettre ainsi que la valeur en Décimal). ------------------------------------CUT CUT CUT------------------------------------------------ ******************************************************************************** | LES INSTRUCTIONS ASSEMBLEUR | | PAR | | ALLIGATOR427 | 09/96 ********************************************************************************* AAA ajustement ascii de apres une addition. Format BCD AAD ajustement ascii de avant une division BCD AAM ajustement ascii de apres une multiplication. Format BCD AAS ajustement ascii de apres une soustraction. ADC addition avec retenue ADD addition sans retenue AND operation logique ET ARPL ajuste le niveau du privilege (mode protégée) BOUND teste un nombre par rapport a des limites BSF cherche 1 bit de droite a gauche BSR " " " " " gauche a droite BSWAP conversion d'un registre en un format INTEL BT charge 1 bit en CF BTC " " " " " " et complement BTR " " " " " " " " " puis le met a 0 dans la source BTS " " " " " " " " " " " " " " " " "1 " " " " "" " " CALL appel de sous programme CBW convertit l'octet signé de en un mot dans CDQ convertit le mot signé de EAX en un quadruple mot dans CLC mets l'indicateur a 0 dans CF CLD " " " " " " " " " " " " " DF CLI " " " " " " " " " " " " " IF CLTS mets a 0 l'indicateur de changement de contexte Task-Switch-Flag mode protégée. CMC complemente l'indicateur CF CMP comparaison logique CMPS[b][w] compare des chaines de caracteres CMPSD compare des chaines de caractere 80386() CMPXCHG compare l'accumulateur avec AL, AX, ou EAX CWD convertit le contenu signe de AX en un double mots DX:AX CWDE " " " " " "" " "" " " " " " " " "" " " " " " " " dans EAX DAA ajustement decimal de AL apres une addition BCD DAS " " " " " " " " " " " " " " " " " soustraction BCD DEC decrementation DIV division non signee ENTER construit un cadre de pile pour une procedure de haut niveau. ESC acces pour le coprocesseur HLT arret du processeur en attente d'un evenement externe IBTS insere une chaine de bits (mode protegee) IDIV division signée IMUL multiplication signée IN lit un octet ou mot sur un port peripherique INC incrementation INS[b][w] lit une chaine sur un port INT interruption logiciel INTO active l'interruption 4 si l'indicateur OF est armé INBD efface le contenu de la mem cache du 486 INVLPG exploitation du 486 en mode virtuel. multiprocesseur 8088 IRET retour d'interruption IRETD " " " " " " " " " "" depuis un segment de 32bits JA branchement si superieur JAE "" " " " "" " " "" " ou egal JB branchement si inferieur JBE " " " " " " " " " " " " " ou egal JC branchement si CF est a 1 JNC " " " " "" " "" " "" 0 JCXZ " " " " " " " CX " " " " JECXZ branchement si le registre ECX est a 0 JE branchement en cas d'egalité JG branchement si arithmetiquement superieur ou egale JMP branchement a l'adresse indiquée JNA branchement si non superieur JNAE branchement si non superieur ou egal JNB branchement si non inferieur JNBE "" " " " "" " " " "" " " " ou egal JNE branchement en cas de non egalité JNG branchement si arithmetiquement non superieur JNGE " " " " "" " " "" " " " " "" " " "" "" " ou egal JNL branchement si non inferieur arithmetiquement JNLE branchaement si arithmetiquement non inferieur ou egale JNO branchement si l'indicateur OF est a 0 JNP branchement si parité impaire (indicateur PF a 0) JNS branchement si positif JNZ branchement si different JO branchement si OF est a 1 JP branchement si parité pair. indicateur PF est a 1 JPE " " " " " " " " " " " " " " " " " " " " " " " " " JPO " " " "" " " " " " " "impair. " " " " " "" " " 0 JS branchement si negatif JZ branchement en cas d'egalité LAHF charge en AH la partie basse du registre des indicateurs LAR charge le drout d'acces (mode protegée) LDS charge une adresse physique en DS: registre LEA " " " " " " "" " "effective LEAVE libere le cadre de pile, installer par entrée LES charge une adresse physique en ES: registre LFS " " " "" " "" " " " "" " " " FS: " '" " LGDT charge le registre de la table des descripteurs globaux (mode protégée) LGS charge une adresse physique en GS: registre LIDT charge le registre de la table des descripteurs d'interruption (MODE P) LLDT charge le registre de la table des descripteurs locaux LMSW " " " le mot d'etat de la machine (mode protégée) LOCK verrouille le bus LODS[b][w] charge AL/AX avec le contenu de DS:SI LODSD charge EAX avec le contenu de DS:SI LOOP branchament tant que CX #0 LOOPE " " " "" " " " "" " " " "et ZF =1 LOOPNZ " " " " " " "" "" " " "" " ""=0 LOOPZ " " " " " " " " " " "" "" " " =1 LSL charge une limite de segment (mode protegée) LSS charge une adresse physique en SS: registre LTR charge le registre de tache (mode protégée) MOV tranfere une donnée MOVS transfere une chaine de caractere octet par octet ou mot pour mot de DS:SI en ES:DI MOVSD transfere une chaine de caracteres double mot par double mot MOVSX tranfert avec extension de signe MOVZX tranfert avec une extension de 0 MUL multiplication non signée NEG negation par complement de 2 NOP pas d'operation, voir utilisation de samsom pour ex: NOT operation logique NON complement a 1 OR operation logique OU inclusif OUT transmets un octet ou mot a un periph OUTS[b][w] transmets une chaine a un port OUTSD transmets un double mot a un port POP depile un mot POPA depile les registres POPAD depile tous les registres 32 bits POPF depile un mot et le tranfere vers le registre des indicateurs POPFD " """ " DOUBLE MOT "" " " " " "" " " "" " " " " "" " " " "" " "" " sur 32bits PUSH: empile une valeur PUSHA empile tous les registres PUSHAD " " " " " "" " " "" "" 32 bits PUSHF empile le registre des indicateurs PUSHFD empile le registre des indicateurs a 32bits RCL rotation a gauche a travers CF RCR rotation a droite a travers CF REP[z][nz] prefixes de repetition REP[e][ne] pour traiter les chaines de caractere en association avec CX et les indicateurs RET[n][f] retour de sous programme ROL rotation a gauche ROR rotation a droite SAHF copie AH dans la partie basse du registre des indicateurs. SAL decalage a gauche avec introduction de 0 SAR " " " " " droite avec signe SBB soustraction non signée avec prise en compte de CF SCAS[b][w] compare une chaine octet par octet ou mot par mot avec le contenu de AL/AX SCASD compare une chaine double mot par double mot avec le contenu EAX SETA initialisation a 1 si CF et ZF sont a 0, sinon initialisation a 0 SETAE " " " " " " " " " " "" est a 0, sinon init. a 0 SETB " " " " " " " " " " " " " " " 1, " " " " " " " " SETBE " " " " " " " " " " " CF ou ZF est a 1, sinon initialisation a 0 SETE " " " " " " " " " " " ZF est a 1, sinon init. a 0 SETG " " " " " " " " " " " " " " " " 0 et SF=OF, sinon init. a 0 SETGE " " " " " " " " " " " SF=OF, sinon init. a 0 SETL " " " " " " " " " " " SF#OF, sinon init. a 0 SETLE " " " " " " " " " " " ZF est a 1 et SF#OF, sino init a 0 SETNA " " " " " " " " " " " CF ou ZF est a 1, init a 0 SETNAE " " " " " " " " " " " CF est a 1, sinon init. a 0 SETNB " " "" " " "" "" "" CF est a 0, sinon init a 0 SETNBE " " " " " " " "" " " "CF et ZF sont a 0, sinon, init. a 0 SETNE " " " " " " " " " " " ZF est a 0, sino init a 0 SETNG " " " " " " " " " " " " " " " " 1 ou SF#OF, sinon init. a 0 SETNGE " " " " " " "" " " " "SF#OF, sinon init. a 0 SETNL " " " " " " " " " " " "SF et OF sont egaux, sinon init. a 0 SETNLE " " " " " " " " " " " "ZF est a 0 et SF=OF, sinon init a 0 SETNO " " " " " " " " " " " OF est a 0, sinon init a 0 SETNP " " " " " " " " " " " "PF est a 0, " " " "" " " " SETNS " " " " " " "" " "" " SF " " " " " " "" " " " "" SETNZ " " "" " " " "" " " " "ZF " " " "" " "" " " " " SETO " " " " " " " " "" " OF est a 1, "" " "" " " "" SETP " " " " " " " " " " " PF " " " " " " " " " "" " SETPE " " " " "" " " " " " " " " " " " " "" "" " "" " SETPO " " " " " " " " " " " " " " " " 0, " " " " " " "" " SETS " " " " " " " " " " " " SF est a 1, sinon " " " " " SETZ " " " " " " " " "" " " ZF " " " " " " " " "" "" " SGDT sauvegarde le registre de la table des descripteurs globaux(mode prot.) SHL voir SAL SHLD decalage double a gauche SHR decalage a droite avec introduction de 0 SHRD decalage double a droite SIDT sauvegarde le registre de la table des interruptions. (mode protégée) SLDT " " " " " " " " " " " " " " " " " " "" descripteurs locaux (mode P) SMSW sauvegarde le mot d'etat de la machine (mode P) STC mets a 1 l'indicateur CF STD " " " " "" "" " " " DF STI " " " " " " " "" " "IF STIOS[b][w] transfert octet par octet, mot par mot le contenu de AL en ES:DI STOSD transfert double mot par double mot le contenu de EAX en ES:DI STR sauvegarde le registre de tache (mode Protégée) SUB soustraction non signée TEST test si un bit est a 1 VERR test l'autorisation de lecture d'un segment (mode prot‚g‚e) VERW test l'autorisation d'ecriture dans un segment (mode prot‚g‚e) XADD addition signée WAIT attends que la ligne BUSY ne soit plus actif XBINVD efface le contenu de la memoire cache du 486 XBTS prends une chaine de bits (mode protégée) XCHG echange les contenus de 2 registres XLAT charge en AL l'octet de la table DS:BX+AL XOR operation logique ou exclusive Table des Caractére ASCII tirée de la Bible du cracker du DSK_CREW Release 0.4 BETA: Dec Hex Char Code 0 00 € NUL 1 01 € SOH 2 02 € STX 3 03 € ETX 4 04 € EOT 5 05 € ENQ 6 06 € ACK 7 07 € BEL 8 08 € BS 9 09 € HT 10 0A € LF 11 0B € VT 12 0C € FF 13 0D € CR 14 0E € SO 15 0F € SI 16 10 € SLE 17 11 € CS1 18 12 € DC2 19 13 € DC3 20 14 € DC4 21 15 € NAK 22 16 € SYN 23 17 € ETB 24 18 € CAN 25 19 € EM 26 1A € SIB 27 1B € ESC 28 1C € FS 29 1D € GS 30 1E RS 31 1F € US 32 20 (space) 33 21 ! 34 22 " 35 23 # 36 24 $ 37 25 % 38 26 & 39 27 ' 40 28 ( 41 29 ) 42 2A * 43 2B + 44 2C , 45 2D - 46 2E . 47 2F / 48 30 0 49 31 1 50 32 2 51 33 3 52 34 4 53 35 5 54 36 6 55 37 7 56 38 8 57 39 9 58 3A : 59 3B ; 60 3C < 61 3D = 62 3E > 63 3F ? 64 40 @ 65 41 A 66 42 B 67 43 C 68 44 D 69 45 E 70 46 F 71 47 G 72 48 H 73 49 I 74 4A J 75 4B K 76 4C L 77 4D M 78 4E N 79 4F O 80 50 P 81 51 Q 82 52 R 83 53 S 84 54 T 85 55 U 86 56 V 87 57 W 88 58 X 89 59 Y 90 5A Z 91 5B [ 92 5C \ 93 5D ] 94 5E ^ 95 5F _ 96 60 ` 97 61 a 98 62 b 99 63 c 100 64 d 101 65 e 102 66 f 103 67 g 104 68 h 105 69 i 106 6A j 107 6B k 108 6C l 109 6D m 110 6E n 111 6F o 112 70 p 113 72 q 114 72 r 115 73 s 116 74 t 117 75 u 118 76 v 119 77 w 120 78 x 121 79 y 122 7A z 123 7B { 124 7C | 125 7D } 126 7E ~ 127 7F  128 80 € 129 81 130* 82 ‚ 131* 83 ƒ 132* 84 „ 133* 85 … 134* 86 † 135* 87 ‡ 136* 88 ˆ 137* 89 ‰ 138* 8A Š 139* 8B ‹ 140* 8C Œ 141 8D 142 8E Ž 143 8F 144 90 145 91 146 92 147* 93 148* 94 149* 95 150* 96 151* 97 152* 98 ˜ 153* 99 ™ 154* 9A š 155* 9B › 156* 9C œ 157 9D 158 9E ž 159* 9F Ÿ 160 A0 161 A1 ¡ 162 A2 ¢ 163 A3 £ 164 A4 ¤ 165 A5 ¥ 166 A6 ¦ 167 A7 § 168 A8 ¨ 169 A9 © 170 AA ª 171 AB « 172 AC ¬ 173 AD ­ 174 AE ® 175 AF ¯ 176 B0 ° 177 B1 ± 178 B2 ² 179 B3 ³ 180 B4 ´ 181 B5 µ 182 B6 ¶ 183 B7 · 184 B8 ¸ 185 B9 ¹ 186 BA º 187 BB » 188 BC ¼ 189 BD ½ 190 BE ¾ 191 BF ¿ 192 C0 À 193 C1 Á 194 C2  195 C3 à 196 C4 Ä 197 C5 Å 198 C6 Æ 199 C7 Ç 200 C8 È 201 C9 É 202 CA Ê 203 CB Ë 204 CC Ì 205 CD Í 206 CE Î 207 CF Ï 208 D0 Ð 209 D1 Ñ 210 D2 Ò 211 D3 Ó 212 D4 Ô 213 D5 Õ 214 D6 Ö 215 D7 × 216 D8 Ø 217 D9 Ù 218 DA Ú 219 DB Û 220 DC Ü 221 DD Ý 222 DE Þ 223 DF ß 224 E0 à 225 E1 á 226 E2 â 227 E3 ã 228 E4 ä 229 E5 å 230 E6 æ 231 E7 ç 232 E8 è 233 E9 é 234 EA ê 235 EB ë 236 EC ì 237 ED í 238 EE î 239 EF ï 240 F0 ð 241 F1 ñ 242 F2 ò 243 F3 ó 244 F4 ô 245 F5 õ 246 F6 ö 247 F7 ÷ 248 F8 ø 249 F9 ù 250 FA ú 251 FB û 252 FC ü 253 FD ý 254 FE þ 255 FF ÿ *Windows seulement ----------------------------------END CUT - END CUT - END CUT --------------------------------- 5) L'Assembleur, Suite et pas fin £££££££££££££££££££££££££££££££££ Bon, on vas un peut reparler d'assembleur, et on vas voir un truc important, les Registres. Vous vous souvenez de eax, la sorte de variable dont je vous parlerait plus tard, hé bien, c'est un des registres. Les registres sont des sortes de varaiables, mais au niveau du processeur, ils servent principalement à utiliser et à gérer la mémoire (ram ou rom). Les registres sont au nombres de 16, 8 registres généraux, 6 registres de segment, un registre IP et un registre de Flags. Chacun ayant une fonction particulière. Ils servent à manipuler des données, à transférer des paramètres lors de l'appel de fonctions et à stocker des résultats intermédiaires. Voici une petite doc tirée de "Résumer et Théorie sur l'Assembler par TeeJi - Release 24/07/99 - ": ------------------------------------------------CUT CUT CUT-------------------------------------- Les Registres Généraux. Il y a 8 Registres Généraux. Chacun ayant une fonction particulière. Ils servent à manipuler des données, à transférer des paramètres lors de l'appel de fonctions Dos/Win et à stocker des résultats intermédiaires. | EAX | 32 Bits Accumulateur --------| AX | 16 Bits | AH| AL| 8 Bits ================= | EBX | 32 Bits Base --------| BX | 16 Bits | BH| BL| 8 Bits ================= | ECX | 32 Bits Compteur --------| CX | 16 Bits | CH| CL| 8 Bits ================= | EDX | 32 Bits Données --------| DX | 16 Bits | DH| DL| 8 Bits ================= | ESI | 32 Bits Index de Source --------| SI | 16 Bits ================= | EDI | 32 Bits Index de Destination --------| DI | 16 Bits ================= | ESP | 32 Bits Pointeur de Pile --------| SP | 16 Bits ================= | EBP | 32 Bits Pointeur de Base --------| BP | 16 Bits Une petite explication s'impose, si nous prenons EAX, c'est un registre de 32 Bits (Extended AX). AX étant les 16 bits de poid faible et AX est lui même divisé en 2 partie, les 8 Bits de poids fort étant AH ( H pour High ) et les 8 Bits de poid faible AL ( L pour Low ). Si vous modifié une partie de EAX ( AX ou AL ou AH ) EAX est modifié. Si vous modifié une partie de AX ( AH ou AL ), AX est modifié et si vous modifié AL, AH reste le même et inversément. Donc, seul AH et AL sont indépendant ! Les Registres de Segments Ils sont utilisé pour stocker l'adresse de début d'un segment. Il peut sagir de l'adresse du début des instruction d'un programme, du début des données ou du début de la pile. CS : Segment de Code ( Code Segment ) Ce registre indique l'adresse du début des instruction d'un programme ou d'une sous-routine. DS : Segment de Donnée ( Data Segment ) Ce registre contient l'adresse du début des données de vos programmes. Si votres programme utilise plusieurs segment de donnée, cette valeur devra être modifiée durant son exécution. ES : Extra Segment Ce registre est utilisé, par défaut, par certaines instructions de copie de bloc. En dehors de ces instructions, le programmeur est libre de l'utiliser comme il l'entend. SS : Segment de Pile ( Stack Segment ) Il pointe dur une zone appelée la pile. FS : Segment supplémentaire GS : Segment supplémentaire Ces deux registres ont un rôle fort similaire à celui du segment ES. Le Registre IP ( Instruction Pointer ) C'est ce registre qui contient le déplacement à effectuer par rapport au segment CS pour se positionner sur la prochaine instructionà éxécuter. Il ne faut jamais se soucier de ce registre ! Il est entièrement géré par le processeur. Remarque, la pluspart ont été doté d'une extension à 32 Bits et sont donc précédé aujourd'hui d'un E ( AX --> EAX / IP --> EIP / etc.. ) Le Registre de Flag Le registre de flag est un registre de 16 Bits, dont chacun des bit est un indicateur qui est positionné donc, soit sur 1 soit sur 0 ! Chaque Bits à un nom. Voici une liste en commencant par le bit de poid le plus faible : CF : Carry Flag ( retenue ) PF : Parity Flag ( parité ) AF : Auxiliary Flag ( retenue auxiliaire ) ZF : Zero Flag ( zéro ) SF : Sign Flag ( signe ) TF : Trop Flag ( exécution pas à pas ) IF : Interrupt Flag ( interruption ) DF : Direction Flag ( direction ) OF : Overflow Flag ( débordement ) IOPL : Inpuut/Output Privilege Level ( il prend 2 bits ! ) NT : Nested Task Flag 0 NT IOPL OP DF IF TF SF ZF 0 AF 0 PF 1 CF Les Flags d'état ( CF, PF, AF, ZF, SF et OF ) sont modifié par les instruction arithmétique, logique et des instructions de comparaison. Les instructions de Jump Conditionnel par exemple, test l'état des ces Flags en vue d'effectuer ou non leur Jump. Les Flags de contrôle ( TF, IF, DF ) donnes des indications au processeur concernant l'exécution du programme. Il peuvent être activé ou désactivé par le programme en cours. ---------------------------- END CUT - END CUT - END CUT ---------------------------------------- C'est pas trop grave si vous comprenez pas tout du premier coup, tous ceci ne nous sert pas trés souvent, il vous suffit seulement de savoir ce qu'est un registre et ce qu'il peut faire, mais autant vraiment comprendre comment ca marche non ? Bon, on vas attaquer un autre morceaux, la pile (stack). Comme il ne sert à rien de réinventer la roue, revoici un petit exemple du même cour... ------------------------------------------------CUT CUT CUT-------------------------------------- La pile est principalement utilisée pour passer des paramètres au procedures ( comme pour les apis ). Les 2 registres utilisés pour la pile est SS ( Stack Segment ) qui pointe sur le début de la pile, et ESP qui pointe sur le dernier element déposé sur la pile ( à l'aide de l'instruction PUSH dans la pluspart des cas ). La pile sert aussi à stocké l'adresse de retour lors d'un appelle d'une procedure par l'instruction CALL. exemple : :00401061 3A07 cmp al, byte ptr [edi] :00401063 E818000000 call 00401080 ;Lors de l'appel à cette instruction, l'adresse de l'instruction suivante est mis sur la pile. ;Ici, 00401068 sera déposé. :00401068 E2EF loop 00401059 La pile n'est pas utilisée comme les mémoire traditionnelle, en fait, la pile se remplis à l'envers. exemple : avant le call : ESP = 128 CALL 403254 ; à ce moment là, l'adresse de l'instruction suivante est posée sur la pile, et ; ESP vaut donc 124 ( une adresse prenant 4 bytes soit un DWORD ). Les instruction pour utilisé la pile sont : PUSH ... ( met ... sur la pile et décrémente EBP de la grandeur de ... ) POP ... ( récupère le contenu de la pile à l'adresse SS:ESP et le met dans ... . Il incrémente ensuite EBP de la taille de ... ) Mais, il y a moyen de lire la pile, sans pour autant toucher à EBP. exemple : PUSH 12345678 PUSH 9ABCDEF1 mov eax, [ebp] mov ebx, [ebp+4] Dans cet exemple, EAX va prendre la valeur du dword à l'adresse SS:ESP soit 9ABCDEF1 EBX prendra par contre, le dword 12345678 qui à été posé sur la pile en avant-dernier ---------------------------- END CUT - END CUT - END CUT ---------------------------------------- Alors, hereux ? Tant qu'on y est, on vas aussi voir les différentes types de données en assembleur, mais aprés juré on arréte (pour aujourd'hui ;-). Il existe 3 types de données essentielle en Assembleur, les BYTES, les WORD, et les DWORD. Un Byte est égal à 8 Bits, donc une valeur allant de 0d à 255d ou de 0h à FFh. Un Word, lui sera égal à 16 Bits (de 0 à 65535) et un Dword à 32 Bits (de 0 à heu... beaucoup, 4 294 967 295). Aller, je stoppe la pour l'instant mais je vous donne quelque truc à lire pour parfaire votre connaissance de l'assembleur: -Bible du Cracker By Falcon: L'ASSEMBLEUR (LA meilleure doc que j'ai jamais lue) -Résumé et Théorie sur l'Assembler par TeeJi -Vous pouvez aussi vous achetez un livre sur l'assembleur si ca vous chante ;-) 6) Notre premier Crack ££££££££££££££££££££££ Bon, ben j'avais dis dans l'intro qu'on ferait beaucoup de pratique et tout et tout (voir n° 1), ben je crois que c'est rapé vus la théorie que je vous ai déjà fait bouffer... On vas quand même essayer de rattraper ça avec ce petit tut assez simple que j'ai fait pour Zone14 et que je reproduis ici intégralement (ps ne soyez pas impressionné par la taille duc code, c'est normal). NB: Pour ceux qui voudrait réaliser ce crack, il faut posséder une version modfiée de WDAsm qui permet d'afficher les strings refs avec Visual Basic 5 (normalement ca marche pas avec les prog en VB, fuck VB). Il existe sur le site de Zone14 (http://zone14.cjb.net) (pub, spam ! beurk) un crack pour WDAsm qui permet de faire ca ! enjoy: Nom du Prog: Bloops PC Version : 2.0 WEB : http://www.geocities.com/sunsettrip/lougne/1086/ Infection : Version D'Essai avec plein de nag puant ;-) Outils : WDasm Niveau : Trés facile, Newbies débutant Bon celui-ci, autant vous dire qu'il m'a fallut environ 60 sec montre en main pour le chopper... C'est vraiment trop simple. Tout d'abord, on vas le déssasebler (avec WDASM) (j'dis ca pour les newbies). Ensuite, on vas chercher dans les "strings références" aprés le message d'erreur qui s'affiche quand on entre un mauvais sérial... On le trouve sans prob du tout ici: :004310F3 663BFB cmp di, bx :004310F6 0F84AF000000 je 004311AB /* TIENT TIENT * Reference To: MSVBVM50.__vbaVarDup, Ord:0000h | :004310FC 8B3D84634300 mov edi, dword ptr [00436384] :00431102 B904000280 mov ecx, 80020004 :00431107 894DA4 mov dword ptr [ebp-5C], ecx :0043110A B80A000000 mov eax, 0000000A :0043110F 894DB4 mov dword ptr [ebp-4C], ecx :00431112 BB08000000 mov ebx, 00000008 :00431117 8D957CFFFFFF lea edx, dword ptr [ebp+FFFFFF7C] :0043111D 8D4DBC lea ecx, dword ptr [ebp-44] :00431120 66C70558304300FFFF mov word ptr [00433058], FFFF :00431129 89459C mov dword ptr [ebp-64], eax :0043112C 8945AC mov dword ptr [ebp-54], eax * Possible StringData Ref from Code Obj ->"Register" /* ICI C'EST PLUTOT BON | :0043112F C74584BC7B4000 mov [ebp-7C], 00407BBC :00431136 899D7CFFFFFF mov dword ptr [ebp+FFFFFF7C], ebx :0043113C FFD7 call edi :0043113E 8D558C lea edx, dword ptr [ebp-74] :00431141 8D4DCC lea ecx, dword ptr [ebp-34] * Possible StringData Ref from Code Obj ->"Correct password. Thanks for register " ->"Bloobs 95" | :00431144 C74594587B4000 mov [ebp-6C], 00407B58 :0043114B 895D8C mov dword ptr [ebp-74], ebx :0043114E FFD7 call edi :00431150 8D459C lea eax, dword ptr [ebp-64] :00431153 8D4DAC lea ecx, dword ptr [ebp-54] :00431156 50 push eax :00431157 8D55BC lea edx, dword ptr [ebp-44] :0043115A 51 push ecx :0043115B 52 push edx :0043115C 8D45CC lea eax, dword ptr [ebp-34] :0043115F 6A00 push 00000000 :00431161 50 push eax * Reference To: MSVBVM50.rtcMsgBox, Ord:0253h | :00431162 FF157C624300 Call dword ptr [0043627C] :00431168 8D4D9C lea ecx, dword ptr [ebp-64] :0043116B 8D55AC lea edx, dword ptr [ebp-54] :0043116E 51 push ecx :0043116F 8D45BC lea eax, dword ptr [ebp-44] :00431172 52 push edx :00431173 8D4DCC lea ecx, dword ptr [ebp-34] :00431176 50 push eax :00431177 51 push ecx :00431178 6A04 push 00000004 * Reference To: MSVBVM50.__vbaFreeVarList, Ord:0000h | :0043117A FF1530624300 Call dword ptr [00436230] :00431180 8B16 mov edx, dword ptr [esi] :00431182 83C414 add esp, 00000014 :00431185 56 push esi :00431186 FF92B4020000 call dword ptr [edx+000002B4] :0043118C 85C0 test eax, eax :0043118E 0F8D01010000 jnl 00431295 :00431194 68B4020000 push 000002B4 :00431199 68B46C4000 push 00406CB4 :0043119E 56 push esi :0043119F 50 push eax * Reference To: MSVBVM50.__vbaHresultCheckObj, Ord:0000h | :004311A0 FF1560624300 Call dword ptr [00436260] :004311A6 E9EA000000 jmp 00431295 * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:004310F6(C) | * Reference To: MSVBVM50.__vbaVarDup, Ord:0000h | :004311AB 8B3D84634300 mov edi, dword ptr [00436384] :004311B1 B904000280 mov ecx, 80020004 :004311B6 894DA4 mov dword ptr [ebp-5C], ecx :004311B9 B80A000000 mov eax, 0000000A :004311BE 894DB4 mov dword ptr [ebp-4C], ecx :004311C1 BB08000000 mov ebx, 00000008 :004311C6 8D957CFFFFFF lea edx, dword ptr [ebp+FFFFFF7C] :004311CC 8D4DBC lea ecx, dword ptr [ebp-44] :004311CF 89459C mov dword ptr [ebp-64], eax :004311D2 8945AC mov dword ptr [ebp-54], eax * Possible StringData Ref from Code Obj ->"Register Error" /* ICI C'EST MAUVAIS | :004311D5 C74584147C4000 mov [ebp-7C], 00407C14 :004311DC 899D7CFFFFFF mov dword ptr [ebp+FFFFFF7C], ebx :004311E2 FFD7 call edi :004311E4 8D558C lea edx, dword ptr [ebp-74] :004311E7 8D4DCC lea ecx, dword ptr [ebp-34] * Possible StringData Ref from Code Obj ->"Incorrect password. Try again" | :004311EA C74594D47B4000 mov [ebp-6C], 00407BD4 On remarque trés facilement que au dessus de la mauvaise routine il existe une référence à un jump conditionnel, un je pour être plus précis. Et devinez quoi, si on ne saute pas sur ce je, on arrive tout droit sur la routine bon_code, cool non ? Donc en substance c'est trés simple, il suffit d'inverser le saut de: :004310F6 0F84AF000000 je 004311AB en un :004310F6 0F85AF000000 jne 004311AB avec votre éditeur hexa favoris... On essaye, on relance, on s'enregistre avec comme code "666" ou un autre (j'aime bien celui-là ;-) Et Bingo, on est enregistré... pas trés difficile hein =-). #) Out ££££££ Hé oui, voilà dejà la fin de l'issue 2... Je me rend compte que c'étais assez long, mais bon, faut bien avancer aussi et pas végéter tout le temps... Sinon, je voudrais passer quelques remerciements: à MrPhilex, Tamambolo, Christal, Tous les Membres du crew La Main Rouge, à DiWay, à Léonard et Raphael, à Bidouille et Cradox qui égaye mes dures journée d'école et à tous ceux que j'oublie (ATP Team, CrackFR, etc...). Dédié à tous les mecs qui font avancer la scéne (Léonard, Cryptel Team, Rylmyk, DeathlyBy, etc...) !! Tant qu'on y est, quelques coup de geule: Fuck à Belgcom (FT local, fuck FT too), fuck le PRL (PD ? ;-), fuck les poulets.... Bon c'est finis, mais ca fait du bien ;-).... A bientot dans l'issue 3 !!!! #EOF CRACKING_BEGINNER n°02 12-04-2000 ************************************ * Installer Windows 98 Sans Sérial * [ by Sexywax ] ************************************ Pas de Bla Bla inutile, je commence rapidos ... Voila je vais vous expliquez la plus stupide astuce qui me vient a l'esprit pour pouvoir installer une version de Windows 98 (Se) sans mettre de Sérial... 1) installer l'affaire98 jusqu'a ce qu'il ait tout copié, rebooté, puis que une MSgBox vous demande le Sérial... 2) Et bien voila tiens, je vous ai bien eu, au lieu de laisse la machine rebooter sous windows, vous lui demander de faire un pas à pas, et vous mettez oui partout sauf a Charger les drivers de windows ou un truc comme ca ... 3) Normalement, si je ne me trompe pas (et si c'est la même version que celle qui se trouve par chez moi :-) vous êtes rentré dans windows en mode sans échec. 4) Regedit, et vous allez sur HKeyLocalMachine/Software/Microsoft/Windows/Current Version et la vous verez des trucs cool ... 5) pour vous aiguillez, vous mettez un faux nom et un faux Sérial puis REgdone=1 ou lieu de rien...Pouf vous rebootez et bardaf, ca a marché ... contact me : mulphex78@hotmail.com *************** * VMB hacking * [ by Asmodeus ] *************** Bon encore un autre article sur les vmbz... normalment je comptais pas l'ecrire mais j'ai recu des mails suite aux scans de n° verts de gars qui disaient qui savaient pas comment se servir des n°... (honte à eux...lol je deconne) alors voici un petit (tres petit meme) tutorial sur les vmb. -C'est quoi une VMB ? e vais essayer d'être bref... Une VMB (Voice Message Box) est une "boite vocale" (une sorte de répondeur...) souvent utilisée dans les entreprises. Elle sert aux employés de la boîte qui peuvent ainsi recevoir des messages de personnes diverses (fournisseurs, clients, particuliers...). Ces VMB sont le plus souvent en 0800 (c'est ce qui nous intéresse, 0800 = Gratuit...) Bref, l'employé compose le n° vert puis le n° de sa boite vocale et ensuite son mot de passe. Il peut alors écouter ses messages gratuitement via une cabine, un poste fixe, et on peut lui laisser un msg gratuitement aussi evidement. Pour résumer : une VMB est en fait une boite vocale où on peut laisser des messages à un correspondant. Il peut les écouter gratuitement si la VMB est accesible par n° vert. C'est pratiquement comme un répondeur à l'exception que vous ne payez pas la communication. -Et a quoi ca va nous servir ? Ben le but du "jeu" c'est de chopper un compte sur la VMB et de le hacker en tgrouvant le mot de passe... tout un programme donc... -Scanner les VMB (la partie amusante...) Il vous faut scanner... Pour le scan y'a plusieurs methodes... soit on utilise des programmes avec son modem (berk ca c de la merde) mais ca presente des incovenients : on ne controle pas vraiment tout... C'est pour ca qu'à cette methode je prefere le scan manuel, beaucoup plus long, plus ennuyeux, mais au moins on sait sur quoi on tombe, on est sur de ce qu'on a. -Reconnaitre une VMB : Quand on scanne, il faut que A) Il n'y ait pas un message (le numero compose n'est pas attribue tududu..le numero...) B) Ca sonne : c'est bon signe, mais ca peut aussi sonner pendant trois heures... C) Ca sonne et ca décroche : generalement comme je suis enerve de tomber sur des operateurs je les insulte (surtout si ils bossent chez BelgaCon) D) Bienvenue sur la boite vocale... : C'est bon E) Nomdelasociété, nous sommes ouverts de... : c'est bon signe mais c'est ptet un bete repondeur -Acceder à la VMB : Pour y accéder : tout d'abord il vous faut ecouter le message si elle vous dit tapez # pour accéder à votre vmb, c'est trés clair il vous faura tapez " sinon si elle vous dit rien tapez sur les touches de votre phone : #, *, 0, 5, 9... Si ça vous dit "Veuillez entrer votre n° de boite..." la c'est bon passez à la suite. Il arrive (souvent) qu'elle dise que dalle et que ca soit juste un repondeur. Ca signifie que la societe utilise le meme numero pour la vmbn des employes et le repondeur. Il arrive aussi que certaines vmb ne soient accessibles qu'à partir de certaions numeros (rare) ou à certaines heures. La plus souvent c'est sur la touche diese qu'il faut appuyer (#) mais faites gaffe quand vous scannez : une fois Flat scannait manuellement, il tombe sur un operateuer, il raccroche apres deux secondes et hop, une seconde apres, l'operateur lui telephone en lui disant qu'il s'est fait tracer et que si il recommence il filera son numero aux copz... ca me fait penser aux gsm où on voit le numero de l'appellant meme quand il est pas dans la contact list... alors c pour ca que c bien de faire ca d'une cabine (je le fais jamais d'une cabine moi parce que c'est over-chiant à faire...) -Trouver un compte et le hacker Ben là il faut avoir de la chance : il faut tomber sur un bon numero pour le login et pour le pass ben il faut essayer le meme n° que le login, des trucs cons comme 0000; 1234, etc... (ne riez pas : dans beaucoup de vmb le code d'origine est 0000...) Evitez ausi de dire des trucs du genre "je suis le plus grand hackeur du moooonde" sur votre repondeur quand vous avez hacke un compte... changez le code, changez le message d'accueil (mais en gardant quand meme un truc pas trop tare...) et filez le numero à vos copains... -Les autres vmb... Ca c'etait les vmb gratuites... mais y'en a des payantes (qui ne sont pas moins interessantes...) la difference c'est que quand on hacke des vmb gratuites 'est generalement pour la gratuite des 0800 mais avec les vmb payantes, c'est generalement parce qu'on veut hacker quelqu'un en particulier. Explication : les vmb existent depuis pas mal de temps. Depuis quelques annees y' aue les gsm (je dis quelques annees parce que la democratisation de ces appareils ne date pas d'il hy a 10 ans...(du moins dans notre pays)) Alors avec les gsm, vous le savez, vous avez un repondeur qui enregistre les messages quand le gsm est eteint ou quand vous etes trop lent pour decrocher... genralement pour acceder à ces vmb, il faut appeler de son gsm et l'identification est automatique... (par exemple le 5555 pour Mobistar et le 1230 pour Proximus) mais y'a aussi des numeros pour acceder à sa boite vocale d'un telephone fixe. Pour Mobistar c'est le 0495 95 5555 et pour Proximus le 075 15 1230. Hacker ces boites vocales speciales ca peut s'averer assez difficile... ou assez facile... je m'explique : chez mobistar il faut d'abord composer son code PIN puis son n° de telephone, donc il vous faut trouver le code pin à quatre chiffres du gars dont vous voulez ecouter les messages (j'ai remarque qu'avec les cons et les vieux ca marchait bien : le code du grand pere d'un copain c'est 0000 : son ptit fils le lui a change pour que ce soit plus facule de s'en souvenir... mais de toute facon hacker des ptits vieux ca ne presente aucun interet : ilo risque pas d'y avoir de messages chauds et faire chier les vieux ca ne m'amuse pas... je prefere faire ca avec des gens que j'aime pas... pour Proximus c'est plus amusant : il faut rentre son n° de telephone puis le code mais là, chez ces cons de BelgaCon, le code d'acces de la boite vocale est different du code PIN et le code d'origine est le 0000, chez les gens qui n'utilisent jamais la boite vocale à partir d'une ligne telephonique (parce que ca coute plus cher et qu'ils ont toujours leur gsm sur eux) ce code est donc inchange... donc il suffit de telephoner au 075151230 et de mettre comme code le 0000 et avec de la chance on a acces à la boite vocale d'un pauvre gars... cool non ? -Les autres n° verts qu'on trouve en scannant Il arrive (souvent) qu'on tombe sur des trucs "bizarres" quand on scanne des series de n° verts pour trouver des vmb... En effet, il y a plusieurs types de services accessibles par 0800 en dehors des vmb. Ce qu'on trouve tres souvent ce sont des fax : generalement ce sont des entreprises qui disposent d'un umero en 0800 pour recevoir des fax (strategie marketing interessante non ?) pour les reconnaitres ca fait plus ou moins ce bruit : tuuuuuuuuuut tiiiii tututut tiiiii (un peu comme un modem mais en different) on peut aussi parfois tomber su un modem (directement : une porteuse : là c'est comme chez votre provider normal sauf que c'est en 0800...) ou indirectement (un numero normal mais on a acces au modem quand on a un compte (pabx) ou quand on regarde les differentes options) mais là si vous voulez acceder à internet avec cà il vous faudra trouver le nom d'utilisateur et le mot de passe... essayez des trucs coçmme test:test, etc... mais les porteuses pour internet ca arrive peu souvent (des providers prives pour entreprises c'est pas courant...) Flat m'a dit une fois qu'il en avait vue une (sur un pc) que les militaires utilisent pour se connecter (encules de militaires ils ont le net en 0800) sinon les pabx ca sert à telephoner où on veut gartuitement (puisque c'est du 0800 : explication : quand on a acces à une pabx (comme pour une vmb : login et code) on a une option d'Outdial. Avec ca vous appelez qui vous voulez, ce que vous voulez gratuitement (donc avec une pabx qui a un outdial et ou vous avez acces vous pouvez vous connectez à votre provider gratuitemnt) mais je vous dis dejà que trouver une pabx, c'est pas facile, avec un outdial, c'est tres difficilie (y'en a demoins en moins) et reuisser à la hacker, c'est aussi pas tres facile, donc si vous avez reuni toutes ces conditions vous avez de la chance parce que ca me emble diffcilement realisable (mais pas impossible...) Tout ca c'etait pour si vous voulez tout faire vous meme mais comme je suis tres gentil, je vais vous donner des scans que j'ai dejà fait. Scan de numeros verts : 080019000 à 080019315 (il serait temps que je le finisse celui-là ou au moins que j'aille jusqu'à la 400..) 0800 19006 : VMB Smart Corporate One USA 0800 19007 : FAX 0800 19022 : VMB Dialogic Sales Departement 0800 19026 : FAX 0800 19032 : VMB Voice Comm international service 0800 19035 : VMB 18 Assistance 0800 19038 : FAX 0800 19052 : VMB Salarated investors voice mail system 0800 19065 : VMB Daltel voice information processing 0800 19082 : VMB Home Maverick Cinelen 0800 19085 : VMB Princes Cruises 0800 19091 : VMB International Industries customer service 0800 19097 : VMB Voice Comm international service (comme le 0800 19032) 0800 19114 : FAX 0800 19126 : VMB Northcall networks account payable 0800 19129 : FAX 0800 19132 : VMB Korea Telecom <-Attention-> Tous les msg et les instructions sont en coreen ! 0800 19135 : FAX 0800 19139 : FAX 0800 19141 : FAX 0800 19152 : VMB Ahash ici on peut aussi utiliser des commandes vocales... 0800 19173 : VMB Ansea Worldcomm switch message center 0800 19189 : VMB Edac Lavatories voice mail system 0800 19193 : VMB Situation Net voice mail 0800 19214 : FAX 0800 19215 : VMB Radford Park Institute 0800 19224 : VMB BT Voice Messaging 0800 19243 : FAX 0800 19245 : FAX 0800 19262 : FAX 0800 19266 : FAX 0800 19267 : VMB Artic 0800 19275 : FREE FAX (appuyer sur 2 pour envoyer un fax) 0800 19277 : VMB Up and See Telwide System 0800 19310 : repondeur Aerolife (appuyer sur 2 pour envoyer un fax) 0800 19311 : VMB (il faut faire le 81 et pas # comme d'habitude pour entrer les login/pass) 0800 19315 : VMB Brian and Williamson Voice Mail System scan de n° verts : 080010101 à 080010300 080010104 : repondeur Free Invest 080010105 : pas de reponse 080010110 : repndeur 080010120 : operateur 080010121 : pas de rep 080010122 : pas de rep 080010123 : pas de rep 080010124 : pas de rep 080010125 : VMB + operateurs 080010126 : pas de rep 080010127 : pas de rep 080010128 : pas de rep 080010129 : pas de rep 080010130 : pas de rep 080010131 : pas de rep 080010132 : pas de beeps (à mon avis, il y a une reponse uniquement si on appelle du bon numero...) (systeme d'identification decrit plus haut) 080010133 : pas de rep 080010134 : pas de rep 080010139 : FAX 080010141 : VMB KDD (en japonais et en anglais) 080010144 : beeps bizarres 080010147 : operateur 080010161 : VMB Compu East Developpement Center 080010165 : pas de rep 080010177 : pas de rep 080010178 : pas de rep 080010180 : operateur 080010181 : pas de rep 080010182 : VMB en chinois et en anglais (je pige que dalle dans le truc en chinois et en anglais elle a un sale accent) 080010185 : Fax 080010186 : VMB en allemand 080010190 : VMB de World Travel Partners 080010192 : repondeur 080010193 : repondeur 080010194 : operateur 080010201 : repondeur 080010202 : repondeur 080010203 : pas de reponse 080010204 : VMB 080010205 : operateur 080010211 : repondeur 080010213 : repondeur 080010222 : pas de reponse 080010230 : pas de reponse 080010241 : repondeur 080010280 : repondeur (jusqu'au 1er aout à 8:30) Please enter your mailbox number 3737 Mailbox number three-seven-three-seven is incorrect, please entre your mailbox number again 1234 Please enter your password **** The password you entered is incorrect, please enter a valid password **** To listen to previous received messages, press 1, to send a message, press 2, to make an Outdial, press 3, to log off, press 4 4 Goodbye ! contact me : asmodeus@mail.be **************************** * Tutorial de Cracking n°1 * **************************** CrAcKiNg PrOtEcTiOn By CyRiUsViRuS !( I ) ( Autrement dit : Comment keskon fait pour cracker un programme ... ) I advise you to be in the following resolution : 1024*768 ATTENTION : Ce document à été créé uniquement dans un but pédagogique. "Casser du logiciel" n'est pas une fin en soi. Dites-vous bien que les concepteurs de logiciels ( même de simples "petits" progs sharewares ) ont passé de nombreuses heures devant leurs écrans ... Il est donc tout-à-fait justifier qu'il soient rémunérer pour leur travail. Ainsi, si vous trouver le logiciel utile, vous êtes priés de bien vouloir vous enregistrer auprès de l'auteur une fois votre période de test passée. Imaginez que ce soit vous qui ayez "pondu" un petit bijou. Aimeriez-vous que quelqu'un le crack, et par là-même, "viole" votre travail ? Aimeriez-vous ne pas recevoir l'argent qui vous était, à juste titre, dû ? (ND Asmodeus : ces connards de programmeurs n'ont qu'à ecrire sous la GPL en Open Source na !) J'espère que vous m'avez compris et que vous respecterez les règles du SHAREWARE... ( Rien ne vous empêche de cracker le programme pour le FUN puis de vous enregistrer ... ;') Enfin, je ne me fais pas trop d'illusion ! ) Je supposerais par la suite que vous avez quelques notions d'assembleur. Si ce n'est pas le cas, vous pourrez quand même réussir à comprendre quelque chose, mais peut-être pas tout ! Je vais essayer d'expliquer clairement mes propros car ce document s'adresse avant tout aux débutants. NOTRE PREMIER CRACK : FULLDISK ( Récupéré sur le CD PRO n° 30 de PC Team mais sûrement dispo sur internet ) Outils utilisés : ----------------- * W32dasm, un éditeur héxadécimal, FileMon, RegMon. Pour ceux qui ne connaîtraient pas, W32dasm permet de désassembler un programme éxecutable. ( ===> A partir d'un .exe, on obtient un listing en assembleur. ) FileMon et Regmon : on les verra plus loin ... Mais keskil fé FULLDISK ? ------------------------- Ce logiciel vous donne la taille des répertoires ainsi que des sous-répertoires de vos différents lecteurs. Il vous présentera le résultat sous forme de "camembert". Bon bah... Au boulot ! Déjà, on peut prendre une petite bière pour commencer... Euh, si vous avez moins de 18 ans, prenez du lait ! ;') Si,si, sans déconner, du lait quand on est jeune, il n'y a pas mieux pour alimenter le cerveau. Si tu es mineur et que tu veux malgré tout prendre de la bière, et bien sache que tu auras un cerveau lent ... ( Ou un cerf-volant, je sais plus ... :) ) (ND Asmodeus : he Cyrius je te signale que toi aussi t'as moins de 18 ans !!) Fini la rigolade, on attaque ! La première chose à faire est de lancer le shareware et de collecter le plus d'informations possibles. Dans notre exemple, ce sera plutôt court. Nous notons que dans le menu "FullDisk", il y a un item "Register...". C'est déjà bien ! Baladons-nous dans le menu "Help" puis "About FullDisk...". Rien de spécial : aucun message du type "Unregistered version" ... Quand, on sort du programme, un nag screen nous informe que nous utilisons la version SHAREWARE et que celui-ci disparaîtra quand nous serons enregistrés. Maintenant, retournons dans le menu "FullDisk" puis "Register...". Tapons un nom puis un code. Pour moi, ce sera "CyRiUsViRuS!" suivi de "666"... Comme nous nous y attendions, nous obtenons un message d'erreur. "Name/Code mis-match try again" A ce stade, ne faites pas ce qu'il y a d'écrit : NE REESSAYEZ PAS : CA NE NOUS AVANCERA PAS PLUS ! :') On peut désassembler le fichier Fullfisk.exe avec w32dasm puis on se rend sur l'icône " String Data References" pour prendre connaissance des chaînes de caractères qui sont mises à notre disposition. On cherche, on cherche... Tiens ! On retrouve notre chaîne " Name / Code mis-match. Try again. ". On double-clique dessus ce qui nous amène dans la partie du programme correspondante. CHOSE IMPORTANTE A RETENIR : il faut toujours rechercher dans le fichier s'il n'y a pas la même chaîne à un autre endroit du programme. Il arrive que certains logiciels utilisent cette protection dite "mirroir". Si cette protection est présente, il faut également patcher ces autres locations ! Dans notre exemple, une seule occurence de cette chaîne est trouvée. Regardez ces lignes (Referenced by an Unconditional or Conditional jump at adress : 00402AEB et 00402B00) Cela signifie que l'on peut atterrir sur notre message " Name / Code mis-match. Try again. " à partir de 2 locations différentes ( 402AEB et 402B00 ). Le (C) indique que les 2 sauts sont conditionnels ===> Il faut qu'il arrive une certaine chose dans le déroulement du programme pour que le saut est lieu. Un saut inconditionnel, comme son nom l'indique, ne dépend d'aucune condition. Quoiqu'il arrive, la portion de code suivie de ce saut s'exécutera. Il faut donc retourner en amont pour voir ce qui se trame derrière ces 2 adresses. Ce ce que nous allons faire, et nous tombons ( sans nous faire mal ! ) sur la portion de code suivante : :00402AEB 0F8573000000 jne 00402B64 :00402B00 0F845E000000 je 00402B64 Nous avons la présence des 2 sauts conditionnels ( à l'adresse 402AEB et 402B00 ). Voici ce qui doit de passer : à l'adresse 402AE4, le prog effectue un CALL. Cela représente un sous-programme. Il y a fort à parier que celui-ci s'occupe de comparer le code que nous avons entré avec le véritable code qui permet de s'enregistrer. Une fois ceci fait, nous arrivons à l'adresse 402AE9 qui effectue un test sur le registre interne EAX. Quand on fait un TEST EAX,EAX, on fait un ET LOGIQUE avec ce qu'il y a dans ce registre.De ce test dépendra le branchement ou non sur la boîte de dialogue nous informant que le code entré n'est pas correct. Le branchement potentiel se fera par l'instruction JNE 00402B64 ( JNE pour Jump if Not Equal ). Autrement dit, si le test renvoie zero, aucun branchement. Si il est différent de zéro, on affiche la fenêtre qu'on aime pas voir. Il se passe la même chose pour la deuxième adresse ( 402B00 ) sauf qu'on effectue ou non le saut avec l'instruction JE ( Jump if Equal ). On pourrait inverser les sauts de ces 2 adresses en les transformant respectivement par des JE et JNE... Mais ce n'est pas le meilleur moyen car ces 2 tests successifs appelant la même procédure ( le même CALL ) me paraissent louchent ... En regardant un peu plus bas, on se dit qu'il y a un moyen qui ne laissera aucune place au doute, et qui fonctionnera à coup sûr. * Reference to MFC40 blablabla blablabla :00402B47 C780A001000001000000 mov dword ptr [ebx+000001A0], 00000001 blablbala * Possible String data Reference from Dta Obj -> "Thank you for registering" Donc, si on empêche le programme de se diriger vers l'affiche de la fenêtre "ké pas belle ékon aime pô voâr", on arrive directement sur des procédures qui doivent certainement écrire les informations ( Nom et Code ) dans un fichier. Et juste après ça : BINGO ! Et oui : "Thank you for registering"! Ouh là, on s'emballe, on s'emballe mais patchons le programme et on verra après ... ;) Donc, l'idée général est d'empêcher les différents sauts placés aux adresses 402AEB et 402B00. Pour cela, nous allons utiliser l'instruction NOP ( No OPeration ). C'est une instruction qui permet de n'effectuer aucune opération ( Quoi ! Vous l'aviez deviné ?!? ). Cette instruction prend 1 octet ===> il va donc falloir les enchaîner ... ( NOTE : certains logiciels n'aiment pas être patchés et détectent les NOPs comme des modifications de cracker. C'est bon à savoir. D'ailleurs, nous reparlerons de tous ces petites techniques ultérieurement ). Il faut également savoir qu'à côté de l'instruction JNE 402B64 à l'adresse 402AEB se trouvent des chiffres ( 0F857300000 ) :00402AEB 0F857300000 jne 00402B64 ---^^^^^^^^^^^^^^^^--- C'est la représentation "ke l'ordi il kompran" correspondant à l'instruction JNE 00402B64 ( Autrement dit, l'instruction JNE 00402B64 se code par 0F8573000000 ). Pour annuler ce saut,il faut le remplacer par des NOPs ( Vous vous souvenez ? Non non, je ne dis pas que vous avez la mémoire courte ! :p ). Un NOP se code par 90. Autrement dit, pour annuler ce saut, il faut remplacer 0F8573000000 par 909090909090. Il faudra faire de même à l'adresse 402B00. Une question me turlupine ... Savez-vous comment modifier ces octets avec un éditeur héxadécimal ? Ah vous savez ... Bon ok ! Quoi ? Il y en a qui ne savent pas ? Ka s'la n'tienne ! Et bien c'est très simple. On est toujours sous W32dasm. Et bien, on place le curseur sur la ligne qu'on veut modifier ( Ici, la ligne de l'image précédente ). On double-clique sur celle-ci. Une barre verte vient alors se superposer. Et là, je réclame un maximum d'attention ! On regarde en bas de l'écran et on devrait avoir un truc du style : Line 3998 Pg 80 and 81 of 555 Code Data @: 00402AEB @Offset 00001EEBh in File Fulldisk.exe Ce qui nous intéresse, c'est Offset 00001EEBh. Cela signifie que pour faire nos modifications, il nous faudra nous doter d'un cerveau, de doigts pour taper les touches du clavier ... Ouh là, je m'égare ... Non, il nous faudra plutôt un éditeur héxadécimal. Avec celui-ci, il faudra donc nous rendre à l'adresse 1EEB dans le fichier ( NOTE : le h derrière le 1EEB sous W32dasm indique seulement qu'il nous donne une information en héxadécimal ... Donc, quand vous êtes sous votre éditeur, ne tapez pas 1EEBh ! ). Si tout ce passe bien, une fois rendu à cette adresse ... OH ! On retrouve la série 0F8573000000 !!! On nop tout ça ... ( Et oui, il existe le verbe noper dans le jargon du cracker normalement constitué ! ). Bah, on met des 90 quoi ! On fait pareil avec l'autre adresse et le fichier est patché ! On relance le programme fraîchement modifié. On s'enregistre et PATATA ( C'est une son de trompette ! ). Thank you for registering! Alors là, on saute partout, on chante et tout et tout ... Pis tiens, j'prends un malabar. Et pis j'fais des bulles avec. ( bah vi, quand j'suis content, j' fais des bulles avec! ). On sort du logiciel. Pas de NAG BOX. CooL ! Bon bah, on relance le programme histoire de s'assurer que l'on a bien assuré ! Et là : PATATRA ! ( Non, ça , c'est pas le son d'une trompette ! ). KOI, COMMENT , OU CA , PAR KI KE KOI DONC OU ??? ( Enfin, là, j'éxagère un peu... ) On a toujours la rubrique " Register ..." ! Alors là, je jette mon malabar. Mais comment c'est possible ça ? Bah pourtant, on a bien patché le programme et il nous a bien dit qu'on était enregistré ! J'ai rêvé ou quoi ? ( Ou plutôt : J'ai bu trop de bière ou quoi ? ;') ) Voilà l'explication : lors de l'enregistrement, le prog à du stocker le nom et le code quelque part dans un fichier ou dans la base de registre. A chaque démarrage, il vérifie s'il y a bien concordance entre le nom et le code ( Une sorte de 2ème protection quoi ! ). ARRGGHHH ! Ca doit être ça ! Bon bah, on va devoir recourir à 2 utilitaires très utiles ( C'est bien un utilitaire utile hein ? ) : FILEMON et REGMON. Ces derniers sont lancés avant le programme à cracker et reste planqués en tâche de fond pendant son exécution. ( Chercher pas derrière votre moniteur, quand j'ai dit "planqués", c'était une expression ! =8') ) Ceux-ci scannent respectivement toute modification au niveau des fichiers ( création, fermeture ,lecture, écriture ... ) et au niveau de la base de registre ( si une clé est créée, lue, fermée , sollicitée ... ). Bon, on les lance puis on exécute FULLDISK.EXE et puis on retourne voir ces 2 utilitaires. On va voir ce qui c'est tramé lors de l'exécution de FULLDISK. Et là, avec FILEMON, on trouve quelque chose d'intéressant : Fulldisk Attributes C:\Windows\Fulldisk.ini SUCCESS GetAttributes Fulldisk Open C:\Windows\Fulldisk.ini SUCCESS OPENEXISTING.. Fulldisk Attributes C:\Windows\Fulldisk.ini SUCCESS Get Modify Fulldisk Seek C:\Windows\Fulldisk.ini SUCCESS End Offste: 0 Fulldisk Seek C:\Windows\Fulldisk.ini SUCCESS Beginnig Offset: 0 Fulldisk Read C:\Windows\Fulldisk.ini SUCCESS Offste: 0 Length: 119 Fulldisk Close C:\Windows\Fulldisk.ini SUCCESS Fulldisk fait référence au fichier FULLDISK.INI qu'il a crée lors de l'enregistrement. ( Je le sais paske j'avais lancé FILEMON avant que FULLDISK soit enregistré et j'ai constaté qu'il faisait référence à ce fichier. Mais à la place de SUCCESS, il y avait marqué : NOT FOUND. Bah koi ? J'suis pas obligé de tout vous dire non plus ! Non mais ... :'o ) Comme on est pas trop bête, on va ouvrir ce fichier pour voir ce qu'il y a dedans : [Screen] blablabla blablabla [User] Name=TaIpAn! Code=666 Notre théorie était bonne ... Il va falloir retourner sous W32dasm et rechercher dans le String Data References s'il y a une occurence avec quelque chose comme : " fulldisk.ini" mais sans succès. Bon ben, il va falloir y aller au feeling ! Cette protection ne doit pas être très loin du début du programme. On cherche un peu et on tombe rapidement ( Oui, sans se faire mal ! ) sur : :00401628 E8F31F0000 call 00403620 blabla * Reference to blabla blabla * Possible String Data reference from Data Obj -> "Code" :0040163D 688C104100 push 0041108C * Possible String Data reference from Data Obj -> "User" blablabla C'est quoi ça : "Name" et "Code" ? Duh ! Mais oui, ce sont les références au fichier fulldisk.ini ! ;) Là, il charge les informations nécessaires. Il y a fort à parier qu'il doit y avoir des tests pas très loin après... Je commence déjà à déchirer l'emballage d'un autre malabar mais je me préserve de le mâcher pour l'instant ... On regarde donc un peu plus loin et BING ! :00401665 0F857F000000 jne 004016EA blablabla :00401675 0F856F000000 jne 004016EA blablabla blablabla :004016B9 0F8522000000 jne 004016E1 blablabla :004016CE 0F840D000000 je 004016E1 blablabla Bon bah, c'est la même histoire. A chaque fois qu'un saut est effectué, le prog sait que la version n'a pas été enregistrée avec un code valide... Eh ben... Keskon fé ? Ouais, on NOPs tout ça ! En utilisant la même méthode que précédemment pour NOPer, vous devriez être en mesure de patcher ces 4 instructions par des NOPS, nan ? Mais si... Je vous fais confiance ! D'ailleurs, il y a une instruction qui vient me réconforter et qui me dit que le malabar va bientôt m'amener des caries ... Regardez l'instruction à l'adresse 4016D7... Ne serait-ce pas un " boolean flag ?". Ah bon, vous savez ce que c'est ... Bon, continuons alors ... Un ? Quoi ? Ah oui, y en a qui savent pas ... Eh ben c'est pas sorcier : Si on avait effectué un des sauts ci-dessus, nous aurions atterri sur une routine qui aurait sûrement placé un 0 quelque part en mémoire. Ainsi, le prog sait que le code et le nom ne concordent pas et nous empêche d'avoir une version enregistrée. Et là, à l'adresse 4016D7, on y place un 1 dans ce quelque part. C'est pas bon signe ça ? Bah nous verrons bien ... Donc, nous avons patché les 4 sauts. On sauvegarde les modifs. ( Avec l'éditeur héxadécimal hein ! Ca va ? Vous suivez ? ). On relance le programme et là : PATATA ! ( Oui ! C'est ça ! C'est un son de trompette ! ) L'item "Register ..." est grisé ! C'est tout bon ! On sort du programme : plus de NAG BOX ! CONGRATULATIONS : YOU'VE JUST CRACKED THE PROGRAM ! ( Toujours dans un but éducatif hein ? ;) ) Je jette mon malabar en l'air, j'ouvre la bouche et le rattrape comme un phoque de cirque... Et là, je m'étrangle et je meurs ... Mais nan, j's'rais là bientôt pour de nouvelles aventures ! BYE ! CyRiUsViRuS ! contact me : cyriusvirus@yahoo.fr *************************** * Trouver des failles CGI * *************************** Tiens, un article qui n'est pas dans le sommaire... bizarre... he bien c'est parce que ceci n'est pas un article, juste de la pub pour mon scanneur de failles CGI, j'ai nomme CGI Scan (je sais le nom est extremement original) il est bien sur disponible sur le site du groupe (http://www.thebhz.org). C'est un programme qui a ete ecrit en Perl. Il est disponible en version Windows (v1.0) et en version Linux (v1.1) (mais meme les utilisateurs de Windows devraient, à mon humble avis telecharger la version Linux... hahahaaa... je n'en dis pas plus.... (si vos n'avez nin co compris, vos estez vrémin biece !!!) (j'aime d'ecrire comme ca, en sachant que les natifs de ma region reconnaitront ce qu'ils lisent...)) contact me : asmodeus@mail.be *************************************************************************************************************************************************************************************************************** Ca y est, ce sixieme zine est fini. Ca peut sembler ironique pour un groupe qui s'appelle "The Belgian Hackers Zone" de sortir un zine... sans aucun article reelement consacre au hacking. J'entends dejà les remarques maintenant. C'est aussi pour celà que j'ai choisi de sortir ce zine aujourd'hui : je pars en vacances. Pendant 19 jours je vais penser à autre chose. je sais dejà que quand je reviendrai, ma boite d'email sera plein, comme d'habitude, à chaque sortie de zine, il y auar des bravos, des encouragements, des remarques peu constructives, celles-là on s'y est habitue. Mais je ne desespere pas pour autant. Au contraire c'est ce qui me fait avancer. Et j'espere que le forum sera lui aussi rempli, que tout le monde aura eu le loisir de converser sur le salon du groupe, que tous auront dejà echanges leurs avis, sur notre travail à tous. Et j'espere avant tout que nous aurons fait avancer la scene belge, car c'est bien là notre but. Certes je ne doute pas que ce zine sera lu par des francophones du monde entier (j'en profite pour remercier MadChat, Spydermag, SecurBe, Crypteria, NPK, Securax et tous les autres groupes et personnes grace auxquels on aura pu avancer) Et puisque j'en suis dans les greetings, voici les personnes que je veux saluer : PassX, GuiguiKUN, SaKOTO, Protocol-, tRaSh, Flat, Greven, Deepthroat(j'espere que tu es toujours de ce monde),Sexywax, Grim@, Cyrius, Veinscuts, Nikotine, Buddha, Switchh, Jonhatan Davis et son groupe, le groupe Hack.be, Neur0man (meme si il ne lira jamais ce zine), Zack De La Rocha et son groupe, Ganda|f, Rozwell, SymBioZ, LeaderOne, tous les gras qui frequentent ou qui sont hostes sur Securax, et bien sur aussi Barret, Gordon, Brazad, Davidoff, Guy, Agouti, qui m'ont eux aussi bien soutenu dans certains moment difficiles (que je ne fus pas le seul à traverser d'ailleurs ces jour là...) Outtro by Asmodeus --> asmodeus@mail.be The Belgian Hackers Zone : http://www.thebhz.org http://www.thebhz.com