| Stratégie de développement sous win

Strategie de developpement sous windows basée sur un exemple simple, gagner des sous en trichant

Dans cet article, nous allons etudier les strategies de developpement sous windows en se basant sur un sujet concret et d'actualité, comment gruger les services de type "pay-to-surf", aucun niveau technique n'est necessaire pour pouvoir lire et comprendre cet article car les techniques de sniffing, analyse des headers et autre decompositions et fake des paquets ne seront pratiquement pas abordés, nous allons nous contenter de mettre a votre disposition des ressources, vous expliquer comment les programmes en questions marchent, quels sont les services les plus avantageux, comment tricher, etc...
Ne vous attendez pas a devenir millionnaire en 2 jour comme certain vous le font croire, vous serez content si vous pouvez toucher $5 USD par jour pour chaque service, ce que nous allons voir pourra multiplier vos gains par 4, 5 ou peut etre 6, pas 1000.

1 - Caracteristiques principales des services

Le grand point commun de tous les services de type "pay-to-surf" est un logiciel qui va s'ancrer sur votre ecran sous windows, rendant indisponible totalement une partie de votre ecran, cet espace est utilisé pour aller rechercher des bannières de pub sur internet, les télécharger et les afficher sur votre bureau, ca prends donc de la bande passante (le telechargement des images), de l'espace, et ca bouge tout le temps, c'est franchement agacant.

On distingue 2 familles de services de ce type, les pay-to-surf et les pay-to-be-online.
La caracteristique d'un service pay-to-surf est que vous devez en grande lignes etre en train de naviguer avec IE ou Netscape pour que le compteur se mette en marche.

La caracteristiques des pay-to-be-online est que vous devez tout simplement etre "actif" pour que le compteur soit en marche, vous devez toujours etre devant votre ecran, certains services vous feront cliquer sur un boutton "Continuer" toutes les 35 minutes pour s'assurer que vous ne gagner pas de l'argent en dormant, certains autres se baseront sur le fait que le curseur de votre souris bouge ou pas.

Une derniere categorie de services, bien plus rare, a la particularité de vous demander de cliquer sur les bannieres afin de gagner de l'argent.

2 - Caracteristiques des programmes

a - Les pay to surf

Les logiciels basés sur le fait que vous surfez sont souvent basés sur quelques paramètres faciles a traffiquer ou a imiter, voici les conditions requises pour que les compteurs d'un des principaux services de ce type se mette en marche :

Service | Conditions
AllAdvantage | - Le curseur de la souris doit bouger - Le titre du programme actif doit contenir la chaine de caractere : " - Microsoft Internet Explorer" ou encore " - Netscape" - Le contenu de la barre d'adresse ou du navigateur doit changer au moins toutes les 3 minutes.

Immediatement, quand on connait ces conditions, on sait quelle parade on va utiliser, pour le curseur de la souris, un simple programme fait en visual basic ou tout autre language permettant de bacler ces operations sur la souris et hop, on fait un mouvement de souris toutes les 5 secondes.
Pour le titre, on peut changer le nom du fichier .exe a lancer par - Microsoft Internet Explorer ou si le programme le permet, ajouter cette chaine a la barre de titre (mIRC 5.7). Les API de windows permettent néanmoins de changer toutes les barres des titres, on peut les utiliser.
Pour le contenu du navigateur qui doit changer, on peut tout simplement faire un javascript qui redirige sur une page qui redirige sur la premiere au bout de 10 secondes et ainsi de suite et pour le contenu de la barre d'adresse,il change en meme temps que l'adresse.

Et bien rassurez vous, nous n'allons pas aller aussi loin, un programme existe deja qui gere toutes ces conditions, le nom est AutoSurf, c'est un navigateur tres simple que vous pouvez utiliser pour naviguer sur internet en tant que votre browser principal, il integre cependant une fonction AutoSurf qui permet au navigateur de surfer lui meme pendant que vous dormez, le principe est simple, la souris bouge a l'interieur du navigateur, la barre de titre est - Microsoft Internet Explorer, la barre des titres change et toutes les minutes, il affiche une nouvelle page piochée dans une liste d'URLs que vous lui donnerez.
Ce programme est petit et très pratique, vous pouvez trouver AutoSurf a l'adresse suivante : http://www.etailerz.com/autosurf/

