ফেলো প্রোগ্রামাররা সবচেয়ে খারাপ প্রোগ্রামিং অনুশীলন ব্যবহার করে


37

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

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

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

.. যে আমাকে একটি দ্বিধায় ফেলে দেয়। আমি কি জাভাতে একটি অবিস্মরণীয় লাইব্রেরি খুঁজছি এবং তার পুরানো কোডটি (যা তার কোডটি পুনর্নির্মাণের ক্ষেত্রে কিছুটা স্পর্শকাতর হতে পারে) ঠিক করে দিচ্ছি, বা আমি এটিকে এতটুকু ছাড়াই যা আমাকে শেষ করে দেয় না?


4
যদি আপনার প্রশ্নটি এই পরিস্থিতিতে রাজনীতি পরিচালনা করতে হয় তবে এখানে অনেক উত্তর সঠিক দিক নির্দেশ করছে, তবে আপনার মন্তব্য হিসাবে যদি প্রস্তাবিত হয়, আপনি সত্যিই প্রস্তাবের আরও ভাল বিকল্প চান, আপনি যাচাই করতে চাইতে পারেন এই প্রশ্নের উত্তর খুঁজে: স্ট্যাকওভারফ্লো
মার্ক বুথ

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

2
তিনি কি স্থানীয়দের নাম পরিবর্তন করছিলেন? যদি তা হয় তবে সে তার সময় নষ্ট করছে - যেভাবেই হোক সংকলিত কোডে এগুলি নামক ভেরিয়েবল হিসাবে উপস্থিত নেই।
নিক জনসন

1
এটিকে "অবক্ষেপণ" বলা হয় এবং যদিও এটি বর্তমানে প্রচলিতভাবে ব্যবহৃত হচ্ছে, এটি পুরো-প্রমাণ নয়! .. যদিও এটি কোডটি ক্র্যাক করা থেকে কারও বিলম্ব করবে, এটি ক্র্যাক হতে পারে! .. আমি কী দেখতে চাই এটি একটি সংকলক যা অবজেক্ট কোডটি এনক্রিপ্ট করতে পারে এবং কেবল সঠিক কী দিয়ে সম্পাদন করা যেতে পারে, যাতে কোনও ডিস্ক সম্পাদক, বিযুক্তকারী বা অন্য কোনও ক্র্যাকিংয়ের সরঞ্জাম সহ কেউ কখনও এ থেকে মাথা বা লেজ তৈরি করতে সক্ষম না হয়!
ফ্র্যাঙ্ক আর।

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

উত্তর:


94

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


31
+1 অবলম্বন সুরক্ষা নয়, কেবল একটি আরামের কম্বল।
uɐɪ

7
যদি আপনি অবসন্নতার চেয়ে আরও ভাল সমাধান নিয়ে আসতে পারেন তবে আমি আপনার উত্তরটিকে সঠিক হিসাবে চিহ্নিত করব। আপনি কীভাবে গ্যারান্টি দিতে পারেন যে যুদ্ধের ফাইলে অ্যাক্সেস থাকা কেউ কমপক্ষে লাইসেন্সগুলির উদ্বেগের জন্য এর কার্যকারিতা পরিবর্তন করতে পারবেন না?
নিল

5
কেউ এই ফাইলগুলিতে অ্যাক্সেস পেয়ে গেলে আপনি একেবারেই গ্যারান্টি দিতে পারবেন না। তবে সত্যটি হ'ল: সবচেয়ে সহজ পদ্ধতিটি 99,99% ব্যবহারকারীদের আপনার সফ্টওয়্যারটির ক্ষতি করতে বাধা দেয়। একজন নিবেদিত এবং দক্ষ হ্যাকার সর্বদা অ্যাপ্লিকেশন সুরক্ষা বাইপাস করার একটি উপায় খুঁজে পাবেন find আপনি যাইহোক, দূরবর্তী যাচাইকরণে স্যুইচ করতে পারেন, সুতরাং আপনার প্রোগ্রামটি কেবল তখন আপনার কোনও পরিষেবার বিরুদ্ধে প্রমাণীকরণ করলে চলবে। এটি সুরক্ষিত হওয়ার জন্য আপনাকে আপনার পুরো প্রোগ্রামটি এনক্রিপ্ট করতে হবে এবং এক ধরণের বুটলোডার থাকা দরকার। কিন্তু: যদি কেউ একটি বৈধ কী পেয়ে থাকে তবে সে যাইহোক, সফ্টওয়্যারটিকে আবার বিপরীত করতে পারে can
ফ্যালকন

7
@ নীল: একটি ইউএসবি ডংল হিসাবে সংযুক্ত একটি মাইক্রোকন্ট্রোলারে মূল ব্যবসায় যুক্তি প্রয়োগ করুন। আপনি বলেননি যে এটি সস্তা বা কার্যকর করা সহজ হতে হবে;)
এসএফ।

8
@SF। টাচ। আমি মনে করি এটির দোজখের জন্য একই সাথে সংযোগ স্থাপনের জন্য তিনটি উপগ্রহ প্রয়োজন। ;)
নীল

84

আসল: আপনার বস কী বলে? খুঁজে বের করুন - যে কি।


আমাকে উপরেরটি বিস্তারিতভাবে জানাতে বলা হয়েছিল:

প্রথমত, আমি মনে করি আপনার একাধিক দ্বিধা রয়েছে:

  • আপনি অন্য ব্যক্তির কোড "ঠিক" করা উচিত?
  • অন্যান্য ব্যক্তির বাস্তবায়ন (এ থেকে এখানে) কি এতটা খারাপ যে এটি অন্যরকম কিছু দিয়ে প্রতিস্থাপন করা উচিত?
  • এই "আমাদের অ্যাপ্লিকেশনটিতে এম্বেড লাইসেন্সিং" এর জন্য কি কোনও আব্বুস্কেটার (এর থেকে বি) আরও ভাল হবে?

প্রথম সব, একটি ব্যবসা ক্ষেত্রে সমস্যা থেকে দেখা হয় সমাধান। এ স্থানটিতে রয়েছে এবং সম্ভবত - সমস্যার একটি "যথেষ্ট ভাল" সমাধান। আপনার সংস্থা এটির সাথে সন্তুষ্ট হতে পারে মূলত যথেষ্ট সুরক্ষিত যে এটি ভাঙার জন্য ইচ্ছাকৃত প্রচেষ্টা প্রয়োজনীয়।

এর অর্থ হ'ল এমনকি যদি আপনি এটি অপছন্দ করেন (এবং, আমাকে বিশ্বাস করুন, আপনি আপনার ক্যারিয়ারের মাধ্যমে আরও খারাপ দেখতে পাবেন ) এটি যা প্রয়োজন তা করে does সুতরাং, সমস্যার সমাধান হিসাবে, আপনার "কেবল এটি" করা উচিত নয়, বরং আপনার কাজের দায়িত্বপ্রাপ্ত ব্যক্তিকে বোঝানো উচিত যে দীর্ঘমেয়াদীএই বাস্তবায়নের দাম একটি রোলব্যাক এবং স্টক অবফসেক্টর বেছে নেওয়ার পক্ষে যথেষ্ট পরিমাণে থাকবে। এটি আপনার কাছ থেকে বেশ কিছুটা প্রস্তুতির প্রয়োজন হবে এবং এটিও নোট করুন যে অবফাসকেটরদের আপনার ডাউনসাইডগুলি খুব বেশি দরকার যা আপনার জানা দরকার (অন্যান্য উত্তরগুলি এটি ভালভাবে কভার করে)। উদাহরণস্বরূপ, স্ট্যাকের চিহ্নগুলি তাত্ক্ষণিকভাবে ব্যবহারযোগ্য নয়, ইত্যাদি সবকিছুই নির্ভর করে যে পাইরেটিং এড়ানো কতটা গুরুত্বপূর্ণ on মনে রাখবেন যে সবচেয়ে বেশি বিরতি হওয়া দরকার যার জন্য চালনার জন্য হার্ডওয়্যার ডাঙ্গলগুলি প্রয়োজন এবং আপনার গ্রাহকরা যে পছন্দ করেন তার চেয়ে বেশি ব্যয়বহুল।

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

