sakiir

Progresive KeygenME cours

Oct 21st, 2013
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.86 KB | None | 0 0
  1. Bonjour à tous ce soir , je me propose d'écrire un tutoriel simple , pour s'initier à la programmation de KeyGen !
  2. Notre cible sera un KeyGen nommé "Progresive KeyGenMe #1 by *fargoth*" Téléchargeable à cette adresse : [url=https://mega.co.nz/#!U0xHzQ6Z!IHreLhdpidYusqlJcDAo-T3fX1FcL9MjOUTZHSDQo_k]MEGA - Progresive KeygenMe[/url] !
  3.  
  4. Ce cours ce réroulera en 3 Parties :
  5. 0x1 - Analyse Statique Du Programme (Dans Notre cas cette partie sera brève car le keygenMe n'est pas packé et ce n'est pas un malware)
  6. 0x2 - Desassemblage / Debugage , donc ici je ne vais pas en faire un fromton mais on va faire un choix ! moi je vais debug :D
  7. 0x3 - Dev du KeyGen ! et oui c'est la meilleure partie ! En C++ avec l'API Windows en GUI !
  8.  
  9. Voila pour l'intro , on va maintenant commencer .
  10.  
  11.  
  12. 0x1 - Analyse Statique Du Programme +----------------------------------------+
  13. ------------------------------------------------------------------------------+
  14. La première chose à faire pour ce type de programme est de regarder la signature et de la comparer à d'autre pour savoir quel est l'IDE utilisé ou le langage de programmation utilisé.
  15.  
  16. Nous lançons donc le keygenme dans PEID !
  17.  
  18. [url=http://www.noelshack.com/2013-43-1382318714-img1.png][img]http://image.noelshack.com/minis/2013/43/1382318714-img1.png[/img][/url]
  19.  
  20. Nous voyons donc apparaitre "UPolyX v0.5 *" , à priori le programme est packé :(
  21. Mais attendez un peu , continuez à lire ! On va debuguer le KeygenMe et nous apercevoir d'une chose assez bizarre à laquelle e n'ai aucune explication ..
  22.  
  23. ------------------------------------------------------------------------------+
  24.  
  25.  
  26. 0x2 - Désassemblage / Debuguage +---------------------------------------------+
  27. ------------------------------------------------------------------------------+
  28. Ouvrons notre petit prog dans Olly ! nous tombons directement sur quelque chose de très concret en ASM Win32 !
  29. Je pense qu'on ne peut pas faire mieux comme lecture !
  30.  
  31. [url=http://www.noelshack.com/2013-43-1382318717-img2.png][img]http://image.noelshack.com/minis/2013/43/1382318717-img2.png[/img][/url]
  32.  
  33. Appuyer sur "debug" et tester n'importe quel nom et n'importe quel serial .. Comme MOI !! :D
  34.  
  35. [url=http://www.noelshack.com/2013-43-1382318716-img3.png][img]http://image.noelshack.com/minis/2013/43/1382318716-img3.png[/img][/url]
  36.  
  37. On Tombe sur ce qu'on appel dans le jargon un Bad Boy . nous allons donc chercher dans les string et double clicker sur le badboy comme ceci (click droit dans le code -> Search for -> All referenced Text Strings)
  38.  
  39. [url=http://www.noelshack.com/2013-43-1382318715-img4.png][img]http://image.noelshack.com/minis/2013/43/1382318715-img4.png[/img][/url]
  40.  
  41. Nous obtenons un code très compréhensible qui nous permettra de trouver le bon serial de deux différente manière (UNE SUPER ET UNE POURRIT !)
  42.  
  43. [url=http://www.noelshack.com/2013-43-1382318713-img5.png][img]http://image.noelshack.com/minis/2013/43/1382318713-img5.png[/img][/url]
  44.  
  45. C'est Simple on a ici une série de TEST passé à la string "Name" (sa longueur et la routine ;) )
  46.  
  47. La routine c'est ce que le programme va utiliser pour calculer le serial ! le truc 'est qu'un KeyGenMe (Ou vrai programme) va vous calculer un code (serial) par rapport à quelque chose de fixe (Nom d'entreprise, pseudo , HWID, Adresse ip Local, Adresse MAC etc ..)
  48.  
  49. Les deux solutions s'impose et nous allons résoudre notre KeyGenMe très simplement et bêtement en 2 temps ! d'abord nous allons poser un breakpoint sur la fonction "lstrcmpA()" sa fonction est de comparer 2 chaines. VOIR LE PROTOTYPE ICI http://msdn.microsoft.com/en-us/library/windows/desktop/ms647488%28v=vs.85%29.aspx
  50.  
  51. Grâce à ce breakpoint nous allons pouvoir visualisé (en Lançant le Debug) les chaines de caractères comparé comme ceci ;) (en admettons que je mette "sakiir" dans le name et "FucKinG_P4sS" dans le serial !)
  52.  
  53. [url=http://www.noelshack.com/2013-43-1382318716-img6.png][img]http://image.noelshack.com/minis/2013/43/1382318716-img6.png[/img][/url]
  54.  
  55. [url=http://www.noelshack.com/2013-43-1382318716-img7.png][img]http://image.noelshack.com/minis/2013/43/1382318716-img7.png[/img][/url]
  56.  
  57. Waaaoww ! donc voila les deux string comparées "FucKinG_P4sS" et "643" évidement comme vous l'avez vu dans la documentation de la msdn la fonction ne renvoi pas 0 donc on saute sur le BADBOY !
  58.  
  59. Mais nous savons que si le serial entré pour sakiir est "643" nous réunissons le KeygenMe ! Ne parlons pas trop vite car il y a la deuxieme solution , celle qui engendrera la 3ème partie , le KeyGen !
  60.  
  61. [url=http://www.noelshack.com/2013-43-1382318715-img8.png][img]http://image.noelshack.com/minis/2013/43/1382318715-img8.png[/img][/url]
  62.  
  63. Comme le programme nous l'indique nous allons créer un KeyGen ! pour ceci nous allons déchiffrer la routine en Assembleur pour la transcrire en C je vais donc directement passer à la 3ème partie !
  64.  
  65. ------------------------------------------------------------------------------+
  66.  
  67.  
  68.  
  69.  
  70. 0x3 - Dev du KeyGen +---------------------------------------------------------+
  71. ------------------------------------------------------------------------------+
  72. Comme Le code est très simple je vais simplement prendre un screen du code commenté en assembleur :
  73.  
  74. [url=http://www.noelshack.com/2013-43-1382318713-img9.png][img]http://image.noelshack.com/minis/2013/43/1382318713-img9.png[/img][/url]
  75.  
  76. Vous pouvez donc voir qu'on à une routine très simple qui ajoute tout les caractère entre eux !
  77. J'ai donc programmé un KeyGenMe Commenté grave à l'API Win32 sous Visual Studio 2012.
  78. Je vous distribue tout le projet :
  79. [url=https://mega.co.nz/#!d4og1ZRQ!BkVgkk4P_k-XnZI8t6RoNDBsVlME67S6nEts3ZEG2o4]KeyGen Source[/url]
  80.  
  81. C'est Ainsi que se Termine ce cours qui a été très long à rédiger pour moi , je vous souhaite une bonne nuit !
  82.  
  83.  
  84.  
  85.  
  86.  
  87. ------------------------------------------------------------------------------+
Advertisement
Add Comment
Please, Sign In to add comment