باسلام
من یک برنامه با دلفی 7 نوشتم - میخواهم روی اون قفلی بگذارم که از کپی غیر مجاز اون جلوگیری بشه 8)
ضمنا برنامه دارای بانک SQL است و قراره روی شبکه کار کنه .
با تشکر
محمدپور
باسلام
من یک برنامه با دلفی 7 نوشتم - میخواهم روی اون قفلی بگذارم که از کپی غیر مجاز اون جلوگیری بشه 8)
ضمنا برنامه دارای بانک SQL است و قراره روی شبکه کار کنه .
با تشکر
محمدپور
با سلام
اگه بخوای از قفل سخت افزاری استفاده کنی اول یه سرچ تو این فریم می کنی و بعد یک فقره ش رو می خره و مشغول می شی همین.
اگر از قفل نرم افزاری بخواهی استفاده کنی که بهتره تو نت سرچ کنی .
می تونی تابعی بنویسی که براساس شماره سریال مادربورد یا هر چی یه کدی رو برگردونه .
حالا با یه تابع دیگه می تونی در جواب اون کد , کدی رو برای کاربر ارسال کنی که برنامه با مچ کردن کدی که ارسال کردی و شمار سریال اجازه کار کردن کامل برنامه رو بده. یا چیزی تو همین مایه ها.حالا اگه برنامه رو هر سیستمی که نصب شد تو باید کلید کار کردنش رو بفرستی.
آدیوس
بهترین کاری که میتونی انجام بدی قفل نرم افزاری هست چون میدونم کارمند جماعت پول خرج نمیکنه 8) پس قفل نرم افزاری رو از سایت توری دات نت پیدا کن. البته من یک کامپوننت خوب دارم که قابل کراک نیست و با سافت ایس و دیس اسمبلر و ... هم نمیتونی کاری بکنی که کراک بشه. ولی مجانی نیست. :twisted:
سلام
چگونه می توان روی برنامه قفل گذاشت مثلا بعد از چند روز برنامه از کار بیفتد
یا برنامه فقط با یک سی دی خاص کار کند ویا روشهای دیگر
با استفاده از ابزار Open Source زیر می توانید قفل زماندار و قفل های License دار را روی نرم افزارتان قرار دهید.
TurboPower OnGuard
و یک نکته جالب: این TurboPower OnGuard اصلا قابل اعتماد نیست.
پس از قفل تلفنی DelphiAssistant استفاده کنید.
شرکت مهندسی مشاور لوح و قلم با استفاده از این قفل ماهانه بیش از 5000 نسخه از محصولاتش را به بازار می فرستد.
به نظر من امتحانش را پس داده .
زمان تست بیش از یک سال.
سلام
اخرش تکلیف من چی باید چکار بکنم
ما یک قفل جدید آماده کردهایم که بزودی مشخصات آن در سایت رسمی نوین رسانه اعلام خواهد شد.
از Ice License استفاده کن.ولی پولیه.من اون رو خریدم.اگر بخای میتونم بهت بفروشم...
www.ionworx.com
سلام
دوستان خیلی ممنون
من می خواهم تاریخ سیستم را در یک فایل باینری ذخیره کنم و هر بار که برنامه اجرا می شود تاریخ چک کنم اگر 10 روز از تاریخ نگذشته برنامه کار کند واگر 10 گذشته برنامه اجرا نشود تاریخ را به صورت باینری در فایل ذخیره کرده ام فقط نمی دانم تاریخی را که ذخیره کرده ام چگونه از داخل فایل بخوانم .
1) روش عهد دقیانوس : می توانید در یک فایل متنی بنویسید و قبل از نوشتن و یا بعد از خواندن انرا با یک عددXORکنید ...بد نیست
2) روش عصر ویندوز : در رجیستری با همان روش فوق در یک جای پرت وپلا بنویسید
3) بی خیال این روشها بشوی و برنامه ای بنویسی که حتی با کپی کردن هم نتوانند از ان استفاده کنند
سلام...آقا میشه یک قسمت مخصوصه امنیت نرم افزار ایجاد کنید تا بتوانیم راه های جدید رو تست و آزمایش کنیم...همچنین از تجربیات دوستان استفاده کنیم؟!
آقای کرامتی بازگشت دوباره اتون مبارک . امیدوارم به سرنوشت 2-3 سال قبل دچار نشهنوشته شده توسط DelphiAssistant
میگم ، حالا اگه از شماره سریال مثلا هارد استفاده کنیم چی ؟ آیا میشه شکوندش؟
در کل قدم اولت باید این باشه که برنامه ات رو نتونن تغییر بدن . اگه بشه برنامه ات رو debug کرد و کدهای اسمبلی اونو تغییر داد و برنامه ات هم متوجه نشه هر روشی رو که استفاده کنی .... کاملا قابل شکستن خواهد بود .
می تونی هر دفه سایز برنامه رو چک کنی اگه زیاد شد بفهمی که بهش دست برد زدن!!
امیر
:shock:
1- چطوری میتونم سایز برنامه را چک کنم ؟
2 - اگر با برنامه ای مثلا با DEDE بشه سورس برنامه را بدست آورد چطوری میشه جلو این کار را گرفت ؟
3 - ...
خیلی ممنون :wink:
سلام می تونی از تابع
()GetFileSize
سایز فایل رو بفهمی
امیر
من دو تا مثال برات نوشام که در زیر آوردم می تونی استفاده کنی
دو تابع را در یک فایل txt.* زخیره کردم
امیر
البته انازه فایل رو به صورت byte می ده اگه خواستی برحست MB با ید بر 1024 این اندازه رو تقسیم کنی
امیر
سلام
اگر بایت تقسیم بر 1024 شود کیلو بایت می دهد! ( :wink: )
سلام
البته این هم بگم که با این کد نمیشه حجم فایلexeرا که باز است (یعنی خود فایل) را بدست آورد
رامین
آره میدونم
میشه قبل از اجرای برنامه اندازه اونو چک کرد؟؟
نه؟
کی به شما گفته وقتی برنامه دستکاری شه سایز فایلش تغییر میکنه؟
برای دستکاری کردن یک فایل Exe برای اینکه قفل را چک نکند کافی است موقعیت دستورالعمل های فوق را یافته و آنرا از کار بیاندازید که اینکار به هیچ وجه باعث تغییر در سایز فایل نمیشود!
من هنوز جوابمو نگرفتم :?اگر با برنامه ای مثلا با DEDE بشه سورس برنامه را بدست آورد چطوری میشه جلو این کار را گرفت ؟
من میخواهم جلوی کپی غیر مجاز برنامه را بگیرم همچنین کاری کنم که فایل اجرایی را نتونن با برنامه ای مثل DEDE یا ... باز کنن .
لطفا من را راهنمایی کنین :(
DeDe فقط یک سورس اسمبلی از برنامه شما به طرف میده که بدردش هم نخواهد خود، چرا که در یک نرمافزار نوشته شده چیزی که مهم است منطق (Logic) نرمافزار است که به هیچ ترتیبی امکان بدست آوردن آن از روی فایل باینری (Exe) وجود ندارد.
DeDe فقط یک سورس اسمبلی از برنامه شما به طرف میده که بدردش هم نخواهد خود، چرا که در یک نرمافزار نوشته شده چیزی که مهم است منطق (Logic) نرمافزار است که به هیچ ترتیبی امکان بدست آوردن آن از روی فایل باینری (Exe) وجود ندارد.
یعنی اگر که من یک برنامه با دلفی 7 بنویسم و مثلا روی فرمهای آن نام استفاده کننده را قرار بدهم با برنامه ای مثل DEDE نمیشه اون اسم را عوض کرد ؟ یا اصلا چنین کاری امکان داره ؟ :shock:
اگر مقداردهی نام کاربر توسط کد انجام شده باشد خیر، با DeDe امکان نخواهد داشت.یعنی اگر که من یک برنامه با دلفی 7 بنویسم و مثلا روی فرمهای آن نام استفاده کننده را قرار بدهم با برنامه ای مثل DEDE نمیشه اون اسم را عوض کرد ؟ یا اصلا چنین کاری امکان داره ؟
اتفاقا بر عکس خیلی هم بدرد کرک میخوره و بسیار راحت میشه فهمید برنامه چه کاری انجام میدهد بسیاری از KeyGen ها و KeyMaker ها رو از همین کدهای باینری بیرون میکشن . و در حقیقت هر KeyGen که شما میبینید قسمتی از کدی هست که داخل برنامه وجود دارد.نوشته شده توسط DelphiAssistant
البته خیلی سخت و مشکل هست ولی غیر ممکن نیست و بر حسب اهمیت برنامه و موضوع کرکر وقت میزاره حالا اگر کسی قفل برنامه رو کرک نکرده دلیل بر قدرتمند بودن اون قفل نیست شاید چندان اهمیت نداشته.
در ضمن ، برای کسانی که بخاطر کرک کردن Cpu Emulator مینویسن EXE سورس به حساب میاد ! :wink:
براحتی :wink: البته نه DeDe بلکه یک Resourcer مثل PEExplorerیعنی اگر که من یک برنامه با دلفی 7 بنویسم و مثلا روی فرمهای آن نام استفاده کننده را قرار بدهم با برنامه ای مثل DEDE نمیشه اون اسم را عوض کرد ؟ یا اصلا چنین کاری امکان داره ؟
اگر با کد نوشته باشید چون در String Data Reference برنامه قرار میگیرد باز هم قابل تغییر است.
چی کار میخوای بکنی ؟
ارادتمند
مشاطان
چی کار میخوای بکنی ؟
من فقط میخواهم راهی برای جلوگیری از کپی غیر مجاز برنامه ام پیدا کنم . لطفا من را راهنمایی کنید که چه کار کنم :(
خوب اینو که میدونم به چه صورت میخوای !!نوشته شده توسط b_mohammadpoor
برنامه روی CD هست ؟
میخوای قفل سخت افزاری باشه یا نرم افزاری ؟
Public هست یا اینکه خودت نصب میکنی ؟
توصیه میکنم روشهای مختلف Crack و Anti Crack رو بخونی
اینم یکی دیگه اگه اینا رو خوب یاد بگیری دیگه خودت یاد میگیری چطوری لایه درست کنی تا کرکرها رو بپیچونی ولی با همه این موارد برنامه باز هم کرک خواهد شد . چون هر برنامه که اجرا میشود کرک شدنی هست این قانون کرکرهاست :P
من اگر بخوام قفلی بنویسم از روش سریالی استفاده میکنم (همون کاری که در مورد RoYa انجام دادم) به نظر من منطقی ترین و راحت ترین روش برای قفل گذاری است . و Engine ش رو هم خودم نوشتم و سعی کردم هسته اش قوی و قابل اعتماد باشه
چندتا توصیه :
- 1- هیچ وقت به کاربر پیغامی برای عدم وجود قفل ندهید.
2- از Exception برای ایجاد خطا و گول زدن کاربر استفاده نکنید. سعی کنید از Jumpهای Far بی معنا استفاده کنید البته نه کاری که آقای فراهانی در کاموننتشون انجام دادن ا
3- از یک متغییر برای چک کردن قفل استفاده نکنید
4- برنامه را از نظر امنیت به چند دسته تقسیم کنید و سعی کنید اگر کرکر به لایه های نفوذ کرد بهش پیغام ندهید و کار خاصی نکنید و به ظاهر نشان دهید موفق شده و در عوض در نتایج برنامه اخلال ایجاد کنید. ( کاری که من در اغلب برنامه هام انجام میدم)
5- هیچ وقت چک کردن قفل را در Event ها و Procedure های Public یک Class قرار ندهید و حتی المقدور سعی کنید که Procedure معمولی باشه نه در یک Class .
6- هیچ وقت قفل را در یک DLL یا OCX قرار ندهید و سعی کنید قفل در خود EXE چک شود . چون کرک کردن قفلی که در یک DLL چک میشود و یک نتیجه را به عنوان خروجی پس میدهد بسیار راحت تر از خود EXE است.
7- سعی کنید از یک Function و یک الگوریتم برای چک کردن قفل استفاده نکنید و مثلا چک کردم قفل را بین روزهای هفته تقسیم کنید و در هر روز یک Function را صدا بزنید .
8- ...
ارادتمند
مشاطان
برنامه روی CD هست ؟ خیر برنامه را خودم نصب میکنم
میخوای قفل سخت افزاری باشه یا نرم افزاری ؟ اگر نرم افزاری باشه بهتره
Public هست یا اینکه خودت نصب میکنی ؟ برنامه را خودم نصب میکنم و میخواهم به غیر از اون کامپیوتری که نصب کردم دیگه رو هیچ کامپیوتر دیگه ای اجرا نشه
از راهنمایی شما هم خیلی ممنون :)
من هنوز جوابم را نگرفتم :?
چرا کسی جواب منو نمیده ؟ :shock:
خوب من که جواب شما را دادم !! روش سریالی بهترین روش است.
برنامه برروی سیستم یک کد درست میکند و یک Key Gen دارید که License تولید میکنه !
و License رو قرار میدید در برنامه. و برنامه با توجه به فرمولی که شما براش معین میکنید از صحت License مطلع میشه ! البته نباید برنامه KeyGen دست کسی بیفته
ارادتمند
مشاطان
میبخشید وسط حرفتون میپرم اما ......شما که دلفی کار هستید ....... مگه تمام برنامه های بورلند
از همین روش استفاده نمیکنند ؟ مثلا دلفی 8 و کایلیکس و Java Studio و J Builder ؟
خوب اینها چطوری براحتی Crack میشن و خیلی زود keygen هاشون رو میشه همه جا پیدا
کرد ؟ خود بورلند که پخشش نمیکنه :shock: من حدس میزنم Cracker ها یک نسخه از برنامه ای که
اینطوری محافظت میشود رو میخرند و با ابزارهائی :?: :?: یک رابطه منطقی بین کد و لایسنس پیدا
میکنند که با استفاده از اون keygen رو میسازن .......... خودم تا حالا چنین چیزی رو ندیدم اما فکر نمیکنم
روش دیگری برای حدس زدن نحوه کار اون فرمول وجود داشته باشه ...... درسته ؟
:)نوشته شده توسط Monaa
کرکرها یک شعار دارند که میگه هر برنامه که اجرا میشه قابل کرک شدن هست !
پس این روشی که منم گفتم قابل کرک هست.
در ضمن کرکها (واقعی) آدمهای نابغه هستند مثل tKc که کر هم هست رئیس Core که همه باهاش آشنا هستند و از Crackش استفاده کردن ! یا مثل SAC از گروه UG2001 پس جای تعجب نداره به سرعت KeyGen یک برنامه مثل Borland که جهانی هست رو بدست بیارن !
نه این خبرا نیست پیدا کردن رابطه خیلی خیلی سخت از این اینکه Function Verify یک License رو پیدا کنند و فرمول اون رو بدست بیارن !
وما روش که من گفتم فرقش با روش Borland اینکه این محصولات فقط یک License دارد و با License شون میشه روی هر Computer کار کرد در صورتی که روشی که بیان کردم یک Key که از مشخصات سیستم درست شده مثلا مشخصات CPU وMainboard و ... رو به صورت یک Key در میاره و بعد کاربر این را به کسی که میخواد ازش بخره بفرسته و Licese از روی همین Key درست میشه به این صورت اون License فقط روی اون کامپیوتر کار میکنه ! و نکته بعدی اینکه میشه الگوریتمی که در KeyGen هست با الگوریتم داخل برنامه فرق داشته باشه و داخل برنامه فقط یک Verify باشه .و اینجوری نمیشه KeyGen براش نویشت البته یکم سخته ! البته باید حواستون باشه Function ه Patch نشه ؛ ولی با این وجود بازم قابل کرک هست ولی نه دیگه توسط بچه ها !! :twisted:
برید از اونا بپرسید که شنیده ها رو دیدن :P
التماس دعا
از توضیحتون ممنونم :)