قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 17-08-2013, 02:47 PM المشاركة 9   
افتراضي



بعدها مايكرو راح يدخل الى داله
كود:
void change_password_test()
{
 if(kp !=12 && password is 2 )// check password if true password change
             {
               test_password(32);
             }

 if( kp is 12 && password is 2  ) // if switch(#) enter  is pressed
            {

             for(x=0;x<=eeprom_read(16);x++)

                   {
                     if( eeprom_read(x+16) is eeprom_read(32+x)   )password=3;

                     else {
                           lcd_cmd(1);
                           check_password=0;// back to function new password and start form if(kp !=12 && kp !=255 && password is 2)
                           message(uncorrect_pass);// vaild password message
                           delay_ms(1000);
                           message(new_pass);// new password message
                           pp=0;
                          }
                   }
            }
ناخذ كود
كود:
if(kp !=12 && password is 2 )// check password if true password change
             {
               test_password(32);
             }
نفس شرح سابق ولكن هنا سخزن شفره في
طول شفره بالعنوان 32 ومن 33الى 47 يتم خزن فيها الارقام
=====================================
كود:
if( kp is 12 && password is 2  ) // if switch(#) enter  is pressed
كود واضح ولكن تلاحظون شرط ضغط على # ان password=2
========================================
كود:
for(x=0;x<=eeprom_read(16);x++)

                   {
                     if( eeprom_read(x+16) is eeprom_read(32+x)   )password=3;

                     else {
                           lcd_cmd(1);
                           check_password=0;// back to function new password and start form if(kp !=12 && kp !=255 && password is 2)
                           message(uncorrect_pass);// vaild password message
                           delay_ms(1000);
                           message(new_pass);// new password message
                           pp=0;
                          }
                   }
هنا يتم مقارنه بين شفره مخزونه ايبروم فاذا كانت صحيحه يجعل password=3
اي رقم فيها كان خاطئ هذا يعني شفره خاطئه check_password=0 وبعدها راح يرجع مايكرو من مكان الذي تم استدعائه فيها وهي من داله char function password ومتغير check_password=0 راح يدخلني من جديد في داله
void new_password_test() ولكن ليس كل الاوامر راح تتنفذ لماذا لان password=2
وهذا يعني راح يجاوز مرحله ادخال شفره وراح يخبرني مباشره ادخل شفره جديده
هذه هي فائده هذا متغير اي اقصدpassword
================================================
اما اذا كانت شفره صحيحه سيصبح password=3

كود:
if(password is 3)
        {
            for(x=0;x<=eeprom_read(16);x++)eeprom_write(x,eeprom_read(x+16));
            lcd_cmd(1);
            message(change_password);// change password message
            delay_ms(1000);
            state_password=255;
            lcd_cmd(1);
            return ;
        }
هنا سوف يتم نقل شفره جديده مكان القديمه
لاحظو الامر
كود:
for(x=0;x<=eeprom_read(16);x++)eeprom_write(x,eeprom_read(x+16));
وبعده رجوع مايكرو الى مكان الذي تم استدعاءه سوف يعود الى قائمه الرئيسيه
لاحظو الكود
كود:
 while(1)
   {
     keypad();
     if(choice !=0 )
       {
        input_password_test();
        if(state_password is 1)
              {
               lcd_cmd(1);
               return state_password;
              }
       }
     else if( choice is 0 && check_password is 0)new_password_test();
     else if(check_password is 1)
            {
             change_password_test();
              if(password is 3)return;
            }

   }

اعلانات

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 17-08-2013, 03:26 PM المشاركة 10   
افتراضي


الان نشرح فكره عرض ماستر كي وتشفيره اولا لاحظو كود
كود:
void  master_password()
{
 lcd_out(1,1,"master code");
 for(x=1;x<=6;x++)
   {
    bytetohex((eeprom_read(48+x)+100),txt);

    lcd_chr(2,x+6,txt[1]);
    lcd_chr(2,x,txt[0]);

   }

}
كيف نحصل عليها طبعا تم ذكرها سابقا بالضغط على مفتاح 0 لاكثر من 5 ثواني
كود:
bytetohex((eeprom_read(48+x)+100),txt);
هنا قمت بقراءه ماستركي من مكان خزنه في ايبروم وانا خزنته في بدايه البرنامج
للتذكير انظر كود وهو موجود ضمن داله ()init
كود:
///// master code////
  eeprom_write(48,6);// write length for master code =6
  for(x=1;x<=6;x++)
      {
       eeprom_write(48+x,master[x-1]);
      }
الان ماذا فعلت
1- جمعت على كل رقم 100
2- حولت رقم الى نظام hex
يمكن وضع اي معادله خاصه بك وجعلها معقده ليصبح فك شفره صعبه بالطبع انت لما تضع معادله اكيد تعرف كيف تخرج شفره
وبعدها اظهرت رقم كله في عمود 2 وهي ايضا تشفير في ترتيب الارقام
تذكر انت تستطيع ان تخربط ترتيب الارقام لتعرضها على شاشه ولكن انت تعريف كيف تخرج رقم بسهوله
كود:
 lcd_chr(2,x+6,txt[1]);
    lcd_chr(2,x,txt[0]);
الان ماستركي هو 112233
الان بعد جمع مع كود 100 وتحويله الى hex , واظهاره على شاشه على نفس عمود نحصل على رقم لاحظوا الصور
http://img02.arabsh.com/uploads/imag...434b64f404.png

رقم =666666556677
الان اريد فك شفره اولا ناتي مره ماذا فعلنا برقم
1- اجمعت على كل رقم بـــ 100 تلاحظون اني لم اخذ مامخزون بالعنوان 48 لانه يمثل طول شفره يمكنك عرضه اذا كنت ترغب بذلك
2- حولته الى نظام hex
3-كل رقم يتحول الى نظام hex فانه له رقمين مثلا حولت رقم 7 فانه عند تحويل يصبح 07 او حولت رقم 15 يكتب 0F او رقم 130 يصبح 82
وعليه اخذت كل الاول رقم من شفره وعرضتها في صفوف سته الاولى
كود:
for(x=1;x<=6;x++)
   {
    bytetohex((eeprom_read(48+x)+100),txt);

    lcd_chr(2,x+6,txt[1]);
    lcd_chr(2,x,txt[0]);

   }
وعرضت رقم الثاني لكل رقم بعدها مباشره
كود:
for(x=1;x<=6;x++)
   {
    bytetohex((eeprom_read(48+x)+100),txt);

    lcd_chr(2,x+6,txt[1]);
    lcd_chr(2,x,txt[0]);

   }
الان نرتب الرقم ليصبح كتالي
67 67 66 66 65 65
نحول كل رقم من HEX الى نظام عشري
103 103 102 102 101 101
نطرح من كل رقم 100 فاننا نحصل عل ماستر كي
3 3 2 2 1 1

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
نشاط [ حسن هادي محمود ]
قوة السمعة:
قديم 18-08-2013, 05:55 AM المشاركة 11   
افتراضي


[/QUOTE]
رقم سري هو 1234
رقم سري للماستر كود هو 112233
عند ضغط على علامه # سوف يطلب منك باسورد
للتغير باسورد أضغط على علامه * لاكثر من 5 ثواي
لمسح او رجوع عندما تكون في قاءمه تغير شفره او عرض ماستر اضغط على * ولكن لاتزيد ضغطه عن 5 ثواي
ايضا لمسح باسورد في حاله كتبت رقم زائد او خطأ اضغط على *
لرؤويه ماستر كود اضغط على 0 لاكثر من 5 ثواني سوف يظهر لك ماستر كود ولكنه مشفره عليك حل شفره لاستخراج كود[/QUOTE]

عفوا رقم سري 0000
عموما يمكنك استخدام ماستركي 112233 في وضع اي رقم سري اخر
طبعا يمكنك تغير ماستر كي طبعا من برنامج


الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,892
نشاط [ سعيد قادر ]
قوة السمعة:
قديم 18-08-2013, 09:39 AM المشاركة 12   
افتراضي


ماشاء الله مهندس حسن اكثر من رائع جزاك الله كل الخير


Mohamedemam
:: مهندس ::
تاريخ التسجيل: Apr 2016
المشاركات: 2
نشاط [ Mohamedemam ]
قوة السمعة:
قديم 20-04-2016, 11:17 AM المشاركة 13   
افتراضي


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


Mohamedemam
:: مهندس ::
تاريخ التسجيل: Apr 2016
المشاركات: 2
نشاط [ Mohamedemam ]
قوة السمعة:
قديم 21-04-2016, 11:04 AM المشاركة 14   
ha


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


ABOUYAGINE
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2012
المشاركات: 61
نشاط [ ABOUYAGINE ]
قوة السمعة:
قديم 22-04-2016, 08:25 PM المشاركة 15   
افتراضي


السلام عليكم اخي حسن
لقد بعثت لك في الخاص رسالة ارجو منك قرأتها و الرد عني شكرا لك



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 12:57 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)