View Full Version : قراردادان کپی رایت در سورس برنامه بدون قابلیت تغییر
mf4arman24
چهارشنبه 22 تیر 1390, 21:12 عصر
با سلام حضور کاربران عزیز.
من برای یه صندوق برنامه ای نوشتم که خدا را شکر داره خوب کار می کنه . فقط یه مشکل بزرگ دارم.
اونها سورس رو هم برای واحد فناوریشون می خواهند.
من هم طبق قراداد مجبورم بدم.
یه مشکلی هست و اون اینه که احتمالا انها قسمت درباره برنامه را پاک می کنند. که مشخصات بنده حقیر به عنوان برنامه نویس هستش. و مشخصات خودشون را وارد می کنند و می فرستن بالا که امتیاز بگیرند.
طبق معمول دیگران ار پله می کنند . اینجا سرزمین .............
خالا می خواهم بدونم راهی هستش که اونا فرمی که مشخصات من در اون درج شده رو ،نتونند از سورس ویرایش کنند.
نمیدونم منظورم رو رسوندم یا نه .
همین که نتونند با این که سورس دستشون هست ، قسمت مثلا فرم 25 رو ویرایش کنند یا مثلا لیبلی رو حذف کنند.
ممنون می شم راهنماییم کنید.
خداییش نیاز به راهنمایی دارم.
امان از دست انسان های ظالم:عصبانی:
Felony
چهارشنبه 22 تیر 1390, 21:49 عصر
خیر ... !
mohsen24000
چهارشنبه 22 تیر 1390, 22:20 عصر
دیگه چرا ظالم!
قرارداد با سورس بوده و سورس هم یعنی اختیار کامل روی برنامه...
mf4arman24
چهارشنبه 22 تیر 1390, 22:27 عصر
می دونی چرا ظالم آخه قرار نبود کپی رایت حذف شه . ولی متوجه شدم که اون ها قصد این کار رو دارند.
یوسف زالی
چهارشنبه 22 تیر 1390, 22:30 عصر
"خیر"
چرا جوابها ابن قدر بی حوصله شده؟
بله.
کاملا راه داره.
شما می تونی یک بخش از برنامه رو Dll یا کامپوننت کنی و در اون مشخصاتت رو هم وارد کنی.
اما سورس برنامه رو فقط بدی نه DLL.
همین.
mf4arman24
چهارشنبه 22 تیر 1390, 22:46 عصر
ممنون. اگه براتون زحمت نمی شه راهنماییم کنید چطوری dll کنم. یا کامپوننتو بعد استفاده کنم
یوسف زالی
چهارشنبه 22 تیر 1390, 23:12 عصر
مثلا یکی از توابعتون توی DLL باشه.
اگر من بودم تنظیمات فرم هام رو اون تو انجام می دادم.
برای ساخت DLL یکمی جستجو کنید پیدا می کنید.
در همین سایت:
http://barnamenevis.org/showthread.php?14410-dll-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%AF%D9%84%D9%81%DB%8C
http://barnamenevis.org/showthread.php?14410-dll-ها-در-دلفی
یوسف زالی
چهارشنبه 22 تیر 1390, 23:17 عصر
این رو هم اضافه کنم که در هر حال هر برنامه ای قابل کرک هست اما این یک مبحث دیگه است.
با استفاده از DLL تا حد زیادی از برنامه نویس ها نمی تونن تغییری توش بدن.
پیشنهاد سریع من اینه که با UPX اون DLL رو Pack کن.
اگر خواستی خیلی امنش کنی دنبال Obfuscation و Packing باش.
موفق باشی.
Mahmood_M
پنج شنبه 23 تیر 1390, 01:52 صبح
دیگه چرا ظالم!
قرارداد با سورس بوده و سورس هم یعنی اختیار کامل روی برنامه...
دریافت سورس به این معنا نیست که شخص خریدار می تونه نرم افزار رو به نام خودش ثبت کنه و با اون امتیازی دریافت کنه ، این حق معنوی رو نداره ! ، مگر اینکه این حق رو هم در هنگام ثبت قرارداد خریداری کرده باشه
فکر می کنم راهی که دوستمون پیشنهاد دادند راه خوبیه ، می تونید فرم About رو درون یک DLL قرار بدید (http://www.delphi-central.com/formdll.aspx)
در اینجا (http://delphi.about.com/od/objectpascalide/a/dlldelphi.htm) اطلاعات تقریبا کاملی در مورد کار با DLL ها قرار داره
اما به نظر بنده چون سورس خریداری شده ، خریدار این حق رو داره که نامی از شما درون برنامه وجود نداشته باشه
من جای شما بودم یا نرم افزار رو به نام خودم ثبت می کردم ( در شورای عالی انفورماتیک - البته همچین جای معتبری هم نیست ! - ) و یا قیمت برنامه رو بالاتر می بردم و دیگه به این مسایل توجه نمی کردم !! ، شما می تونید حق معنوی ثبت نرم افزار رو هم بهشون بفروشید !
موفق باشید ...
Felony
پنج شنبه 23 تیر 1390, 05:45 صبح
"خیر"
چرا جوابها ابن قدر بی حوصله شده؟
بله.
کاملا راه داره.
فکر می کنم راهی که دوستمون پیشنهاد دادند راه خوبیه ، می تونید فرم About رو درون یک DLL قرار بدید
:گیج: وقتی سورس رو به طرف دادید فکر نمیکنم کاری داشته باشه که روی دکمه About کلیک کنه و فراخوانی DLL شما رو لغو کنه و یک فرم دیگه به جاش نمایش بده یا ... !
mf4arman24
پنج شنبه 23 تیر 1390, 08:17 صبح
می دونم دکمه تشکر را کلیک کردم. ولی احساس کردم یه تشکر هم تایپی داشته باشم.
واقعا فکر نمی کردم تا صبح این همه پاسخ و راهنمایی داشته باشم.
واقعا ممنون
Saeed.Masoumi
پنج شنبه 23 تیر 1390, 08:52 صبح
سلام
ببینید حرفهای دوستان تا اینجا همه درست هستند اما به گفته ی جناب تاجیک کسی که بخواد کرک کنه ساده ترین راه یک جامپ رو دور زدنه.یک راه دیگه هم هست من بعضی وقتا از این روش استفاده میکنم ببین شما توی یک تابع مهم (مثلا بخش تراکنش) میای و یک تست قرار می دی حالا این تست قراره چیکار کنه؟ میاد و مشخصات شما رو از فرم About می خونه مثلا نام و نام خانوادگی و .... بعد سایزشون و یا یک متغییر دیگه رو در یک فرمول قرار می ده و اگر مقدار مورد نظررو داشت که هیچی در غیر این صورت متن لیبل هارو عوض کنه با متن دلخواه که اون رو هم با یک فرمول عجیب غریب کد کردی (یا مثلا توی یک عکس ذخیرش کردی) تازه می تونی تست کنی آیا با زدن باتن About فرم شما صدا زده می شود یا نه.
این جوری تا یارو میاد بفهمه چرا هر کار می کنه بازهم کد شما اجرا میشه کلی طول می کشه اقلا اذیت میشه.
BORHAN TEC
پنج شنبه 23 تیر 1390, 09:57 صبح
1- یک راه دیگه وجود داره که خودم پیداش کردم. در برنامه خود اونقدر از کامپوننت های شرکت های دیگه استفاده کنید(مخصوصاً کامپوننت های ناشناخته و کمیاب) که طرف برای سرهم کردن برنامه پوستش کنده بشه. و اون کامپوننت ها رو بهشون ندین :لبخند:
2- البته یک راه حل دیگه هم وجود داره و اون اینه که نسخه کرررک شده بعضی از کامپوننت ها به سختی پیدا میشه! شما می تونید از نسخه کرررک شده در برنامه استفاده کنید ولی سورس برنامه رو با نسخه trial اون کامپوننت بهشون بدین که باز هم پوستشون کنده میشه. :لبخند:
3- یک راه حل دیگه اونه که قسمتی از برنامه رو به صورت کامپوننت در بیارین و سورس اون کامپوننت هم بهشون بدین و در آن 40000 خط کد الکی بگذارید و در لابه لای این همه خط کد کارهایی که مد نظر دارید رو انجام دهید.:لبخند:
Arman_1367
پنج شنبه 23 تیر 1390, 10:59 صبح
راه حل دیگه این هست که قسمتی از کدهاتون را به صورت یک پکیج بنویسید و پکیج را به صورت نسخه trial در اختیارشون بگزارید و سورس پکیج را هم به کسی ندهید در این صورت موقع کمپایل را اجرا شدن برنامه مثلاً splash مربوط به شما رو اجرا کنه و اونا نمی تونند از این پکیج استفاده نکنند البته باید خاطر نشان کنم که همه اینها مربوط به مفاد قرار داد شما می شه شاید با توجه به نحوه نوشتن قرار داد با شما بتونند با هر کدوم از این کارها شما را گناهکار معرفی کنند و علاوه بر اینکه نتوانید پولی دریافت کنید مجبور بشید خسارت هم بدهید به شما پیشنهاد می دهم با یک آدم کارکشته امور قراردادهای علوم انفرماتیک مشورت کنید البته ثبت نرم افزار اولین کاری است که شما باید انجام بدهید.امید وارم موفق باشید و اینکه قرارداد نرم افزار با سورس برنامه معمولاً از چند ده میلیون به بالا است امید وارم سرتون کلاه نگذاشته باشند.:چشمک:
یوسف زالی
پنج شنبه 23 تیر 1390, 12:32 عصر
به این راحتی اگر فراخوانی شده باشه بله. حق با جناب تاجیکه.
اما گفتم اگر من بودم هنگام فراخوانی یک تابع مهم می رفتم و یکی از لیبل های برنامه رو عوض می کردم...
نمی تونست تابع رو فراخوانی نکنه که.
مثلا همیشه یک لیبل دارای اسم من زیر همه فرم هاش .. یا بعضی هاش توسط اون تابع که برنامه لازم داره ساخته میشه.
گفتم که اصولا هر برنامه ای کرک شدنیه.
اما مساله زمانه.
یکمی روش کار کنید به راحتی می شه اونقدر پیچیدش کرد که طرف بی خیال شه.
Mahmood_M
پنج شنبه 23 تیر 1390, 13:16 عصر
سلام
ببینید حرفهای دوستان تا اینجا همه درست هستند اما به گفته ی جناب تاجیک کسی که بخواد کرک کنه ساده ترین راه یک جامپ رو دور زدنه.یک راه دیگه هم هست من بعضی وقتا از این روش استفاده میکنم ببین شما توی یک تابع مهم (مثلا بخش تراکنش) میای و یک تست قرار می دی حالا این تست قراره چیکار کنه؟ میاد و مشخصات شما رو از فرم About می خونه مثلا نام و نام خانوادگی و .... بعد سایزشون و یا یک متغییر دیگه رو در یک فرمول قرار می ده و اگر مقدار مورد نظررو داشت که هیچی در غیر این صورت متن لیبل هارو عوض کنه با متن دلخواه که اون رو هم با یک فرمول عجیب غریب کد کردی (یا مثلا توی یک عکس ذخیرش کردی) تازه می تونی تست کنی آیا با زدن باتن About فرم شما صدا زده می شود یا نه.
این جوری تا یارو میاد بفهمه چرا هر کار می کنه بازهم کد شما اجرا میشه کلی طول می کشه اقلا اذیت میشه.
وقتی سورس همراه برنامه باشه دیگه رفع این موارد مشکلی نداره ، منظور دور زدن Jmp نبود ، منظور حذف کدهای فراخوانی DLL از سورس بود ( سورس هم به کاربر داده میشه )
...
اگر می خواید از DLL استفاده کنید ، باید قسمتهای مهم برنامه رو به DLL وابسته کنید ، اگر فقط یک فرم درون DLL باشه که فرقی نمی کنه !
مثلا چند فرم دیگر رو هم در کنار فرم About قرار بدید ، مثلا دستوراتتون رو در Entry Point مربوط به DLL قرار بدید ، تا با Load یا Onload کردن DLL اجرا بشن و نیازی به فراخاونی از داخل برنامه نباشه ...
باید سعی کنید برنامه تا جایی که ممکنه Modular باشه و قسمتهای مختلف برنامه رو با نمایش پیغام یا ... محدود کنید
با DLL ها و پکیج ها کارهای زیادی میشه کرد
موفق باشید ...
Felony
پنج شنبه 23 تیر 1390, 19:19 عصر
همونطور که محمود جان گفتن با DLL ها و پکیج ها میشه کارهایی کرد ولی وقتی تو قرارداد شما ذکر کردید که سورس رو تحویلشون بدید و اگر جزئیاتی از نحوه قرار گرفتن سورس در قرارداد ذکر نکردید در صورتی که سورس قسمتی ( مثلا DLL و ... ) رو تحویل ندید شما مجرم هستید و کارفرما میتونه ازتون شکایت کنه و اگر هم کل سورس رو در اختیار بزارید که هیچ کاری نمیتونید بکنید .
* براتون تجربه بشه که تو قرارداد ذکر کنید که حق ثبت برنامه و تغییر محتوای اون برای شما محفوظ هست تا بعدا بتونید خرشون رو بچسبید ، البته اگر ارگان دولتی هست این مورد هم زیاد بهتون کمک نمیکنه !
nsco_nsco
پنج شنبه 23 تیر 1390, 20:54 عصر
سلام
می تونی بری و نرم افزارت رو ثبت کنی اون موقع اگر هم هر مرکزی خواست استفاده کنه می تونی حسابش رو برسی چه دولتی و چه غیر دولتی و چه اشخاص به نظر من همونطور که اقای تاجیک گفت بعد در قرار داد ثبت کن که چی رو داری منتقل می کنی این خیلی مهمه در ضمن هر کاریش هم نکنی باز میان استفاده ازش می کنن پس چه بهتر قانونیش کنی تا بتونی بعدا اگر سوء استفاده شد حسابشون رو برسی :قلب:
mf4arman24
پنج شنبه 23 تیر 1390, 23:06 عصر
ممنون از این همه پاسخ دوستان بعد از راهنمایی دوستان عزیز امروز مدارک لازم رو از تو سایت انفورماتیک در آوردم.
دنبالشم نرم افزار رو ثبت کنم.
از dll ها تو قرارداد اسم برده نشده احتمالا بتونم این کار رو بکنم.
nsco_nsco
جمعه 24 تیر 1390, 21:55 عصر
سلام حول و هوش صد هزارتومان هزینه داره و اگر نام نبری از دی ال ال خوبه پس مشکلی نداری.:قلب:
Mahbod Rad
یک شنبه 16 مرداد 1390, 20:46 عصر
1- یک راه دیگه وجود داره که خودم پیداش کردم. در برنامه خود اونقدر از کامپوننت های شرکت های دیگه استفاده کنید ...که طرف برای سرهم کردن برنامه پوستش کنده بشه. ...
2- راه حل دیگه هم وجود داره ...از نسخه کرررک شده در برنامه استفاده کنید ولی سورس برنامه رو با نسخه trial اون کامپوننت بهشون بدین که باز هم پوستشون کنده میشه...
3- یک راه حل دیگه اونه .... در آن 40000 خط کد الکی بگذارید و در لابه لای این همه خط کد کارهایی که مد نظر دارید رو انجام دهید....
دوست عزیز شما تمام توان و تلاشتان را میکنید تا پدر خریدار را در بیاورید اینهمه کار خودش اندازه یک برنامه نویسی است
خوب همان موقع که قرارداد نوشته میشود با دقت بنویسید تا الآن نخواهید نامردی کنید و اگر خریدار نامردی کرد و برنامه شما را از شرایط قرارداد خارج کرد شما شکایت کنید. این بهتر نیست؟
این صحبتها مثل این میماند که یم برنامه نویس در یک شرکتی کار کند و حقوق بگیرد و در آخر بگوید هیچکس حق تغییر در برنامه یا ثبت برنامه من با نام خودش را ندارد در حالی که برای اینکار و این روش پول گرفته است. مقدارش مهم نیست توافق کرده برای اینکار به این روش پول بگیرد. پس مالکیت سورس نرم افزار مال خریدار است. این آقا هم قبول کرده است که سورس را تحویل بدهد تا کارفرما بتواند تغییرات مورد نظرش را در هر زمان که خواست در آن انجام بدهد. بهتر بود از روز اول برنامه نویس شرط میکرد در یک جای خاص برنامه نام و نشانش وجود دارد
mf4arman24
یک شنبه 13 شهریور 1390, 16:07 عصر
منطقی است .
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.