অন্য কথায়: আপনার বস কী বলে? খুঁজে বের করুন - যে কি।

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

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

আশা করি এটি আমার দৃষ্টিভঙ্গি স্পষ্ট করে।


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

15
@ নীল: ... তাই এখন সময় এসেছে আপনার বসকে "রক্ষণাবেক্ষণ ব্যয়" ধারণাটির সাথে পরিচয় করিয়ে দেওয়ার?
এসএফ

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

8
@Aaronaught। এই উত্তরটি হাড়ের মধ্যে কেটে যায় যখন এটি "বাস্তবায়ন এ খারাপ হয়, আমি প্রস্তাব করি আমরা বি প্রয়োগকরণ করব" কারণ অতিরিক্ত কাজ (সমান অর্থের সমান) করা দরকার। এটি যদি A বা B প্রয়োগের মধ্যে পছন্দ হয় তবে উত্তরটি অন্যরকম হত। আমি আরও পরামর্শ দিয়েছি যে আপনি মেটাতে একটি প্রশ্ন খোলার পরামর্শ দিচ্ছেন।

22
"এটি কি সহকর্মীদের বা কাজের পরিবেশ সম্পর্কে প্রতিটি একক প্রশ্নের ডিফল্ট প্রতিক্রিয়া হয়ে উঠবে?" কেন না? যদি এটি কোনও প্রযুক্তিগত প্রশ্ন হিসাবে শব্দযুক্ত হয় তবে .eg "কোনটি স্বতঃস্ফূর্ত বিস্মরণ v এর হাতের কোডেড (= খারাপ অনুশীলন) অবলম্বন" তবে এটি সম্পূর্ণ আলাদা প্রশ্ন, এবং একটি প্রযুক্তিগত আলোচনার নিশ্চয়তা দেয়। সমস্ত "আমি কি আমার সহকর্মীদের পিছনে এটি ঠিক করব?" প্রশ্নগুলি শেষ পর্যন্ত "না, এটি দল / উচ্চ শক্তির নজরে আনুন"
বাইনারি ওয়ারিয়র

13

আমি কি জাভাতে একটি অবিস্মরণীয় লাইব্রেরি খুঁজছি এবং তার পুরানো কোডটি (যা তার কোডটি পুনর্নির্মাণের ক্ষেত্রে কিছুটা স্পর্শকাতর হতে পারে) ঠিক করে দিচ্ছি, বা আমি এটিকে এতটুকু ছাড়াই যা আমাকে শেষ করে দেয় না?

না , কারও পিছনে ফিরে যাওয়া এবং কোডের জন্য তারা যে দায়বদ্ধ তা পরিবর্তন করা প্রশ্নবিদ্ধ কোডটি লেখার চেয়ে শুরু করার চেয়ে খারাপ অপরাধ হবে।

আপনি এটি প্রোগ্রামারের সাথে এনেছেন, আপনার পরবর্তী পদক্ষেপটি হ'ল আপনার নাকটি বাইরে রাখা বা পরিচালনা সহ এনে রাখা এবং তারপরে আপনার নাকটি বাইরে রাখা।


ভবিষ্যতে যখন আমি এই ক্লাসগুলির মাধ্যমে মাছ ধরব তখন আমি অনুমান করি যে কেবল আমার নাকটি ধরে আছে।
নীল

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

6

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

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

সর্বদা এই বিষয়গুলির সাথে মিল রাখুন - তবুও রাজনৈতিক এবং মৈত্রী উপায়ে।


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

2

