الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال بسيط لاهل البيرل

بدأه دمعة فحل في 11 ديسمبر 2009 · 10 رد · 2,740 مشاهدة · في لغة Perl
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

عندي مشكله بسيطه في كتابة كود معين

وظيفة الكود هذا انه اذا شاف هاش md5 في صفحة الموقع يطبع لي found

واذا ما وجد هاش ما يطبع لي شئ

الهاش يكون من اي هاش مو لازم هاش محدد

انا كتبت الكود هذا مبدئين لكن احتاج لتصحيحه يا شباب

هذا الكود

#!/usr/bin/perl 

if(=~MD5){
print "Found\n\n";
}

انا ادري ان الكود خطأ بسبب قلة خبرتي في البيرل

لكن احتاج الى تقويمه وتصحيحه اذا ما فيه اشكال

يلا سلام عليكم :)

#2

يمكن أن أكتب خليط من الأحرف اللاتينية والأرقام بطول معين وأضعه في صفحة لكن هل هذا يجعله MD5 hash ؟ طبعاً لا.

بالتالي لا تستطيع أن تجزم بالضبط أن ما يرد في الصفحة هو MD5 hash في حال تمت المطابقة.

الشئ الوحيد الذي تستطيع أن تعتمده هو البحث عن مزيج من الأرقام والأحرف (فقط) وبطول معين (32 حرف حصراً) على أن يسبق ويلي هذا المزيج فراغ واحد (على الأقل) أو أي فاصل كـ line break أو محرف خاص (ربما فاصلة أو رمز $ أو / أو... لأنك إن لم تكن تعرف تركيب محتوى الصفحة فعليك أن تأخذ هذا السيناريو بعين الاعتبار).

تستطيع أن تنفذ ما تريد باستخدام reg exp.. لذلك ابحث عن معلومات وأمثلة عنها.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

هناك عدة صيغ لعرض md5 hash المنتشر هو hex.. لكن حتى اتاكد اعطني عينة هاش

إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.

post-21836-1257612765.gif

before asking: smart questions how-to

#4

انا انهيت مشكلة تمييز الهاش عن الاحرف العشاؤيه وعن الامور الاخرى

لاني انا طالب اكواد قبل الكود هذا تجرب نمط معين

في حين نجاح النمط يعطيني هاش md5 بطول 32بت

لكن كيف اعرف انه طلع لي md5 :S

هههههههههههههههههههههههههههههههههههههههههه

اعتذر اذا ما فهمتوني لاني انا ما فهمت نفسي :(

=================================================

نختصر الكلام اللي فوق بالمفيد

انا ما ابيه يميز هل هذا هاش او حروف لاتينيه او اي شئ

انا ابيه اذا وجد سلسله من الحروف والارقام بطول32 بت يطبع لي found :)

واذا انهيت الكود راح ارسله خاص للي يبيه لان الكود خطير شوي :)

بالنسبة للي طلب عينه من الهاش

هذي عينه:

كلمة :vico

بعد تشفيرها md5 اصبحة :f30992da54715e5a0c4a7eaf29889641

#5

سؤال اخي : انت بدك تفحص اي متسلسلة حرفية او رقمية او خليط منهم اذا كانوا بطول 32 بت او لا ، هناك معامل تحويل من والى رموز 8 بت ، وهو المعامل C ويستخدم مع الـtr ،،،،

بتقدر تستخدمه بهذا الشكل :

tr/SEARCH_LIST/REPLACE_LIST/C

وفي كمان معاملات بتقدر تستفيد منها بالبيرل ، مثل :

c: تكون لتكملة الرموز التي نريد استبدالها .

d: تحذف الرموز التي وجدت و لم يتم استبدالها .

s: يسحق الرموز التي تم تغييرها مرتين .

U: يحول من و إلى تنسيق UTF-8 .

وفي عندك السطر التالي :

=~ s/%([\dA-Fa-f][\dA-Fa-f])/ pack ("C", hex ($1))/eg;

,,

