ايران ويج

نسخه‌ی کامل: فراخوان بزرگ: برطرف کردن خطر نبود Copyright
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
amirjan نوشته است:ببین من برای چی میگم قفل سخت افزاری از همه بهتر برای اینکه کوچکترین کار های برنامه با قفل چک میشه !  :rolleyes: در واقع تنها قفلی که من هنوز به طور کامل نتونستم ردش کنم ، همین قفل usb آقا هادی هستش ، و اگر یه روزی قرار باشه روی برنامه ای قفل نصب کنم حتما مزاحم هادی خان میشم ! چون کارش حرف نداره . Biggrin
روش کار قفل آقا هادی هم به این صورت هستش که یه سری از متغییر های برنامه رو گذاشته تو قفلش ! ...
ايول كلي اميد وار شدم Shy
فقط يه چيزي بگم هيچ متغيري توي قفل نيست همه چيز توي خود برنامه هست فقط كاري كه من كردم اينه كه ميدونم كركر دنبال يه IF مي كرده كه دودرش كنه منم از اين if ها براش زياد گذاشتم فقط همه if ها نبايد دودر بشن بعضي از اين if ها هم كه بايد دودر بشن ارور نمي دن و برنامه به خوبي كار مي كنه فقط بعضي از متغير هاي ديگه رو خراب مي كنن كه نتيجه كار درست از اب در نمي ياد در واقع يه اسپاگتي نوشتم كه اگه سورس برنامه رو هم داشته باشي چيزي ازش سر در نمي ياري واي به وقتي كه اسمبلي باشه
"امضا کردن برنامه توسط خود برنامه و ذخیره کردن اون در خود برنامه ..."
اين كار رو بقيه برنامه ها هم مي كنن مثل check sum مي مونه در واقع همون جا كه مي خواي جك سام رو چك كني باز مي شه دورش زد تازه محاسبه اونهم يكم دردسر داره
قبل از هر چیز از mri_6889 به خاطر باز کردن این forum تشکر میکنم. خیلی ایده جالب و به جایی بود.

نقل قول: ابتدا روي روشهاي مختلف مانند اينترنت، قفل Cd و... بحث شود و مزيتها و عيبهاي هريك بررسي شود