Reste encore le probleme des bannieres, et bien allez donc lire CounterStrike #2, dans la rubrique Hacking, j'ai ecrit un article intitulé "Reprendre le control de son windows" qui traite specialement de cela.
Helas, certains services ont trouvé une parade a cette techniques, ce qui vous permet de faire disparaitre la banniere mais l'espace sur votre ecran est toujours indisponible, cela permet de jouer a des jeux MS-DOS (qui repassent a windows des que l'ecran du bureau de win bouge et donc qu'une banniere s'affiche) mais pas de regler tout le probleme.

On trouve des programmes sur le net specifique a chaque service de type pay-to-surf, certains sont capables de traiter ce probleme.

b - Les pay-to-be-online

Les pay-to-be-online se basent uniquement sur 2 choses pour savoir si vous etes actif, la premiere etant evidement, les mouvements de votre souris, jusque la, aucun soucis.
La seconde etant sur la banniere que vous avez sur votre bureau, un boutton "Continue" qui s'affiche environ toutes les 35 minutes sans alerte, comme il s'agit d'une image, inutile de vous referer a mon article sur Windows Snipper dans CounterStrike #2, ce n'estpas une boite de dialogue, il ne la reconnaitra pas.
Pour developper un tel programme, la technique a utiliser pourrait etre la comparaison d'image, mais si le provider de ce service se rend compte de votre technique, il lui suffit de changer l'image du bouton "Continue" pour que votre programme soit obsolète, la technique utilisable reste donc l'émulation, trouver en utilisant un sniffer quel paquet est envoyé au moment ou vous cliquez sur le bouton et dire a votre programme d'envoyer ce signal toutes les 35 minutes.
Pour les services de ce type, a ma grande surprise, la comparaison d'image est bien plus fréquente que l'émulation... passons.

Avec les services de ce type, nous savons maintenant ce que notre programme doit etre capable de faire, maintenant, 2 solutions...
La premiere, vous avez envie de progresser en programmation Visual Basic (yuk), et vous decidez de faire votre programme, vous aurez alors besoin d'un Sniffer pour analyser les paquets entrants et sortant a un moment précis, comme on travail sous Windows, c'est un peu plus dur a trouver, vous en trouverez un a l'adresse suivante : http://www.eeye.com

Ensuite, quand vous connaissez le paquet a envoyer, vous pouvez le tester, pour cela, une technique tres répandue consiste a utiliser mIRC, un client IRC avec des fonctions surprenantes de gestion de socket/sock-stream, etc...

c - Les pay-to-click

Les pay to click ne sont pas tres dur a ridiculiser, placez votre banierre a un certain endroit de l'ecran et toutes les x minutes, votre programme place le curseur de la souris a la position precise de la banniere et click... rien de très dur.

3 - Strategie de developpement sous windows

Nous allons maintenant analyser en grandes lignes les principales techniques qui vous permettent de gagner de l'argent en dormant, en prennant votre douche, en mangeant, etc.... Pour cela, nous devons imperativement marquer un break pour apprendre comment developper un programme proprement.

Ces techniques sont générales et nous passeront a la pratique dans une seconde étape plus breve.

a - Pour contourner l'obstacle

Une des techniques les plus communes quand l'être humain est confronté a un obstacle est de contourner ce dernier, dans notre cas, on peut s'en contenter si le programme que l'on developpe est destiné a son utilisation personelle ou en amateur, voici les etapes de developpement nécéssaires pour contourner un obstacle dans le developpement d'un programme :

>> Trouver les conditions requises pour que le programme s'active :
Cette etape est evidement la premiere a effectuer, dans certains cas, mieux vaut abandonner si vous debutez mais en general, c'est pas trop dur, faites vous juste un petit tableau comme celui que j'ai fait plus haut sur AllAdvantage, sachant que en 2000, les conditions sont generalement bouger la souris et des conneries comme ca et qu'en 2005, ce sera probablement plus difficile a trouver... basez vous sur ce que les autres savent deja pour ne pas perdre un temps precieux et etablissez une liste.

>> Trouver une parade pour chaque condition
La ca peut parfois relever de l'impossible mais on y arrive toujours, pour chaque condition dans votre tableau, trouvez un moyen utilisable et efficace de contourner l'obstacle, un programme qui change les coordonnées du curseur fera croire a n'importe quel programme que votre souris bouge grace a vos petits doigts par exemple, ou un programme qui execute des macros est souvent vital !

>> Mettez tout ca dans un grand pannier
C'est a ce moment qu'il faut trouver le truc qui va faire la difference entre votre programme et les autres, vous devez avoir une "idée", facile a dire... et ouisurtout qu'il faut eviter de s'inspirer du travail des autres... prennons un exemple concret, on sait que pour AllAdvantage, nous connaissons deja toutes les conditions requises et qu'on a deja analysé les parades possibles pour contourner l'obstacle, une fois que notre programme est pret, la barre de titre doit avoir un certain nom, le programme doit etre capable de bouger la souris, etc... une fois que votre programme sait faire tout ca, pourquoi ne pas faire de votre programme un truc comment dire... comment lui donner un plus ? dans notre exemple concret, evidement le meileur exemple est AutoSurf, l'idée qui fait la difference est tout simplement de mettre votre programme dans un navigateur, en plus, on peut s'en servir pour naviguer (logique non ?).

>> Suivez l'evolution
Si votre programme devient celebre, inutil de vous dire qu'il tombera vite entre les mains de vos adversaire, L'OBSTACLE, en l'occurence, la companie qui developpe le programme que vous voulez contourner. Leur niveau de programmation est généralement relativement bon et ils trouveront très vite une parade, a vous de suivre l'evolution de l'obstacle a contourner pour etre sur que votre programme n'est pas obsolete avec la derniere version du programme en question.

>> Distribuez
No comment.

b - Pour les plus serieux

Maintenant, on rigole plus, on passe aux choses serieuses, inutile de lire cet article si vous etes newbies en programmation, cette strategie de developpement bien que tres générique reste très peu appliquée.

La technique la plus efficace dans ce genre de developpement est pour ce cas la, l'emulation.

Prennons un exemple simple, nous allons emuler un programme simple qui envoies des informations au serveur pour lui signaler que vous etes bien en ligne, nous lancons notre programme, on lance notre sniffer, on lance ensuite notre programme a emuler et on commence a enregistrer toutes les trames sortantes et entrantes sur son PC, on connais alors un grand nombre d'informations utiles...

1 - L'adresse IP du serveur
2 - Le port sur lequel vous recevez
3 - Le port auquel vous envoyez sur le serveur.

vous allez maintenant decouvrir encore plus de chose quand vous allez vous loger sur le serveur, vous allez savoir comment le serveur envoies ses requetes et comment votre programme client lui repond, jusque la tout est assez simple, on utilise encore notre sniffer...

La ou ca va se corser, c'est que si on veut distribuer notre programme, on va devoir envoyer des paquets differents sachant que le login sera different pour chaque utilisateur, on va donc trouver ou se trouve le login dans les trames emises et le remplacer par une variable dans notre programme, evidement, ca se fait pas tout seul, pour savoir si on se plante pas, une technique tres répandue est l'utilisation du programme mIRC, ce programme permet d'envoyer des paquets a volonté sur n'importe quel serveur et n'importe quel port, dans mIRC, tapez /help /socket ou tout simplement /help socket pour plus d'informations sur comment proceder.
On teste donc d'envoyer nos premiers paquets au serveur pour voir comment il gere, et ce que l'on devra transformer plus tard en variable, en meme temps bien sur, vous devez garder un papier et un crayon et noter toutes les informations possibles, elles vous serviront probablement toutes...

