কেউ কি এমন একটি ফ্রি ডিকম্পিলার সম্পর্কে জানেন যা একটি একক শ্রেণির পরিবর্তে পুরো জার ফাইলটি ছড়িয়ে দিতে পারে? নাম sub 1.class নাম $ 2 ক্লাসের নাম.ক্লাসের মতো সাব ক্লাসে আমার সমস্যা আছে
কেউ কি এমন একটি ফ্রি ডিকম্পিলার সম্পর্কে জানেন যা একটি একক শ্রেণির পরিবর্তে পুরো জার ফাইলটি ছড়িয়ে দিতে পারে? নাম sub 1.class নাম $ 2 ক্লাসের নাম.ক্লাসের মতো সাব ক্লাসে আমার সমস্যা আছে
উত্তর:
২০০৯: জাভাডেকম্পিলার একটি জারের সাথে ভাল কাজ করতে পারে : ০.২.৫ থেকে, জেআর ফাইলগুলিতে সমস্ত ফাইল প্রদর্শিত হয়।
"আমি কীভাবে জাভা ক্লাসের ফাইলগুলিকে" ডিসকম্পাইল "করব? প্রশ্নটি দেখুন ।
২০০৯ সালের শেষের দিকে জেডি-ইক্লিপস পরিবর্তিত হয়েছে বলে মনে হচ্ছে না ( পরিবর্তনগুলি দেখুন )।
সুতরাং সর্বশেষগ্রহণের সাথে এর সংহতকরণ (3.8, 4.2+) সমস্যাযুক্ত হতে পারে।
জেডি-কোর সক্রিয়ভাবে রক্ষণাবেক্ষণ করা হয়।
উভয়ই (এসও ব্যবহারকারী) ইমানুয়েল দুপুয়ের দুর্দান্ত কাজের ফল ।
2018: একটি আরো আধুনিক বিকল্প, উল্লিখিত মন্তব্য দ্বারা ডেভিড কেনেডি Araujo আপনার :
JetBrains / intellij-সম্প্রদায় / plugins / এখানে জাভা decompiler / ইঞ্জিন
ফার্নফ্লাওয়ার জাভা এবং সম্ভবত সাধারণভাবে একটি উচ্চ-স্তরের প্রোগ্রামিং ভাষার জন্য প্রথম কার্যত বিশ্লেষণাত্মক ডিকম্পিলার।
java -jar fernflower.jar [-<option>=<value>]* [<source>]+ <destination> java -jar fernflower.jar -hes=0 -hdc=0 c:\Temp\binary\ -e=c:\Java\rt.jar c:\Temp\source\
সাম্প্রতিক ইন্টেলিজ আইডিইএর সাথে কাজ করার জন্য একটি কমান্ডের জন্য জাভা ফাইলগুলিতে ইন্টেলিজ ধারণাটি কীভাবে জাভা ফাইলগুলিতে বিভক্ত করা যায় তা দেখুন ।
প্রথমত, এটি মনে রাখার মতো যে সমস্ত জাভা সংরক্ষণাগার ফাইলগুলি ( .jar
/ .war
/ ইত্যাদি ...) কয়েকটি মূলত কেবল অভিনব .zip
ফাইল যা কয়েকটি সংযোজন প্রকাশিত এবং মেটাডেটা সহ।
দ্বিতীয়ত, এই সমস্যাটি মোকাবেলার জন্য আমি ব্যক্তিগতভাবে বেশ কয়েকটি সরঞ্জাম ব্যবহার করি যা সমস্ত স্তরে এই সমস্যাটি পরিচালনা করে:
.class
ফাইলগুলি পচানোর জন্য আইডিইতে কাজ করার সময়jar
এসসহ যে কোনও আর্কাইভ ফাইলের মধ্যে ফ্লাই-ফ্লাই তুলনা করতে পারে। বেশ চেষ্টা করে দেখুন।পূর্বোক্ত সমস্তগুলির সুবিধা হ'ল আমার কোনও বাহ্যিক সরঞ্জাম রাখার দরকার নেই যা আমার কাজের পরিবেশকে বিশৃঙ্খলা করে। এই ফাইলগুলির মধ্যে একটির থেকে আমার যা যা প্রয়োজন হবে তা সবই আমার আইডিইয়ের ভিতরে পরিচালনা করা যায় বা স্থানীয়ভাবে অন্য ফাইলগুলির সাথে পৃথক করা যায়।
যদি আপনার কাছে ব্যাশ শেল এবং জ্যাড উভয়ই থাকে:
JAR=(your jar file name)
unzip -d $JAR.tmp $JAR
pushd $JAR.tmp
for f in `find . -name '*.class'`; do
jad -d $(dirname $f) -s java -lnc $f
done
popd
আমি এটি হতে পারে একটি ছোট, সামান্য বিট বন্ধ, কিন্তু বিজ্ঞাপন হিসাবে এটি কমবেশি কাজ করা উচিত। $JAR.tmp
আপনার পচনশীল ফাইলগুলি সমাপ্ত করে শেষ করা উচিত ।
javap
এই বেসিক লুপ কাঠামোর মধ্যে ব্যবহার করছি , এবং এটি আমার জন্য কাজ করছে।
" জেডি: জাভা ডেকম্পিলার " নামের একটি সরঞ্জামের সাথে আমার যুক্তিসঙ্গত সাফল্য পেয়েছে ।
জাভা 5 এবং উচ্চতর জন্য সংকলিত ক্লাসগুলির সাথে ডিল করার সময় আমি বেশিরভাগ ডিসকম্পিলারের চেয়ে ভাল পেয়েছি । দুর্ভাগ্যক্রমে, এর এখনও কিছু হিচাপ থাকতে পারে যেখানে জেডি সাধারণত সাফল্য অর্জন করতে পারে।
কিছুটা এইরকম:
jar -xf foo.jar && find . -iname "*.class" | xargs /opt/local/bin/jad -r
হতে পারে?
Decompile.jar.sh এ নিম্নলিখিতটি প্রবেশ করান
# Usage: decompile.jar.sh some.jar [-d]
# clean target folders
function clean_target {
rm -rf $unjar $src $jad_log
}
# clean all debug stuff
function clean_stuff {
rm -rf $unjar $jad_log
}
# the main function
function work {
jar=$1
unjar=`basename $jar.unjar`
src=`basename $jar.src`
jad_log=jad.log
clean_target
unzip -q $jar -d $unjar
jad -d $src -ff -r -lnc -o -s java $unjar/**/*.class > $jad_log 2>&1
if [ ! $debug ]; then
clean_stuff
fi
if [ -d $src ]
then
echo "$jar has been decompiled to $src"
else
echo "Got some problems check output or run in debug mode"
fi
}
function usage {
echo "This script extract and decompile JAR file"
echo "Usage: $0 some.jar [-d]"
echo " where: some.jar is the target to decompile"
echo " use -d for debug mode"
}
# check params
if [ -n "$1" ]
then
if [ "$2" == "-d" ]; then
debug=true
set -x
fi
work $1
else
usage
fi
ব্যবহারের জন্য প্রস্তুত, কেবল টাইপ করুন dj your.jar
এবং আপনি your.jar.src
উত্স সহ ফোল্ডার পাবেন । ব্যবহার করুন -d
ডিবাগ মোড জন্য বিকল্প।
আপনি এটি উত্তোলন করুন এবং তারপরে দিরের বিরুদ্ধে জাদ ব্যবহার করুন।
দ্রষ্টব্য: এই সমাধানটি কেবল ম্যাক এবং * নিক্স ব্যবহারকারীদের জন্যই কাজ করে।
আমিও ভাগ্য নির্বিঘ্নে জাদের সন্ধান করার চেষ্টা করেছি। আমার দ্রুত সমাধানটি হ'ল ম্যাকজেড ডাউনলোড করা যাতে জাদ রয়েছে। এটি ডাউনলোড করার পরে আপনি [যেখানে আপনি ডাউনলোড করেছেন-মাকজাদ] / ম্যাকজেএডি / সামগ্রী / সংস্থানসমূহ / জাদে জাদ পাবেন ad