همون طور که میدونیم ارتباط با اینترنت در بیشتر نقاط ایران هنوز به صورت Dialup بوده و سرعت پایینی داره.این میتونه یکی از دلایلی باشه که ثابت میکنه حداقل تا چند سال آینده قفل اینترنتی نمیتونه بازدهی خوبی داشته باشه. در ضمن به نظر من قفل اینترنتی وجود نداره و برنامه هایی با این عنوان فقط عمل checking را انجام میدهند.در این روش exe اصلی  در دسترس کرکر ها قرار دارد و می تونند با ابزار های ویژه روتین هایی که مربوط به اتصال به اینترنت و دریافت کد است را پیدا کرده و حذف کنند.
نقل قول: به نظر من اگه از ترکیب چند روش استفاده کنی خیلی بهتره چون واسه امنیت بالا همیشه نباید به یه روش متکی بود
من کاملا موافقم. برای همین قفل سخت افزاری را پیشنهاد می کنم.
به نظر من با استفاده از قفل های سخت می توان  چند روش را با هم استفاده کرد. در این نوع قفل ها هم میتوان به روش نرم افزاری برنامه را protect کرد و هم به روش سخت افزاری. بعدا بیشتر راجع به مزیت های استفاده از این قفل ها صحبت می کنم.
سلام.
هادی جان گفته بود که اگر بعضی از Ifها را دودر کند، برنامه کار نمیکند. درحالی که اونی که میخواد کرک کنه، اگه آدم باتجربه ای باشه، می آید و آن Ifهایی را که لازم است دودر میکند نه همه Ifها را.
البته من قصد ندارم خدایی نکرده توانایی های کسی را نادیده بگیرم، اما باید به یاد داشته باشیم که کرکرها هم اگر کرکر واقعی باشند، قوی هستند. یعنی همانطور که ما حداکثر تلاش خود را برای جلوگیری از کرک میکنیم، آنها هم حداکثر تلاششان را برای کرک میکنند.
ضمنا اونایی که میگن متغیرها در خارج از برنامه، خوب کرکر می آید و برنامه ای مینویسد تا متغیرها را به برنامه ارسال کند و برنامه، متغیرها را از آنجایی که او میخواهد فراخوانی کند.
همچنین ببینید چه راهی میتوان برای جلوگیری از DeCompress کردن انجام داد؟
فعلا بای.
نقل قول: سلام.
هادی جان گفته بود که اگر بعضی از Ifها را دودر کند، برنامه کار نمیکند. درحالی که اونی که میخواد کرک کنه، اگه آدم باتجربه ای باشه، می آید و آن Ifهایی را که لازم است دودر میکند نه همه Ifها را.
البته من قصد ندارم خدایی نکرده توانایی های کسی را نادیده بگیرم، اما باید به یاد داشته باشیم که کرکرها هم اگر کرکر واقعی باشند، قوی هستند. یعنی همانطور که ما حداکثر تلاش خود را برای جلوگیری از کرک میکنیم، آنها هم حداکثر تلاششان را برای کرک میکنند.
منظور هادی این نبود که حالا اگر بیای روی if های اصلی دست بزاری ، برنامه درست کار میکنه ! نه !
من فکر کنم شما نمی دونی قفل های سخت افزاری اصلا برای چی به وجود اومدند .
ببین همون طور که میدونید تقریبا راهی برای حل کردن مشکل تعویض شرط های داخل برنامه بویسله کرکر ها وجود نداره ! و میشه گفت آخرین راه اینه که برنامه رو یه جوری با خارج خودش ارتباط بدیم ! ( که دوستان دیگه ، مثل arnh هم به این موضوع اشاره کرند ) یعنی چی حالا ؟ یعنی داده هایی رو از خارج برنامه دریافت کنیم ( حالا از هر طریقی ، میتونه از طریق یه dll باشه یا مظمئن تر از اون ، دریافتشون از طریق پورت ها و در واقع همون قفل سخت افزاری ) و اون داده ها رو طوری در برنامه به کار ببریم که صحت کارکرد برنامه مدیون وجود اون داده ها باشه ! حالا باز این یعنی چی ؟ بزارید با مثال براتون بگم :
فرض کنید ما قرار برنامه ای بنویسیم که ، رمزی رو از کاربر دریافت کنه و در صورت صحت اون ، پیغامی رو به کاربر نشون بده !
خوب میتونیم برنامه رو به این شکل تنظیم کنیم که اولا ، پیغام داخل برنامه به صورت کد شده وجود داشته باشه . دوما ، برای دیکد کردن و نمایش اون از قسمتی از رمز صحیح استفاده کنیم . در نتیجه اگر رمز صحیح نباشه ، پیغام به درستی دیکد نمیشه و نامفهوم به نمایش در می آد.

حالا میشه به جای اینکه این داده ها همون رمز وارد شده توسط کابر باشن ، این داده ها از طرف قفل سخت افزاری بیان ! تازه قفل های سخت افزاری (مثل مال هادی) که میشه براشون برنامه نویسی کرد !
نقل قول: ضمنا اونایی که میگن متغیرها در خارج از برنامه، خوب کرکر می آید و برنامه ای مینویسد تا متغیرها را به برنامه ارسال کند و برنامه، متغیرها را از آنجایی که او میخواهد فراخوانی کند.
فرض کنید یه تابع هم مثلا داخل قفل باشه و .... وحشتناک پیچیده میشه ! و کرک کردن رو غیر ممکن میکنه ! برای قفل سخت افزاری که دیگه نمی شه برنامه نوشت ! حتی اگر بگید که میشه یه درایو مجازی ساخت ، بازم جواب گو نیست ! چون نفوذ به داخل یه سیسم سخت افزاری دست ساز و استخراج الگوریتم داخل اون کار هیچ کس نیست ! بزارید اینطوری بگم که قفل سخت افزاری مثل یه کامپیوتر کوچک هستش !
نقل قول: همچنین ببینید چه راهی میتوان برای جلوگیری از DeCompress کردن انجام داد؟
باید بیخیالش شی ... هر کار هم که کنی ، وقتی یه برنامه کامپرس شده اجرا میشه ، لودر برنامه رو دیکامپرس میکنه میفرسته تو حافظه تا اجرا بشه ! تموم ! با یه دامپ کار حله ! اطلاعات داخل حافظه رو میشه با دامپ کشید بیرون.
سلام.
از توضیحات Amirjan بسیار متشکرم.
اما یک سؤال:
اول اینکه گفته بودی
نقل قول: تازه اون هم قفل های سخت افزاری(مثل مال هادی) که میشه براشون برنامه نویسی کرد.
اما چند خط پایین تر گفتی
نقل قول: برای قفل سخت افزاری که دیگه نمی شه برنامه نوشت

