আমি কীভাবে কোনও ক্লায়েন্টকে আমার কোডটিকে ব্যাখ্যা করা ভাষায় লেখা থেকে আটকাতে পারি?


16

আমি পাইথনে মোটামুটি জটিল ব্যাখ্যাযুক্ত প্রোগ্রাম তৈরি করছি। আমি এই কোডটির বেশিরভাগ অংশে অন্যান্য উদ্দেশ্যে কয়েক মাস ধরে কাজ করছি এবং তাই আমার ক্লায়েন্টটি কেবল এটি অনুলিপি করতে এবং এটি বিক্রি করার চেষ্টা করতে সক্ষম হবেন না, কারণ আমি মনে করি এটি যথেষ্ট পরিমাণে মূল্যবান।

সমস্যাটি হ'ল আমার ক্লায়েন্টটি যে সার্ভারটি প্রদান করছে তার উপর চালানোর জন্য আমার স্ক্রিপ্ট দরকার, সুতরাং মেশিনের কোনও নির্দিষ্ট ফোল্ডারটিকে রুট অ্যাক্সেস থেকে সুরক্ষিত করতে, বা কেবলমাত্র একটি নির্দিষ্ট ব্যবহার ডিরেক্টরিতে অ্যাক্সেস করতে পারে এমন কোনও উপায় আছে কি? ? ওএস হ'ল উবুন্টু।


13
আপনার এবং আপনার ক্লায়েন্টের মধ্যে কোন ধরণের চুক্তি / চুক্তি বিদ্যমান? তারা কি কোডটির মালিক, নাকি আপনি কেবল তাদের কাছে এটির লাইসেন্স লাইসেন্স ব্যবহার করেছেন? অথবা আপনি এর কোন কাজ করেন নি?
ম্যাট বি

2
আমি ভেবেছিলাম পাইথন উত্সটি বাইনারি মধ্যে সংকলন করা সম্ভব ছিল। এই প্রকল্পের জন্য সম্ভব? যদি তাই হয় তবে আপনি পরিবর্তে বাইনারি স্থাপন করতে পারেন।
হতাশিত

নাইটক্র্যাকার আমার মতে ঠিক আছে। যথাযথ লাইসেন্সিং এবং চুক্তিগুলির এগুলি প্রতিরোধ করা উচিত, প্রযুক্তিগত ব্যবস্থা নয়। বিশেষ করে, কারণ আপনি সবসময় ডিকম্পাইল / ডি-অস্পষ্ট কিছু পারে এবং rootকরতে অনুমতি দেওয়া হয় সবকিছু
ববি

এটিকে অন্যভাবে চিন্তা করুন, যদি তারা কোনও চুক্তি বা লাইসেন্স ভঙ্গ করে তবে তারা কান্নাকাটি না করা পর্যন্ত তাদের মামলা করতে পারবেন
জাকব বোয়ার

9
প্রত্যেকে সর্বদা বলে যে তাদের কোডটি মোটামুটি পরিমাণে।
কালেব ব্রাসি

উত্তর:


40

এটি লাইসেন্স করুন।

সত্যিই, এটাই!


6
আমার প্রথম চিন্তা ছিল এটি উত্তর হিসাবে নয়, তবে হ্যাক, আপনি ঠিক বলেছেন down লাইসেন্সিং এবং চুক্তি স্বাক্ষর করা এখানে যাওয়ার উপায়।
ববি

@ ববি: প্রায় একমাত্র উপায়। বিকল্পটি হ'ল আনন্দদায়ক, দরকারী নতুন বৈশিষ্ট্যগুলি এত তাড়াতাড়ি যুক্ত করা চালিয়ে যায় যে পুরাতন সংস্করণটি চুরি করা সময়ের অপচয় হবে।
এস। লট

সৃজনশীল কমন্স কি লাইসেন্স হিসাবে যথেষ্ট হবে?

10
-1 প্রশ্নটি দেখে ক্লায়েন্টকে কোডটি বন্ধ করার উপায় জিজ্ঞাসা করা হয়, এটি এটি করে না। লোকেরা সর্বদা লাইসেন্স মানেন না এবং মামলা করার জন্য আইনত নিশ্চিতভাবে এটি খুঁজে পাওয়া সম্ভব নাও হতে পারে।
2-05 এ আর্কলিং করছে

