কোনও APK ফাইল থেকে কোনও প্রকল্পে প্রকৌশল বিপরীত করুন


244

আমি দুর্ঘটনাক্রমে আমার প্রকল্পটি গ্রহন থেকে মুছে ফেলেছিলাম এবং আমি এপিপি ফাইলটি যা রেখেছি তা হ'ল আমি আমার ফোনে স্থানান্তর করেছি। .Apk ফাইলটিতে কোনও অ্যাপ্লিকেশন রফতানির প্রক্রিয়াটিকে বিপরীত করার কোনও উপায় আছে, যাতে আমি আমার প্রকল্পটি ফিরে পেতে পারি?



2
আপনি কি জানেন যে গ্রহণের নিজস্ব সংস্করণের ইতিহাস রয়েছে?
eis


4
আপনি যদি আপনার কাছে গুরুত্বপূর্ণ কিছু লিখছেন তবে আপনার একটি ভিসিএস ব্যবহার করা উচিত। বিটবকেটে বিনামূল্যে ব্যক্তিগত সংগ্রহস্থল রয়েছে।
lxknvlk

উত্তর:


287

দুটি কার্যকর সরঞ্জাম রয়েছে যা একটি অজানা APK ফাইল থেকে জাভা কোড উত্পন্ন করবে (মোটামুটি তবে যথেষ্ট ভাল)।

  1. ডেক্স 2 বাজার থেকে ডেক্স2 জার সরঞ্জামটি ডাউনলোড করুন ।
  2. APK ফাইলটি JAR তে রূপান্তর করতে সরঞ্জামটি ব্যবহার করুন :

    $ d2j-dex2jar.bat demo.apk
    dex2jar demo.apk -> ./demo-dex2jar.jar
  3. JAR ফাইলটি তৈরি হয়ে গেলে, JAR ফাইলটি খুলতে JD-GUI ব্যবহার করুন। আপনি জাভা ফাইল দেখতে পাবেন।

আউটপুট অনুরূপ হবে:

জেডি জিইউআই


6
কীভাবে রিসোর্স ফাইলগুলি পাবেন
স্রিনি

26
d2j-dex2jarসেমিডিএস হ্রাস করা হয়েছে, পরিবর্তে ব্যবহার করুন (v0.0.9.15)।
ফ্রেড্রিক গাউস

1
@ এস্রি এপি কে ফাইলটি জিপ করে এক্সট্রাক্ট করার জন্য কেবল নতুন নামকরণ করুন, আপনার resফোল্ডারে রিসোর্স ফাইল থাকবে
হোয়াং হুইন

8
@ হোয়াংহুইনাহে আপনার কাছে অপঠনযোগ্য resএক্সএমএল ফাইল সহ একটি ফোল্ডার থাকবে
এস থিওনগেন

6
আপনি Macযদি ডেক্স 2জার ব্যবহার করতে না পারেন: permission deniedতবে এটি করুন $sudo chmod +x d2j-dex2jar.sh
মিন 2

81

সবার আগে আমি thisভিডিওটি সুপারিশ করি এটি আপনার সমস্ত সন্দেহকে মুছে ফেলতে পারে

যদি না হয় দয়া করে এটি মাধ্যমে যান

Procedure for decoding .apk files, step-by-step method:

Step 1:

একটি নতুন ফোল্ডার তৈরি করুন এবং এতে .apk ফাইল রাখুন (যা আপনি ডিকোড করতে চান)। এখন এই .apkফাইলটির এক্সটেনশনের নাম পরিবর্তন করুন .zip(যেমন: ফাইলের নাম। ফাইল থেকে নাম পরিবর্তন করুন ফাইল নাম.জিপ) এবং এটি সংরক্ষণ করুন।

.Zip এ রূপান্তর করতে সমস্যা থাকলে দয়া করে উল্লেখ করুন link

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

Step 2:

এবার একই ফোল্ডারে এই জিপ এপিপি ফাইলটি বের করুন। এখন এ থেকে ডেক্স 2জার ডাউনলোড করুনlink

এবং এটি একই ফোল্ডারে এক্সট্রাক্ট করুন। এখন কমান্ড প্রম্পট ওপেন করুন এবং ডিরেক্টরি ফোল্ডারে পরিবর্তন করুন।

তারপরে লিখুন dex2jar classes.dexএবং এন্টার টিপুন। এখন আপনি classes.dex.dex2jarএকই ফোল্ডারে ফাইল পাবেন ।

তারপরে জাভা ডিকম্পিলার ডাউনলোড করুন