خوب چطور برنامه نویس میتونه برنامه نویسی کنه اما کرکر نمی تونه؟
همچنین باید توجه داشته باشی قفلهای سخت افزاری خیلی هم اختصاصی یا دست ساز نیستند. حالا دلیل:

هادی یا هر کس دیگه قفل را بصورت انبوه یا حتی بصورت تک تک، در بازار عرضه میکنه، من میرم یک قفل را میخرم، خوب تولید کننده حتما راهنمای برنامه نویسی آن را هم ارائه میدهد. شما هم میری یک قفل واسه خودت میخری در آن صورت هر دوی ما با طرز کار قفل و برنامه نویسی آن آشنا میشویم. آن وقت فرضا من می آیم و قفل را طوری برنامه ریزی میکنم که به برنامه شما Allow بدهد.
همونطور که مترجم پارس در اصل قفل را نشکسته اند بلکه قبل از اینکه بخواهند چیزی را نصب کنند، از فلاپی حاوی قفل کپی گرفته اند.
فقط این روش در صورتی امکان پذیر است که هادی قفل را با قیمت گزاف بفروشد تا برای کسی نصرفد که آن را خریده و برنامه نویسی کند. چون فرضا برنامه شما به قیمت 100.000 تومان است اما قفل هادی 5000 تومان خب توزیع کننده غیر مجاز هم میره تعدادی قفل 5000 تومانی میخرد و برنامه نویسی میکند که چون انبوه است هزینه هر برنامه نویسی میشود 1000 تومن که با هزینه Cd کلا میشه 6500 تومان تازه 1500 هم سودش که میشه 8000 تومان. حالا خودت بگو 8000 تومان ارزونتره یا 100.000 تومان؟
اگر هم تولید کننده بیاد و قفل رو بده مثلا 100.000 تومان که گرون در می آید و هزینه بالا میرود و در نتیجه مشتری میپرهAt
فعلا بای.Smile
نقل قول: شما هم میری یک قفل واسه خودت میخری در آن صورت هر دوی ما با طرز کار قفل و برنامه نویسی آن آشنا میشویم. آن وقت فرضا من می آیم و قفل را طوری برنامه ریزی میکنم که به برنامه شما Allow بدهد.

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

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

نقل قول:
تازه اون هم قفل های سخت افزاری(مثل مال هادی) که میشه براشون برنامه نویسی کرد.


اما چند خط پایین تر گفتی

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



خوب چطور برنامه نویس میتونه برنامه نویسی کنه اما کرکر نمی تونه؟
همچنین باید توجه داشته باشی قفلهای سخت افزاری خیلی هم اختصاصی یا دست ساز نیستند. حالا دلیل:
هر گردی که گردو نمیشه ! Biggrin
منظورم نتونستم خوب بیان کنم ! منظور من از "برنامه نوشتن" اول ، این بود که بشه برنامه نویسی کرد ، و از "برنامه نوشتن" دوم این بود که نمیشه برنامه ای رو به جای قفل سخت افزاری جا زد ! گرفتی چی شد ؟!
آخه شما اینو گفته بودی :
نقل قول: کرکر می آید و برنامه ای مینویسد تا متغیرها را به برنامه ارسال کند و برنامه، متغیرها را از آنجایی که او میخواهد فراخوانی کند.
این برنامه نوشتن دوم در جواب اون بود . نه این که نشه با قفل سخت افزاری برنامه نویسی کرد . < اصلا تمام قدرتش به همین انعطافشه دیگه .

