02166766927 -02166703652
info@atrinelec.com تهران پاساژ امجد طبقه1 واحد 16
معرفی ماژول YLMF18(ریدر مایفر سریال)_جلسه دوم

معرفی ماژول YLMF18(ریدر مایفر سریال)_جلسه دوم

2018-10-09 21:46:10

خواندن و نوشتن اطلاعات روی بلوک ها و تغییر رمز سکتور با استفاده از ماژول YLMF18

برای دیدن آموزش جلسه اول کلیک کنید.

معرفی ماژول YLMF18(ریدر مایفر سریال)_جلسه دوم

در ادامه معرفی ماژول YLMF18 قصد داریم تا اطلاعات روی بلوک ها را بخوانیم و اطلاعات جدیدی را روی بلوک مورد نظر بنویسیم و در نهایت نحوه تغییر رمز بلوک ها را با هم بررسی کنیم.

با استفاده از امکان خواندن و نوشتن می توان کارت شارژ آماده نمود که مثلا در ابتدا مبلغی روی آن بلوک ذخیره می شود که حاوی مبلغ اولیه است و با هر بار استفاده از مبلغ کلی کسر می شود که این مبلغ قابلیت شارژ مجدد دارد و با گذاشتن رمز بر روی سکتور ها باعث می شود تا امنیت پروژه حفظ شود و شارژ مجدد کارت فقط از طریق طراح یا برنامه نویس صورت گیرد از این امکان و با استفاده از کارت های مایفر می توان پروژه های گوناگونی را طراحی نمود.

برای خواندن اطلاعات از بلوک یا نوشتن اطلاعات جدید روی آنها در صورتیکه رمز بلوک مورد نظر را داشته باشیم ابتدا باید دستور Mifare Request را اجرا و در صورت دریافت پاسخ مناسب دستور Mifare anticollision را ارسال و شماره سریال کارت را بدست آورد و پس از آن با استفاده از فرمان Mifare Select شماره سریال دریافتی را مجددا به مایفر ارسال کرد تا مایفر انتخاب شود پس از آن  در این مرحله می توان با استفاده از تابع mfMifareAuthentication2 به بلوک های مختلف کارت دسترسی پیدا کرد برای این کار لازم است تا رمز شش بایتی کارت را که همان KeyA می باشد را وارد نمود در صورت صحیح بودن رمز بلوک مورد نظر باز می شود که پس از آن می توان روی بلوک خواند ، نوشت ، رمز سکتور را تغییر داد .

ساختار حافظه:

هر سکتور دارای 4 بلوک 16 بایتی می باشد که 3 بلوک اول مربوط به بلوک های داده می باشند و بلوک چهارم مربوط به بلوک رمز می باشد

نکته :اولین بلوک از سکتور اول بلوک کارخانه است که شامل اطلاعات کارخانه و شماره سریال کارت هست این بلوک در کارخانه مقدار دهی می شود و غیر قابل نوشتن می باشد.درشکل زیر بلوک کارخانه بصورت بایت به بایت شرح داده شده است.

 

 

برای تغییر رمز بلوک ها ابتدا باید تا مرحله ارسال رمز 6 بایتی به کارت و گرفتن تایید پیش رفت و باید توجه داشت که بلوک های 3و 7و11و15و... قابلیت تغییر رمز را دارند که با تغییر رمز آنها بلوک های مرتبط با سکتور های آنها نیز برای وارد شدن به آنها نیاز به رمز جدید داریم ، پس از ارسال رمز صحیح و وارد شدن به بلوک های نامبرده باید رمز جدید را برای KeyA,KeyB وارد نمود که 6 بایت اول مربوط به KeyA و 4 بایت بعدی مربوط به Access Bits می باشد و 6 بایت انتهایی مربوط به KeyB هستند .

ابتدا کدهای مورد نظر برای هر کدام را انتخاب می کنیم و سپس با توجه به جدول  قسمت Access Bits را تنظیم می کنیم و مجددا روی بلوک مربوطه دیتا تنظیم شده را قرار می دهیم

 

در مثال زیر سعی شده تا رمز بلوک 7 را تغییر دهیم که عدد آبی رنگ بلوک مورد نظر و اعداد قرمز رنگ رمز KeyA و اعداد سبز رنگ Access Bits و اعداد بنفش رنگ Key B می باشند.

AA BB 16 00 00 00 09 02 07 01 02 03 04 05 06   FF 07 80 69 06 05 04 03 02 10 0C

 

01 02 03 04 05 06   -> Key A

FF 07 80 69 -> Access Bits

06 05 04 03 02 10 -> Key B

به سبد خرید اضافه شد.
سبد خرید
سبد خرید
Item removed. بازگرداندن