Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
javajive — مفكك ومشغل تسلسل Java مكتوب بالكامل بلغة Go | Kitploit
أدوات/GitHubGitHub/yaklang/javajive
التحليل الثابتتحليل الكودالهندسة العكسيةالبرمجة النصية والأتمتةتحليل البرمجيات الخبيثةالأدوات والمكوناتتحليل الملفات الثنائية
GitHubyaklang/javajive

javajive

مفكك ومشغل تسلسل Java مكتوب بالكامل بلغة Go

عرض المستودع
276109منذ 7س 55دتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
الموقع الإلكتروني
مشاركة

JavaJive — مجموعة أدوات Java المكتوبة بلغة Go الصرفة: فك الترجمة، تحليل الفئات، التسلسل

JavaJive

CI Pages Go Reference License: MIT

English | 简体中文 | الموقع الإلكتروني

مجموعة أدوات Java محمولة ومكتوبة بلغة Go الصرفة — مستخرجة ومقتطعة من yaklang — وتركّز على أربعة أمور:

  • فك الترجمة (Decompile) — .class / .jar / .war / .zip → شيفرة Java المصدرية القابلة للقراءة.
  • ترجمة DEX — تحويل .dex / .apk الأصلية → .jar حتمية، أو مباشرةً إلى شيفرة Java المصدرية القابلة للقراءة، دون استدعاء أداة dex2jar خارجية.
  • تحليل الفئات (Parse classes) — فحص بنية ملف .class (المجمّع الثابت، الحقول، الدوال، الإصدار، أعلام الوصول).
  • (إلغاء) التسلسل — تحليل وإعادة تجميع صيغة نقل بيانات تسلسل Java (ObjectStream) بدقة بايتية، وتحويلها من/إلى JSON.

مصمّمة للحملية والتضمين:

  • Go صرفة، ملف تنفيذي واحد — بدون JDK، بدون cgo، بدون وقت تشغيل ANTLR، بدون مكتبات أصلية. تُترجم تبادلياً إلى linux / macOS / windows على amd64 و arm64.
  • استيراد واحد — حزمة واجهة javajive موحّدة تغلّف القدرات الأربع جميعها؛ وتبقى الحزم الفرعية متاحة للاستخدام المتقدم.
  • واجهة سطر أوامر من الدرجة الأولى — أوامر فرعية decompile وdex2jar وclassinfo وserial مبنية على المكتبة القياسية.
  • مُختبرة تبادلياً مقابل JDK حقيقي — تُجمّع CI ملفات .class / .jar حقيقية و كتل بيانات مُسلسلة بـ JDK باستخدام javac/java، ثم تتحقق من JavaJive مقابلها (انظر HARNESS-WORKFLOW.md).
  • رسم بياني مقتطع للاعتماديات — أُعيد تنفيذ utils / codec / log / go-funk كنواة internal/ دنيا ومكتفية ذاتياً.

التحقق من v0.4.0

تدقيق تفاضلي كامل لـ 38 ملف JAR يسجّل صفر انحدارات مقابل خط الأساس الثابت: جميع ملفات JAR العشرين النظيفة الترجمة سابقاً محتفظ بها و26 منها الآن تُترجم بالكامل. تبقى عيوب خط الأساس و4 من الدوال الوهمية الموجودة ظاهرة. انظر نتائج كل ملف JAR وإعادة الإنتاج.

250 رحلة ذهاب وإياب دلالية معزولة تسجّل الترجمة والتحقق من JVM والدوال الوهمية والتساوي وقت التشغيل بشكل منفصل؛ فئات التطبيق الأصلية غائبة عن مسارات الفئات المعاد بناؤها. تشغّل CI التدقيق الدلالي على JDK 17 و21، والمقارنة التاريخية الكاملة، ومصفوفات نظام التشغيل/Go والتزامن. لا تُثبت هذه الفحوصات تكافؤ كل دوال المكتبة. انظر التنفيذ والحدود المتبقية.

المعايير التاريخية (v0.3.0)

أُبلغت الأرقام التالية لـ v0.3.0 في 2026-09-05. وهي ليست نتائج قبول للإصدار الحالي ولا دليلاً على التكافؤ السلوكي.

