Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
javajive — शुद्ध-Go जावा डीकंपाइलर और सीरियलाइज़ेशन ऑपरेटर | Kitploit
उपकरण/GitHubGitHub/yaklang/javajive
स्थैतिक विश्लेषणकोड विश्लेषणरिवर्स इंजीनियरिंगस्क्रिप्टिंग और स्वचालनमालवेयर विश्लेषणउपयोगिताएँ और फ्रेमवर्कबाइनरी विश्लेषण
GitHubyaklang/javajive

javajive

शुद्ध-Go जावा डीकंपाइलर और सीरियलाइज़ेशन ऑपरेटर

रिपॉजिटरी देखें
18441 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
वेबसाइट
साझा करें

JavaJive — Pure-Go Java Toolkit: Decompile, Class Parse, Serialization

JavaJive

CI Pages Go Reference License: MIT

English | 简体中文 | Website

एक पोर्टेबल, pure-Go Java टूलकिट — जिसे yaklang से निकालकर और छाँटकर बनाया गया है — जो तीन काम करता है और इसके अलावा कुछ नहीं:

  • Decompile — .class / .jar / / → पठनीय Java स्रोत।
.war
.zip
  • Parse classes — किसी .class फ़ाइल की संरचना का निरीक्षण करें (constant pool, fields, methods, version, access flags)।
  • (De)serialize — Java serialization (ObjectStream) वायर फ़ॉर्मेट को byte fidelity के साथ parse और पुनः marshal करें, तथा इसे JSON में/से परिवर्तित करें।
  • पोर्टेबिलिटी और embedding के लिए बनाया गया:

    • Pure Go, single binary — कोई JDK नहीं, कोई cgo नहीं, कोई ANTLR runtime नहीं, कोई native library नहीं। amd64 और arm64 पर linux / macOS / windows के लिए cross-compile होता है।
    • एक import — एक एकीकृत javajive facade package तीनों क्षमताओं को समाहित करता है; उन्नत उपयोग के लिए sub-packages उपलब्ध रहते हैं।
    • First-class CLI — decompile, classinfo, और serial subcommands, standard library पर आधारित।
    • वास्तविक JDK के विरुद्ध cross-tested — CI वास्तविक .class / .jar और JDK-serialized blobs को javac/java से compile करता है, फिर JavaJive को उनके विरुद्ध सत्यापित करता है (देखें HARNESS-WORKFLOW.md)।
    • छाँटा हुआ dependency graph — utils / codec / log / go-funk को एक न्यूनतम, स्व-निहित internal/ core के रूप में पुनः कार्यान्वित किया गया है।

    v0.4.0 का सत्यापन

    पूर्ण 38-JAR differential audit शून्य दर्ज regressions की रिपोर्ट करता है निर्धारित baseline के विरुद्ध: पहले से compile-clean सभी 20 JARs बरकरार हैं और 26 अब पूर्ण रूप से compile होते हैं। Baseline दोष और 4 मौजूदा method stubs दृश्यमान बने हुए हैं। देखें per-JAR परिणाम और पुनरुत्पादन।

    250 पृथक semantic round trips compilation, JVM verification, stubs और runtime समानता को अलग-अलग दर्ज करते हैं; मूल application classes पुनर्निर्मित classpaths में अनुपस्थित हैं। CI JDK 17 और 21 पर semantic audit, पूर्ण ऐतिहासिक तुलना, तथा OS/Go और race matrices चलाता है। ये जाँचें प्रत्येक library method की समतुल्यता सिद्ध नहीं करतीं। देखें कार्यान्वयन और शेष सीमाएँ।

    ऐतिहासिक बेंचमार्क (v0.3.0)

    निम्नलिखित आँकड़े 2026-09-05 को v0.3.0 के लिए रिपोर्ट किए गए थे। ये वर्तमान-संस्करण के स्वीकृति परिणाम या व्यवहारिक समतुल्यता का प्रमाण नहीं हैं।

    34 वास्तविक jars (18,759 flattened units) पर decompile → javac --release 8 recompile → repackage → JVM verify के माध्यम से मापा गया:

    • 100% unit-clean दर — 18,759 / 18,759 flattened units (Outer$Inner.java) शून्य javac errors के साथ recompile होते हैं, और सभी 34 jars में 0 syntax errors (एक CI-प्रवर्तित hard assertion, ताकि कोई type error lexer विफलता के पीछे न छिप सके)।
    • सभी 34 libraries पूर्ण round-trip — decompile → recompile → repackage → बाहरी JVM -Xverify:all per-class verification end-to-end पास होती है (codec call differential के अंतर्गत मूल jar के byte-identical है)। provenClean में लॉक किया गया।
    • 14 / 14 self-hosted algorithms (MD5 · SHA-256 · CRC32 · quicksort · Base64 · HeapSort · KMP · SwitchFSM · TryFinally · UnionFind · DiamondTryCatch · DiamondTryFinally · ForContinue · ComputeIfAbsent) byte-for-byte round-trip करते हैं।
    • मूल 8-jar सेट पर निष्पक्ष 3-way तुलना में #1 — clean-unit दर 100% बनाम Vineflower 1.10.1 (90.8%) और CFR 0.152 (79.8%); दोनों के विरुद्ध सभी 8 jars जीते।

    पूर्ण कार्यप्रणाली, per-jar तालिकाओं और पुनरुत्पादन कमांड के लिए देखें BENCHMARK.md।

    इंस्टॉल

    root@kitploit:~
    # CLI
    go install github.com/yaklang/javajive/cmd/javajive@latest
    
    # Library
    go get github.com/yaklang/javajive@latest
    

    या स्रोत से build करें:

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

    Go 1.22+ आवश्यक है।

    CLI

    root@kitploit:~
    javajive <command> [arguments]
    
    Commands:
      decompile   decompile .class/.jar/.war/.zip or a directory into Java source
      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
    

    decompile

    root@kitploit:~
    # 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
    
    # Directory: recursively decompile .class files (requires -o output dir).
    javajive decompile ./classes -o ./src
    

    classinfo

    root@kitploit:~
    javajive classinfo Foo.class
    
    root@kitploit:~
    class:      InvisibleAnnoSeed
    super:      java/lang/Object
    version:    61.0
    access:     public
    constants:  18
    
    fields (0):
    
    methods (2):
       <init>()V
       run()I
    

    serial

    root@kitploit:~
    # 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
    

    Library

    एकीकृत facade package का उपयोग करें — एक import तीनों क्षमताओं को कवर करता है:

    root@kitploit:~
    import "github.com/yaklang/javajive"
    
    // Decompile a single class, or a whole archive into a directory.
    src, err := javajive.Decompile(classBytes)
    err = javajive.DecompileArchive("app.jar", "app-src")
    
    // Inspect class structure.
    obj, err := javajive.ParseClass(classBytes)
    _ = obj.GetClassName()
    
    // Java serialization: binary -> JSON -> binary.
    objs, _ := javajive.ParseSerialized(raw)          // or ParseSerializedHex(hexStr)
    jsonBytes, _ := javajive.SerializedToJSON(objs...)
    restored, _ := javajive.SerializedFromJSON(jsonBytes)
    out := javajive.MarshalSerialized(restored...)
    

    एकीकृत API

    FunctionPurpose
    Decompile(classBytes) (string, error)एक .class के bytes को decompile करें
    DecompileFile(path) (string, error)डिस्क से एक .class को decompile करें
    DecompileWithResolver(classBytes, resolve)class-bytes resolver के साथ decompile करें
    DecompileArchive(src, dst) errorएक .jar/.war/.zip को एक directory में decompile करें
    ParseClass(classBytes) (*ClassObject, error)एक .class के bytes को parse करें
    ParseClassFile(path) (*ClassObject, error)डिस्क से एक .class को parse करें
    ParseSerialized(raw) ([]JavaSerializable, error)एक serialization stream को parse करें
    ParseSerializedHex(hexStr) ([]JavaSerializable, error)एक hex-encoded stream को parse करें
    MarshalSerialized(objs...) []byteobjects को wire format में पुनः encode करें
    MarshalSerializedHex(objs...) stringhex में पुनः encode करें
    SerializedToJSON(objs...) ([]byte, error)objects को JSON में परिवर्तित करें
    SerializedFromJSON(raw) ([]JavaSerializable, error)JSON से objects को पुनर्निर्मित करें

    उन्नत उपयोग के लिए sub-packages भी exported हैं: classparser, classparser/jarwar, serialization.

    upstream yaklang से अंतर

    पोर्टेबल और छोटा बने रहने के लिए, JavaJive yaklang की तुलना में कुछ जानबूझकर समझौते करता है। पूर्ण mapping और migration guide के लिए देखें MIGRATE.md।

    Areayaklang (upstream)JavaJive
    Decompiler ANTLR safety netANTLR Java grammar के माध्यम से dumped source को पुनः सत्यापित करता है; विफलता पर members को stubs में degrade करता हैहटाया गया (भारी dependency); validation एक no-op है, output सीधे emit होता है
    Support layer (utils / codec / log / go-funk)साझा monorepo packagesinternal/ के अंतर्गत न्यूनतम स्व-निहित पुनः कार्यान्वयन
    yso gadget generatorशामिलशामिल नहीं
    String literal charset recovery (MatchMIMEType)वैकल्पिक GBK/GB18030 recoverystubbed (no-op); अधिकांश मामलों में व्यवहार अपरिवर्तित

    Third-party dependencies pure-Go libraries के एक छोटे सेट तक सीमित हैं (gobwas/glob, go-viper/mapstructure, samber/lo, tidwall/gjson, segmentio/ksuid, yeka/zip, और कुछ golang.org/x/*)।

    परीक्षण

    root@kitploit:~
    go test ./...                 # unit tests + JDK cross-tests (skipped if no JDK)
    go test ./... -race           # data-race free (linux)
    go test ./test/cross/ -v      # Java cross-tests only (needs javac/java on PATH)
    

    JDK cross-tests परीक्षण के समय वास्तविक Java artifacts compile करते हैं और उन्हें JavaJive के विरुद्ध सत्यापित करते हैं; कोई JDK उपस्थित न होने पर वे स्वतः t.Skip कर देते हैं। harness और CI कैसे काम करते हैं, यह देखने के लिए HARNESS-WORKFLOW.md देखें।

    परियोजना लेआउट

    root@kitploit:~
    javajive.go      unified facade package (import "github.com/yaklang/javajive")
    serialization/   Java serialization/deserialization (from yaklang common/yserx)
    classparser/     class parser + decompiler (from yaklang common/javaclassparser)
    cmd/javajive/    CLI entry point
    internal/        trimmed self-contained support layer (log / codec / funk / utils / filesys / ...)
    test/cross/      JDK-backed cross-tests (javac/java)
    site/            static landing page deployed to GitHub Pages
    

    लाइसेंस

    MIT © 2026 VillanCh. JavaJive yaklang से व्युत्पन्न है।

    टूल डाउनलोड करें