আপনি যদি এমন কোনও অবস্হানকারী খুঁজে পেতে পারেন যা ক্লাসের স্বাক্ষর (পদ্ধতির নাম ইত্যাদি) অবিরাম করতে পারে তবে ভাল, এটি কিনে ব্যবহার করার প্রস্তাব দিন ose

ততক্ষণে আপনার সাথে এটি থাকতে পারে। আমি সাম্প্রতিক গ্রিলস প্রকল্পে অনুরূপ কিছু করার স্বীকার করছি - লাইসেন্স চেকগুলি ইচ্ছাকৃতভাবে ইতিমধ্যে বৃহত লগইন পদ্ধতিতে এম্বেড করা আছে, সুতরাং চেকটি বাইপাস করার পদ্ধতিটি প্রতিস্থাপন করা বেশ কঠিন হবে।


1
আমি আপনাকে বলতে পারি না যে এটি আমাকে কতটা বিরক্ত করে, যদিও আপনি সম্ভবত ঠিক বলেছেন যে আমাকে এটির সাথে বাঁচতে হবে।
নিল

2

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

যদি কোনও অবলম্বনকারী যথেষ্ট সুরক্ষিত না থাকে, আপনি কি জআর সুরক্ষার অন্যান্য উপায়গুলির দিকে নজর রেখেছেন, সম্ভবত এটি এনক্রিপ্ট করার মতো, বা স্থানীয় কোডে সংকলনের মতো কিছু?

আরই: তার কোডটি পুনরায় কাজ করা: এটি কি কেবল নামকরণের বিষয়? অনেক আইডিই এর রিফ্যাক্টরিং সরঞ্জাম রয়েছে যা এটি সহজেই করতে পারে।


তিনি আমাকে বিড়বিড় করে মারছেন, যদিও আমি তা দেখতে পাচ্ছি। পণ্যটি হ্যাক হয়ে থাকলে এটি সম্ভবত তার কাজ বোঝায়। আমি এটি সম্ভব বলব না, তবে আপনি কীভাবে পদ্ধতির নামের জন্য অনুসন্ধান করতে পারবেন তা জানার জন্য আমি যথেষ্ট জানি এবং যদি "ইসলাইসেনভিড" নামে একটি সুস্পষ্ট পদ্ধতি থাকত তবে এই পদ্ধতিটি রয়েছে এমন একটি শ্রেণীর লেখার বিষয় এবং সর্বদা সত্য হিসাবে ফিরে আসে এটা 'হ্যাক'। আমি মনে করি এই প্রোগ্রামটি আরও জটিল না করেই যথেষ্ট জটিল, যদিও তিনি মনে করেন এটি নিশ্চিত হতে চায়। আমি মনে করি আমি সহজেই তার কোডটির নাম পরিবর্তন করে ঠিক করতে পারতাম, হ্যাঁ।
নিল

আপনার "ইসলাইসেন্সভালিড" নামক একটি পদ্ধতি আছে বলে কেবল এটি একই পদ্ধতিতে কোনও ক্লাস লিখে কেবল হ্যাক করা যায় না। আপনি যদি নিজের শ্রেণিকে "সিলড" হিসাবে চিহ্নিত করেন (এটি সি # সিনট্যাক্স), তবে তৃতীয় পক্ষগুলি কেবল সাবক্লাসগুলি লিখে এবং আপনার পদ্ধতিটিকে ওভাররাইড করে আপনার সুরক্ষা চেকগুলি অবরুদ্ধ করতে পারে না। যাই হোক না কেন, এই লোকটি যদি কোম্পানির সুরক্ষা কর্মকর্তা না হয়, তবে পণ্যটি হ্যাক হয়ে থাকলে কেন তার কাজটি বোঝানো হবে?
টুন্ডে

2
@ টুন্ডে, এটি সাবক্লাসের বিষয় নয় (তারা কীভাবে বোঝাই হবে?): এটি একই ক্লাসটি লেখার এবং হ্যাক করা সংস্করণটি ক্লাসপথ অনুসন্ধান তালিকায় রাখার বিষয়।
পিটার টেলর

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

1
@ টুন্ডে দ্য সান জেভিএম (বেশিরভাগ) মুক্ত উত্স, আপনি এটি পরিবর্তন করতে পারেন mod
স্পুড 86

2

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

আপনার আইপি কীভাবে সুরক্ষিত করা যায় তা আপনার সমস্যা। এর জন্য একটি সমাধান খুঁজুন: অবফেসকেটর, লাইসেন্স সার্ভার ইত্যাদি


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

1

যখন অন্য বিকাশকারী আমাদের এনক্রিপশন / ডিক্রিপশন রুটিনের নামকরণ করেছিলেন str__copyএবং str__delete(দ্বিতীয় আন্ডারস্কোরটি লক্ষ্য করুন) তখন আমি একই ধরণের সমস্যায় পড়েছি । এটি খোঁড়া ছিল এবং আরও ভাল করা যেত, সুতরাং লাইসেন্সের আপডেট করার প্রয়োজনীয়তার কোনও গল্প না পাওয়া পর্যন্ত আমরা অপেক্ষা করছিলাম। অতিরিক্ত কয়েক ঘন্টার মধ্যে ম্যানেজমেন্টের কোনও সমস্যা ছিল না কারণ আমরা এটিকে "পরিষ্কার করি তাই পরের বার যখন আমরা লাইসেন্সিংয়ে যাব, তখন কম সময় লাগবে এবং এটি আরও সুরক্ষিত হবে" হিসাবে বর্ণিত। সমস্যা সমাধান, আঘাতের অনুভূতি নেই।


অবশ্যই আমরা পরে সবসময় এটি পরিবর্তন করতে পারি, যদিও আমি মনে করি কোডটির চেয়ে পরিবর্তনটি মাথায় থাকা দরকার।
নিল

1
@ নীল তারপরে আমি আপনাকে পরামর্শ দিচ্ছি যে আপনিই যার মাথার পরিবর্তন দরকার in কোডটি যদি কাজ করে, পর্যাপ্ত পরীক্ষা করে থাকে এবং ব্যবহারের পরিবর্তে সেই পথে যেতে ভাল মন্তব্য করা হয় এবং অবফসকেটরটি সেরা পছন্দ নয়, তবে পৃথিবীর শেষও নয়। এটি যদি সমস্যা হয় তবে এটি পরে ঠিক করুন এবং অন্যথায় কেবল এগিয়ে যান।
ক্রিস্টোফার বিবস

@ ক্রিস্টোফার_বিবস: আপনার মনকে নিশ্চিন্ত করুন। আমি অবশ্যই আপনাকে নিশ্চিত করে বলতে পারি যে এটি বাস্তবে কোনও সমস্যা উপস্থিত করবে।
নিল

1

আমার প্রথম চিন্তা ছিল কোডটি রক্ষণাবেক্ষণ করা। যদি কোডটি ইতিমধ্যে অবরুদ্ধ হয়ে থাকে এবং তিনি এগিয়ে চলেছেন তবে ভাগ্য সেই কোডটিতে একটি হ্যান্ডেল পাওয়ার চেষ্টা করছে। তারপরে আপনি হ্যাকার কোডটি বোঝার চেষ্টা করবেন।

পরিবর্তে আমি কোডটি পরিষ্কার করার এবং একটি নিখুঁত ব্যবহার করে সমস্ত কঠোর পরিশ্রম করার পরামর্শ দেব। দীর্ঘমেয়াদী আপনার অনেক ব্যবস্থাপনামূলক কোড থাকবে এবং যে কেউ আপনার লাইসেন্স হ্যাক করতে চায় তার কাছে আপনি সমস্ত ক্রেজি জটিলতা ছেড়ে দেন।

মনে রাখবেন যে কোনও ওবফাসকাটার নির্ভুল নয় এবং খুব দৃ determined়প্রতিজ্ঞ হ্যাকার ইঞ্জিনিয়ারকে যে কোনও কিছু বিপরীত করতে পারে, তবে কমপক্ষে এটি কেবল তারই হবে। প্লাস obfuscaters যে এক ব্যক্তি সম্ভবত এটি করতে পারে তার চেয়ে অনেক বেশি জটিলতা যুক্ত করে।


0

আমি এই উত্তর সম্পর্কে আপনার মনিবকে জিজ্ঞাসা করা উচিত এবং তিনি যা বলেছেন তা করা উচিত বলে আমি অত্যন্ত সম্মত।

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


0

"কোনও সমস্যা সম্পর্কে জানা সবচেয়ে সেরা পেশাদার হতে হবে না"।

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

কেবল আপনার বসকে বলবেন না, কারণ প্রচুর পরিচালক সম্ভবত প্রযুক্তিগত নন, তবে আমরা সবসময় যা করি তা করুন: এই সমাধানগুলির প্রতিটিটির সুবিধাগুলি / অসুবিধাগুলি সহ সমস্যা এবং সম্ভাব্য সমাধান দিন। তারপরে তাদের সিদ্ধান্ত নেওয়া উচিত এবং এটি শেষ হয়ে যায়। এজন্য পরিচালক / নেতারা বড় অঙ্কের বেতন পান!


0

সাধারণ সত্যটি হ'ল যথেষ্ট সময় এবং সংস্থান দেওয়া যে কোনও কিছুতেই ক্র্যাক করা যায়। আপনার অ্যাপ্লিকেশনটি কতটা জনপ্রিয় তা এটি একটি সাধারণ কাজ। এটি যত বেশি জনপ্রিয় হ্যাকার এটি তত বেশি আকর্ষণ করে এবং এটি ভাঙতে আরও বেশি সময় ব্যয় করা হয়। কোড অবলম্বন ঠিক তা সরবরাহ করে - ক্রিপ্টোগ্রাফির অনুরূপ এটি ভাঙার জন্য প্রয়োজনীয় সময় বাড়ানোর উপায়। সুতরাং যদি আপনার কোডটি অস্পষ্ট হয় তবে আক্রমণকারীর দক্ষ হওয়া এবং এটিতে সময় উত্সর্গ করা প্রয়োজন অন্যথায় তিনি হতাশ হয়ে হাল ছাড়বেন। আপনার অ্যাপ্লিকেশনটি উভয় প্রান্তের সমস্যার জন্য মূল্যবান কিনা তা আপনাকে নিজেকে জিজ্ঞাসা করতে হবে।

অবাক করা কোডটি ক্র্যাক করা কতটা শক্ত হয়ে উঠতে পারে তা আসলে আশ্চর্যরকম। অনড় হয়ে যাওয়ার মাধ্যমে আপনি সহজেই একটি 100 লাইন সমাবেশে একটি সাধারণ 10 লাইন সি প্রোগ্রাম চালু করতে পারেন। আপনি যদি এটি ডিবাগ করার চেষ্টা করেন তবে কোডের অর্থহীনভাবে চারপাশে ঝাঁপিয়ে পড়বেন এবং এটির মাধ্যমে পদক্ষেপ নিতে সত্যই হতাশাবোধ করতে পারেন। অবশেষে এটি ভেঙে যাবে তবে এটি সত্যই শক্ত হয়ে ওঠে এবং যেহেতু কিছুই সত্যই অসম্ভব তা হ'ল মূল বিষয়। কোড অবরুদ্ধকরণ এটি ভাঙতে সক্ষম লোকের সংখ্যা হ্রাস করে।

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

আপনার কাছে এমন কিছু রয়েছে যা আক্রমণকারী করে না। মূল উত্স কোড। এটি নিজের জন্য আরও ভাল করে সাজানোর কোনও উপায় সন্ধান করুন।

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