ডেটা বান্ডিল / এনক্রিপ্ট করতে আপনি কী ব্যবহার করেন?


14

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

এই নির্দিষ্ট প্রশ্নটি সি ++ এর চারদিকে ঘোরে, তবে এটি কীভাবে সি # / এক্সএনএ-তে পরিচালিত হয় তা শুনতে আমি উন্মুক্ত।

কেবল পরিষ্কার করে বলার জন্য - হ্যাকিং রোধে কোনও সমাধান ইঞ্জিনিয়ার করতে আমি বাইরে নই। মৌলিক স্তরে আমরা সবাই 0 এবং 1 এর কৌশলগুলি ব্যবহার করছি। তবে, আমরা 99% লোককে গেম ওয়ার্ল্ড গঠনে ব্যবহৃত এক্সএমএল ফাইলগুলি পরিবর্তন করে কেবল গেমটি খেলতে চাই না। আমি প্রচুর গেমগুলি তাদের সমস্ত সংস্থান একসাথে বান্ডিল করতে দেখেছি। তারা যে পদ্ধতিগুলি ব্যবহার করছে সে সম্পর্কে আমি কেবল কৌতূহলী।


ভাল প্রশ্ন, যদিও আমি বিশ্বাস করি না এটির 100% সুরক্ষা দেওয়ার উপায় আছে, আমি বিশ্বাস করি সেখানে কমপ্যাক্ট এবং অবলম্বনের ঝরঝরে উপায় আছে এবং আমি এটি সম্পর্কে আরও জানতে চাই ...
প্রিক্স

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

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

4
খেলোয়াড়দের সেই ডেটাটি নিয়ে টোয়েটিংয়ের কী সমস্যা?
jsimmons

আমার নিজের ড্রামকে মারতে .. সিএফএল: iki.fi/sol/cfl
জারি কম্প্পা

উত্তর:


8

একটি ভাল কৌশলটি আপনার আর্কাইভ ফর্ম্যাটটি স্ক্র্যাচ থেকে তৈরি করা এবং আপনার সংরক্ষণাগারটিতে পুরো ক্রমিক ক্রিয়াকলাপের ফাইল সংরক্ষণের পরিবর্তে ডেটা খণ্ডগুলিকে ইশারা করে একটি সারণীযুক্ত করে তৈরি করা, তারপরে আপনার সূচী টেবিলটি এনক্রিপ্ট করুন এবং এলজেডএমএ / ব্যবহার করে প্রতিটি খণ্ডকে আলাদাভাবে সংকুচিত করুন good Bzip2।

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

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

তবুও, কিছুই 100% সুরক্ষিত নয়।


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

@ মিঃ ক্র্যাঙ্কি: আপনি যদি EA তাদের .package (DBPF) সংরক্ষণাগার ফর্ম্যাট (স্পোর এবং দ্য সিমস গেমসে ব্যবহৃত) এর সাহায্যে এটি দেখে থাকেন তবে আপনি বাস্তবে এটি কার্যকর অবস্থায় দেখবেন। তাদের ইঞ্জিনের "সংকোচনের ধরণের" জন্য সূচী টেবিলে একটি অতিরিক্ত ক্ষেত্র রয়েছে, কী অ্যালগরিদম ব্যবহার করতে হবে তার অভ্যন্তরীণ কোড। তারা খণ্ড টাইপের উপর ভিত্তি করে বিভিন্ন সংকোচনের অ্যালগরিদম ব্যবহার করে (পাঠ্য অংশগুলি উদাহরণস্বরূপ একটি বিশেষ সংক্ষেপণ ব্যবহার করে) তারা যে সংস্করণ পদ্ধতি ব্যবহার করে তা মোডগুলি এবং পিছনের দিকের সামঞ্জস্যের সংহতকরণের অনুমতি দেয়। ডিবিপিএফ ফর্ম্যাটটিতে আরও এখানে: simswiki.info/DatabasePackedFile
ভুডুঅ্যাটাক

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

11

সংবেদনশীল ডেটা শিপ করবেন না।

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

আপনি যদি নিজের গেমের সম্পদগুলি প্রিয় চোখের হাত থেকে দূরে রাখতে চান তবে।

  1. এটি জিপ আপ
  2. xor ফাইল
  3. বিরক্তিকর কিছুতে এক্সটেনশনটি পরিবর্তন করুন (যেমন না my_level.zip.xor, ব্যবহার করুন my_level.map)।

এটি 95% দুষ্টু ব্যবহারকারীদের বন্ধ করবে। অন্যান্য 5% আপনি যা-ই করুন না কেন এটি পেতে চলেছে।
আপনার আসলে জিপ এবং দরকার নেই xor। আপনি পরিবর্তে lzma করতে পারেন এবং একটি চাবির সাহায্যে AES ব্যবহার করতে পারেন। মুল বিষয়টি এটিতে খুব বেশি সময় ব্যয় করা উচিত নয়।


আমি প্রায়শই বেশিরভাগ গেম থেকে এটি দেখতে পাই ... আপনার জন্য কুকি।
প্রিক্স

2
সত্যিই কেবল জিপ + নামকরণই যথেষ্ট probably
কোডরেঞ্জার

1
আমি এটুকু ভাবি না, আমি That will stop 95% of mischeivieous users.এটি ভেঙে ফেলা পছন্দ করি , যদিও আমি বিশ্বাস করি এমন কিছু লোক এখনও আছে যারা সত্যই তা পেয়ে যাবে এবং যদি সবাই না সক্ষম হয় তবে আমি প্রশংসা করব। আজকাল বেশিরভাগ 10 বছর বয়সী বাচ্চারা নোটপ্যাডে কীভাবে ফাইলগুলি খুলতে এবং পুনরায় নামকরণ করতে জানে ...
প্রিক্স

1
হ্যাঁ, কিভাবে জানুন। কখনও যত্ন করবে, না।
কোডরেঞ্জার

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

4

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


4

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


1
এটাই লক্ষ্য। হ্যাকারদের সাথে লড়াই করার আমার সম্পূর্ণ ইচ্ছা নেই।
ডেভিড ম্যাকগ্রা

1

ভাল প্রশ্ন তবে উত্তর দেওয়া সহজ প্রশ্ন থেকে অনেক দূরে।
ডেটা সুরক্ষার সাথে আমার অভিজ্ঞতা থেকে আপনাকে নিম্নলিখিতগুলি সম্পর্কে ভাবতে হবে:

1) আপনি কী সুরক্ষিত করছেন, কার কাছ থেকে এবং প্রভাব কী যদি সেই তথ্যটি অনিরাপদ হয় - সুরক্ষা পদ্ধতিগত প্রযুক্তিগত সমাধানগুলির চেয়ে ঝুঁকি মূল্যায়ন সম্পর্কে অনেক বেশি
2) আমি ধরে নিই যে আপনার প্ল্যাটফর্মটি ডেস্কটপ (যেমন উইন্ডোজ / ওএসএক্স) আপনার ক্ষেত্রে রয়েছে মালিকানাধীন হার্ডওয়্যার যেমন PS3 / Xenon এর চেয়ে আলাদা সমস্যা রয়েছে যার কার্নেল স্তর সুরক্ষায় তাদের নিজস্ব প্রচেষ্টা রয়েছে (এটি কোনও বৈধ সমাধান কিনা তা বিতর্কের জন্য উন্মুক্ত)
3) এনক্রিপশন! = সুরক্ষা। এনক্রিপশন কেবল গ্যারান্টি দেয় যে আপনার ডেটা পড়া যাবে না , এটি গ্যারান্টি দেয় না যে আপনার ডেটা লেখা বা পুনরায় প্লে করা / প্রক্সিয়েড করা যায় না।

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

পিএস পাবলিক / প্রাইভেট কী বিপুল পরিমাণে ডেটা এনক্রিপ্ট করার জন্য উপযুক্ত বা ব্যবহারিক নয় তাই ডিআরএম / পিজিপি ইত্যাদি একটি হাইব্রিড আরএসএ + সিমমেট্রিক সিস্টেম ব্যবহার করে অর্থাৎ আরএসএ দিয়ে প্রতিসম কীটি সুরক্ষিত করে সেই কীটি ব্যবহার করে স্ট্যান্ডার্ড প্রতিসম এনক্রিপশন করুন

এটি একটি খুব জটিল জটিল বিষয় এবং আমি অবশ্যই এটি ন্যায়বিচার করি নি

আশা করি এইটি কাজ করবে


1

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

http://wiki.devklog.net/index.php?title=The_MoPaQ_Archive_Format

সাধারণ সংরক্ষণাগার বিন্যাসটি নিম্নরূপ:

সংরক্ষণাগার শিরোনাম ফাইলের ডেটা ফাইল ডেটা - বিশেষ ফাইল হ্যাশ টেবিল ব্লক টেবিল প্রসারিত ব্লক টেবিল শক্তিশালী ডিজিটাল স্বাক্ষর

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

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


লিঙ্কটির জন্য ধন্যবাদ, আমি কখনই এমপিকিউ-র বিশদ সম্পর্কে আরও সন্ধান করার চিন্তা করিনি (এবং সাধারণত তারা ধরে নেওয়া যায় না)
বিল

যদি এটি এত সুরক্ষিত থাকে তবে কেন এটি এমন ডিগ্রীতে বিপরীত হয়েছে এবং তৃতীয় পক্ষের লাইব্রেরিও এটির সাথে যোগাযোগ করার জন্য রয়েছে? ;-)
কোডরেঞ্জার

* .Mpq ফাইলগুলির সাথে কথোপকথনের বেশিরভাগ (পড়ুন: সমস্ত) সরঞ্জাম স্টর্মলিবের উপর নির্ভর করে, যা একটি লোক লিখেছেন এবং রক্ষণাবেক্ষণ করেছেন।

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

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

0

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

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

ওপস, এনক্রিপশনের জন্য একটি ভাল lib উল্লেখ করতে ভুলে গেছেন (সি ++ এ) হল লিবিটমক্রিপ্ট

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