هذا السطر يحول رموز URL المشفرة أي المسبوقة بعلامة % ، إلى رموز قابلة للطبع .....

اتمنى تستفيد من هذه المعاملات بسؤالك ,,,

سلام عليكم

تم تعديل هذه المشاركة بواسطة ibu_love في 11 ديسمبر 2009 في 16:00

1

FineDesign For Graphic and WebDesign

ForEach(Minute in MyLife)

MyExperience ++;

#6

دمعة فحل

اقتباس
انا ابيه اذا وجد سلسله من الحروف والارقام بطول32 بت يطبع لي found

use warnings;
use strict;

my $text='5e17f9787889669 740b12a9909406cac 
7b71f23090105 @#9aa14e04383f&695772a 
633b4be2f7e77033eedca3a3b66e417e eeeeeee 
sfaddsfsd asdfdfsasda';


if ($text=~/([0-9a-z]{32})/){
	print "MD5 HEX hash found!\n";
	print "The found hash is: $1\n";
}

ممكن تصغر الكود اكثر وستتخدم pre-defiend character classes

اكتب الأمر واقرأ دليل regexp في perl

perldoc perlre

أو

perldoc perlretut نفس الي بالأعلى لكن tutorial

إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.

post-21836-1257612765.gif

before asking: smart questions how-to

#7

eech55

^^^^^^

^^^

^^

ياحبي لك يا شيخ

الله يجزاك خير هذا اللي كنت ابي اوصل له من زمان لكن خانني التعبير :(

لكن ودي توضح لي النقطه هذي اذا ممكن :$

5e17f9787889669 740b12a9909406cac 
7b71f23090105 @#9aa14e04383f&695772a 
633b4be2f7e77033eedca3a3b66e417e eeeeeee 
sfaddsfsd asdfdfsasda';

اشكر كل الشباب اللي افادوني :)

#8

هذا الكلام الي كتبته، هو عينة لمجموعة كلام عشوائي يحتوي على عينة تشبه الهاش وثم يستخلصحها.

طبعا أنت لن تستخدم هذه العينة لأنها لا تعني لك شيئا...

أنت محتاج تستبلدلها بالعينة التي لديك... اخبرني ماهو الملف الذي تريد القراءة منه؟

ماهو الملف الذي يحتوي على هاش وتريد أن تستخلصه؟

إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.

post-21836-1257612765.gif

before asking: smart questions how-to

#9

اشكرك يا اخي الكريم على حسن متابعتك لمشكلتي

لكن الحمد لله وجدت لها حل وهو كالتالي

#!/usr/bin/perl

use LWP::UserAgent;
use HTTP::Request;


my $victim=$site.$test;
my $w = HTTP::Request->new(GET=>$victim);
my $ua = LWP::UserAgent->new();
my $an = $ua->request($w);


if ($an=~/([0-9a-z]{32})/){
	print "Founded !\n";   

}
else{
	print "Not Found\n";
}

}

لاحظ ال هذا السطر :

my $an = $ua->request($w);

ولاحظ الشرط هنا :

if ($an=~/([0-9a-z]{32})/){
	print "Founded !\n";   

}

هل طريقتي هذه تعتبر صحيحه

ني انا ما ابي اقيد البحث على هاش معين من عندي

ابي اي هاش طوله 32 يخبرني بوجوده

ان شاء الله ما اكون ثقلت عليكم :)

اذا تبي الكود بارسله لك على الخاص الكود كااااااااامل :)

تم تعديل هذه المشاركة بواسطة دمعة فحل في 12 ديسمبر 2009 في 18:06

#10
اقتباس
هل طريقتي هذه تعتبر صحيحه
هل تفعل ما تريد؟ إذا كانت تفعل ما تريد، إذا فهي صحيحة.
اقتباس
اذا تبي الكود بارسله لك على الخاص الكود كااااااااامل :)
نعم سأكون شاكرا :D

إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.

post-21836-1257612765.gif

before asking: smart questions how-to

#11

تكرم عينك :)

راجع الرسائل الخاصه :)

مواضيع مشابهة