Decryption des pwd aim

Contenu du snippet

Un petit prog en C# pour aller chercher les pwd AIM et les decrypter. j'ai aussi traduit ce programme en C++ ( pour ceux que ça interesse ) http://www.cppfrance.com/article.aspx?Val=897

Source / Exemple :


using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using Microsoft.Win32;

namespace WindowsApplication15
{
	public class Form1 : System.Windows.Forms.Form
	{
		private System.Windows.Forms.Button button2;
		private System.Windows.Forms.GroupBox groupBox1;
		private System.Windows.Forms.TextBox textBox1;
		private System.Windows.Forms.TextBox textBox2;
		private System.Windows.Forms.Button button1;
		private System.Windows.Forms.Label label1;
		private System.Windows.Forms.ListBox listBox1;
	
		public Form1()
		{
			InitializeComponent();
		}

		private void InitializeComponent()
		{
			this.textBox2 = new System.Windows.Forms.TextBox();
			this.textBox1 = new System.Windows.Forms.TextBox();
			this.button1 = new System.Windows.Forms.Button();
			this.button2 = new System.Windows.Forms.Button();
			this.listBox1 = new System.Windows.Forms.ListBox();
			this.groupBox1 = new System.Windows.Forms.GroupBox();
			this.label1 = new System.Windows.Forms.Label();
			this.groupBox1.SuspendLayout();
			this.SuspendLayout();
			// 
			// textBox2
			// 
			this.textBox2.Location = new System.Drawing.Point(16, 96);
			this.textBox2.Name = "textBox2";
			this.textBox2.Size = new System.Drawing.Size(240, 20);
			this.textBox2.TabIndex = 2;
			this.textBox2.Text = "";
			// 
			// textBox1
			// 
			this.textBox1.Location = new System.Drawing.Point(16, 16);
			this.textBox1.Name = "textBox1";
			this.textBox1.Size = new System.Drawing.Size(240, 20);
			this.textBox1.TabIndex = 0;
			this.textBox1.Text = "";
			// 
			// button1
			// 
			this.button1.Location = new System.Drawing.Point(96, 48);
			this.button1.Name = "button1";
			this.button1.Size = new System.Drawing.Size(72, 40);
			this.button1.TabIndex = 1;
			this.button1.Text = "decrypter";
			// 
			// button2
			// 
			this.button2.Location = new System.Drawing.Point(16, 152);
			this.button2.Name = "button2";
			this.button2.Size = new System.Drawing.Size(272, 24);
			this.button2.TabIndex = 3;
			this.button2.Text = "Recuperer tous les login et pwd AIM du PC";
			this.button2.Click += new System.EventHandler(this.button2_Click);
			// 
			// listBox1
			// 
			this.listBox1.Location = new System.Drawing.Point(16, 176);
			this.listBox1.Name = "listBox1";
			this.listBox1.Size = new System.Drawing.Size(272, 95);
			this.listBox1.TabIndex = 4;
			// 
			// groupBox1
			// 
			this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {
																					this.textBox1,
																					this.textBox2,
																					this.button1});
			this.groupBox1.Location = new System.Drawing.Point(16, 16);
			this.groupBox1.Name = "groupBox1";
			this.groupBox1.Size = new System.Drawing.Size(272, 128);
			this.groupBox1.TabIndex = 5;
			this.groupBox1.TabStop = false;
			this.groupBox1.Text = "decrypter un pass";
			// 
			// label1
			// 
			this.label1.Location = new System.Drawing.Point(16, 280);
			this.label1.Name = "label1";
			this.label1.Size = new System.Drawing.Size(272, 32);
			this.label1.TabIndex = 6;
			this.label1.Text = "Si la mention \"Compte faux\" apparait c que le compte n\'est pas valide";
			// 
			// Form1
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(296, 308);
			this.Controls.AddRange(new System.Windows.Forms.Control[] {
																		  this.label1,
																		  this.groupBox1,
																		  this.listBox1,
																		  this.button2});
			this.Name = "Form1";
			this.Text = "AIM Pass Converter";
			this.groupBox1.ResumeLayout(false);
			this.ResumeLayout(false);

		}
	