نقل قول: هادی یا هر کس دیگه قفل را بصورت انبوه یا حتی بصورت تک تک، در بازار عرضه میکنه، من میرم یک قفل را میخرم، خوب تولید کننده حتما راهنمای برنامه نویسی آن را هم ارائه میدهد. شما هم میری یک قفل واسه خودت میخری در آن صورت هر دوی ما با طرز کار قفل و برنامه نویسی آن آشنا میشویم
والا قفل های دیگه رو ندیدم ، اما این قفل آقا هادی میتونی براش برنامه بنویسی ! یعنی فرض کن یه تابع وی بی میتونی توش بزاری که حالا مثلا یه مقداری رو محاسبه کنه . یعنی یه روش خاص نداره که شما میگی : "در آن صورت هر دوی ما با طرز کار قفل و برنامه نویسی آن آشنا میشویم" .
و اما قفل من در واقع براي هر كس انحصاري نوشته مي شه حتي مي تونم تابعي كه خود نويسنده مي خواد رو توش قرار بدم يا حتي سبك قفل رو عوض كنم بنابراين حتي اگه 10 تا شم بخري نمي توني 11 همي رو بسازي
اين قيمت هم فقط براي تعداد بالا هست نسخه اول كه انحصارا براي شما نوشته مي شه خيلي گرون تر خواهد بود در واقع اين 5000 قيمت قفل دوم
سلام. بچه ها خسته نباشید تبریک میگم.BiggrinSmile
ما مرحله اول را گذراندیم و پس از تبادل نظرهای خوبی که با هم کریم، با بررسی تاپیکهای شما متوجه میشویم که همه به برتری قفل سخت افزاری اذعان داشته و در عین حال بر روی تلفیق چند قفل هم تأکید میکنند. همچنین پس از قفل سخت افزاری، برخی افراد به قفل اینترنتی هم تمایل نشان دادند.Shy
پس به این نتیجه میرسیم که بهترین قفل، تلفیق دو قفل سخت افزاری و اینترنتی است.
حالا وارد مرحله دوم یعنی تبادل نظر بر روی بهترین روش ممکن برای تلفیق این دو قفل.  و با بیان دلیل، بهترین روشهایی که به ذهنتان میرسد را بیان میکنیم یا از روشهای دیگران انتقاد میکنیم. روشهای پیشنهادی من اینها هستند البته تأکید میکنم اینها پیشنهاد است و فقط روی اینها متمرکز نشوید و روشهای خودتان را نیز بیان کنید:
1- قفل سخت افزاری اطلاعات خاصی را در اینترنت ثبت کند
2- اینترنت اطلاعات خاصی را در قفل ثبت کند
3- اینترنت اطلاعات کاربر را با اطلاعات قفل سخت افزاری تطبیق دهد
5- اینترنت قسمتیهای لازم(مثلا قسمتی از برنامه) را در قفل قرار دهد و قفل هنگام تحویل به مشتری خالی باشد یعنی اینکه برای هر مشتری در اینترنت الگوریتم خاصی به قفل داده شود
4- تلفیق روشهای بالا
5- روشهای پیشنهادی شما...At
از شما برای مشارکتتان تا این مرحله از طرف خودم و بقیه افراد که از نظریات خوب شما بهره مند شدند سپاسگذارم. امیدوارم تا آخر این مبحث با ما همراه باشید و با مشورت به راه های بهتر برسیم.
ضمنا:
آقا هادی، اولین قفل که انحصارا برای ما است، چند در می آیدQuestion
لطفا در یک پست که در همینجا قرار میدی، درباره تکنولوژی قفلت و روشهایی که استفاده کرده ای، تا جایی که برایت مقدور است توضیح بده.
متشکرم. Smile
قفل تركيبي نيازي نيست اولا كه اينترنت در دسترس همه نيست و مشتري رو ناراضي مي كنه و دوما قفل USB هر امكاني رو كه به خواي در اختيارت مي زاره ديگه نياز به چيز ديگه اي نداري فقط بايد برنامه رو طوري بنويسي كه كسي چك كردن قفل رو دور نزنه
واما تكنولوژي قفل USB من داخلش يه ميكرو كنترلر استفاده شده كه در واقع يه كامپيوتر كوچيك همه چيز داره Ram و Rom و ... و به پورت USB هم وصل مي شه يه درايور هم داره  كه بايد نسب كني حتي مي توني داده اي رو توي قفل ذخيره كني (مثل save كردن روي هارد) اين قفل برنامه نويسي هم مي شه من يه ابع توش قرار دادم كه داده ها رو هش مي كنه همون تابع هم داخل برنامه اصلي هست برنامه اصلي يك سري عدد رندم توليد مي كنه و به قفل و تابع داخلي خودش مي فرسته اگه جواب ها يكي بود پس قفل سر جاشه و در غير اينصورت نيست
و اما قيمت يك دونه اول از 70000 تا 400000 تومان بسته به اين كه اون تابع داخلي چه قدر انحصارا براي شما نوشته بشه توي ارزون ترين مدل تابع ها مشابه هم هستند ولي هيچ اطلاعاتي دراختيار برنامه نويس قرار نمي گيره تا بتونه قفل مشابه اون رو هك كنه و در گرون ترين مدل هم تابع كلا توسط سفارش دهنده نوشته مي شه وتوي قفل قرار ميگيره و در مدل هاي ديگه هم بين اين دو حالت (البته اگه ايران ويجي باشه تخفيف هم مي دم ;) )
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17