এবং এখন jd-gui এ ডাবল ক্লিক করুন এবং ওপেন ফাইলে ক্লিক করুন। তারপরে classes.dex.dex2jarসেই ফোল্ডারটি থেকে ফাইলটি খুলুন । এখন আপনি ক্লাসের ফাইলগুলি পান এবং এই সমস্ত শ্রেণিবদ্ধ ফাইলগুলি (ফাইলের উপর ক্লিক করুন এবং জেডি-গুইতে "সমস্ত উত্সগুলি সংরক্ষণ করুন" ক্লিক করুন) এসসিআর নাম দ্বারা সংরক্ষণ করুন। জিপ ফাইলটি বের করুন(classes_dex2jar.src.zip) এবং আপনি অ্যাপ্লিকেশনটির সমস্ত জাভা ফাইল পাবেন।

এই পর্যায়ে আপনি জাভা উত্স পান তবে এক্সএমএল ফাইলগুলি এখনও অপঠনযোগ্য, তাই চালিয়ে যান।

Step 3:

এখন অন্য নতুন ফোল্ডারটি খুলুন এবং এই ফাইলগুলি রাখুন

  1. .apk ফাইল রাখুন যা আপনি ডিকোড করতে চান

  2. windows v1.xএবং এর জন্য অ্যাপটোল ডাউনলোড করুনApktool

গুগল ব্যবহার করে উইন্ডো ইনস্টল করুন এবং একই ফোল্ডারে রাখুন

  1. গুগল ব্যবহার করে ফ্রেমওয়ার্ক-রেস.এপকে ফাইল ডাউনলোড করুন এবং একই ফোল্ডারে রেখে দিন (সমস্ত এপিপি ফাইলের ফ্রেমওয়ার্ক-রেজ.এপকে ফাইলের প্রয়োজন হয় না)

  2. একটি কমান্ড উইন্ডো খুলুন

  3. APKtool এর মূল ডিরেক্টরিতে নেভিগেট করুন এবং নিম্নলিখিত কমান্ডটি টাইপ করুন: apktool if framework-res.apk.

উপরের কমান্ডের ফলাফল হওয়া উচিত Framework installed ...

  1. apktool d "appName" .apk ("appName" অ্যাপ্লিকেশনকে বোঝায় যা আপনি ডিকোড করতে চান) এখন আপনি সেই ফোল্ডারে একটি ফাইল ফোল্ডার পাবেন এবং এখন আপনি খুব সহজেই এক্সএমএল ফাইলও পড়তে পারবেন।

Step 4: অবশেষে আমরা res/প্রকল্পের জাভা কোড পেয়েছি যা শুরুতে আমাদের লক্ষ্য।

P.S. আপনি যদি উপরের পদক্ষেপের মাধ্যমে রেস ফোল্ডারটি পেতে সক্ষম না হন তবে দয়া করে নতুন ইনস্টল করুন apktool

  • জাভা 1.7 ইনস্টল করা আছে? Apktool 2.x ইনস্টল করুন
  • জাভা 1.6 বা উচ্চতর ইনস্টল করা আছে? Apktool 1.x ইনস্টল করুন

Enjoy and happy coding


সত্যিই দরকারী আপনি কিছু উল্লেখ করেননি এমন কিছু: এটি apktool.jarএকই প্যাকেজে নেই, আমি এটি একটি পূর্ব প্যাকেজ থেকে পেয়েছি এবং এটি একই ডিয়ারে আটকানো হয়েছিল apktool
এস টিঘনগনে

1
আমি ইঞ্জিনিয়ার কোডটি বিপরীত করেছিলাম তবে শ্রেণীর নাম কেন, ভেরিয়েবল এএ, বিসি ইত্যাদির মতো এবং অনেকগুলি ত্রুটি
ইউজার 2934930


অন্য কোন উপায় না?
মেঘল অগ্রওয়াল

2
@ user2934930 এর অর্থ হল কোডটি প্রগুয়ার্ড ব্যবহার করে অবহেলা করা হয়েছে।
ক্যাসল

58

কোনও সফ্টওয়্যার নেই এবং খুব বেশি পদক্ষেপ নেই ..

কেবল আপনার APK আপলোড করুন এবং এই সাইট থেকে আপনার সমস্ত উত্স পান ..

https://www.apkdecompilers.com/

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

দ্রষ্টব্য: আমি আমার APK ফাইলটি ছড়িয়ে দিয়েছি এবং এই ওয়েবসাইট থেকে এক মিনিটের মধ্যে কোড পাই