8
পাইথন কোডটি দেখে আপনি ক্লায়েন্টকে থামাতে পারবেন না, এটি বিচ্ছিন্ন করা খুব সহজ। ডিআরএম কাজ করে না (যদি তারা এটি চালাতে পারে তবে তারা এটি বিচ্ছিন্ন করতে পারে)। সুতরাং একমাত্র উত্তর একটি আইনী উত্তর। এবং একবার আপনি প্রয়োগের জন্য আইনের উপর ভরসা করার পরে, প্রযুক্তিগত বেসকে জটিল করে আপনার বা আপনার গ্রাহকদের পক্ষে জীবনকে আরও কঠিন করার কোনও মানে নেই।
ncoghlan

10

বাইট কোড পাইকের জন্য আপনি সমস্ত ফাইল সংকলন করতে পারেন। সেখানে ডিকম্পিলার রয়েছে যা এর থেকে উত্স কোড তৈরি করতে পারে তবে গুরুতর কিছুই নয়।

তবে এটি কেবল আপনার প্রোগ্রামের কোড পড়ার ক্ষমতা সমাধান করবে solve নাইটক্র্যাকার যেমন বলেছিলেন, তেমন একমাত্র উপায়টিকে রক্ষা করা, কারণ আপনি নিজের কোডটি সংকলন করলেও, মেশিন কোড বলতে দেওয়া, যদি আপনার কাজটি কোনও লাইসেন্স দ্বারা সুরক্ষিত না থাকে, তবে এটি এখনও আপনার ইচ্ছার বিরুদ্ধে বাণিজ্যিকী হতে পারে।

নীচে লাইন, বাইট কোডটি সংকলন করুন এবং আরও গুরুত্বপূর্ণভাবে এটি লাইসেন্স করুন


আমার একটা প্রশ্ন আছে. বাইট সংকলকটি যথেচ্ছ ভেরিয়েবলের নাম ব্যবহার করে, বা এটি পুরানো পরিবর্তনশীল নামগুলি ব্যবহার করে? (আমি কল্পনা করবো এটির পুরানোগুলি ব্যবহার করতে হবে, কারণ বাহ্যিক মডিউলগুলি সেই জায়গার উপর নির্ভর করে)।

@ গ্যারেট: বাইটকোডে ভেরিয়েবলের নাম রয়েছে। এটা এখনও একটি অপেক্ষাকৃত অপাঠ্য জগাখিচুড়ি যখন অনেকত্রিত এর (চেষ্টা disassembly পরিপাকের এর এই রেসিপি ), এবং কোন (সাম্প্রতিক) decompilers নয়।

7

সিথন ব্যবহার করুন। এটি আপনাকে দেশীয় নির্বাহযোগ্য হিসাবে আপনার প্রোগ্রামটি সংকলনের অনুমতি দেবে। তাহলে চুরি করা আরও কঠিন হওয়া উচিত be

ডিরেক্টরি হিসাবে, আমি আপনাকে দিতে পারেন শুধুমাত্র পরামর্শ আপনি আপনার অনুমতি সঠিকভাবে সেট আপ হয়েছে তা নিশ্চিত করা হয়। এসিএলগুলি আপনার বন্ধু হতে পারে, যদিও আমি 100% নিশ্চিত নই যে তারা কোনও ফাইল অ্যাক্সেস করা থেকে রুটকে সীমাবদ্ধ করতে পারে। এমনকি যদি তারা করতে পারে তবে রুটটি কেবল অনুমতিটি পরিবর্তন করতে পারে। সে মূল, সে godশ্বর - এই বিষয়গুলি ঠিক এভাবেই কাজ করে।

http://www.korokithakis.net/node/109


1

উপরোক্ত ব্যবহারকারী যেমন দেখিয়েছেন, বিচ্ছিন্নকারীরা কোডটি ফিরে পেতে পারে তবে এখনও এটি খুব পঠনযোগ্য নয় (কমপক্ষে ওপেন সোর্স বিচ্ছিন্নকারীদের জন্য নয়)।

আমি এটি সম্পর্কে ভাবছিলাম, এবং আমার মনে হয় যে আপনি এই সমস্যাটি সমাধান করতে পারেন বলে একটি উপায় (যদি আপনি জোর করে ওপেন কোডটিকে কোনও সমস্যা বলেন) তবে একটি স্বয়ংক্রিয় পুনরায় ফ্যাক্টরিং স্ক্রিপ্ট লেখা। এটি আসলে মোটামুটি সহজ হবে। আপনি কেবল স্ক্রিপ্টটিকে আপনার মডিউল খাওয়াবেন এবং এটি সমস্ত মডিউল-নির্দিষ্ট ভেরিয়েবলের নাম পরিবর্তন করে। এটি কেবল সংকলিত ফাইল প্রকাশের সাথে সাথে আপনার কোডটি অবলম্বন করতে অনেক কিছু করবে।

