واضح آرشیو وب فارسی:سایت ریسک: STANGER18-01-2007, 04:52 AMخانم ها و آقایون توجه بفرمائید که تایپ این نکات کوچک هیچگونه جنبه منفی نداره و من تنها در جهت حفظ منافع احتمالی اساتید محترم این نکات خلاصه شده رو در این تاپیک قید میکنم - همچنین متشکرم از کمک هاتون و خداحافظی میکنم از همین لحظه تا به عنوان یک آماتور به دردسر نیفتم چون در مقابلم بزرگانی مثل شما ایستادند سعی میکنم در آخرین متن خودم در این فروم پر محتوا ایرانی به نکاتی کلی اشاره بکنم و چند نکته کوچک و شاید مفید رو متذکر بشم - البته خودم شک دارم مفید باشند در اینجا فقط به حرفه ای ها توصیه میکنم این متن رو مطالعه بکنند چون به مبحث امنیت در مهندسي نرم افزار مربوطه اون هم فقط تئوریک به خاطر کمبود وقت و تازه کارها و نوآموزها صرفنظر کنن از خوندنش لطفا در کل این خلاصه گویی روش من در کرکیینگ و روش مفيد مقابله با اون هستش خوب در خصوص Security Software Engineering - یعنی پیش شرط هایی که شما اساتید محترم از اون ها برای حفاظت از برنامه هاتون استفاده می برید و من به هیچ وجه نمی خوام از اون ها سر در بیارم و فقط بخش کوچکی از روش شخصی خودم رو به فارسی براتون شرح میدهم تا شاید - تکرار می کنم شاید بتونید از برداشت نوع حرکت امثال من برای نفوذ ناپذیری بیشتر برنامه هاتون راهکارهایی رو ابداع کنید - این به نوعی معماری نرم افزارهایی که در ویژوال بیسیک و دات نت و دلفی و این ها همه می نویسید رو تحت الشعاع قرار میده و حالا استارت اولین نکته با یک شوخی کوچیک آخه این چه کاری هستش که میاین می شینین و با آرایه نویسی فرایند کرک رو راحت میکنین باسه امثال من و یادتون باشه با دیباگ کردن خیلی سریع میشه به متغیر اصلی دسترسی پیدا کرد که استثنا هم نداره و در ضمن این تایمرهاتونم برای چک کردن متغیرها و خروج اجباری از برنامه یکمی قدیمی شده و از اواسط دهه نود با اون ها آشنایی دارم من و گرچه این خیلی بدجنسی هستش که میاین و وقفه زمانی میذارین - آخه منظورتون چیه ؟ میخاین نذارین مثلا یک کرکر ناشی بصورت متوالی کدها رو چک کنه ؟ البته کرکر ناشی اصلا نمی فهمه این کدها چی هستند دیگه چه برسه بخواد اونارو چک کنه خوب من متوجه شدم بیشتر برنامه های حرفه ای که تو ایران نوشته میشه توش یه رشته الگوریتم ساده استفاده شده که رو احتساب زمان یک استرینگ - جنریت می کنن و خلاصه میشه گفت کد اصلی دسترسی مجاز به برنامه در آرایه قرار میگیره - این دسترسی مجاز کد میشه - گاهی وقت ها بر پایه اون چیزی که دیدم وارونه مقایسه میشن و استفاده مفرط از حلقه های بی مورد که به ظاهر کار مقایسه ورودی رو برای دسترسی مجاز انجام میدن اما در واقع کاری انجام نمی دهند حالا اونایی که خیلی زرنگترن اومدن یک PIN CODE تعریف کردن باسه پروژه که البته می شه اونو از تو Memory ظرف 5 ثانیه پیداش کرد و بی تاثیره چون من نیازی به کرک کردن اون الگوریتم های لعنتی ندارم بلکه در بیشتر مواقع با IF سر و کار داشتم و اینجا هم همینطور خصوصا در ویژوال بیسیک خلاصه هیچ اهمیتی نداره شما مدام کدهارو می پیچونید و مجبور میکنین یه Normal User از اینجا به اونجا بپره چون یک کرکر کار کشته با این چیزا به قول ایرانی ها قاط نمی زنه خلاصه کنم یه سری حرف هام رو و محترمانه خدمت همه اساتید بزرگوار عرض کنم به این نتیجه رسیدم هیچی تو دنیا سخت تر و راحت تر از کرک کردن یه برنامه VB نیست و ممکنه چن دقیقه ای آدم رو عصبی بکنه و بعد حسابی بخندوندش بهترین راهکار اذیت کردن کرکر در فرایند معمول بالا که شرح اون گذشت این هست که تمام پیغام ها و رمزها رو کد شده در برنامه قرار بدین تا در اولین حرکت کرکر قابل تشخیص نباشن و همچنین دامهایی که در برنامه هاتون تعبیه میکنید به جای اعلام وجود در یک پیام مقادیری رو در رجیستری ذخیره کنه و برنامه بلافاصله خود رو نابود کنه تا دیگه قابل استفاده نباشه کلا پیشنهاد میکنم به جای پیچوندن این همه تابع بیاین و از یه الگوریتم بلند استفاده بکنین چون تو بحث مهندسی معکوسش که بریم یکمی توابع با مزه میشن می بخشین که بحثم زیاد خوشایند نیست - من فقط قبل از اینکه از ایران به روسیه برگردم گفتم حالا که بهم کمک کردین کمکی کوچیک کرده باشم به برنامه نویس های فعلی و یا احتمالا برنامه نویس های آینده شرکت های نرم افزاری ایرانی تا یه دفعه در آینده به سرنوشت نارسیس ختم نشه تلاششون راستی میدونستین روس ها برنامه های داخلی خودشونو کرک نمی کنن و ارزشی زیاد حتی برای کارهای ساده قائل می شن ... قابل توجه برنامه نویس های بزرگ - کرکینگ برعکس تصورتون خیلی راحته - حالا این یعنی چی ؟ یعنی اینکه تو روسیه هر بچه ای میتونه رفرنس هایی رو که به پیام خطا پرش میکنن با یه دیباگر پیدا کنه و بعد شرط هارو تعویض کنه - گذشته از این حرف های زیپ شده الان داشتم رو یه نرم افزار معروف یک و نیم ملیون تومنی ایرانی کار میکردم - ببخشیدا که اسمشو نمی گم - یه تایمر خیلی جالب به روتین اصلی اون وصل بود باسه چک کردن زمان صرف شده تقريبا مثل ویندوز مدیا سنتر و منم اومدمو یه وقفه گذاشتم و دیدم تو برگشت خطا داد - روش امنیتی اون خیلی ساده هست یعنی میاد هر بایت رو با یک شرط چک میکنه ما بهش میگیم پوزیترون البته این واژه ها روسی حساب میشن و علمی نیستن - من کلا هیمشه اینجوری عمل میکنم اول میام سریال اصلی رو در میارم که بالا خلاصه گقتم چجوریا هستش و یه بچه هم میتونه بعد اگه الگوریتمش رو پسندیدم با کم و زیاد کردن بین آدرس روتین ها و پرش اصلی به داخل برنامه ... می شینم رو احتساب این پرش های قشنگ کیجنش رو می نویسم و اگرم الگوریتمشو نپسندیدم که به یه پچ ساده اکنفا میکنم الان به جرات بهتون میگم برنامه های ویژوال بیسیک به راحتی کرک میشن و البته خیلی سخت - نه اینکه ته دلتونو خالی کرده باشم - اصلا - عجب گستاخ شدم من - یعنی که چی این حرف که راحت کرک میشن و خیلی سخت - ساده هستش اونجوری که اساتید بهم با انگشت به سمت نور اشاره کردن و منم تا حدودی با اینکه خیلی خنگ تشریف دارم طی دنلود انواع ریسورسر و دیکامپایلرهای معرفی شده متوجه شدم این اگزه های خیلی گرون قیمت وی بی معمولا N MODE هستند و گاهی P MODE و خوب ضرف چند ثانیه میشه تريس کرد اون ها رو گاهی یه دی اسمبلر جم جور سی و دو بیتی هم میتونه تمام اهداف تجاری رو از هم بپاشه پس خوب به عمق مطالبی که نوشتم فکر کنید در این رابطه هم به برنامه نویس های بزرگ ایرانی پيشنهاد ميکنم که اطلاعات کاملی راجع به هر نوع دیباگر و دیکامپایلری که وجود داره تو دنیا باسه امنیت برنامه ای که مینویسید جمع کنید و یه روش مقایسه ای ترتیب بدین که اساسا کدوم یکیشون جون میده باسه یک کرکر و دلیلش چیه و چجوری میتونه این برنامهء میانجی بیاد و زحماتتونو هدر بده خيلي خلاصه شده بهترين و سريع ترين روش ممکن رو که روش خودم بوده تا حالا بخشي از اون رو شرح دادم راستی اینم بگم وگرنه دلم میترکه - به راستی کیجن کردن برنامه های خالص وی بی ایرانی یک کمی سخته چون از بس کد هارو میپیچونین به سلامتی کرکر بدبختم بی خیال اون روش قشنگ و هنرمندانه میشه و بل اجبار به همون پچ کردن اکتفا میکنه همچنین روش های بی شمار دیگری هم در مهندسی معکوس هست که اساسا ارتباط مستقیمی نمی تونه با معماری نرم افزارهای ایرانی خصوصا در Visual Basic برقرار کنه و لزومی هم به تفسیر اون ها نبود نتیجه گیری : به هیچ وجه از شرط های ساده استفاده نکنید اگر ویژوال بیسیک باشه کار تا حدودی برای کرک سخت میشه استفاده از چند تایمر همزمان برای چک کردن ورودی مجاز توابعی که دنباله دار باشند تله های مناسبی برای اتلاف وقت کرکر هستند استفاده از چند زبان به هیچ وجه توصیه نمی شه من به هیچ وجه با شرط های پویا در کارهای ایرانی برخورد نکردم از اون ها استفاده کنید استفاده از OCX و مقایسه دائمی و ذخیره مقادیر این مقایسه ها در رجیستری توصيه ميشه پیش شرط های مدی فای فایل های کامپایلر شده موشکافي بشن شناسایی و کشف و رفع باگ های احتمالی از قلم افتاده استفاده همزمان از کریپ تورها و پک کننده ها و هر چی که بتونه رمز گذاری مناسب و جدیدتری داشته باشه این مطالب خیلی خلاصه بود و وقت بیشتری نمی تونم بذارم برای این توضیحات اساسا تئوریک قول صد در صد نمی دم ولی اگر قرارداد جدیدی به دستم نرسید طی ماه های آتی وقتی به خونه برگردم براتون مقاله هايی در ارتباط با مقوله کرک و راههای جلوگیری از اون می نویسم البته همراه با کار عملی موفق باشید و امیدوارم مفید بوده باشه هفت هستم - عضو کوچک گروه جنگ برای شوخی فرانسه و روسیه زیبا :laughing: SeVeN / FiGHTiNG FoR FuN Soda18-01-2007, 08:00 AMخوب بيد ممنون خوش بگذره sa 3er19-01-2007, 01:00 AMمطالب جالب و آموزنده ای بود. هر چند دلایل شما برای ترک انجمنها نا مفهموم بود. کار بزرگی می کردید اگر به آموزشهاتون در انجمن ها ادامه می دادید تا کمکی به افزایش سطح امنیتی نرم افزارهای داخلی کنید. در واقع یه نوع پایه گذاری. باز هم متشکر. Hamid_pro20-01-2007, 02:34 AMجالب و آموزنده بود، افرادی مثله شما به پر محتوا تر شدن اين فورم کمک ميکن. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1388]