قِيست على 34 ملف JAR واقعياً (18,759 وحدة مسطّحة) عبر فك الترجمة → إعادة ترجمة javac --release 8 → إعادة التغليف → التحقق من JVM:

  • معدل وحدات نظيف 100% — 18,759 / 18,759 وحدة مسطّحة (Outer$Inner.java) تُعاد ترجمتها بـ صفر أخطاء javac، و0 أخطاء نحوية عبر جميع الجرار الـ 34 (تأكيد صارم تفرضه CI، بحيث لا يمكن لخطأ نوعي أن يختفي خلف فشل محلل معجمي).
  • جميع المكتبات الـ 34 تمر بدورة كاملة — فك الترجمة → إعادة الترجمة → إعادة التغليف → التحقق الخارجي لكل صنف عبر JVM -Xverify:all ينجح من البداية إلى النهاية (الترميز مطابق بايتًا ببايت للجار الأصلي وفق مقارنة تفاضلية للاستدعاءات). مثبّت في provenClean.
  • 14 / 14 خوارزمية مستضافة ذاتيًا (MD5 · SHA-256 · CRC32 · quicksort · Base64 · HeapSort · KMP · SwitchFSM · TryFinally · UnionFind · DiamondTryCatch · DiamondTryFinally · ForContinue · ComputeIfAbsent) تمر بدورة كاملة بايتًا ببايت.
  • المركز الأول في مقارنة عادلة ثلاثية على مجموعة الجرار الـ 8 الأصلية — معدل الوحدات النظيفة 100% مقابل Vineflower 1.10.1 (90.8%) وCFR 0.152 (79.8%)؛ مع الفوز بجميع الجرار الـ 8 ضد كليهما.

راجع BENCHMARK.md للاطلاع على المنهجية الكاملة وجداول كل جار وأوامر إعادة الإنتاج.

التثبيت

# CLI
go install github.com/yaklang/javajive/cmd/javajive@latest

# Library
go get github.com/yaklang/javajive@latest

أو البناء من المصدر:

git clone https://github.com/yaklang/javajive
cd javajive
go build -o javajive ./cmd/javajive

يتطلب Go 1.22+.

CLI

javajive <command> [arguments]

Commands:
  decompile   decompile Java artifacts or the strict DEX 035 subset into Java source
  dex2jar     convert the strict DEX 035 subset in a DEX/APK to a deterministic JAR
  classinfo   print the structure of a .class file (version, fields, methods)
  serial      Java serialization tools (subcommands: tojson, fromjson)
  version     print the version
  help        show help

إلغاء التحويل البرمجي

# Single class: prints to stdout by default, or -o to write a file.
javajive decompile Foo.class
javajive decompile Foo.class -o Foo.java

# Archive: defaults to a "<input>.src" directory, or -o to choose one.
javajive decompile app.jar
javajive decompile app.war -o ./app-src

# DEX or APK: run the native DEX-to-JAR pipeline and decompile the result.
# The default output directory is "<input>.src".
javajive decompile classes.dex
javajive decompile app.apk -o ./app-src

# Directory: recursively decompile .class files (requires -o output dir).
javajive decompile ./classes -o ./src

dex2jar

javajive dex2jar -o classes.jar classes.dex
javajive dex2jar -o app.jar app.apk

يُكتشف الإدخال عبر magic بدلاً من امتداد اسم الملف. الإخراج هو ملف JAR قابل لإعادة الإنتاج. يُفشل dex2jar التحويل الكامل عند أي class أو method غير مدعوم أو مشوّه؛ ويكتب ملفًا مؤقتًا في الدليل نفسه قبل استبدال الوجهة ولا يستبدل أبدًا ببدائل method.

حدود دعم DEX/APK الأصلي

ترجمة DEX الأصلية هي حاليًا شريحة رأسية أولى صارمة، وليست محوّل تطبيقات Android عامًا. المجموعة الفرعية المختبَرة هي DEX 035 القياسي مع تدفق تحكم عادي من الأعداد الصحيحة/المراجع، والحقول والاستدعاءات (invokes)، وتهيئة new-instance/المُنشئ المقترنة بأمان، والمصفوفات الأساسية. تُختبَر ملفات class المولّدة عبر parser ويتم التحقق منها على JVM، بما في ذلك مسارات التفرع والحقول والاستدعاءات والمُنشئ وint[] القابلة للتنفيذ.

غير مدعوم بعد: عمليات try/catch وmonitor؛ قيم أو opcodes من نوع float وlong وdouble؛ وswitch وتعليمات payload والمصفوفات المملوءة (filled arrays)؛ والاستدعاءات الديناميكية وثوابت method في DEX 038+؛ والتعليقات التوضيحية (annotations) وبيانات التصحيح (debug metadata)؛ وCompactDex؛ وموارد APK أو المكتبات الأصلية. إدخال APK يعني فقط ترجمة الإدخالات المسماة قانونيًا classes.dex وclasses2.dex و... جميع ملفات DEX المحددة يجب أن تنجح بشكل معاملاتي وإلا لن يُنتَج أي JAR.

classinfo

javajive classinfo Foo.class
class:      InvisibleAnnoSeed
super:      java/lang/Object
version:    61.0
access:     public
constants:  18

fields (0):

methods (2):
   <init>()V
   run()I

serial

# Serialized binary -> JSON. (-hex: input is a hex string, -: read from stdin)
javajive serial tojson dump.bin
printf 'aced000574000568656c6c6f' | javajive serial tojson -hex -

# JSON -> serialized binary. (default prints hex; with -o writes raw bytes)
javajive serial fromjson dump.json -o out.bin
javajive serial fromjson dump.json          # prints hex

المكتبة

تنزيل الأداة