পাইপিআইতে অনুসন্ধান করে আমি এটি পেয়েছি: http://pypi.python.org/pypi/pyfuscate/0.1 । আপনার এটি এবং এটির মতো অন্যান্যদের পরীক্ষা করা উচিত এবং প্রতিবেদন করতে হবে: ডি

এছাড়াও: আপনার অবশ্যই এটি লাইসেন্স করা উচিত।


1

আমিও লাইসেন্সিংয়ের পরামর্শ দিই। লাইসেন্সিংয়ের শীর্ষে আসুন অসমমিতিক কী অ্যালগরিদম ব্যবহার করে মূল রুটিনগুলির উত্স কোডটি এনক্রিপ্ট করুন যাতে কেবল আপনার ক্লায়েন্টের মেশিনই এটি চালাতে পারে। জোড়ার অন্যতম কী আপনার ক্লায়েন্টের মেশিনের হার্ডওয়্যার (উদাহরণ: নেটওয়ার্ক কার্ডের ক্রমিক নম্বর) থেকে প্রাপ্ত কিছু হতে পারে be প্রোগ্রামটি চলাকালীন সোর্স কোডটি ডিক্রিপ্ট করার জন্য জোড়ের অন্য কীটি ব্যবহার করুন। মনে রাখবেন যে প্লেইন টেক্সটে একমাত্র বিতরণযোগ্য হ'ল ডিক্রিপশন রুটিন এবং বাকীটি সিফারেক্সট-এ থাকবে।

এইভাবে আপনার ক্লায়েন্ট আপনার আপাতদৃষ্টিতে জিব্বারিশ কোডটি অনুলিপি করে পেস্ট করতে পারে তবে এটি অন্য কোথাও চালাতে পারে না। আমার পরামর্শটি যদিও পুরোপুরি বুলেট-প্রমাণ নয়: দোভাষী ডিক্রিপ্টেড প্রোগ্রামটি মেমরির কোথাও সঞ্চয় করতে পারেন। তারপরে এমন কিছু সম্ভাবনা রয়েছে যা মৃত্যুর সময় অনুমান করার সময় কিছু হ্যাকার আপনার প্লেইন টেক্সটে আপনার প্রোগ্রামটি পুনরুদ্ধার করে।

ফোল্ডারগুলিকে মূল অ্যাক্সেস থেকে রোধ করার ক্ষেত্রে, আমি সম্মত হই যে কোনও ফাইল / ফোল্ডার অ্যাক্সেস করা থেকে রুটকে থামানো যায় না।


এটি ঠিক অন্ধকার, সঠিক সরঞ্জামগুলির সাথে, সর্বদা সময় মতো একটি পয়েন্ট থাকবে যেখানে কোডটি সরল পাঠ্যে রয়েছে। আপনার সমাধানটিকে পরাজিত করার একটি সহজ উপায় হ'ল কেবল কোনও স্বনির্বাচিত প্রোগ্রামের সাথে ruby/ python/ nodeতার পরিবর্তনের এপিআই মিরর করার জন্য কোডটি আউটপুট করে ap
জামো

অতিরিক্তভাবে, ব্যক্তিগত কী (ডিক্রিপশনের জন্য) পরিবেশে উপলব্ধ থাকতে হবে, সুতরাং আক্রমণকারীর জন্য উপলব্ধ।
ফিক্সি

0

লাইসেন্সিং এখানে সেরা উত্তর। এটি বলেছিল, কেন তাদের গিয়ারগুলি চালাতে হবে? যদি এটি এতটা সমালোচনামূলকভাবে গুরুত্বপূর্ণ হয় তবে আপনি কোনও পরিষেবার জন্য বসন্ত স্থাপন করতে এবং জিনিসগুলির চারপাশে কিছু প্রকারের সার্ভিস এপিআই তৈরি করতে চাইতে পারেন যাতে লোকেরা আপনার বৌদ্ধিক সম্পত্তি এটি চুরি করতে দেখতে না পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.