		[STAThread]
		static void Main() 
		{
			Application.Run(new Form1());
		}

		public string Convertion(string PW)
		{
			int a; int b; int c; int d;
			string password = "";
			int decrypt = ( PW.Length / 2 );
			
			for( a = 1 ; PW.Length > a ; a = a + 2) 
			{
				c = ( a / 2) % ( 16 + 1) + 1;
				b = Convert.ToInt16( Convert.ToChar( PW.Substring( a - 1, 1) )  ) - 65  ;

				if ( (c==4) || (c==9) || (c==11) || (c==14) )
				{
					if ( (b % 2) < 1 )
					{
						b = b + 1;
					}
					else
					{
						b = b - 1;
					}
				}
				
				if ( (c==5) || (c==10) || (c==15) || (c==16) )
				{
					if ( (b % 4) < 2 )
					{
						b = b + 2;
					}
					else
					{
						b = b - 2;
					}
				}

				if ( (c==1) || (c==6) || (c==11) || (c==12) )
				{
					if ( (b % 8) < 4 )
					{
						b = b + 4;
					}
					else
					{
						b = b - 4;
					}
				}

				if ( (c==2) || (c==7) || (c==13) || (c==16) )
				{
					if ( b < 8 )
					{
						b = b + 8;
					}
					else
					{
						b = b - 8;
					}
				}

				if ( (c==12) || (c==13) || (c==14) || (c==15) )
				{
		
					b = 15 - b;
				}

				///////////////////////////////////
				d = b * 16;
				
				b = Convert.ToInt16( Convert.ToChar( PW.Substring( a, 1) )  ) - 65  ;
				
				if ( (c==5) || (c==7) || (c==9) || (c==10) || (c==16) )
				{
					if ( (b % 2) < 1 )
					{
						b = b + 1;
					}
					else
					{
						b = b - 1;
					}
				}

				if ( (c==1) || (c==6) || (c==9) || (c==11) || (c==12) )
				{
					if ( (b % 4) < 2 )
					{
						b = b + 2;
					}
					else
					{
						b = b - 2;
					}
				}

				if ( (c==2) || (c==7) || (c==8) || (c==9) || (c==13) )
				{
					if ( (b % 8) < 4 )
					{
						b = b + 4;
					}
					else
					{
						b = b - 4;
					}
				}
		 
				if ( (c==3) || (c==12) || (c==14) )
				{
					if ( b < 8 )
					{
						b = b + 8;
					}
					else
					{
						b = b - 8;
					}
				}

				if ( (c==8) || (c==10) || (c==11) )
				{
					b = 15 - b;
				}

				password = password + Convert.ToChar(d + b).ToString();

			}
			return password;
		}

		private void button1_Click(object sender, System.EventArgs e)
		{
			textBox2.Text = Convertion(textBox1.Text.Substring(2,textBox1.Text.Length - 2));
		}

		private void button2_Click(object sender, System.EventArgs e)
		{
			RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\America Online\AOL Instant Messenger (TM)\CurrentVersion\Users");
			
			string[] compte = key.GetValueNames();
			
			for(int i = 0 ;i <  compte.Length ; i++)
			{
				RegistryKey key2 = Registry.CurrentUser.CreateSubKey(@"Software\America Online\AOL Instant Messenger (TM)\CurrentVersion\Users\" + compte[i] + "\\Login");
				string pass = (string)key2.GetValue("Password");

				if( pass != null )
				{
					pass = Convertion(pass.Substring(2,pass.Length - 2));
				}
				else  
				{
					pass = "Compte faux";
				}

					listBox1.Items.Add(" pseudo : " + compte[i] + " Pass : " + pass);
			
			}
			
		
		}

	}
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.