Vous connaissez maintenant le shema pour se loguer au serveur et vous savez l'imiter a la main, jusque la tout va bien, maintenant, vous allez vouloir savoir comment indiquer au serveur que vous etes en ligne et eviter les timeouts, aucun probleme toujours, votre sniffer est toujours en marche, vous devez rester au moins 35 minutes a scruter votre ecran pour le moindre paquet envoyé sur les ports de votre client et du serveur, des que vous tenez le PING? et la formule du PONG!, vous vous loguez au reseau avec votre mIRC, vous attendez le temps que ca a pris, et quand vous voyez arriver le PING? (quelque soit sa forme) du serveur, envoyez un PONG! du type de celui que votre client a envoyé.

vous devrez parfois attendre plusieurs ping? pong! pour savoir s'il n'y a pas une formule qui change, basée sur un algorythme ou tout simplement des variables a attribuer en fonction du temps en ligne, etc...

Maintenant, vous n'avez deja plus besoin de votre programme client, vous pouvez commencer votre programme dans votre language préferé et sur votre OS préféré et lui monter une petite interface gentille, sans pousser dans le detail, prompter l'utilisateur pour les variables et les mettre dans un fichier de config, faire des menus pour modifier la config depuis le prog et des fonctions pour se loguer.

Vous avez le choix, vous savez maintenant que mIRC est tres utile et tres simple pour ca genre de choses, vous pouvez soit faire un programme avec votre bon vieux compilateur, mais vous pouvez aussi creer un script/add-on pour mIRC qui gere automatiquement les process, c'est beaucoup plus facile si vous n'etes pas tres qualifiés en programmation client/serveur.
Je prévois d'ailleur dans les prochains numeros de CounterStrike de vous préparer un article sur mIRC comme vous en avez jamais vu, aussi complet que possible, avec plusieurs cas d'ecole, etudes de cas, etc...

Vous indiquez a votre programme quel port ecouter et comment (expect), votre programme est maintenant pret a se faire passer pour le programme client, maintenant il faut que votre programme reste discret, si vous avez fait votre programme sous linux, utilisez plutot des languages en ligne de commande pour coder un daemon plutot qu'un prog avec des icones et tout le bataclan, si votre OS est windows, vous choisirez plutot des language comme Delphi ou VB pour placer votre icone dans la tray-bar.

Votre emulateur est maintenant pret, surveillez les bugs et les nouvelles versions des programmes clients pour modifier votre programme en consequence.

Informations utiles / Links

Certains d'entre vous n'apprecieront pas du tout cet article, d'autres verront naitre en eux, une veritable vocation de codeur pour ce genre de programmes, cet article n'est qu'une base pour developper votre strategie de developpement en fonction de ce que vous voulez faire et basé sur un exemple concret et actuel, c'est pour ca qu'il reste plus theorique que pratique.

Bien d'autres articles sur les strategies de developpement suivront car il y a un grand nombre de possibilités, néanmoins, si cet article vous a transformé et que vous souhaitez allez plus loin et passer a la pratique, cet article devrait etre suffisant, voila maintenant divers liens fournissant des ressources qui vous aideront a coup sur.

Link | Description
http://www.hackadvantage.com | Un site regroupant un grand nombre d'emulateurs et autres utilitaires pour gagner de l'argent en surfant, vous y trouverez aussi des cours, astuces et beaucoup de bons liens utiles (anglais)
http://www.alladvantage.com/go.asp?refid=sbr004 | Le site du plus connus des fournisseurs de ce genre de services, ils payent pour surfer, leur programme client s'appelle la viewbar, en utilisant ce lien, vous serez considéré comme référés par moi et vous me faites gagner du fric... sympa ca... Je vous invite a utiliser ce service et a ne pas l'emuler, l'interet de votre fournisseur de service est aussi votre interet.
http://mirc.co.uk | Pas besoin de présenter le celebre client IRC, il vous sera tres utile dans vos developpements
http://www.tipiak.net | hehe

Conclusion

Pour tout commentaire sur cet article, envoyez un mail a :
loginx@tipiak.net

Envoyez un message a ICQ UIN # : 61291004
AIM : TipiaK Man

ou venez en parler sur eu.undernet.org chan #Tipiak