سوال در مورد crc32

ali guard

Member
سلام دوستان ببخشين من سوالم اينجا مطرح كردم ميخاهم بدونم اين كد كة با
crc32 جى هست
يا بكم crc32 جى هست
 

پیوست ها

  • xx.JPG
    xx.JPG
    1.7 کیلوبایت · بازدیدها: 30

the_king

مدیرکل انجمن
سلام دوستان ببخشين من سوالم اينجا مطرح كردم ميخاهم بدونم اين كد كة با
crc32 جى هست
يا بكم crc32 جى هست


CRC یک کد ای است که برای تشخیص صحت انتقال داده ازش استفاده می کنند. مثلا شما اگه بخواهید یک فایل zip
یک گیگابایتی رو از اینترنت یا از روی DVD کپی کنید، ممکنه که به دلیل پارازیت روی خط اینترنت یا خش روی DVD
قسمتی از داده های فایل خراب شه و تغییر کنه. اما بررسی بایت به بایت این فایل خیلی مشکله. چطوری مطمئن
شویم که این فایل دقیقا همانطوری که هست کامل و سالم دریافت شده؟ CRC به ما کمک بزرگی می کنه.

Cyclic redundancy check یا CRC یک فرمول ریاضی خاص هست که برای یک داده ورودی یک کد رمزی کوتاه ایجاد می کنه
یعنی CRC یک فرمول و الگوریتم مشخصی داره و برای هر داده ای (مثلا محتویات یک فایل) یک کد عددی چند رقمی
می سازه. مثلا در CRC32 که 32 بیتی است، یک کد 32 بیتی مثل 458BE39A یا 67B4A683
کد CRC مثل اثر انگشت آدم ها منحصر بفرد و یکتا است، یعنی هر داده ای کد CRC خاص خودش رو داره.
این چیزی که خیلی مهمه اینه که دو داده متفاوت، حتی اگه فقط یک کمی با هم فرق داشته باشند، کد های CRC
کاملا متفاوتی دارند. یعنی خیلی خیلی احتمالش کم هست که شما دو فایلی داشته باشید که متفاوت باشند،
ولی کد CRC شون مثل هم باشه.

مثلا عبارت THIS IS MY TEST و THIS IS MO TEST شبیه هم هستند و فقط حرف Y به O تغییر کرده، اما کد CRC32
اولی 8683EAB0 و دومی 530C0B36 است.

حالا چطور از CRC استفاده می کنیم؟ فرضا شما موقع داونلود فایل های zip از اینترنت، کد CRC32 محتویاتش رو هم
دریافت می کنید، چون فایل های zip کد CRC32 رو هم داخل خودشون ذخیره می کنند. زمانی که فایل از حالت
فشرده خارج شد، WinRar یا WinZip یا ... از داده های که از حالت فشرده خارج کرده کد CRC32 رو محاسبه می کنند.
اگه این کد CRC32 با اون کد CRC32 که در فایل zip ذخیره شده، یکسان بود، فایل کاملا سالم دریافت شده.
اما اگه این دو تا کد CRC32 با هم فرق داشتند، فایل خراب شده و درست نیست.
 

ali guard

Member
CRC یک کد ای است که برای تشخیص صحت انتقال داده ازش استفاده می کنند. مثلا شما اگه بخواهید یک فایل zip
یک گیگابایتی رو از اینترنت یا از روی DVD کپی کنید، ممکنه که به دلیل پارازیت روی خط اینترنت یا خش روی DVD
قسمتی از داده های فایل خراب شه و تغییر کنه. اما بررسی بایت به بایت این فایل خیلی مشکله. چطوری مطمئن
شویم که این فایل دقیقا همانطوری که هست کامل و سالم دریافت شده؟ CRC به ما کمک بزرگی می کنه.

Cyclic redundancy check یا CRC یک فرمول ریاضی خاص هست که برای یک داده ورودی یک کد رمزی کوتاه ایجاد می کنه
یعنی CRC یک فرمول و الگوریتم مشخصی داره و برای هر داده ای (مثلا محتویات یک فایل) یک کد عددی چند رقمی
می سازه. مثلا در CRC32 که 32 بیتی است، یک کد 32 بیتی مثل 458BE39A یا 67B4A683
کد CRC مثل اثر انگشت آدم ها منحصر بفرد و یکتا است، یعنی هر داده ای کد CRC خاص خودش رو داره.
این چیزی که خیلی مهمه اینه که دو داده متفاوت، حتی اگه فقط یک کمی با هم فرق داشته باشند، کد های CRC
کاملا متفاوتی دارند. یعنی خیلی خیلی احتمالش کم هست که شما دو فایلی داشته باشید که متفاوت باشند،
ولی کد CRC شون مثل هم باشه.

