a ثم يتغير بواسطة timer حتى يصل الى zzzzz
#1
السلام عليكم ورحمة الله تعالى

كيف اعمل برنامج يقوم بالبدأ بالحرف الاول a ثم يتغير بواسطة timer حتى يصل الى zzzzz مثلا
اي مثلما هو في البرامج التي تعمل على البحث عن كلمة سر مثلا
الحرف الاول
a
ثم
b
.
.
.
z
aa
ab
ac
.
.
az
.
.
zzzzzzzz
وشكرا
الرد
#2
هدا مثال بسيط أخي الكريم
PHP كود :
var
  
i:integer;

procedure TForm1.FormCreate(Sender: TObject);
begin
i
:=97;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if i >121 then timer1.Enabled:=false;
memo1.Lines.Add(chr(i));
i:=i+1;
end; 


الملفات المرفقة
.rar   timer [a to z].rar (الحجم : 2.27 ك ب / التحميلات : 25)
الرد
#3
أخي الكريم شكرا جزيلا على هدا الرد
لقد وفقت إلى حد كبير في هدا العمل والفكرة
و أود أن أوضح لك بأني أعمل برنامج يبحث عن كلمة سر word excel access
فمحاولتك هده فيها ملاحظتين
الاولى : تظهر النتيجة في سطر واحد مثلا label او edit
الثانية : من a to zzzzzzzzzzzzzz ولا ينتهي عند z
ولقد ارفقت لك في المرفقات بمثال
PHP كود :
const
  
conso: array [0..51] of Char = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
  
DBNAME = 'Phonebook.MDB';
  
DBPASSWORD = 'nn'; // Access DB Password Protected

procedure TForm1.Timer1Timer(Sender: TObject);
begin
edit4
.Text:= inttostr( strtoint(edit4.Text)+1);
 if 
strtoint(edit2.Text)<>52 then
 begin
edit3
.Text  := '';
edit2.Text:= inttostr( strtoint(edit2.Text)+1);
edit3.Text :=edit3.Text + conso[(strtoint(edit1.Text))];
edit3.Text :=edit3.Text + conso[(strtoint(edit2.Text))];
end;
//////////
 
if strtoint(edit2.Text)=52 then
 begin
edit3
.Text  := '';
edit1.Text:= inttostr( strtoint(edit1.Text)+1);
edit2.Text:='-1';
edit2.Text:= inttostr( strtoint(edit2.Text)+1);
edit3.Text :=edit3.Text + conso[(strtoint(edit1.Text))];
edit3.Text :=edit3.Text + conso[(strtoint(edit2.Text))];
end;

end; 

الارقام طريقتها سهلة
اما الاحرف فلا اجد لها الحل
وشكرا لك والسلام عليكم


الملفات المرفقة
.rar   Timer_Brute1.rar (الحجم : 1.41 ك ب / التحميلات : 28)
الرد
#4
على حسب علمي هده الطريقة تنفع مع التشفير البسيط والغير معقد

اما في عصرنا هدا فأنت تعلم مدى صعوبة الكسر جربت برنامجا يعتمد على نفس الفكرة وتركته يعمل أكثر من 8 ساعات ليكتشف كلمة ملف دو الامتداد rar ولم يفلح..هده الطريقة يلزمها ربما شهور لتكتشف الكلمة هدا ان تم دلك
الرد
#5

حاول ان تفكر
مثال لحرف واحد
(دون استخدام Timer لوضيح الفكرة)
PHP كود :
const
ciph: array [0..51] of Char = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var
  
i,L:integer;
begin
  L
:=length(ciph)-1;
  for 
i:= 0 to L Do Begin
    Label1
.Caption := ciph[i];
    
Application.ProcessMessages;
    
sleep(10);
  
end;
end; 

حرفين
PHP كود :
const
ciph: array [0..51] of Char = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var
  
j,i,L:integer;
begin
  L
:=length(ciph)-1;
  for 
j:= 0 to L Do
  for 
i:= 0 to L Do Begin
    Label1
.Caption := ciph[j]+ciph[i];
    
Application.ProcessMessages;
    
sleep(10);
  
end;
end; 

ثلاث حروف
PHP كود :
const
ciph: array [0..51] of Char = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var
  
k,j,i,L:integer;
begin
  L
:=length(ciph)-1;
  for 
k:= 0 to L Do
  for 
j:= 0 to L Do
  for 
i:= 0 to L Do Begin
    Label1
.Caption := ciph[k]+ciph[j]+ciph[i];
    
Application.ProcessMessages;
    
sleep(10);
  
end;
end; 

اربعة حروف
PHP كود :
const
ciph: array [0..51] of Char = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var
  
m,k,j,i,L:integer;
begin
  L
:=length(ciph)-1;
  for 
m:= 0 to L Do
  for 
k:= 0 to L Do
  for 
j:= 0 to L Do
  for 
i:= 0 to L Do Begin
    Label1
.Caption := ciph[m]+ciph[k]+ciph[j]+ciph[i];
    
Application.ProcessMessages;
    
sleep(10);
  
end;
end; 

خمسة حروف
PHP كود :
const
ciph: array [0..51] of Char = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var
  
n,m,k,j,i,L:integer;
begin
  L
:=length(ciph)-1;
  for 
n:= 0 to L Do
  for 
m:= 0 to L Do
  for 
k:= 0 to L Do
  for 
j:= 0 to L Do
  for 
i:= 0 to L Do Begin
    Label1
.Caption := ciph[n]+ciph[m]+ciph[k]+ciph[j]+ciph[i];
    
Application.ProcessMessages;
    
sleep(10);
  
end;
end; 

هل اتضحت الفكرة ؟ حاول تنظيمها بشكل يتوافق مع نون حرف
والسلام عليكم
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم