কিভাবে একটি দুর্নীতিগ্রস্ত APK ফাইল ঠিক করবেন এবং সম্পদ বের করবেন

A smartphone showing a file error with a small toolbox, illustrating fixing a corrupt APK

আপনি একটি 2GB গেম বান্ডেল ডাউনলোড করতে ঘণ্টার পর ঘণ্টা ব্যয় করেছেন, শুধুমাত্র আপনার ব্রাউজারকে "ডাউনলোড ব্যর্থ হয়েছে" বলতে 99% বা তার চেয়েও খারাপ, Android-এর জন্য "পার্সিং ত্রুটি: প্যাকেজ পার্সিং একটি সমস্যা ছিল।" চিৎকার করার জন্য একটি দূষিত APK অগত্যা একটি মৃত ফাইল নয়৷ যেহেতু APKগুলি জিপ কম্প্রেশন স্ট্যান্ডার্ডে তৈরি করা হয়েছে, সেগুলি প্রায়শই মেরামত করা যেতে পারে, অন্তত ভিতরের মূল্যবান সম্পদগুলি বের করার জন্য যথেষ্ট।

নীচে আমরা একটি APK এর ভিতরে আসলে কী ভাঙছে, মেরামত করার সরঞ্জামগুলি এবং আপনি যখন একটি ভাঙা বান্ডিল মোকাবেলা করছেন তখন কীভাবে আমাদের XAPK কনভার্টার সাহায্য করতে পারে সে সম্পর্কে জানতে পারি।

টিএল; ডিআর। পাঁচ সেকেন্ডের সারাংশ: বেশিরভাগ দূষিত APK-এর জিপ কেন্দ্রীয় ডিরেক্টরিতে বা এর মধ্যে ক্ষতি হয়েছে classes.dex. জিপ-স্তরের ক্ষতির সাথে মেরামতযোগ্য zip -FF অথবা 7-জিপ। DEX-স্তরের ক্ষতি নয়; সেই ক্ষেত্রে, আপনি যে সম্পদগুলি করতে পারেন তা পুনরুদ্ধার করুন এবং একটি পরিষ্কার APK পুনরায় ডাউনলোড করুন৷ zipalign ত্রুটিগুলি প্রকৃত দুর্নীতি নয় এবং একটি কমান্ডে সংশোধন করা হয়েছে।

APK দুর্নীতির অ্যানাটমি

একটি APK মূলত একটি নির্দিষ্ট কাঠামো সহ একটি জিপ সংরক্ষণাগার। দুর্নীতি সাধারণত তিনটি স্থানের একটিতে ঘটে:

  1. শিরোনাম: ফাইলের একেবারে শুরুতে বাইটগুলি অনুপস্থিত বা পরিবর্তিত।
  2. ম্যানিফেস্ট (XML): AndroidManifest.xml ত্রুটিপূর্ণ বা একটি অসমর্থিত এনকোডিং ব্যবহার করে৷
  3. ডেক্স কোড: প্রকৃত জাভা/কোটলিন বাইটকোড ছেঁটে ফেলা হয়েছে, যার ফলে অ্যাপটি চালু করা যাবে না।

পদ্ধতি 1: মাথাবিহীন জিপ মেরামত (সবচেয়ে সহজ)

যদি ফাইলটি "পঠনযোগ্য" হয় কিন্তু খোলা না হয়, তাহলে Linux/macOS-এ ডিস্ক ইন্টারনাল জিপ মেরামত (ফ্রি) বা কমান্ড-লাইন zip -FF কমান্ডের মতো একটি টুল ব্যবহার করুন। এই সরঞ্জামগুলি ফাইলগুলির "স্বাক্ষর" এর জন্য ফাইলটি স্ক্যান করে এবং স্ক্র্যাচ থেকে কেন্দ্রীয় ডিরেক্টরি পুনর্নির্মাণ করে।

টার্মিনাল ব্যবহারকারীদের জন্য কোড: zip -FF corrupt_app.apk --out fixed_app.apk

পদ্ধতি 2: জিপলাইন/সারিবদ্ধকরণ ঠিক করা

কখনও কখনও একটি APK "দুর্নীতিগ্রস্থ" হয় কারণ এটি 4-বাইটের সীমানায় সারিবদ্ধ নয়৷ Android-এর মেমরি পরিচালনার জন্য এটি প্রয়োজন। আপনি Android SDK থেকে জিপলাইন টুল ব্যবহার করে এটি ঠিক করতে পারেন:

zipalign -v 4 input.apk output.apk

বিট-রট সতর্কতা

যদি DEX (classes.dex) ফাইলটি নিজেই ডেটা অনুপস্থিত থাকে, তাহলে কোন পরিমাণ জিপ মেরামত অ্যাপটি কাজ করবে না। এই ক্ষেত্রে, আপনার একমাত্র লক্ষ্য হওয়া উচিত সম্পদ/সম্পদ বের করা এবং অ্যাপটির একটি নতুন অনুলিপি খুঁজে পাওয়া।

আসলে কি ভুল বলুন কিভাবে

আপনি একটি মেরামতের সরঞ্জাম বাছাই করার আগে, ব্যর্থতা চিহ্নিত করুন। Android (বা আপনার আর্কাইভ টুল) যে ত্রুটি বার্তাটি দেখায় তা সাধারণত একটি সূত্র হয়:

লক্ষণ আপনি দেখতে এটা সাধারণত মানে কি প্রথমে কি চেষ্টা করতে হবে
"প্যাকেজ পার্সিং" ব্যর্থ (Android) ZIP কেন্দ্রীয় ডিরেক্টরি অপঠনযোগ্য, বা ম্যানিফেস্ট সংস্করণ অমিল জিপ হেডার মেরামত (পদ্ধতি 1)
"প্যাকেজ পার্স করার সময় একটি সমস্যা ছিল" + APK প্রত্যাশিত থেকে সামান্য ছোট ছেঁটে ফেলা ডাউনলোড: শেষ কয়েক KB কখনই আসেনি৷ একই উৎস থেকে পুনরায় ডাউনলোড করুন; পুনরায় ডাউনলোড অনুপলব্ধ হলে জিপ মেরামত
7-Zip / WinRAR এটি খোলে কিন্তু পৃথক ফাইলে "CRC ত্রুটি" রিপোর্ট করে জিপের ভিতরের ব্যক্তিগত ফাইল ক্ষতিগ্রস্ত হয়েছে ক্ষতিগ্রস্থ সদস্য ছাড়া সবকিছু বের করুন, তারপর দেখুন কি অনুপস্থিত
আর কোন বিশদ ছাড়াই "অ্যাপ ইনস্টল করা হয়নি" প্রায়ই স্বাক্ষর অমিল বা প্রান্তিককরণ সমস্যা, প্রকৃত দুর্নীতি নয় zipalign + স্বাক্ষর পুনঃচেক (পদ্ধতি 2)
java.lang.VerifyError দিয়ে ইনস্টল করার পরপরই ক্র্যাশ হয়ে যায় classes.dex বাইটকোড ক্ষতিগ্রস্ত বা সংস্করণ-বেমানান মেরামত দ্বারা পুনরুদ্ধারযোগ্য নয়. একটি পরিষ্কার অনুলিপি পুনরায় প্রাপ্ত.

একটি কংক্রিট ওয়াক-থ্রু

কল্পনা করুন যে আপনি একটি 320 MB APK নিয়ে শেষ করেছেন যার ডাউনলোড প্রায় 99% এ বিঘ্নিত হয়েছে। আপনার ফোন "প্যাকেজ পার্সিং ব্যর্থ হয়েছে" বলে এটি ইনস্টল করতে অস্বীকার করে। Windows বা macOS ওয়ার্কস্টেশনে এটিকে কীভাবে আক্রমণ করা যায় তা এখানে রয়েছে, যে ক্রমে আপনি আসলে জিনিসগুলি চেষ্টা করবেন।

ধাপ 1. নিশ্চিত করুন যে ফাইলটি অন্তত বেশিরভাগই সেখানে আছে

উৎসের বিজ্ঞাপন যাই হোক না কেন ফাইলের আকার পরীক্ষা করুন। যদি ফাইলটি নাটকীয়ভাবে ছোট হয় (বলুন, 320 MB এর পরিবর্তে 220 MB), ডাউনলোডটি গুরুতরভাবে কাটা হয়েছে এবং র‍্যাপারটি মেরামত করার ক্ষেত্রে সামান্য বিন্দু নেই: classes.dex এর বড় অংশ বা সম্পদগুলি অনুপস্থিত। সেক্ষেত্রে ডাউনলোড রিস্টার্ট করুন।

ধাপ 2. জিপ কাঠামো পরীক্ষা করুন

APK ধারণকারী ফোল্ডারে একটি টার্মিনাল খুলুন এবং macOS বা লিনাক্সে চালান:

unzip -t broken.apk

টুলটি আর্কাইভের ভিতরে থাকা প্রতিটি ফাইল এবং যেকোনো CRC ত্রুটির রিপোর্ট করবে। যদি শুধুমাত্র কিছু কিছু এন্ট্রি ত্রুটি বের হয় এবং সেগুলি classes*.dex বা resources.arsc না হয়, তাহলে আপনার কাছে একটি কার্যকরী ইনস্টল তৈরি করার একটি শালীন সুযোগ রয়েছে।

ধাপ 3. কেন্দ্রীয় ডিরেক্টরি পুনর্নির্মাণ করুন

যদি unzip -t নিজেই কেন্দ্রীয় ডিরেক্টরি সম্পর্কে অভিযোগ করে ("সেন্ট্রাল-ডিরেক্টরি স্বাক্ষর পাওয়া যায়নি", "1 EOCD অনুপস্থিত"), "ফিক্স" মোড ব্যবহার করুন:

zip -FF broken.apk --out fixed.apk

-FF পতাকা zip কে স্থানীয় ফাইল-হেডার স্বাক্ষরের জন্য ফাইলটি স্ক্যান করতে এবং ডিরেক্টরি এন্ট্রি-বাই-এন্ট্রি পুনর্নির্মাণ করতে বলে। আউটপুট, fixed.apk, যা আপনি আসলে ইনস্টল করার চেষ্টা করেন।

ধাপ 4. প্রয়োজন হলে পুনরায় সাজান এবং পুনরায় স্বাক্ষর করুন

যেকোন কাঠামোগত পরিবর্তনের পরে, APK-এর স্বাক্ষর আর বৈধ নয়, কারণ এমনকি একটি বাইট পরিবর্তন করা v2/v3 স্বাক্ষর ব্লকগুলিকে অকার্যকর করে। যদি আপনার নিজের সাইনিং কী থাকে (এটি আপনার নিজের তৈরি করার জন্য ভাল), সারিবদ্ধ করুন এবং পুনরায় সাইন করুন:

zipalign -v 4 fixed.apk aligned.apk
apksigner sign --ks my.keystore aligned.apk

আপনার নিজের কী ব্যতীত, ফাইলটি ইনস্টল করার একমাত্র উপায় হল একই স্বাক্ষর শংসাপত্রের মাধ্যমে বিদ্যমান ইনস্টল করা, যার অর্থ হল একটি তৃতীয় পক্ষের থেকে একটি মেরামত করা APK একটি বিদ্যমান প্লে স্টোর ইনস্টলের উপরে ইনস্টল হবে না, যেহেতু সাইনিং চেইন পরিবর্তিত হয়েছে৷

যখন মেরামত ভুল লক্ষ্য

"ফিক্সিং" কী করতে পারে এবং কী করতে পারে না সে সম্পর্কে সৎ হওয়া মূল্যবান:

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

সচরাচর জিজ্ঞাসিত প্রশ্নাবলী (FAQ)

আমি কি ভাঙা APK থেকে আইকন এবং স্ক্রিনশটগুলি বের করতে পারি?

সাধারণত হ্যাঁ। আইকন ফাইলগুলি res/mipmap-*-এর অধীনে থাকে এবং স্ক্রিনশট ডেটা শুরুতে APK-তে বিরল। এমনকি কেন্দ্রীয় ডিরেক্টরি ক্ষতিগ্রস্ত হলেও, স্বতন্ত্র ফাইল শিরোনামগুলি প্রায়শই যথেষ্ট অক্ষত থাকে যে 7-জিপ-এর "Extract with errors ignored" বিকল্পটি বেশিরভাগ ছবি টেনে আনবে।

একটি মেরামত করা APK একটি ইনস্টল করা অ্যাপ আপডেট করবে?

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

একটি অনলাইন টুল আছে যা এই সব করে?

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

এক্সট্রাক্ট করতে ব্যর্থ XAPK ফাইলগুলি সম্পর্কে কী?

একটি XAPK শুধুমাত্র একটি জিপ, তাই একই কৌশল প্রযোজ্য। ভিতরের APK এবং যেকোনো OBB ফাইল পুনরুদ্ধার করতে এটিতে zip -FF চালান, তারপরে এমনভাবে এগিয়ে যান যেন আপনার একটি ক্ষতিগ্রস্ত APK এবং একটি পৃথক OBB আছে।

যদি আপনার লক্ষ্য শুধুমাত্র একটি ব্যর্থ ডাউনলোড থেকে গ্রাফিক্স, শব্দ, বা OBB ডেটা পেতে হয়, তাহলে 7-Zip ব্যবহার করুন৷ 7-জিপ Windows এক্সপ্লোরার জিপ টুলের চেয়ে বেশি আক্রমনাত্মক এবং প্রায়শই আপনাকে আংশিকভাবে ডাউনলোড করা ফাইলগুলি বের করতে "ত্রুটি উপেক্ষা করতে" দেয়।

আপনার APK ডিপ স্ক্যান করুন

কাঠামোটি বৈধ কিনা বা ম্যানিফেস্ট অপঠনযোগ্য কিনা তা দেখতে আমাদের বিশ্লেষকের কাছে ফাইলটি আপলোড করুন৷

ফাইল স্বাস্থ্য বিশ্লেষণ

উপসংহার

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

Mst Shafale দ্বারা প্রকৌশলী এবং নথিভুক্ত লিড ডেভেলপার এবং Android প্যাকেজ আর্কিটেক্ট • Android 12-15-এ যাচাই করা হয়েছে

Mst Shaefale xapktoapk.com-এ ক্লায়েন্ট-সাইড XAPK/APKS মার্জার, বাইনারি ম্যানিফেস্ট পার্সার, এবং APK v1+v2 সাইনিং টুল বজায় রাখে। একটি পুরানো কমান্ড বা OS পরিবর্তন স্পট? একটি সম্পাদকীয় নোট পাঠান.