مثلا عبارت THIS IS MY TEST و THIS IS MO TEST شبیه هم هستند و فقط حرف Y به O تغییر کرده، اما کد CRC32
اولی 8683EAB0 و دومی 530C0B36 است.

حالا چطور از CRC استفاده می کنیم؟ فرضا شما موقع داونلود فایل های zip از اینترنت، کد CRC32 محتویاتش رو هم
دریافت می کنید، چون فایل های zip کد CRC32 رو هم داخل خودشون ذخیره می کنند. زمانی که فایل از حالت
فشرده خارج شد، WinRar یا WinZip یا ... از داده های که از حالت فشرده خارج کرده کد CRC32 رو محاسبه می کنند.
اگه این کد CRC32 با اون کد CRC32 که در فایل zip ذخیره شده، یکسان بود، فایل کاملا سالم دریافت شده.
اما اگه این دو تا کد CRC32 با هم فرق داشتند، فایل خراب شده و درست نیست.


سلام خيلى ممنون جواب دروست با من داديد من الان انتى ويروسى نويشتم ميتوانم براى معرفى ويروسها از اين كد ها ايستفادكنم كد crc ويروس با انتى بدهم باد د از انها براى بيدا كردنى ويرس ايستفادة كنم يانى ممكين نيست باد يك فايل سيستم كيربدة با ويروس تشخيس بدة

اكر ميشة بازهم يك سوال ايا اكر نام ويرس تغير بديم باز هم برنامة ميبيند كة اين همون ويروس هست ولى تغير نام كرداست منظورم انهست اكر نامى فايل تغير بشة ان CRC كد تغير نميكنة ممنون
 

the_king

مدیرکل انجمن
سلام خيلى ممنون جواب دروست با من داديد من الان انتى ويروسى نويشتم ميتوانم براى معرفى ويروسها از اين كد ها ايستفادكنم كد crc ويروس با انتى بدهم باد د از انها براى بيدا كردنى ويرس ايستفادة كنم يانى ممكين نيست باد يك فايل سيستم كيربدة با ويروس تشخيس بدة

اكر ميشة بازهم يك سوال ايا اكر نام ويرس تغير بديم باز هم برنامة ميبيند كة اين همون ويروس هست ولى تغير نام كرداست منظورم انهست اكر نامى فايل تغير بشة ان CRC كد تغير نميكنة ممنون

اگه فقط محتویات فایل (داده ها) رو با CRC بررسی کنید، نه، اسم فایل مهم نیست و تاثیری نداره. خیلی از ویروس کش ها
از اینجور موارد استفاده می کنند (نه دقیقا خود CRC32، چون از نظر امنیتی فرمول های بهتر از CRC32 هست)،
اما نه اینکه برای شناسایی ویروس ازش استفاده کنند. چون فقط یکسری خاص از ویروس ها هستند که یک شکل
ثابت و تغییر ناپذیر دارند و بقیه ویروس ها هر فایلی رو که آلوده کنند یک کد CRC32 جدید ایجاد میشه. اگه برای
شناسایی ویروس ها فقط از این کد CRC32 استفاده کنید، فقط ویروس هایی که بقیه فایل ها رو آلوده نمی کنند
و شکل ثابت و تغییر ناپذیری دارند رو پیدا خواهید کرد.

در اکثر محصولات ویروس کش جدید که سرعت اسکن فایل ها کلا کند شده، ویروس کش ها وقتی هر فایلی رو که یکبار بررسی می کنند و
سالم تشخیص اش می دهند، کد (مثلا CRC32 رو فرض کنید) اون فایل رو در یک بانک اطلاعاتی ذخیره می کنند.
اینطوری اگه دفعه بعدی اون فایل اسکن شد، از روی کد CRC32 متوجه می شوند که آن فایل قبلا بررسی شده
و نیازی به اسکن مجدد نیست. اینکار سرعت Scan شدن فایل های حجیم و انبوه رو بالا می بره. اما فقط و فقط اینکار رو تا زمانی
انجام می دهند که ویروس کش Update نشده باشه، چون وقتی ویروس کش Update میشه، ممکنه ویروس جدیدی
رو در همون فایل های به ظاهر سالم قدیمی پیدا کنه. بعد از هر Update شدن، اون بانک اطلاعاتی موجود رو حذف می کنند.
 

جدیدترین ارسال ها

بالا