تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 3 123 آخرآخر
نمايش نتايج 1 به 10 از 29

نام تاپيک: <\^/*\^/>کار با فایل ها و بایت ها; آخرین کار: «الگوریتم های فشرده سازی» ابتدا تا انتها<\^/*\^/>

  1. #1
    کاربر فعال انجمن دات نت عــــلی's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    زیر سایه عرش الهی
    پست ها
    2,335

    11 <\^/*\^/>کار با فایل ها و بایت ها; آخرین کار: «الگوریتم های فشرده سازی» ابتدا تا انتها<\^/*\^/>

    با سلام خدمت همه عزیزان و دوستان برنامه نویس.

    اول یه مقدمه در مورد این تاپیک بگم:

    فکر کنم حدود چند سالی میشه که دارم رو این موضوع فکر میکنم که چطوری بتونم سورس یک فایل Exe رو بدست بیارم و بتونم اونو دست کاری کنم آموزش ها و منابع زیادی دیدم منتها همشون طوری بودن که فقط روی یه موضوع خاصی آموزش میدادن و کار میکردن و اصلاً جامع و عام نبود که بشه فهمید که چطور میشه واقعاً این کارا رو انجام داد.
    هم متاسفانه و هم خوشبختانه که نمیشه سورس یه فایل رو بدست آورد.متاسفانه برای اینکه ما برنامه نویسان دوست داریم بدونیم که شرکتها چطور و با چه فرمولی برنامه نویسی میکنن تا ما هم بتونیم حرفه ای و مثل اونا یا بهتر از اونا برنامه بنویسیم.خوشبختانه برای اینکه کسی نمیتونه سورس برنامه های ما رو ببینه.البته اگه به این موضوع دقت کنین میبیننین که چقدر بی ربط بود!
    ولی اگه دقت کرده باشین میبینین که میخوام چی بگم.
    درسته..
    ما اینجا برنامه های خارجی رو تست میکنیم و تا جایی که میتونیم ریسورس میکنیم.رو سورسش کار میکنیم.واینجا یاد میگیریم که چطور برنامه بنویسیم که به همین راحتی هم ریسورس نشه و مهتر از همه کرک نشه.

    موضوع تاپیک هم بعد از اتمام هر کار عوض میشه... .البته با همکاری مدیران و همکاران عزیز.

    خوب بریم سر اصل مطلب:

    اینو هم بگم ما اینجا هم نرم افزار های ریسورس و هم ضد ریسورس معرفی میکنیم.تا دوستان استفاده زیادی ببرن.

    کار ما اینجا 0 و 1 هست البته 0 و 1 که نه حالا ما با بایت کار میکنیم راحت تر باشه 0 تا 255 خوبه فکر کنم.البته فرقی هم نمیکنه.

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

    ماشالله هزار ماشالله دوستان برنامه نویس دارن تعدادشون زیاد میشه و حالا هم کم کم دیگه وقتشه که همگی باهم پیشرفت کنیم.

    من از دوستان برنامه نویس از مبتدی که هیچی بلد نیست تا پیشرفته و فوق پیشرفته و ... درخواست میکنم که فکر نکنن وقتشون گرفته میشه لطفاً حتی یک پست مفید هم که شده بدین ما همه دوست داریم از همدیگه استفاده کنیم و این رمز موفقیت ماست.
    پس میریم جلو.....>>>>>


    این قسمت هم هر چند ماه یا هفته ویرایش میشه برای همین یه پست جدا برای این قسمت میزنم:

    نرم افزار های کار شده:
    1.شکستن پسورد Winrar از پست 0 تا پست 0.

    کار جاری:
    شکستن پسورد Winrar:
    دوستان دلیل اینکه به این فکر افتادم فقط مشکلات دیگر دوستان نبود.چون این کار، کار خیلی سختیه من اینو انتخاب کردم چون میخوام اولین کارمون یه خورده سخت باشه تا کارای بعدی رو راحت تر انجام بدیم.

    خوب من یه سری توضیحاتی که خودم طی چند وقتی که کار کردم بدم(دوستان خواهشاً اگه اشتباه گفتم لطفاً ببخشین و بگین در غیر این صورت نمیتونیم درست کار کنیم):


    اول اینو بگم که فایل هایی که توسط rar فشرده میشن و اگه پسورد داشته باشن خود نرم افزار rar یه عدد رندوم میگیره و اونو فشرده میکنه که این عدد بین 0 تا 65535 هست که معادل دو بایت یعنی 255* 255 (به وقت میگم که کدوم بایت ها هستن).
    حالا مثلاً من اگه پسورد فایلمو 123 بدم.
    Winrar یک عدد رندوم میگره مثلاً 445 و فایل رو فشرده میکنه.واگه دوباره اونو فشرده کنم.یه عدد رندوم دیگه میگیره مثلاً 25558 که فایل فشرده شده اولی با دومی فرق میکنه.برای همین شکستن پسورد به همین سادگی نیست... .
    حالا ما چطوری میتونیم پسورد رو خیلی آسان و سریع بشکنیم؟
    قطعاً خیلی از شما ها نرم افزار های گوناگونی دیدن که پسورد رار رو پیدا کنن؟ ولی اینو هم باید عرض کنم که پیدا کردن پسورد ممکنه ماها طول بکشه و بستگی به سرعت سیستم و تعداد کاراکتر هایی که پسورد داره انجام میشه.
    کار ما پیدا کردن پسورد نیست.
    کار ما شکستن پسورده.
    یعنی ما باید به برنامه وینرار اون کاری که میخوایم بکنیم رو بدیم.مثلاً همه ما میدونیم که این برنامه برای باز کردن فایل های پسورد دار پسورد وارد شده رو با پسورد اصلی مقایسه میکنه... حالا به هر طریقه کد نویسی یا به هر روشی که هست.
    پس در اینجا دوحالت وجود داره:
    یا پسورد درسته یا غلط. پس شرط داره.
    ما چند تا کار میتونیم بکنیم:
    اول اینکه عملگر مقایسه ای شرط رو تغییر بدیم که اگه پسورد اشتباه بود فایل رو باز کنه که در این صورت اگه پسورد درست باشه فایل اجرا نمیشه.
    دوم اینکه شرط رو در هر حالت برابر درست قرار بدیم یعنی پسورد هر چی که باشه فایل باز شه.
    سوم اینکه اصلاً شرط رو حذف کنیم.


    معرفی برنامه ها:
    نرم افزار قدرت مند DataRescue IDA Pro Advanced 5.2 بدست آوردن سورس برنامه ها به زبان اسمبلی این نرم افزار قابلیت کشیدن فلوچار برای نرم افزار ها را هم دارد:
    دانلود لینک مستقیم با حجم 77 مگابایت:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    نرم افزاری برای بدست آوردن سورس برنامه های تحت دات نت.NET Reflector 5.0:
    دانلود با حجم 1 مگابایت:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و نرم افزاری قدرتمند و حرفه ای برای ضد ریسورس شدن Xenocode Postbuild 2008 for .NET :
    دانلود با حجم 19 مگابایت:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پسورد: tactools.org

    من بازم از اساتید و دوستان برنامه نویس محترم همراهی و کمک میخوام.
    قربان همه شما علی.
    موفق و سربلند باشید.
    Last edited by عــــلی; 14-03-2011 at 08:48.

  2. 8 کاربر از عــــلی بخاطر این مطلب مفید تشکر کرده اند


  3. #2
    کاربر فعال انجمن دات نت عــــلی's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    زیر سایه عرش الهی
    پست ها
    2,335

    11 شکستن پسورد Winrar

    دوستان دلیل اینکه به این فکر افتادم فقط مشکلات دیگر دوستان نبود.چون این کار، کار خیلی سختیه من اینو انتخاب کردم چون میخوام اولین کارمون یه خورده سخت باشه تا کارای بعدی رو راحت تر انجام بدیم.

    خوب من یه سری توضیحاتی که خودم طی چند وقتی که کار کردم بدم(دوستان خواهشاً اگه اشتباه گفتم لطفاً ببخشین و بگین در غیر این صورت نمیتونیم درست کار کنیم):


    اول اینو بگم که فایل هایی که توسط rar فشرده میشن و اگه پسورد داشته باشن خود نرم افزار rar یه عدد رندوم میگیره و اونو فشرده میکنه که این عدد بین 0 تا 65535 هست که معادل دو بایت یعنی 255* 255 (به وقت میگم که کدوم بایت ها هستن).
    حالا مثلاً من اگه پسورد فایلمو 123 بدم.
    Winrar یک عدد رندوم میگره مثلاً 445 و فایل رو فشرده میکنه.واگه دوباره اونو فشرده کنم.یه عدد رندوم دیگه میگیره مثلاً 25558 که فایل فشرده شده اولی با دومی فرق میکنه.برای همین شکستن پسورد به همین سادگی نیست... .
    حالا ما چطوری میتونیم پسورد رو خیلی آسان و سریع بشکنیم؟
    قطعاً خیلی از شما ها نرم افزار های گوناگونی دیدن که پسورد رار رو پیدا کنن؟ ولی اینو هم باید عرض کنم که پیدا کردن پسورد ممکنه ماها طول بکشه و بستگی به سرعت سیستم و تعداد کاراکتر هایی که پسورد داره انجام میشه.
    کار ما پیدا کردن پسورد نیست.
    کار ما شکستن پسورده.
    یعنی ما باید به برنامه وینرار اون کاری که میخوایم بکنیم رو بدیم.مثلاً همه ما میدونیم که این برنامه برای باز کردن فایل های پسورد دار پسورد وارد شده رو با پسورد اصلی مقایسه میکنه... حالا به هر طریقه کد نویسی یا به هر روشی که هست.
    پس در اینجا دوحالت وجود داره:
    یا پسورد درسته یا غلط. پس شرط داره.
    ما چند تا کار میتونیم بکنیم:
    اول اینکه عملگر مقایسه ای شرط رو تغییر بدیم که اگه پسورد اشتباه بود فایل رو باز کنه که در این صورت اگه پسورد درست باشه فایل اجرا نمیشه.
    دوم اینکه شرط رو در هر حالت برابر درست قرار بدیم یعنی پسورد هر چی که باشه فایل باز شه.
    سوم اینکه اصلاً شرط رو حذف کنیم.


  4. این کاربر از عــــلی بخاطر این مطلب مفید تشکر کرده است


  5. #3
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    14 شرحی بر الگوریتم های مرسوم رمزنگاری دوطرفه با کلید

    سلام
    من با الگوریتم و روش رمزنگاری winrar آشنا نیستم ولی یک چیزهای خیلی مختصری از روش های مرسوم رمزنگاری میدانم ...

    شما قصد دارید با دستکاری exe و یا dll های برنامه استاندارد winrar کاری کنید که این برنامه بدون نیاز به رمزعبور همه فایلهای rar را باز کند.

    اما به نظر من الگوریتم های رمزنگاری موجود این اجازه را نمیدهد.

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

    - تئوری اول:
    یک راه رمزگذاشتن روی فایلها این است که مقدار string رمزورودی را با یک الگوریتم خاص هش یکطرف کد کنیم و در فایل ذخیره کنیم و سپس رمز وارد شده از طرف کاربر را هش کنیم و دو کد هش را مقایسه کنیم و در صورت برابری دو کد دیتاها را نمایش دهیم.
    در این راه کار، یا دیتاهای اصلی کد نمیشود و یا اگر بشود ربطی به رمزورودی ندارد.
    در این روش امکانش بسیار زیاد است که بتوان با دستکاری سورس برنامه اصلی کاری کرد که برنامه بدون در نظر گرفتن رمزورودی دیتاها را نمایش دهد.
    این همان چیزی که شما شما فکر میکنید و درست هم است.

    -تئوری دوم:
    ولی الآن رمزنگاری و کد کردهای خیلی پیشرفته و با الگوریتم های خاصی استفاده میشود که این الگوریتم ها از خود رمزعبور به عنوالن کلید کد کننده دیتا ستفاده میکنند و به بیان دیگر کد کردن دیتا را وابسته به رمز ورودی میکند ...

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

    اجازه دهید یک مثال بسیار ساده و ابتدایی بزنم (ای آقا گفته باشم، نخندیدا ! )

    ما میخواهیم یک عدد 4 بایتی (مثلاً حاوی یک شماره تلفن!) با یک رمز 4 بایتی کد و رمزنگاری کنیم ...
    (فرض میکنیم عدد دیتا (مثلاً همان شماره تلفن 77889900 است و رمزوردی 114114114 )

    در ساده ترین و بچه گانه ترین حالت تئوری اول امکان دارد همچین دیتاهایی در یک فایل ذخیره شود...
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    برنامه با چک کردن 4 بایت اول و صحت انها، چهار بایت دوم را نمایش میدهد.
    طبیعی است که میتوان کاری کرد و شرط چک کردن برنامه را غیر فعال کرد تا برنامه همواره و بدون توجه به 4 بایت اول، اقدام به نمایش 4 بایت دوم کند.

    این مثال خیلی بچه گانه و ساده است ولی بحث سر این است که وقتی رمزورودی به دیتا مرتبط نباشد، همانطور که شما هم فرمودید این کار ممکن است.

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

    در ساده ترین و بچه گانه ترین حالت تئوری دوم امکان دارد همچین دیتاهایی در یک فایل ذخیره شود...
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در این حالت فقط دیتا ذخیره شده و این دیتا با رمزورودی XOR شده (شما فرض کنید ساده ترین روش رمزنگایر دو طرفه با کلید!!) و رمزورودی دیتای اصلی را کد کرده ...
    در این شرایط فقط و فقط کد صحیح رمزورودی است که میتواند دیتای اصلی و حقیقی اولیه را باز گرداند و هیچ کس در تاریخ بشریت و ریاضیات و برنامه نویسی نمیتواند بدون رمزورودی صحیح دیتای حقیقی اولیه را از حالت کد شده در اورد و این روش شاه کلیدی هم ندارد ...
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    همانطور که در مثال فوق میبینید فقط و فقط رمز صحیح 114114114 است که اگر مثل یک کلید در قفل الگوریتم (هر چند بچه گانه ما) بچرخد در باز شده و دیتای اولیه صحیح نمایان میشود.

    در این الگوریتم رمزورودی از یک مفهوم password ساده گذشته و به یک key تبدیل شده که تا وقتی کلید درست روی دیتای رمزشده و کد شده نشیند، رمزگشایی انجام نخواهد شد.

    این مثال هم خیلی بچه گانه و ساده است ولی بحث سر این است که وقتی رمزورودی پا به عرصه کلید رمزگذاری و کدینگ بگذارد و به دیتا مرتبط شود، دیگر نمیتوان با دستکاری برنامه نرم افزاری کاری کرد که رمزنگاری را نادیده بگیرید و اصلاً در حیطه توانایی برنامه نیست که رمز را نادیده بگیرد.

    الآن ما الگوریتم های بسیار بسیار پیچیده ای داریم که رمزنگاری و رمزگشایی دو طرفه را با کلید انجام میدهد و چون هدرهای خاصی برای مدیریت داخل به دیتای رمزشده اضافه میکنند اگر یک بایت کلید ورودی یک عدد پایین و پالا باشد در هسته مرکزی به خطا خواهند خورد که معیاری برای تشخیص رمزورودی اشتباه است.
    (تنها راه همان حلقه ای خواهد بود که با سرعت بسیار رمزها و ترکیبات مختلف حروفی را به الگوریتم بخوراند و به امید ان باشد یکی از انها قفل را بچرخاند و در باز شود!)

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

    همانطور که گفتم من از سازوکار winrar اطلاعی ندارم ولی بسیار بسیار بعید است که برنامه نویسان و طراحان الگوریتم های قوی این شرکت این مطالب را ندانند و بیاییند از تئوری اول برای رمزگذاشتن روی فایلهای rar استفاده کنند.

    نتیجتاً اگر شما موفق شوید و دستور مقایسه رمزورودی winrar را هم تغییر دهید تا دیگر پیامی مبنی بر اشتباه بودن رمز نشان دهد و کار خودش را از پس از شرط ادامه دهد، بدون تردید برنامه با خطای زمان اجرا یا همان کرش یا همان runtime error متوقف خواهد شد و شاید در نهایت هم مجبور میشوید پردازه را end task کنید.

    نمیخواهم از آنهایی باشم که همیشه ساز مخالف میزنند و مایوس هستند و مدام میگویند نمیشود و نمیتوانیم و ...
    ولی در هر حال به نظر من این تحقیق و کار ارزش وقتی را که رویش گذاشته میشود ندارد، چون با توضیحات فوق احتمالی برای موفقیت متصور نیستم.

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

    البته در نهایت اینها فقط نظریات من بود که به عنوان نوعی همفکری و مشاوره برای شما دوست عزیز اینجا درجش کردم.
    متاسفم که کمک بیشتری نمیتوانم بکنم، شرمنده.
    انشا ا... هموراه در همه مراحل زندگی و حتی تحقیق و کار جاری این تاپیک موفق و پیروز و سربلند باشید.
    Last edited by _H2_; 15-07-2009 at 11:48.

  6. 7 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  7. #4
    کاربر فعال انجمن دات نت عــــلی's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    زیر سایه عرش الهی
    پست ها
    2,335

    11 تا کجا پیش رفته ایم

    سلام بر داش حسن و برنامه نویسان عزیز.
    بابا چرا اینقدر طئارف میکنی.ما که خودمونی هستیم راحت باش داداش.
    حسن جوون تمام چیزایی که گفتی خیلی قابل فهم و جالب و آموزنده و ... بود ممنونم.(ولی اون مثال اولیه خیلی باحال بودا).


    من اول یه سری نقل قول از حرفای داش حسنمون بکنم بعد توضیحاتی در مورد کارمون هم میدم:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اول یه چیز به دوستان بگم:
    با نظر داش حسن کاملاً موافقم.باید خیلی مراقب باشیم.والبته تجربه هم داشته باشیم.این کار از دست کسایی که برنامه نویس نباشن بر نمیاد.

    داداش ما مثلاً برنامه نویسیما.یه کرکر خالی نیستم که هر چی شرط داره پاک کنیم پدر برنامه رو دربیاریم آخرش فقط اعصاب خودمونو خورد کنیم.(اینم بگم که اصلاً از کرک هیچی حالیم نیست.دی.
    هر چند من خودم زیاد امید ندارم ولی تلاش خودمو میکنم و امیدوارم شما و همه دوستان کمک کنید.


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    منم چیزی نمیدونستم حسن جوون باور کن کاری نداره یه Olydbg بگیر بیفت به جونش همه چی رو میفهمی.
    اگه وینرار از تئوری اول استفاده میکرد که همین که وینرار اومد بیرون کرکشو دو دستی تقدیم شرکتش میکردن.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    داش حسن شما ساز بندری هم بزنین ما تا آخرش باهاتیم.دی:

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    .
    درسته ارزش نداره.ولی جنبه آموزشیش خیلی بالاست پسر میخوای امتحان کن ببین.
    حسن جوون من امتحان کردم و خیلی چیزا هم یاد گرفتم.


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

    اول یه مثال بزنم از زمانی که شما دارید فایل رو فشرده میکنید و پسورد روی فایل گذاشتید:
    من پسورد 123 وارد میکنم.برانامه پردازش میکنه و پسورد رو کد گذاری میکنه برای مثال میشه FF01C1 حالا این تبدیل به بایت و ذخیره میشه.یادم نیست دقیقاً چند بایت برای جاسازی پسورد میسازه.

    نکته جالب اینه که وقتی شما پسورد رو بیشتر از هزار یا یه کاراکتر زیاد وارد میکنید.مثلاً 1000 تا '1' وارد کنید و حالا که میخواید باز کنید اول یک عدد '2' بزارید بعد هزار تا یک رو بزارید میبینید که فایل باز میشه.

    و اما موقع باز کردن:
    شما پسورد رو 123 وارد میکنید.کاری درستی که ونرار کرده این بوده که پسوردی که شما وارد میکنید رو کدگذاری و با اون کدگذاری اصلی امحان میکنه و اگر کد گذاری رو به 123 تبدیل میکرد و با پسورد ورودی شما امتحان میکرد خیلی راحت میشد پسورد رو مشاهده کرد یه مثال کوچک بزنم برای اونایی که درست متوجه منظورم نشدن:

    پسورد 111 وارد شده شما تبدیل به برای مثال FFFFF میشه و این با پسورد اصلی که FF01C1 باشه امتحان میشه.
    حالا اگه وینرار پسورد وارد شده شما که 111 باشه رو کاری نداشته باشه و
    پسورد اصلی که FF01C1 باشه رو 123 تبدیل کنه خوب مسلماً ما پسورد اصلی رو میدیدیم.

    البته یه سری چیزایه دیگه هم فهمیدم که وینرار همون اول پسورد شما رو مقایشه نمیکنه بلکه اول تعداد کاراکتر های پسورد شما رو مقایشه میکنه مثلاً پسورد اصلی 5 کاراکتر داره و پسورد ورودی 3 کاراکتر بنابراین بلافاصله خطا میده.

    برای امروز کافیه سرم درد گرفت.
    همچنان به کمک یاری سبزتان نیازمندیم.دی:
    موفق باشید و سربلند.

  8. 4 کاربر از عــــلی بخاطر این مطلب مفید تشکر کرده اند


  9. #5
    آخر فروم باز mrmmnb's Avatar
    تاريخ عضويت
    Nov 2006
    پست ها
    2,663

    پيش فرض

    منم یه سوال در رابطه با همین وین رر داشتم
    گاهی اوقات بعد از وارد کردن پسورد غلط وین رر فایل رو اسکتراکت میکنه ولی اخرای کار ارور میده (مخصوصا تو فایلهای رر چند تیکه مثل فیلم ها که باید بهم چسبوند) البته پسورد غلط اصولا شبیه پسور اصلی هست حالا چه نوع شباهتی داره نمیدونم چون گاهی یه پسورد شبیه اصلی بزاری همون اول کار ارور بده باید دید از چه ساختاری استفاده میکنه که روی حالت اول سریع ارور نمیده
    گاهی هم پیش اومده پسورد غلط رو که دادماین حالت پیش اومده باشه
    دید موقع اکستراکت دو تا خط پر میشه مثلا یه فایل 7 تیکه اون بالایی 7 بار پر و خالی میشه ولی پایینی به مرور پر میشه اما تو این حالت در حالی که بالایی باید 7 بار پر بشه با مثلا سه بار پر شدنش خط پایینی هم پر میشه و ارور میده معما اینه که چرا اینجوری اکستراکت میشه اگه قراره اخر کار یا اول یا هر جایی نباید سریعتر اکستراکت رو نشون بده
    خلاصه امیدوارم به درتون بخوره
    فقط این دفعه موقع اکستراکتها اگه به مورد های اینجوری برخوردم یاداشت میکنم و میگم شاید به کار اومد

  10. 2 کاربر از mrmmnb بخاطر این مطلب مفید تشکر کرده اند


  11. #6
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    ... گاهی اوقات بعد از وارد کردن پسورد غلط وین رر فایل رو اسکتراکت میکنه ولی اخرای کار ارور میده ...
    به نکته بسیار بسیار جالبی اشاره کردید و این دقیقاً از پیامدهای مطلبی است که در پست قبلی ام در این تاپیک مطرح کردم.

    اصل چیزی که من در پست قبلی ام میخواستم بیان کنم این بود که مقدار پسورد در هیچ کجای فایل rar نهایی اصلاً ذخیره نمیشود و به جایش کل اطلاعات با این پسورد رمزنگاری میشود و خود winrar هم نمیداند پسورد چیست...
    در این نکته بسیار حیاتی و مهم است که خود winrar هم نمیداند پسورد چیست و اینطور نیست که در فقط در یک نقطه صحت پسورد را چک کند و بعد اگر درست بود به کارش ادامه دهد.

    ود شرکت winrar هم بخواهد تقریباً غیر ممکن است بتواند کدی بنویسید که از پسورد صرف نظر کند، تنها راه این چک کردن همه مقادیر در یک حلقه است.

    چیزی که شما گفتید دقیقاً اثبات کننده همین مطلب است که password در اینجا از صرف یک قفل ورودی درب خارج شده و چیزی نیست که بتوان دورش زد.

    password در این مورد درواقع یک key رمزنگاری است که برای از رمز خارج کردن تک تک بایتها و رسیدن به بایت صحیح و درست فقط و فقط باید با همان key رمزگشایی شود و امکان دارد کلی از یک فایل را با یک کلید اشتباه رمزگشایی کنید خطایی رخ ندهد...
    البته نه اینکه فکر کنید رمزگشایی همان تکه صحیح انجام شده، نه، بلکه الگوریتم دارد کار میکند و سعی میکند با کلید اشتباهی که دادیم دیتاهای رمزشده را معنی کند و میتواند معنی اشتباه کند ولی در نهایت تمام این معنی اشتباه است و به احتمال غریب به یقین قبل از پایان 100% این راه کج به علت هدرهای خاص کدرمزگشا دچار خطا خواهد شد و متوقف میشود.

    در همان الگوریتم بچه گانه XOR هم که بیان کرده بودیدم دیدد که دیتای رمزشده 40484654 با انواع مقادیر key قابل رمزگشایی بود ولی نتیجه این رمزگشایی یک معنی غلط و ناصحیح بود ....
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    =====

    مجدد تاکید میکنم password در اینجا یک صد تک مرحله ای نیست و key رمزگشایی تک تک بایتها است که تا وقتی کلید صحیح روی همه بایتها نشنید اطلاعات رمزشده را نمیتوان صحیح و تا آخر و کامل تفسیر و معنی و رمزگشایی کرد.
    دور زدن password (به مفهوم صد تک مرحله ای) قابل تصور است ولی دورزدن یک key رمزنگاری تقریباً غیر ممکن است و تنها راه حلقه چک کننده کلیدهای مختلف است.
    (این کلید در تک تک بایتها رسوخ کرده و هیچکجا هم علناً و آشکارا حضور ندارد.)

    جمیعاً موفق باشید.

  12. 3 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  13. #7
    آخر فروم باز shalineh's Avatar
    تاريخ عضويت
    Mar 2007
    محل سكونت
    فعلا ایران
    پست ها
    1,033

    پيش فرض

    من هم به نوبه خودم تحقیقاتی انجام دادم و به نتایج زیر رسیدم:
    1- نام فایلها و فولدرها مشمول رمزنگاری نمی شوند.
    2- پسووردی در فایل نهایی ذخیره نمی شود و فقط یک متغیر از نوع Boolean وجود یا عدم وجود پسوورد را نگهداری میکند.
    3- تمام مراحل رمز نگاری بعد از مرحله فشرده سازی انجام می شود.
    4- فایل فشرده شده نهایی ، با توجه به پسوورد داده شده Encode می شود. ( یعنی فایلهای اصلی فقط فشرده می شوند و هیچ رمزنگاری روی انها صورت نمیگیرد و این فایل Rar یا Zip نهایی است که بصورت یکجا رمزنگاری می شود )
    5- اگر پسووردی داده نشده باشد، فایل نهایی با پسوورد پیشفرض وین رار کدگذاری می شود. و آن متغیر Boolean فوق الذکر به ّّFalse ست می شود. ( تا از نمایش InputBox درخواست رمز جلوگیری شود )
    6- کدگذاری در هر شرایطی انجام می شود ( چه با پسوورد چه بدون پسوورد )

    خلاصه: گشتم نبود ، نگرد که نیست .
    وین رار با هر پسووردی که داده شود ( درست یا غلط )، عملیات Decoding را انجام می دهد .
    حالا اگر پسوورد درست باشد که بقول شاعر، بزن بریم به سرعت برق و باد.
    ولی اگر درست نباشد ، وین رار در آبشار الگوریتمی Decompress کردن ، فایل نهایی رو چک میکنه و با تابع مناسب Shell ( معتبر بودن فایل رو چک میکنه ) و در صورت بروز خطا، همانی می شود که می شود. ( نمایش پنجره نام فایلها با عبارت ( Wrong Password ) در جلوی نام هر فایل. همین عبارت نشون میده که خود وین رار هم از پسوورد اطلاعی نداره. )

    تنها چاره کار ، همونطور که کاربر بالایی گفت، استفاده از دیکشنری کلمات است و هر کلمه ( پسوورد ) بعنوان کلید واژه به الگوریتم مربوطه معرفی میشود. اگر خطا رخ داد باید کلمه بعدی جایگزین شود الی آخر...

    ممنون و بای.

  14. 3 کاربر از shalineh بخاطر این مطلب مفید تشکر کرده اند


  15. #8
    کاربر فعال انجمن دات نت عــــلی's Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    زیر سایه عرش الهی
    پست ها
    2,335

    پيش فرض

    سلام.
    هرچند خیلی دیر وقت شده ولی طبق تحقیقاتی که من انجام دادم میگم تا همه بدونن که شکستن پسورد Rar غیر ممکنه، چرا؟
    چون بایت های فشرده سازی و الگوریتم فشرده سازی از دو بایت رندوم هست که حدود 65535 نوع فشرده گذاری برای فایل های پسورد نگاری شده وجود داره...

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

    مثال میزنم.


    ما یک فایل داریم به این بایت:
    45
    45
    25
    6
    5
    44
    98
    122
    0

    وقتی پسورد میدیم مثلاً hamid
    این میاد دو بایت رندوم در نظر میگیره مثلاً 45 و 67
    حالا میاد اگوریتم فشرده سازی رو اجرا میکنه...
    چطوری؟
    بر اساس پسوردی که دادیم و دو بایت رندمی که در نظر گرفته...
    یعنی اگه بخویم این الگوریتم رو معکوس کنیم و به حالت اول برگردونیم یعنی فایل رو استخراج کنیم باید پسورد رو داشته باشیم...

    فقط یک راه داره برای شکستن پسورد وینرار و اونم اینه که تمامی کاراکتر ها رو یکی یکی امتحان کنیم....
    الان که وقت ندارم ولی اگه وقت کنم بیشتر روش کار میکنم.
    موفق باشید.

  16. 3 کاربر از عــــلی بخاطر این مطلب مفید تشکر کرده اند


  17. #9
    مدیر انجمن برنامه نویسی Payman_62's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    تهران
    پست ها
    2,445

    پيش فرض

    سلام.
    همون طور که حسن جان گفتن مشکل کار این جاست که خود اطلاعات رمزنگاری میشه.
    اگه اطلاعات بدون رمزنگاری ذخیره میشد و فقط شما مجبور بودی قبل مشاهده اطلاعات پسورد وارد کنی با یه not کردن ( حالا کمی پیچیده تر از یه not کردن ) شرط میتونستی از این مرحله عبور کنی و به اطلاعات برسی. اما مساله این جاست که حتی گذر از این مرحله بدون پسورد درست شما رو به اطلاعات درست نمیرسونه.

    فکر میکنم تنها راه همون روش چک کردن کاراکترهای مختلف یا Brute Force هست که زمان خیلی زیادی میگیره. البته بستگی به تعداد کاراکترهای پسورد و قدرت CPU شما هم داره.
    کیبورد با احتساب حروف بزرگ و کوچیک و سیمبل ها و ... حدود 95 کاراکتر مختلف داره. در این صورت در پسورد
    1 کاراکتری 95 حالت متفاوت
    2 کاراکتری 9025 حالت متفاوت
    3 کاراکتری 857375 حالت متفاوت
    4 کاراکتری 81450625 حالت متفاوت
    5 کاراکتری 7737809375 حالت متفاوت
    باید چک بشه. ملاحظه میکنید که تعداد حالات تصاعدی بالا میره و اگه تعداد کاراکترها زیاد باشه فکر نکنم عمر ما به پیدا کردن پسورد قد بده.

    یه نرم افزاری بود که فایل های اکسپورت رجیستری حاوی پسوردهای ویندوز (HKEY_LOCAL_MACHINE\SAM و HKEY_LOCAL_MACHINE\SECURITY ) یه کامپیوتر دیگه رو بهش میدادی و با همین روش Brute Force پسورد رو به دست میورد. یادمه یه بار با طول پسورد 12 کاراکتر چک کردم. برنامه یه همچین تخمینی زد که مثلا 4E+23 سال طول میکشه. کی میتونه بگه چند تا نسل بعد ما میشه؟

    حالا که بحث ویندوز رو مطرح کردم یاد یه مساله ای افتادم که بد نیست بگم.
    نرم افزاری گرفته بودم که کارش پیدا کردن پسورد ویندوز بود. ولی روشش جالب بود. چون دسترسی به فایل SAM و همین طور شاخه های امنیتی رجیستری در خود ویندوز ممکن نیست یه سیدی بوت میساخت. وقتی با سیدی بوت بالا میومدی فایل SAM رو باز میکرد و شروع میکرد. یادمه پسورد 4 5 کاراکتری رو خیلی سریع پیدا کرد.
    برنامه یه پروگرس بار نشون میداد و بعد از پر شدن پروگرس پسورد رو نشون میداد. اگر Hash پسورد در SAM ذخیره بشه که امکان دیکد و پیدا کردن پسورد اولیه وجود نداره. در Brute Force هم زمان یافتن پسورد مشخص نیست که پروگرس نشون بده.
    روش کارش برام سواله.

  18. 2 کاربر از Payman_62 بخاطر این مطلب مفید تشکر کرده اند


  19. #10
    داره خودمونی میشه AQOUA's Avatar
    تاريخ عضويت
    Mar 2010
    محل سكونت
    Tehran
    پست ها
    91

    پيش فرض

    ما اینجا برنامه های خارجی رو تست میکنیم و تا جایی که میتونیم ریسورس میکنیم.رو سورسش کار میکنیم.واینجا یاد میگیریم که چطور برنامه بنویسیم که به همین راحتی هم ریسورس نشه و مهتر از همه کرک نشه.

    فکر نکنم نرم افزاری باشه که من نتونم کرکش کنم!
    assembly power
    البته با تشکر از استاد خوبم magic_h2001 که توی این زمینه استاد بنده هستن.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا شما هی ترفند یاد بدین!
    با تشکر
    Last edited by AQOUA; 10-11-2010 at 00:26.

صفحه 1 از 3 123 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •