সংশ্লেষণ রোধ করতে সংকলিত জাভা ক্লাসগুলি কীভাবে লক করবেন?


98

পচন রোধ করতে আমি কীভাবে সংকলিত জাভা ক্লাসগুলি লক করব?

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

অনেক লোক অবলম্বন করার পরামর্শ দেয় তবে তারা কেবল ক্লাস, পদ্ধতি এবং ক্ষেত্রগুলির পুনরায় নামকরণ কঠিন-মনে রাখার চরিত্রের ক্রমগুলি সহ করে তবে সংবেদনশীল ধ্রুবক মানগুলির কী?

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

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


এমনকি বিচ্ছিন্ন নেটিভ কোডটি কিছু লোকের কাছে বেশ পঠনযোগ্য, সম্ভবত এটি অ-স্পষ্ট করে তুলতে আপনাকে কিছু অবিস্মরণীয় বা হস্তচালিত সমাবেশ ব্যবহার করতে হবে (অপ্টিমাইজেশানের সাথে সংকলিত সাধারণ সি ++ যথেষ্ট পাঠযোগ্য)। যে কোনও কোড ব্যবহারকারীর ডিভাইসে চালানো যায় না, তা বাধা দেওয়া যায়। যদিও এই জাতীয় ব্যবস্থার জন্য ব্যয় / দক্ষতার প্রয়োজনীয়তাগুলি বেশ বেশি হতে পারে, উদাহরণস্বরূপ স্মার্ট-কার্ড "টেম্পার-প্রুফ" চিপস কোড ভাঙা তুচ্ছ নয়, কেবল শীর্ষ সরঞ্জাম এবং দক্ষতার সাথে কার্যকর do জাভা ক্লাস সহ ... আমি খুব বেশি বিরক্ত করব না, আপনি সম্ভবত স্ক্রিপ্ট বাচ্চাদের সরিয়ে দেওয়ার জন্য তাদের যথেষ্ট এনক্রিপ্ট করতে পারেন, আরও কিছু নয়।
পেড 7g

উত্তর:


97

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

এছাড়াও অনেকগুলি অবলম্বনকারী আপনার স্ট্রিং ধ্রুবকগুলিকে স্ক্যাম্বল করতে এবং অব্যবহৃত কোডটি সরাতে সক্ষম।

আর একটি সম্ভাব্য সমাধান ( অযথা আবশ্যকতা বাদ দিয়ে নয়) হ'ল এনক্রিপ্ট করা জেআর ফাইল এবং একটি কাস্টম ক্লাসলোডার যা ডিক্রিপশনটি করে (অগ্রাধিকার হিসাবে নেটিভ রানটাইম লাইব্রেরি ব্যবহার করে) ব্যবহার করে।

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

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


14
"লকগুলি প্রাণীর জন্য" এর জন্য +1। আমি অনুমান করি যে এখানে উপযুক্ত শব্দটি স্ক্রিপ্ট কিড হবে।
অ্যান্টিমনি

আপনার মানে জিসিজে, এবং এটি মারা গেছে।
লার্নের মারকুইস

4
কম্পোনিও জার ফাইলের এনক্রিপশনটিও মারা গেছে। ব্যবহারের JarProtector পরিবর্তে।
জে.প্রফি

16

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


13

দাবি অস্বীকার: আমি সুরক্ষা বিশেষজ্ঞ নই।

এটি একটি খারাপ ধারণা বলে মনে হচ্ছে: আপনি তাকে যে কোনও 'লুকানো' কী দিয়ে কোনও জিনিস এনক্রিপ্ট করতে দিচ্ছেন। আমি মনে করি না এটি নিরাপদ করা যেতে পারে।

হতে পারে অসম্পূর্ণ কীগুলি কাজ করতে পারে:

  • ডিক্রিপ্ট করার জন্য একটি পাবলিক কী সহ একটি এনক্রিপ্ট করা লাইসেন্স স্থাপন করুন
  • গ্রাহককে একটি নতুন লাইসেন্স তৈরি করতে দিন এবং এটি আপনাকে এনক্রিপশনের জন্য প্রেরণ করুন
  • ক্লায়েন্টকে আবার নতুন লাইসেন্স প্রেরণ করুন।

আমি নিশ্চিত নই, তবে আমি বিশ্বাস করি ক্লায়েন্টটি আপনাকে যে সর্বজনীন কী দিয়েছিল তার সাথে লাইসেন্স কীটি এনক্রিপ্ট করতে পারে। তারপরে আপনি এটিকে আপনার ব্যক্তিগত কী দিয়ে ডিক্রিপ্ট করতে পারবেন এবং পাশাপাশি পুনরায় এনক্রিপ্ট করতে পারবেন।

আপনি সঠিক গ্রাহকের কাছ থেকে আসলে জিনিস পাচ্ছেন তা নিশ্চিত করতে আপনি প্রতি গ্রাহক পৃথক সরকারী / ব্যক্তিগত কী জুড়ি রাখতে পারেন - এখন আপনি কীগুলির জন্য দায়ী ...


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

12

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

এই সম্পর্কে কি করতে হবে?

আপনার কোডটিতে হার্ডকডযুক্ত ধ্রুবক হিসাবে কীটি চালিত না করার চেষ্টা করুন: এটি প্রতি ব্যবহারকারীর সেটিংস হিসাবে রাখুন। কীটি দেখার জন্য ব্যবহারকারীকে দায়বদ্ধ করুন।


6

@ জাটানপ: বা আরও ভাল, তারা ডেসম্পাইল করতে পারে, লাইসেন্সিং কোডটি সরিয়ে ফেলতে এবং পুনরায় সংশোধন করতে পারে। জাভা সহ, আমি সত্যিই ভাবি না যে এই সমস্যার কোনও সঠিক, হ্যাক-প্রুফ সমাধান রয়েছে solution এমনকি কোনও ছোট্ট ছোট্ট ডোঙ্গেলও জাভা দিয়ে এটি প্রতিরোধ করতে পারেনি।

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

সুতরাং, আমাকে জিজ্ঞাসা করতে হবে, আপনি কি আপনার আবেদনটির মতো সন্ধানের মতো সত্যই কি কঠোর সুরক্ষা প্রয়োজন? আপনার গ্রাহক বেস দেখতে কেমন? (কর্পোরেটস? বা কিশোর গেমার জনগণ, যেখানে এটি আরও একটি সমস্যা হতে পারে?)


প্রকৃতপক্ষে, একটি সঠিক, হ্যাক-প্রুফ সমাধান রয়েছে যা বিটিডব্লিউটি একটি ডাঙ্গলের মতো দেখায়: এক্সেলসিয়র-
দিমিত্রি লেস্কোভ

@ দিমিত্রিলেস্কভ 'হ্যাক রেজিস্ট্যান্ট', হতে পারে। তবে কোডটিতে যে কেউ চায় এটি কেবল স্পিড বাম্প। দিন শেষে, বাইট কোডটি এনক্রিপ্ট না করে একটি হোস্ট প্ল্যাটফর্মে চালাতে হবে। দাড়ি.
স্টু থমসন

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

4
কর্পোরেট কিশোর গেমাররা।
ওডিস্যাপাপি

3

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


2

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

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


2

আপনি কোনও ভয় ছাড়াই বাইট-কোড এনক্রিপশন ব্যবহার করতে পারেন।

আসল বিষয়টি হ'ল উপরের কাগজগুলিতে "ক্র্যাকিং জাভা বাইট-কোড এনক্রিপশন "টিতে একটি যুক্তি বিভ্রান্তি রয়েছে। কাগজের মূল দাবিটি হ'ল সমস্ত ক্লাস চালানোর আগে ডিক্রিপ্ট করে ClassLoader.defineClass(...)পদ্ধতিতে পাস করতে হবে । কিন্তু এটা সত্য না.

ধৃষ্টতা এখানে মিস প্রদান যে তারা খাঁটি, অথবা মান, জাভা রান টাইম পরিবেশে দৌড়াচ্ছে । সুরক্ষিত জাভা অ্যাপ্লিকেশন কোনও কিছুই কেবল এই ক্লাসগুলি চালু করতে নয় তবে ডিক্রিপ্ট করে এগুলিতে প্রেরণ করতে পারে ClassLoader। অন্য কথায়, আপনি যদি স্ট্যান্ডার্ড জেআরই তে থাকেন তবে আপনি defineClass(...)পদ্ধতিটি বাধতে পারবেন না কারণ স্ট্যান্ডার্ড জাভাটির কোনও প্রয়োজন নেই এই উদ্দেশ্যে, এবং যদি আপনি প্যাচযুক্ত ClassLoaderবা অন্য কোনও "হ্যাকার ট্রিক" দিয়ে পরিবর্তিত জেআরই ব্যবহার করেন তবে আপনি এটি করতে পারবেন না কারণ সুরক্ষিত জাভা অ্যাপ্লিকেশনটি মোটেই কাজ করবে না, এবং তাই আপনার বিরতি দেওয়ার কিছুই থাকবে না। এবং হ্যাকাররা কোন "প্যাচ ফাইন্ডার" ব্যবহৃত হয় বা কোন কৌশলটি ব্যবহার করে তা একেবারেই কার্যকর নয়। এই প্রযুক্তিগত বিবরণ একটি সম্পূর্ণ ভিন্ন গল্প।


কীভাবে আপনি কোনও প্যাচযুক্ত জেভিএম সনাক্ত করতে চান? যাইহোক, এই সমস্ত কিছু জিনিস কিছু শক্ত করে তোলে।
অ্যান্টিমনি

আপনি কি আপনার অ্যাপ্লিকেশন লঞ্চারে কেবল ডিফাইনক্লাস () কল করার জন্য কোনও কল খুঁজে পাচ্ছেন না? আপনি যখন এই কলটি করবেন, আপনাকে যাইহোক ডিক্রিপ্টড বাইটের অ্যারেতে হস্তান্তর করতে হবে। মূল উত্সটি ফাঁস হতে পারে এটিই কি অন্য কোনও বিষয় নয়?
আরোহী

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

-1

প্রশ্ন: আমি যদি আমার। ক্লাস ফাইলগুলি এনক্রিপ্ট করি এবং ফ্লাইতে লোড এবং ডিক্রিপ্ট করার জন্য একটি কাস্টম ক্লাসলোডার ব্যবহার করি, তবে এটি কি ক্ষয় রোধ করবে?

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

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

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

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

তারপরে মূল জাভা সোর্স কোডটি অবলম্বন করার বিকল্প রয়েছে। তবে মূলত এটি একই ধরণের সমস্যার কারণ হয়ে থাকে। এনক্রিপ্ট না, অবরুদ্ধ?

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

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

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