View Full Version : گفتگو: جلوگیری از کپی غیر مجاز برنامه
c4soft
شنبه 27 شهریور 1389, 23:27 عصر
با عرض سلام و خسته نباشید
آیا روشی هست تا از کپی غیر مجاز یک برنامه جلوگیری بشه؟
مثلا وقتی برنامه از هارد کامپیوتر کپی بشه برنامه با نبود ocx بالا نیاد
بدین ترتیب که فایل ocx هنگام اجرای setup بره تو system32 و اونوقت اجرای برنامه مجاز بشه
به نظر شما از کدوم ocx استفاده کنیم بهتره ؟
دوستان عزیز آیا روش دیگری هم سراغ دارید ؟
امیدوارم گفتگو در رابطه با این مهم برای همه ی کاربران بخش اکسس کارامد باشه و نهایتا نتیجه ی این گفتگو با تلاش همه ی کاربران به انجام برسه نه تنها فقط یک یا چند شخص خاص!
با احترام
shahabrayane
یک شنبه 28 شهریور 1389, 00:09 صبح
سلام من از یک قفل usb به نام btis استفاده کردم بد نبود کامپاننت موبوط با اکسس رو هم داره و یه ocx داره که می تونی مسیر دسترسی اونو رو cd قرار بدی بدین ترتیب هر بار برای اجرای برنامه حتما cd رو می خواد و در ضمن اگر قفل شما رو کامپیوتر نباشه برنامه اجرا نمی شه . اگر خواستی پیام بده تا راهنماییت کنم .
c4soft
یک شنبه 28 شهریور 1389, 21:25 عصر
با عرض سلام مجدد
متشکرم دوست عزیز ؛ جناب shahabrayane
آیا بدون نیاز به سخت افزار و سی دی هم میشه این کار رو کرد؟
منظورم همون توضیحات اصلیه تاپیکه ؟
alirezabahrami
یک شنبه 28 شهریور 1389, 21:38 عصر
با عرض سلام مجدد
متشکرم دوست عزیز ؛ جناب shahabrayane
آیا بدون نیاز به سخت افزار و سی دی هم میشه این کار رو کرد؟
منظورم همون توضیحات اصلیه تاپیکه ؟
سلام علي جان !
فكر كنم چيزي مثل تصوير ضميمه مي خواهيد .نه؟
c4soft
یک شنبه 28 شهریور 1389, 22:24 عصر
سلام آقای بهرامی
عزیز پارسال دوست امسال آشنا
یه مدت خوب نبودیدا
امیدوارم موفق باشید
آره خوب این که آخرین روش و بهترین روشه
میشه این مورد رو توضیح بدید؟
متشکرم
shahabrayane
یک شنبه 28 شهریور 1389, 23:03 عصر
سلام علی جان
این که من گفتم cd به طور مثال بود شما می تونید ocxقفل رو تو سیستم 32 کپی کنید و استفاده کنید .
در یکی از تابکها به یه موردی بر خوردم که بکاپ یا پشتیبان ار برنامه می گرفت و به صورت zip و یا فشرده ارائه می کرد که مستلزم کپی کردن ocx مربوطه در سیستم 32 بود و فعال کردن اون در رفرنس
با این کار وقتی برنامه کپی می شد چون اون ocx در کامپیوتر مقصد نبود برنامه اجرا نمی شد .
ارادتمند
محسنی
ali190
یک شنبه 28 شهریور 1389, 23:07 عصر
سلام
بنظرم برای اینکار خوبه ابتدا نسخه تریال رو در اختیار مشتری بذاری (مثل سایتها که برنامه رو بصورت تریال برای دانلود میذارن)
اگر مشتری خوشش اومد و خواست بخره میتونی ازش شماره سرایل H.D.D +CPU و... رو ازش بگیری (برای گرفتن این سریالها هم میتونی از یه برنامه ساده استفاده کنی که کارش درآوردن این سریالها از سیستم کاربره)
بعد که اطلاعات سیستمی مشتریت رو گرفتی شرط شروع به کار برنامه ات رو میذاری که این برنامه درصورتی کار کنه کنه شماره سریالها (ترکیب این شماره ها با خودته) با سریالهایی که از کاربر گرفتی MATCH باشه ، تا برنامه کار کنه در غیر اینصورت به کاربر پیغام ERROR بده.
البته من خیلی ساده نظرم رو گفتم
فکر میکنم در این زمینه جناب نبیل ید طولایی دارند و نظر ایشون 100% ارجحیت داره.
بیصبرانه منتظر اظهار نظر عالمانه ایشون در این زمینه هستم.
یاعلی
c4soft
یک شنبه 28 شهریور 1389, 23:49 عصر
سلام علی جان
با تشکر از راهنماییتون
مطمئنا جناب نبیل در این زمینه هم کاملا حرفه ای هستن
نوشته هاشون رو دنبال میکنم
کاش میبودن و مثل همیشه با راهنمایی کاملشون کمک میکردن
واقعا حیف شد
هر جا که هستن موفق باشن، آرزوی سلامتی براشون میکنم
( شاید جاش اینجا نباشه ولی صادقانه باید بگم که نیمی از موفقیت هام رو با راهنمایی های ایشون کسب کردم و این حقیر مدیون ایشون هستم).
متشکرم
FinalMOB
دوشنبه 29 شهریور 1389, 00:08 صبح
سلام، عرض ادب
با رخصت از دوستان
مي خواستم عرض كنم كه اين كاري كه فرمودن خيلي خوبه ولي الان اين شركتهايي كه ميبينيم براحتي نرم افزارهاشون كرك ميشه و كيجن واسش مياد دارن از يه روشي مشابه همين استفاده مي كنن
شما مي تونين مثلا بياين بجاي اينكه توي دمو، دكمه هاي خاصي رو غير فعال كنين، كدهاي اون دكمه ها رو كلا بردارين، اينجوري تحت هيچ شرايطي برنامه ي دموي شما هك نمي شه.
حالا اگه كسي خواست برنامه رو بخره، شما بياين مثلا شماره cpu و هاردي كه فرمودن رو به صورت هش شده در بيارين و در چندين جاي برنامه قرار بدين كه چك كنه
البته اينم شايد روش خوبي نباشه ولي فكر كنم كار هكر رو سختتر مي كنه.
موفق باشين. منتظر جواب جناب نبیل هم هستيم
c4soft
دوشنبه 29 شهریور 1389, 00:20 صبح
با تشکر
البته به نظر من نسخه ی دمو زیاد نمیتونه خریدار رو روشن کنه
اینم یه نظره :میشه برنامه رو تو یه کاتالوگ یا یه فایل (مثلا PDF) بین خریدار ها پخش کرد
اصل اونه که وقتی برنامه رو تحویل دادی حداقل هر کسی نتونه هک بکندش.
وگرنه ویندوز سون که اون همه براش زحمت کشیدن هم هک شده دیگه بالاتر از اونم هست ؟!
alirezabahrami
دوشنبه 29 شهریور 1389, 11:37 صبح
باهات هم عقیده هستم
بنده تمام داشته ها و نداشته هام رو در زمینه اکسس مدیون ایشونم
اکسس رو با ایشون شناختم
ولی ایشون هستن و حتماً به این مطالب عنایت میکنند و نظراتشون رو ابراز میدارن
100 درصد ایشون در این مقوله صاحب نظرند
واقعاً مبحث مهمیه و میطلبه که از نظرات ایشون استفاده کنیم تا برنامه رو با یک امنیت بالا در یک محیط عمومی عرضه کنیم.
انشاء الله به یک نتیجه خوب در این مقوله برسیم
یاعلی
سلام جناب آقاي ali190 !
بدون ترديد جناب آقاي پيروز مهر نه تنها در اين زمينه بلكه در زمينه اكسس صاحب نظرند و بنده شخصاً بارها به اين موضوع اشاره كرده ام و ايشان در اين تالار خدمات ارزنده و زيادي را ارائه نموده اند و قطعاً اين تالار با تمام اعضاي محترمش به وجود چنين استاد ارجمندي در جمع خود افتخار نموده و مي نمايد . اما اگر كلاه خودمان را قاضي كنيم به اين نتيجه ميرسيم كه واقعاً تمام داشته ها و نداشته هايمان رو در زمینه اکسس مدیون يك نفر نيستيم . من بهرامي به هيچ وجه نمي توانم ادعا كنم كه از روز اولي كه در اين سايت ثبت نام كرده ام همين اطلاعات و تجربياتي كه الآن دارم همان موقع هم داشته ام ؛ بنده تا چند وقت قبل بيشتر سؤال مي كردم و از پاسخ ها و تجربيات همه دوستان ( نه يك نفر خاص ) بهره مند ميشدم و الآن هم كه مبينيد بيشتر در مقام پاسخ دهنده در اين تالار حاضر ميشوم در واقع همان اطلاعات و تجربيات كسب نموده از اساتيد و دوستان بزرگوار اين تالار و حتي در بعضي موارد خاص تالار vb را در اختيار عزيزانيكه به نوعي احساس مي كنم تجربه كافي و لازم را كسب ننموده اند مي گذارم .
ببخشيد اين موضوع راخواستم بصورت يك پيام خصوصي برايت ارسال كنم ولي احساس كردم اين نظر شما كه فرموديد : بنده تمام داشته ها و نداشته هام رو در زمینه اکسس مدیون ایشونم (جناب آقاي پيروز مهر ) شايد به نوعي باعث رنجش خاطر و دلسردي ديگر دوستان علي الخصوص دوستان و عزيزان بزرگواري كه خدمات شايان توجهي را به انحاء مختلف ( با ارائه راهكارهاي مناسب و نمونه هاي كاربري مختلف) ارائه نموده اند شده باشد و از اين بابت بخواهيد با توضيحاتي كه انشاءالله خواهيد داد هر گونه شبهه و يا سوء تفاهم احتمالي را برطرف نمائيد .
موفق باشيد
ali190
دوشنبه 29 شهریور 1389, 14:27 عصر
باسلام خدمت همه دوستان
تشکر میکنم از برادر بزرگوارم جناب بهرامی عزیز بابت تذکر بجا و صحیحشون
بنده تمام داشته ها و نداشته هام رو در زمینه اکسس مدیون ایشونم
قبول دارم که با این حرفم احتمال داره عده ای از من برنجند و با شهامت اقرار میکنم که اشتباه کردم و از همگی دوستان عذرخواهی میکنم
اگر چیزی رو در این زمینه دارم حاصل استفاده از تجربیات و آموزه های همه دوستان است
ولی ذکر یک نکته بسیار مهم است ، این که جناب پیروزمهر حق بسیار بزرگی به گردن تالار اکسس دارن و این قضیه بر هیچ کس پوشیده نیست.
بنده احساس تعصب شدیدی نسبت به ایشون دارم و فوق العاده برای ایشون احترام قائلم ، چون خیلی از جاها که در پروژه هام ناامید شده بودم ایشون مثل یک برادر بزرگتر دست بنده رو گرفتن و بنده همیشه مدیون ایشون هستم
تذکر جناب بهرامی عزیز هم کاملاً بجا و درست بود
من خیلی چیزها از این سایت یاد گرفتم که شاید در هیچ کتاب و کلاسی نمیتونستم بهشون برسم.
دست تک تک عزیزان و خدمتگزارن این سایت رو میبوسم و مخلص تمام تمام بچه های گل تالار اکسس هم هستم.
اگر برداشت بدی از صحبتهای بنده شد بنده مجدداً عذرخواهی میکنم.
یاعلی
ali190
دوشنبه 29 شهریور 1389, 17:23 عصر
باسلام و عرض خسته نباشید
در ادامه بحث کپی غیر مجاز یک فایل اکسس براتون آماده کردم که با یک مکانیزم ساده شماره سریال هارد کاربر رو استخراج کرده و اون رو با شرط شما مقایسه میکنه و دستورات لازمه رو اجرا میکنه
MySerial شماره سریال هارد مشتری شماست (که شما از مشتری بعنوان ورودی درخواست کرده اید) که در این مثال برابر S0E9J1PLC00371 است
با تابع GetHDDSerial.Serial شماره سریال هارد مششتری رو در نرم افزار بدست میاریم
سپس خروجی این تابع رو با MySerial مقایسه میکنیم
اگر منطبق برهم بود که کابر وارد برنامه میشه
اگر هم که نه ، دستورات دلخواه ما اجرا میشه (خروج از برنامه)
این فایل فقط جهت آموزش در اینجا قرار داده شده است و هیچ ادعایی نسبت به درجه امنیتش وجود نداره.
یاعلی
Zero Defect
دوشنبه 29 شهریور 1389, 19:25 عصر
سلام
الان كه پست دوستم آقاي بهرامي رو خوندم ، من خجالت كشيدم !
فقط ميتونم بگم 100 درصد حق با ايشونه و بس ، تمامي صحبتها رو به درستي مطرح كردند و جاي هيچ شكي در صحبتشون نيست
بنده عذر خواهي ميكنم از جانب تمامي دوستاني كه توي پستشون نامي از بنده بردن و باید تا حالا هم یا پستهاشون رو حذف میکردند و یا تصحیح که متاسفانه تا این لحظه رخ نداده
بارها درخواست شد تا هيچ وقت نامي از كسي توي يك پست نبريد تا هم اون شخص رو توي معذوريت قرار نديد و هم ديگر دوستان نظر دهي خودشون رو حمل بر دخالت كردن ندونن ( از بنده گفتن بود و از خیلی از شما هميشه نشنيدن )
خداييش دوستان دیگه بايد خيلي مرد باشن كه ديگه بيان و توي اين مبحث شما شركت داشته باشن
موندم همگي چرا دست به دست هم ميدن كه كارها به هر حال , هر بار به نوعي گره بخوره و هيچ وقت توي يك كار جمعي كار به انجام نرسه
جناب آقای بهرامی ؛ لطفا مبحثتون رو ادامه بدید
........................
نصف مواردی که فرمودید قبلا جواب داده شده
در خصوص ocx و ... (http://barnamenevis.org/forum/showthread.php?t=179073&highlight=ocx)
و این یکی (http://barnamenevis.org/forum/showthread.php?t=108470&highlight=ocx)
جسنچو کنید پیدا میشه
شما مي تونين مثلا بياين بجاي اينكه توي دمو، دكمه هاي خاصي رو غير فعال كنين، كدهاي اون دكمه ها رو كلا بردارين، اينجوري تحت هيچ شرايطي برنامه ي دموي شما هك نمي شه.
این دیگه اسمش نمونه آزمایشی نیست ؛ شما که قرار نیست به جهت ترغیب کاربر , نمای کاربرتون رو به صورتی آزمایشی براش ارسال کنید
البته یکی از روشهایی هست که میشه به اون نیم نگاهی داشت ولی در حد بسیار محدود
حالا اگه كسي خواست برنامه رو بخره، شما بياين مثلا شماره cpu و هاردي كه فرمودن رو به صورت هش شده در بيارين و در چندين جاي برنامه قرار بدين كه چك كنه
بنده متوحه منظورتون میشم ولی جملتون یه مقدار مشکل داره ؛ ضمن اینکه از الگوریتمهای Hash نباید به تنهایی در اینگونه روالهایی استفاده بشه
البته به نظر من نسخه ی دمو زیاد نمیتونه خریدار رو روشن کنه
اینم یه نظره :میشه برنامه رو تو یه کاتالوگ یا یه فایل (مثلا PDF) بین خریدار ها پخش کرد
فلسفه و علت پیدایش روند ارائه نسخه آزمایشی رو به کل زیر سئوال بردید
..........
قبلا چندین بار توی جاهای مختلف نوشتم , دو تاش رو جستجو کردم و نشونتون دادم , بقیه هم هست
مطمئنا دوستان انتظار ندارن برای یک مطلب توشته شده مجددا نوشته بشه مگر اینکه مورد جدیدی رو عنوان کنید
يا علي
c4soft
دوشنبه 29 شهریور 1389, 21:25 عصر
سلام
این پست بنا به دلایلی به این شکل حذف شد
ببخشید
یا حق
microprolog-p96s
دوشنبه 29 شهریور 1389, 23:01 عصر
سلام
ببخشید ببخشید
این که همش شد تعارف و نوشابه باز کردن برای هم .
پس بحث تایپک چی شد ؟
باز هم ببخشید ببخشید ببخشید ببخشید ... ببخشید
Zero Defect
دوشنبه 29 شهریور 1389, 23:52 عصر
سلام c4soft
پستتون رو در حالی که داشتم براتون پاسخی مینوشتم ویرایش کردید !
در جواب بخش زیادی از مطالبتون باید بنویسم که : اشتباه متوجه منظور بنده شدید
همین و بس
...........................
ولیکن در خصوص مابقی مواردتون ( اگه درست یادم مونده باشه )
ببینید , نسخه آزمایشی اسمش روشه , نسخه ای که جهت تست عملکرد واقعی نرم افزار در اختیار مشتری قرار میگیره تا قبل از خرید نسبت به ارزیابی اون اقدام کنه
پس اگر خدمتتون عرض کردم که در تفسیر اون دچار انحراف شدید , به نکته غلطی اشاره نکردم
شما ارائه بروشور ( کاتالوگ ) رو با مقوله مورد بحث اندکی تداخل دادید ؛ این دو اصلا ارتباطی با هم ندارن
در خصوص سطح امنیت اکسس که استناد کرده بودید به اینکه بنده گفتم سطح امنیت اکسس پایینه و ....
به نظر میاد شما دچار اشتباه شدید , بعضی از دوستان اومدن و روشیهایی رو ارائه کردند و بنده عقیده خودم رو عرض کردم که اون روش مورد استفاده این نقائص رو داره و .....
هدف بیشتر بررسی خود اون روش بوده نه زیر سئوال بردن کل امنیت اکسس
ضمن اینکه در بسیاری از اون موارد اصلا صحبت از قفل گداری نبوده بلکه فرضا صحبت از مخفی کردن جداول و مطالبی از این دست بوده
مبحث قفل گذاری توی یک وادی دیگه هستش
اگر مورد خاضی مدنظرتونه اعلام کنید
موفق باشید
ali190
سه شنبه 30 شهریور 1389, 00:04 صبح
فکر نمیکنید اجرای نرم افزار مبتنی بر روش ترکیب شماره سریال هارد و... روش خوبی باشه؟
یعنی نرم افزار یا روشی وجود داره که بشه شماره سریال هرد و... رو تغییربده؟
منظورم اینه که شخص cracker ابتدا بیاد کدهای فایل mde اکسس رو بخونه ، (مثلاً در پست قبلیم من اشاره کردم به شماره S0E9J1PLC00371 ) بعد بیاد با یک روش یا برنامه ای شماره سریال و مشخصات هاردش رو عیناً شرط گذاشته شده بکنه و برنامه رو RUN کنه؟
c4soft
سه شنبه 30 شهریور 1389, 01:09 صبح
سلام مجدد
بعضاً پیش میاد ادم ابراز احساسات میکنه
این بدین دلیل نیست که طرف مقابل رو در معذوریت قرار بدیم که هر چی داره رو کنه
کلا این مساله تموم شد فقط خواستم همه روشن بشن.
------------------
من این دو بحث رو تداخل ندادم؛ توی همون پست اگه توجه میکردید به این نکته اشاره کرده بودم که این نظر شخصیه منه یعنی مطالب زیر:
ارائه ی کاتالوگ هم میتونه جایگزین نسخه ی اموزشی باشه ( نظر شخصی من )
(نسخه ی اموزشی = نسخه ی تحریک کننده جهت هک شدن) این هم نظر شخصی بنده ست.
------------------
خب تا اونجا که من مطلع هستم در کل هیچیک از تاپیک هایی که در این مورد به بحث و گفتگو گذاشته شده، اکسس رو محیطی امن نشون نداده
این مورد رو هم خودتون تاکید کردید که نهایتا میشه هکش کرد (البته توسط افراد خبره)
------------------
من در کل اشتباهاتم این روزا زیاد شده:اشتباه:
Zero Defect
سه شنبه 30 شهریور 1389, 18:34 عصر
سلام
خب تا اونجا که من مطلع هستم در کل هیچیک از تاپیک هایی که در این مورد به بحث و گفتگو گذاشته شده، اکسس رو محیطی امن نشون نداده
این مورد رو هم خودتون تاکید کردید که نهایتا میشه هکش کرد (البته توسط افراد خبره)
عرض كردم اون موارد در خصوص قفل گذاري نبودند ، يادم نمياد توي تالار اكسس در اين زمينه مبحثي مطرح شده باشه ، اگر شده لينكش روقرار بديد تا دقيقا متوجه بشم در خصوص چه موردي داريد صحبت ميكنيد ، فقط لطفا قبلش اون پست و پستهاي مرتبطش رو به طور كامل مطالعه كنيد تا شايد نيازي به درج اون نباشه
مساله كرك شدن ، مشكل كل محيطهاي نرم افزاري هستش و تنها مختص اكسس نيست ، تصور ميكنم كه چندين باره هم به اين دو مورد اشاره كردم كه :
روش كرك كردن فايلهاي اكسس با فايلهاي اجرايي متفاوت بوده و اين مورد به عنوان يك نقطه اميد هستش
دوم هم اينكه تعداد كركرهاي آشنا به نحوه كرك كرد فايلهاي اكسس خيلي كمتر از تعداد كركرهاي فايلهاي اجرايي هستند
كليات صحبتها در همين دو خلاصه میشه
اگر در پستهاي ديگه به موردي غير از اين دو اشاره شده ( تلویحاً و یا صراحتاً ) بفرماييد تا توضيح داده بشه ( مواردي كه بنده نظر دادم ، با نظرات ديگر دوستان كاري ندارم )
بهتره موردي اشاره كنيد ، مبهم مطرح كردن موضوع ، مشكلي رو رفع نميكنه
اگر به دنبال این موضوع هستید که نرم افزارهاتون اصلا کرک نشه , باید به کل قید برنامه نویسی رو بزنید
من این دو بحث رو تداخل ندادم؛ توی همون پست اگه توجه میکردید به این نکته اشاره کرده بودم که این نظر شخصیه منه یعنی مطالب زیر:
ارائه ی کاتالوگ هم میتونه جایگزین نسخه ی اموزشی باشه ( نظر شخصی من )
(نسخه ی اموزشی = نسخه ی تحریک کننده جهت هک شدن) این هم نظر شخصی بنده ست.
دوست من , هدف زیر سئوال بردن نظر شخصی کسی نیست بلکه حصول و هدایت به سمت یک مسیر منطقی تره
در ادامه بحث کپی غیر مجاز یک فایل اکسس براتون آماده کردم که با یک مکانیزم ساده شماره سریال هارد کاربر رو استخراج کرده و اون رو با شرط شما مقایسه میکنه و دستورات لازمه رو اجرا میکنه
MySerial شماره سریال هارد مشتری شماست (که شما از مشتری بعنوان ورودی درخواست کرده اید) که در این مثال برابر S0E9J1PLC00371 است
با تابع GetHDDSerial.Serial شماره سریال هارد مششتری رو در نرم افزار بدست میاریم
سپس خروجی این تابع رو با MySerial مقایسه میکنیم
اگر منطبق برهم بود که کابر وارد برنامه میشه
اگر هم که نه ، دستورات دلخواه ما اجرا میشه (خروج از برنامه)
این فایل فقط جهت آموزش در اینجا قرار داده شده است و هیچ ادعایی نسبت به درجه امنیتش وجود نداره.
یاعلی
چند نکته وجود داره , شما به واسطه SMARTVSD دارید کد هارد رو استخراج میکنید , این رویه قاعدتا در ویندوزهای بعد از ویندوز XP جوابگو نیست
در رابطه با کدینگی هم که نوشتید ؛ روال شما مرتبط با ارائه نسخه آزمایشی نیست
شما در واقع دارید برنامه رو مقید می کنید به یک کامپیوتر خاص
این رویه برای چه کسی خوبه ؟
مثلا کارمندی که توی یک شرکت کار میکنه و میخواد نرم افزارش فقط روی سیستم خودش کار کنه و بعد از رفتنش شرکت دیگه نتونه از اون استفاده کنه و ... ( فکر کنم تا حالا ده دوازده تایی ایمیل در همین خصوص داشتم )
در یک محصول عمومی قابل استفاده نیست
فکر نمیکنید اجرای نرم افزار مبتنی بر روش ترکیب شماره سریال هارد و... روش خوبی باشه؟
خوبه
یعنی نرم افزار یا روشی وجود داره که بشه شماره سریال هرد و... رو تغییربده؟
دو گونه شماره سریال وجود داره , یکی شماره سریال سخت افزاری هارد دیسک که قابل تغییر نیست و دور زدن اون اندکی دشواره و دومی شماره سریال نرم افزاری هارد دیسک و یا همون Volume ID , در این خصوص قبلا مطلبی درج شده بود و در اون عنوان شد که تغییر اون سخت نیست ولیکن در این حالت هم تا وقتی که کرکر یک کد فعال سازی معتبر در دست نداشته باشه کارش یه مقدار با مشکل مواجه میشه
منظورم اینه که شخص cracker ابتدا بیاد کدهای فایل mde اکسس رو بخونه ، (مثلاً در پست قبلیم من اشاره کردم به شماره S0E9J1PLC00371 ) بعد بیاد با یک روش یا برنامه ای شماره سریال و مشخصات هاردش رو عیناً شرط گذاشته شده بکنه و برنامه رو RUN کنه؟
خوندن کدهای یک فایل mde شده اندکی سخت تر از اونی هست که تصور میکنید و ممکنه خیلی از کاربران قادر به اجرای اون نباشن
موضوع مد نظر شما میشه ولی نه به شیوه ای که شما توضیح دادید , یه مقدار دردسز ساز تر از این موردی هست که شما فرمودید , در مجموع زیاد فکرتون رو به این سمت هدایت نکنید
و در نهایت , مقوله امنیت مقداری جدا از خود برنامه نویسی عادی برنامه ها هستش
موفق باشید
c4soft
سه شنبه 30 شهریور 1389, 18:56 عصر
سلام مجدد
به طور خلاصه و آمیانه توضیح میدم
برنامه ای رو برای کاربر ارسال کردم و نمیخوام اون کاربر با کپی کردن برنامه توی یه سیستم دیگه ازش استفاده کنه
بحث های مرتبط با این موضوع رو دنبال کردم
ولی در کل نتونستم یه جمع بندی کامل ازشون داشته باشم
متشکرم
ali190
سه شنبه 30 شهریور 1389, 20:31 عصر
این رویه برای چه کسی خوبه ؟
مثلا کارمندی که توی یک شرکت کار میکنه و میخواد نرم افزارش فقط روی سیستم خودش کار کنه و بعد از رفتنش شرکت دیگه نتونه از اون استفاده کنه و ... ( فکر کنم تا حالا ده دوازده تایی ایمیل در همین خصوص داشتم )
در یک محصول عمومی قابل استفاده نیست
c4soft عزیز ، اگر خواسته ات فقط در همین حده خوب از این روش استفاده کن
شما به واسطه SMARTVSD دارید کد هارد رو استخراج میکنید , این رویه قاعدتا در ویندوزهای بعد از ویندوز XP جوابگو نیست
یعنی در ویندوزهای بعد از xp ما به هیچ عنوان نمیتونیم این سریال رو با function از سیستم بیرون بکشیم؟
دو گونه شماره سریال وجود داره , یکی شماره سریال سخت افزاری هارد دیسک که قابل تغییر نیست و دور زدن اون اندکی دشواره و دومی شماره سریال نرم افزاری هارد دیسک و یا همون Volume ID ,
جناب نبیل یعنی شماره سریال سخت افزاری هارد رو هم میشه دور زد یا تغییرش داد؟(سریال سخت افزار؟)
اگر به دنبال این موضوع هستید که نرم افزارهاتون اصلا کرک نشه , باید به کل قید برنامه نویسی رو بزنید
یعنی هیچ برنامه نویسی در دنیا وجود نداره که بتونه ادعا کنه نرم افزار قابل کرک شدن نیست؟(این که خیلی بده)
راستی من تو ذهنم به یک مسئله ای فکر میکنم(شاید هم عملی نباشه)
برنامه های ستاپ ساز رو حتماً دیدید
میخوام این نرم افزارهارو به صندوقچه ای تشبیه کنم که میشه یک سری فایل رو میشه درش ریخت و این برنامه در خروجی خود فایلی را به کاربر میدهد که در دل این فایل چند فایل دیگر قرار گرفته است ، میخواستم بدونم آیا این امکان وجو داره بدون نصب این فایل ستاپ بشه فایلهای داخلش رو بیرون کشید یا دید یا بهش دسترسی داشت؟
اگر جواب مثبت که هیچ
اگر نه :
میشه یه برنامه ای ساخت که فایل اجرایی (مثلاً خروجی compile شده یک پروژه vb یا اکسس با تمام متعلقاتش) رو در داخل این برنامه پکیج کرد و خروجی این برنامه بگونه ای باشه که مثلاً با دو بار کلیک کردن بر روش فایل اجرایی مد نظر رو اجرا کنه (انتخاب و تنظیم توسط خود کاربر) و دیگه هیچ کس نتونه به هیچ کدام از فایلهای اجرایی یا مهم یک برنامه دسترسی داشته باشه (یک مثال دیگه : زمانیکه ما یک فایل رو زیپ میکنیم ، وقتی روی فایل زیپ شدنه دوبار کلیک میکنیم محیط برنامه زیپ کننده باز میشه که فایل ما در اونجا قرار داره و با دوبار کلیک بر روی فایلمون اون رو اجرا میکنیم )
البته این مسئله از از نظر من با پروسه PORTABL سازی یک برنامه کاملاً متفاوته ، چون شاید نیاز بشه یک سری از پیش نیاز های برنامه (OCX ، DLL و...) نیاز به رجیستر شدن داشته باشن
البته باز هم متذکر میشم چیزیست که به ذهنم رسیده و امکان هم داره اصلاً وجود خارجی نداشته باشه و پتانسیلی جهت به وقوع پیوستن این قضیه (یک رویا)
ممنون
یاعلی
Zero Defect
چهارشنبه 31 شهریور 1389, 19:06 عصر
سلام
c4soft عزیز ، اگر خواسته ات فقط در همین حده خوب از این روش استفاده کن
برعکس ! شما نباید از این روش استفاده کنید
ali190 عزیز شما در برنامتون برنامه رو مقید به یک کد خاص کردید و غیر قابل انعطاف , هر کاربر هم که کد سخت افزاری متفاوتی داره , یعنی میخواید اول کد رو از کاربر بگیرید ؛ بعد اون رو توی سورس برنامه تون قرار بدید و بعد تحویلش بدید !؟
یعنی در ویندوزهای بعد از xp ما به هیچ عنوان نمیتونیم این سریال رو با function از سیستم بیرون بکشیم؟
با SMARTVSD نه , در اون صورت هم تازه در ویندوزهای دیگه بعد از ویندوز ایکس پی با مشکل مواجه میشه
یعنی شماره سریال سخت افزاری هارد رو هم میشه دور زد یا تغییرش داد؟(سریال سخت افزار؟)
جملات رو با دقت مطالعه نمیکنید , توضیح داده شد
در خصوص مابقی مبحثتون , اصلا ربطی به موضوع که نداشت
اون روش هم قابل کرکه , نرم افزارهایی وجود دارند که این کار رو انجام میدن ( به طریقی مشابه ) که میشه به MoleBox اشاره کرد ولیکن در خصوص فایلهای اکسس کاربردی نداره
خدانگهدار
ali190
پنج شنبه 01 مهر 1389, 18:07 عصر
سلام
من حیث المجموع شما چه روش یا روشهایی رو برای کپی غیر مجاز یک برنامه پیشنهاد میکنید
میشه تیتروار اشاره بفرمائید
ممنون و متشکر
یاعلی
Zero Defect
پنج شنبه 01 مهر 1389, 18:21 عصر
ضمن سلام
نظر به اینکه برخی دوستان سئوالاتی رو در قالب پیغام خصوصی ارسال میکنند و اینکه چرا بعضی پاسخها به صورت سطحی ارسال میشه لازم هست توضیحاتی ارائه کنم
مقوله برنامه نویسی امنیتی که گونه ای از اون در زمینه قفل گذاری ( قفل نویسی ) نمود پیدا میکنه بسیار با خود روال عادی برنامه نویسی برنامه ها متفاوته
در این مبحث شما باید برای درج هر کدی دلیلی منطقی داشته باشید چرا که ممکنه کد نویسی زائد در بخش رواهای کنترلی نقاط شکستی رو به وجود بیاره که کرکر از همون نقاط برای نفوذ به سیستم قفل گذاری شما استفاده کنه
دیگه خبری از دستورهای IF بی هدف نباید باشه , چرا که هر IF یعنی یک نقطه انشعاب کنترلی که با تغییر اون کرکر میتونه مسیر و روال کنترل رو به دلخواه خودش تغییر بده
البته منظور من ساده سازی کدها نیست بلکه به عکس در این نوع برنامه نویسی دقیقا باید از روش Spaggeti Code که در واقع روشی جهت به هم ریزی کدینگ هست استفاده مطلوب و موثر به عمل بیارید
جهت یک قفل نویسی موثر شما به چندین شرط نیاز دارید که اگر اونها رو در خودتون احساس میکنید , میتونید مسیر رو ادامه بدید , در غیر اینصورت مسیر طولانی رو در پیش خواهید داشت
مسلط در برنامه نویسی
در قدم اول و در اولین شرط حداقل شما باید از سطح متوسط به بالا باشید , این سطح رو خود شما تعیین نخواهد کرد , بلکه جامعه آماری برنامه نویسانی تعیین خواهند کرد که دارید در اونجا فعالیت میکنید
به طور مثال ممکنه شما در ایران امتیاز 7 از ده رو به خودتون بدید ولیکن فرضا در کشوری مثل روسیه امتیازی بیشتر از 4 از ده رو به خودتون اختصاص ندید ( کشورها به طور فرضی مثال زده شدند , گویی که شکی در تسلط بیشتر روسیه در این مقوله نیست )
هر چه شما برای جامعه برنامه نویسی با میانگین امتیاز بالاتر دارید قفل مینویسید به همون نسبت هم کار شما دشوار تر خواهد بود
در این رویه قفل گذاری شما باید گذشته از اینکه به مقوله برنامه نویسی مسلط باشید باید با مفهوم خود کد ها هم کاملا آشنا باشید
به طور مثال باید بدونید در یک رویه چرا باید از IF استفاده کنید و در جایی دیگه چرا باید فرضا از دستور Case استفاده کنید ( دستوراتی که گاها به عنوان معادل به کار میرن ) و موارد بسیاری دیگه در برنامه نویسی امنیتی نباید ( نمیتونید !! ) از کنار اونها به سادگی یک برنامه نویسی عادی بگذرید
تحلیل در برنامه نویسی امنیتی جایگاهی بالا داره , در هر کد بایستی نقشه کلی ورودی ها و خروجی ها رو به درستی ترسیم کنید چرا که اساس و کلیات یک قفل بر مبنای همین ورودی ها و خروجیهاست فرضا در ابتدا و طی فرآیندی خاص قفل یک کد رو میگیره و پس از طی عملیاتی خاص نسبت به صحت این کد ورودی اطلاعاتی رو در اختیار شما قرار میده
مراقب باشید , چرا که ممکنه کاری کنید که کرکر اصلا با روال کنترلی شما کاری نداشته باشه و تنها بیاد در مرحله آخر خروجی مطلوب خودش رو ارائه کنه
مثالی میزنم که متاسفانه برای بسیاری قفل نویس ها هم رخ داده و در واقع یکی از راههای دور زدن برخی سیستمهای قفل گذاریه
فرضا شما تابعی در داخل سیستم کنترلی خودتون دارید با نام CheckRegistration این تابع در واقع میاد و با بررسی برخی شرایط اعلام میکنه که آیا برنامه رجیستر شده و یا نه
در این حالت کرکر اقدام به ایجاد تابعی با همین نام نموده و مقدار اون رو همیشه برابر با True و یا همون رجیتسر شده قرار خواهد داد
فرضا
تابع اصلی این بوده
Function CheckRegistration () as boolean
انجام عملیات کنترلی و در نهایت مقدار True و یا False رو برخواهد گردودند
CheckRegistration=True OR False
End Function
این تابع بدین صورت و به سادگی تغییر پیدا خواهد کرد ( در گونهه ایی که قفل نویس دچار خطا شده )
Function CheckRegistration () as boolean
CheckRegistration=True
End Function
در این حالت تابع CheckRegistration همواره مقدار True و یا رجیستر شده رو برخواهد گردوند
البته رویه به همین سادگی که عرض کردم شاید برای شما نباشه ولی برای کسانی که بدونن باید چه کار بکنند به همین سادگیه که عرض کردم
بخش دومش رو در فرصتی دیگه براتون خواهم نوشت متاسفانه در حال حاضر امکانش نیست
یک مطلبی رو هم اینجا بنویسم بنده به هر حال یک نفره این مطلب رو تصمیم گرفتم توی اینجا به سرانجامی برسونم , قصد نوشتن دیگه نداشتم تا اینکه دوستمون ali190 اون خرابکاری رو کردند و تنها به جهت کمک مطالب رو مینویسم و بعدش شما رو به خیر و ما رو هم به سلامت ( ظاهرا اون دو عزیز تنها یه مقدار توی درصد هاشون انحراف داشتند و نه در کلیات )
موفق باشید
Zero Defect
پنج شنبه 01 مهر 1389, 22:59 عصر
ضمن سلام
مطلب پست قبلی رو ادامه میدم
خطاهایی که در زمینه قفل گذاری ( خصوصا بر روی اکسس ) رایجه در برخی مواقع به گونه ای هست که حتی حرفه ای ها هم اون رو مرتکب میشن .
ساده انگاری این پروسه ( قفل گذاری و قفل شکنی ) و کم اطلاعی از کم و کیف کلی اون میتونه دلیل رخداد این خطاها باشه , خطاهایی که در برخی مواقع آدم با دیدن اونها فکر میکنه که آیا برنامه نویسی خود اون برنامه و برنامه نویسی بخش قفلش رو یک نفر انجام داده و یا نه !
برخی خطراتی که سیستم های قفل گذاری رو میتونه با مشکل مواجه کنه بدون اشاره به راه حل اونها ( اشاره به راه حل نه از نظر زمانی امکان پذیره و نه از نظر مکانی )خدمت شما عرض میکنم , بدون رفع این نواقص تصور نکنید که سیستم کنترلیتون توان دفاعی بالایی داره
روتین قفل گذاری شما بایستی مجهز به روالهای AntiDebug باشه , تا اجازه مهندسی معکوس و کشف روال قفل گذاری رو نده
در پروسه قفل گذاری بایستی به مقابله با ابزارهای Monitoring بپردازید , ابزارهایی که رفتار کلی برنامه شما رو تحت نظر میگیرند و قادر هستند برخی نقاط شکست رو در اختیار کرکر قرار بدند
استفاده از روالهای رمزنگاری پیچیده که عملا نفوذ از طریق پروسه Brute Force رو با مشکل مواجه کنند
سیستم های کنترل زمان تا از به عقب کشیدن تاریخ سیستم در قفل گذاریهایی که مبتنی بر زمان کارکرد هستند جلوگیری به عمل بیاره , شما در واقع بایستی عملیات BackDate رو تحت کنترل خودتون در بیارید
نوع دیگه ای از همون عمیات کنترلی متوقف کردن زمان سیستم هستش , که زمان سیستم رو به صورت ثابت در میارن , شما باید روالی جهت کنترل و بررسی گذر متوالی زمان داشته باشید ( البته هم انجام عملیات توقف زمان مقداری مشکله و هم کنترل اون )
پس از شناخت کافی از این پروسه ها شما در واقع در قدم بعدی باید اقدام به شناسایی ابزارهای متعارف و غیر متعارف مورد استفاده توسط کرکرها کنید تا بتونید در مواقع لزوم و در داخل پروسه قفل گذاری به مقابله با اونها بپردازید
این امر مستلزم آشنایی نسبی با این ابزارها و نحوه عملکرد اونهاست , ضمن اینکه همواره باید روتین قفل گذاری خودتون رو جهت انطباق با این ابزارها و ابزارهای جدیدتر مرتبا مورد بازنگری قرار بدید
ولیکن یک توضیح هم بدم , میزان پیچیدگی مورد نیاز میتونه رابطه مستقیمی با میزان وسعت عملیات شما داشته باشه
فرضا اگر اقدام به نوشتن یک برنامه جهت یک مغازه کردید و تنها قصد فروش به اون مغازه رو دارید ( و عملا برای جایی دیگه کاربرد چندانی نداره ) میشه گفت شما به هیچ یک از مقوله های فوق نیازی ندارید و نوشتن یک روتین قفل گذاری ساده هم جوابگو هستش
البته در بخش خود کد نویسیها و نحوه درج اون و نکاتی که باید صد در صد رعایت بشه تا روال نفوذ به بخش کدینگ مقداری با سختی مواجه بشه مطلب بسیاره ولی از اونجایی که هدف از این گفتگو کد نویسی نیست , پس نیازی به توضیح اون موارد هم در اینجا احساس نمیشه
همگی موفق باشید
ali190
دوشنبه 05 مهر 1389, 18:24 عصر
باسلام و عرض خسته نباشید
دوستان مقاله ای رو اینجا براتون میذارم در مورد روشهای کرک نرم افزار و جلوگیری از کرک شدن اون
خوندنش خالی از لطف نیست
یاعلی
RESMAILY
سه شنبه 13 مهر 1389, 09:26 صبح
به نام خدا
با سلام به C4soft
خارج از بحث فوق تخصصي دوستان. يك راه حل وجوددارد كه ساده است و در اغلب موارد جواب مي دهد و تاوقتي كسي به كد برنامه دسترسي نداشته باشد قابل اعتماد است آن است كه يك روش براي رمزگذاري اعداد يا حروف ابذاع نماييد. مثلا اعداد را به مبناي 17 ببريد و براي عددهاي 10 تا 17 از كاراكترهاي اختصاص استفاده نماييد.
يك جدول براي ثبت مشخصات رمز درست كنيد. مثلا با دو يا سه فيلد
تعداد ركورد يك يا دو جدول خود را با عدد معين جمع يا ضرب كرده و با روش خودتان رمز نموده در يكي از فيلدها كنترل نماييد.
سريال نرم افزاري درايو را رمز نموده ودر فيلد ديگري كنترل نماييد.
مي شود يك اكتيو اكس يا دي ال ال ويژه را در پرونده سيستم OS كاربر تعبيه نمود.
اجمالا با دو يا سه شرط فوق برنامه فقط در يك رايانه اجرا مي شود و مي شود اين شرط را بگذاريد كه اگر غير از اين بود ماكرو ها و جداول و كويري ها را حذف كند. و برنامه كلا از حيض انتفاع بيندازد.
ابراهیـــم
چهارشنبه 14 مهر 1389, 18:03 عصر
با سلام و خسته نباشید خدمت تمامی دوستان
در خصوص مطلبی که جناب RESMAILY بیان داشته اند بسیار ممنون خواهیم بود اگر ایشان یک مثال عملی و عینی هم در این زمینه ارائه بفرمایند.
با تشکر و آرزوی موفقیت
c4soft
چهارشنبه 14 مهر 1389, 21:04 عصر
سلام
با تشکر از دوست عزیزمون جناب RESMAILY
و تشکر از ایشون و تمامی دوستانی که این تاپیک رو دنبال کردن و جوابهای با سطح های مختلف علمی دادند
بنده ی حقیر این تاپیک رو با علمی که داشتم ایجاد کردم و فقط هم جواب پست اولم برام مهم بود ولی در کل بحث اینقدر پیچیده شد که دیگه هیچ رقبتی در خصوص پیگیری این تاپیک ندارم
با اینکه اینقدر این تاپیک بازدید داشته ولی هیچ کس از دوستان مابقی در این بحث شرکت نکردن
ظاهرا همه دنباله گیر نتیجه نهایی و حرص و جوش خوردن اندکی هستن
در کل حالا هم اومدم یه تشکر ازتون بکنم و برم دنبال کارم
متشکرم دوستان عزیز
راستی
دیشب یا پریشب بود که در یکی از همین رسانه های ملی پخش شد که یکی از هموطنان عزیزمون نرم افزاری ساختن که فقط با چند کلید میشه یک قفل حرفه ای برای نرم افزار درس کرد که همه نوع فایل رو هم ساپورت میکنه...
متاسفانه ندیدم و نشنیدم که اسم نرم افزار ایشون چی بوده ولی به زودی وارد بازار میشه
غیر حرفه ای ها نگران نباشن... حل میشه
mehrannemati
سه شنبه 27 دی 1390, 16:07 عصر
Public Function Regist()
Dim fs, D, drive
Const srn = -532719843
Const F_NAME = "hojanbar.MDB"
drive = Left(Application.CurrentProject.Path, 2)
Set fs = CreateObject("Scripting.FileSystemObject")
Set D = fs.GetDrive(drive)
Select Case D.DriveType
Case 0: T = "Unknown"
Case 1: T = "Removable"
Case 2: T = "Fixed"
Case 3: T = "Network"
Case 4: T = "CD-ROM"
Case 5: T = "RAM Disk"
End Select
If F_NAME <> Application.CurrentProject.Name Then
MsgBox "äÇã ÈÑäÇãå ÊÛííÑ ßÑÏå ÇÓÊ", vbOKOnly + vbMsgBoxRight, "ÎØÇ"
DoCmd.Quit
End If
Select Case D.IsReady
Case True
If srn <> D.SerialNumber Then
MsgBox "ãÌÇÒ Èå ÇÓÊÝÇÏå ÇÒ ÓíÓÊã äãí ÈÇÔíÏ" & Chr(13) & D.SerialNumber
DoCmd.Quit
End If
End Select
End Function
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.