আপডেট 1 :

আমি আর একটি অনলাইন ডিকম্পিলার সাইট পেয়েছি,

http://www.javadecompilers.com/apk/ - পপআপ ব্লকিংয়ের জন্য ক্রমাগত জিজ্ঞাসা করছেন না

আপডেট 2:

আমি প্লে স্টোরে এপিপি ডিসকম্পেলার অ্যাপটি পেয়েছি,

https://play.google.com/store/apps/details?id=com.njlabs.showjava

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

আপডেট 3:

অ্যান্ড্রয়েড স্টুডিও ২.২ সংস্করণ থেকে আমরা এপিএল বৈশিষ্ট্য বিশ্লেষণ করে অন্য বিকল্পটি ব্যবহার করতে পারি

বিল্ড -> APK বিশ্লেষণ করুন -> আপনার এপিএকে নির্বাচন করুন -> এটি ফলাফল দেয়

এখানে চিত্র বর্ণনা লিখুন


3
শেষ পদ্ধতিতে আমরা জাভা ক্লাস খুলতে পারি না, কেবল পদ্ধতির নাম দেখায়
চোলতস্কি

@ চোলটস্কি আপনি শো জাভা চেষ্টা করছেন? যদি চেষ্টা না করে আমাকে আপডেট করুন
রঞ্জিত কুমার

@ রঞ্জিতকুমার এটি 50 এমবি APK আকারের মধ্যে সীমাবদ্ধ i
রবি শর্মা


1
অ্যানড্রয়েড স্টুডিওতে সেই দ্রবীভূত প্রকল্পটি কীভাবে চালানো যায়? যে কেউ এই সম্পর্কে লিখতে পারেন দয়া করে।
mayur kukadiya

6

এটি করার একটি নতুন উপায় আছে।

অ্যান্ড্রয়েড স্টুডিও ২.২-এর এপিএকে বিশ্লেষক রয়েছে এটি এপিকে সম্পর্কে প্রচুর তথ্য দেবে, এটি এখানে চেকআউট করবে: - http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html

পি


4

আসলে তা না. এখানে অনেকগুলি ডেক্স ডিসেসেম্বেবলার / ডিকম্পিলার স্যুইট রয়েছে যেমন স্মালি , বা ডেক্স 2 জার যা আধা-হিউম্যানিটেড আউটপুট উত্পন্ন করবে (ডেক্স 2 জজার ক্ষেত্রে, আপনি জেডি-জিইউআই জাতীয় কিছু ব্যবহারের মাধ্যমে জাভা কোড পেতে পারেন তবে প্রক্রিয়াটি হ'ল নিখুঁত নয় এবং এটি খুব সম্ভব নয় যে আপনি আপনার উত্স কোডটি 100% পুনরায় তৈরি করতে সক্ষম হবেন। তবে এটি সম্ভবত আপনার উত্স গাছটি পুনর্নির্মাণ শুরু করার জন্য একটি স্থান দিতে পারে।


@ ম্যাক: তার এপিএল ফাইল নয়, উত্সের দরকার আছে !!
শশাঙ্ক কাদনে

2
@ শশাঙ্কডাদেন হতে পারে আমি আমার কথাগুলি ফিরে নিচ্ছি না
ম্যাক

3

হ্যাঁ, আপনি আপনার প্রকল্পটি ফিরে পেতে পারেন। কেবলমাত্র yourproject.apkফাইলটির পুনরায় নামকরণ করুন yourproject.zipএবং আপনি এই জিপ ফাইলের অভ্যন্তরে সমস্ত ফাইল পাবেন get আমরা ফাইলটি এক্সটেনশন .apk থেকে .zip এ পরিবর্তন করছি। এই জিপ ফাইল থেকে, ফাইলটি এক্সট্রাক্ট classes.dexকরুন এবং নিম্নলিখিত পদ্ধতিতে এটি ডিসকম্পাইল করুন।

প্রথমে, আপনাকে একটি জেআর থেকে ডেক্সের সমস্ত (সংকলিত) শ্রেণি নিষ্কাশন করার জন্য একটি সরঞ্জাম প্রয়োজন। ডেক্স টুজার নামে একটি রয়েছে , এটি একটি চীনা শিক্ষার্থী তৈরি করেছে।

তারপরে, আপনি জেআর- এ ক্লাসগুলি সোর্স কোডে ডেকেম্পাইল করতে JD-GUI ব্যবহার করতে পারেন । ফলস্বরূপ উত্স কোডটি বেশ পঠনযোগ্য হওয়া উচিত, কারণ ডেক্স 2জারটি কয়েকটি অপ্টিমাইজেশন প্রয়োগ করে।


3

অ্যান্ড্রয়েড প্ল্যাটফর্মের জন্য, আপনি প্লে স্টোরে উপলভ্য শো-জাভা চেষ্টা করতে পারেন ।

আপনি অ্যাপ্লিকেশন ইন্টারফেসের মাধ্যমে উত্পন্ন কোডটি পরামর্শ করতে পারেন এবং রূপান্তরিত হওয়ার ফলে প্রাপ্ত ফাইলের পাশাপাশি উত্পন্ন জাভা ফাইল এবং ফোল্ডারগুলির কাঠামো ShowJavaফোল্ডারে সঞ্চিত হয় ।/sdcard.jar

অ্যাপ্লিকেশনটি মূল দর্শনের নীচে একটি বিজ্ঞাপন ব্যানার সহ বিনামূল্যে, তবে এটি সরিয়ে ফেলার জন্য একটি অ্যাপ্লিকেশন কেনার বিকল্প রয়েছে (3,99 $)। অ্যাপ্লিকেশন কেনা বিজ্ঞাপন ব্যানার সরানোর পাশাপাশি কোনও কার্যকারিতা যুক্ত করে না।

প্রকাশ: আমি অ্যাপটির বিকাশকারী নই না আমি তার সাথে কোনওভাবেই অনুমোদিত।


আমি সাধারণত এটি ব্যবহার করি ... চমৎকার অ্যাপ্লিকেশন
রাহুল কুশওয়াহা

2

এটি করার জন্য নীচের পদক্ষেপগুলি অনুসরণ করুন বা এই প্রক্রিয়াটির জন্য কেবল apkToJava রত্ন ব্যবহার করুন, এটি কাজ করার জন্য প্রয়োজনীয় সরঞ্জামগুলি ইনস্টল করারও যত্ন নেয় care

  • জিপি এপি কে ফাইল রূপান্তর
  • ফাইলটি আনজিপ করুন
  • এটি থেকে ক্লাস.ডেক্স উত্তোলন করুন
  • ক্লাস.ডেক্সকে জার ফাইলে রূপান্তর করতে ডেক্স থেকে জার করুন
  • জাভা উত্স কোড হিসাবে জার ফাইলটি খুলতে jadx gui ব্যবহার করুন

2

আপনি যদি কোনও পেশাদার বিকল্প খুঁজছেন তবে একবার দেখুন পিএনএফ সফ্টওয়্যার থেকে জেইবি ডেকম্পিলারটি

একটি ডেমো সংস্করণ রয়েছে যা আপনাকে সর্বাধিক কোডটি ডিকম্পাইল করতে দেয়।


2

নীচে এমন কিছু সরঞ্জাম রয়েছে যা আপনি একটি এপিএইচ ফাইল থেকে উত্স কোডে বিপরীত প্রকৌশল সম্পাদন করতে ব্যবহার করতে পারেন:

  1. Dex2jar
  2. জাভা ডিকম্পিলার
  3. Apktool
  4. এপিকে বিশ্লেষক

2

অ্যান্ড্রয়েড স্টুডিও ৩.৫-তে, এটি খুব সহজ যে আপনি কেবল এক মিনিটের মধ্যে এটি অর্জন করতে পারবেন। নিম্নলিখিত একটি পদক্ষেপ অনুসারে প্রক্রিয়া।

1: অ্যান্ড্রয়েড স্টুডিও খুলুন, উইন্ডো বোতাম টিপুন -> অ্যান্ড্রয়েড স্টুডিও টাইপ করুন -> অ্যান্ড্রয়েড স্টুডিও স্প্ল্যাশ স্ক্রিন খুলতে আইকনে ক্লিক করুন যা দেখতে এটির মতো দেখাবে।

এখানে চিত্র বর্ণনা লিখুন

2: এখানে আপনি "প্রোফাইল বা ডিবাগ এপিএ" বিকল্পটি দেখতে পাচ্ছেন এবং তার এপিকে ফাইলটি নির্বাচন করুন এবং ঠিক আছে চাপুন।

এখানে চিত্র বর্ণনা লিখুন

3: এটি apk আকারের উপর নির্ভর করে এক মিনিটের মধ্যে আপনার সমস্ত মেনিফেস্ট এবং জাভা ক্লাস খুলবে।

এখানে চিত্র বর্ণনা লিখুন

এটাই.


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