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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
VMPacker — ARM64 ELF वर्चुअल मशीन संरक्षण प्रणाली | Kitploit
उपकरण/GitHubGitHub/leochen-coremind/vmpacker
एम्बेडेड सिस्टम सुरक्षाशोषण फ्रेमवर्कIoT सुरक्षाभेद्यता विश्लेषणरिवर्स इंजीनियरिंगफज़िंगपेनिट्रेशन टेस्टिंगमोबाइल सुरक्षाहार्डवेयर सुरक्षाबाइनरी विश्लेषणएंटी-बॉट
477170226 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHub
leochen-coremind/vmpacker

VMPacker

ARM64 ELF वर्चुअल मशीन संरक्षण प्रणाली

रिपॉजिटरी देखें

🛡️ VMPacker

ARM64 ELF वर्चुअल मशीन संरक्षण प्रणाली

ARM64 नेटिव निर्देशों को कस्टम VM बाइटकोड में अनुवाद करें फंक्शन-स्तरीय कोड सुरक्षा के लिए

🇨🇳 中文文档 • विशेषताएँ • आर्किटेक्चर • त्वरित आरंभ • उपयोग • लाइसेंस


अवलोकन

VMPacker एक वर्चुअल मशीन सुरक्षा (VMP) प्रणाली है ARM64 (AArch64) Linux ELF बाइनरी के लिए। यह लक्ष्य फंक्शन के नेटिव ARM64 निर्देशों को एक मध्यवर्ती प्रस्तुति में डीकोड करता है, उन्हें कस्टम VM बाइटकोड में अनुवाद करता है, और ELF फ़ाइल में एक एम्बेडेड VM इंटरप्रेटर इंजेक्ट करता है। रनटाइम पर, संरक्षित फंक्शन VM इंटरप्रेटर द्वारा निष्पादित किए जाते हैं, न कि मूल रूप से।

मूल अवधारणा

ARM64 Native Code  →  Decode  →  Translate  →  Custom VM Bytecode
                                                      ↓
                    Original ELF  ←  Inject  ←  VM Interpreter Stub

विशेषताएँ

🔄 निर्देश अनुवाद इंजन

  • 63 VM निर्देश — ALU, मेमोरी, ब्रांच, सिसकॉल और अधिक को कवर करते हैं
  • टेबल-संचालित डिकोडर — ARM आर्किटेक्चर संदर्भ मैनुअल पर आधारित पैटर्न मिलान
  • 121 ARM64 निर्देश समर्थित (बेस A64 100% कवरेज), जिनमें शामिल हैं:
    • अंकगणित/तर्क (ADD, SUB, MUL, AND, ORR, EOR, LSL, LSR, ASR, MVN, BIC, ORN, EON...)
    • गुणा-विस्तार (MADD, MSUB, SMADDL, SMSUBL, UMADDL, UMSUBL, SMULH, UMULH, UDIV, SDIV)
    • डेटा संचलन (MOV, MOVZ, MOVK, MOVN)
    • मेमोरी एक्सेस (LDR, STR, LDP, STP, LDPSW, LDADD, CAS, LDAR, STLR, LDAXR, STLXR — विभिन्न चौड़ाई और एड्रेसिंग मोड)
    • ब्रांच नियंत्रण (B, BL, BR, BLR, RET, B.cond, CBZ/CBNZ, TBZ/TBNZ)
    • सशर्त चयन (CSEL, CSINC, CSINV, CSNEG, CCMP, CCMN)
    • बिटफ़ील्ड (UBFM, SBFM, BFM, EXTR)
    • बिट हेरफेर (CLZ, CLS, RBIT, REV, REV16, REV32)
    • कैरी अंकगणित (ADC, ADCS, SBC, SBCS)
    • SIMD लोड/स्टोर (LD1, ST1)
    • सिस्टम/बैरियर (SVC, MRS, MSR, ADRP/ADR, DMB, DSB, ISB, HLT, BRK, PRFM)

🔐 बहु-स्तरीय सुरक्षा

परततकनीकविवरण
VM सुरक्षाकस्टम ISAयादृच्छिक रूप से मैप किए गए ऑपकोड — रिवर्स इंजीनियर सीधे निर्देश अर्थ की पहचान नहीं कर सकते
OpcodeCryptorप्रति-निर्देश ऑपकोड एन्क्रिप्शनenc[pc] = op[pc] ^ (key ^ (pc * 0x9E3779B9))
बाइटकोड उलटनानिष्पादन क्रम उलटनानिर्देश उल्टे क्रम में संग्रहीत; इंटरप्रेटर पीछे की ओर चलता है
टोकन प्रविष्टि3-निर्देश ट्रैम्पोलिनमूल फंक्शन को टोकनीकृत प्रविष्टि से बदल दिया जाता है, वास्तविक बाइटकोड स्थान छिपा हुआ
अप्रत्यक्ष प्रेषणफंक्शन पॉइंटर जंप टेबलरनटाइम पर स्टैक पर भरा जाता है, IDA क्रॉस-रेफरेंस तोड़ता है

🖥️ GUI

  • क्रॉस-प्लेटफ़ॉर्म डेस्कटॉप ऐप Wails v2 (Go + Vue 3) के साथ निर्मित
  • Element Plus UI घटक
  • प्रतीक फंक्शन चयन + मैन्युअल फंक्शन इनपुट (पता श्रेणी द्वारा सुरक्षा)
  • वास्तविक समय लॉग आउटपुट के साथ एक-क्लिक सुरक्षा
मुख्य इंटरफ़ेस फंक्शन विश्लेषण सुरक्षा विकल्प
फंक्शन सूची विश्लेषण और चयन सुरक्षा विकल्प
सुरक्षा निष्पादन सुरक्षा पूर्ण
वास्तविक समय लॉग सुरक्षा पूर्ण

आर्किटेक्चर

vmp/
├── cmd/vmpacker/          # CLI प्रवेश बिंदु
│   ├── main.go            # CLI तर्क पार्सिंग + ऑर्केस्ट्रेशन
│   └── vm_interp.bin      # संकलित VM इंटरप्रेटर (GCC, go:embed)
│
├── pkg/                   # Go कोर लाइब्रेरी
│   ├── arch/arm64/        # ARM64 आर्किटेक्चर समर्थन
│   │   ├── decoder.go     # टेबल-संचालित निर्देश डिकोडर (vm.Decoder को लागू करता है)
│   │   ├── decode_*.go    # डिकोड पैटर्न टेबल (DP-IMM/DP-REG/Branch/LdSt)
│   │   ├── translator.go  # ARM64 → VM बाइटकोड अनुवादक
│   │   ├── tr_alu.go      # ALU निर्देश अनुवाद
│   │   ├── tr_branch.go   # ब्रांच निर्देश अनुवाद
│   │   ├── tr_loadstore.go # मेमोरी निर्देश अनुवाद
│   │   ├── tr_bitfield.go # बिटफ़ील्ड निर्देश अनुवाद
│   │   └── tr_special.go  # विशेष निर्देश (ADRP/ADR)
│   ├── vm/                # VM ISA परिभाषाएँ
│   │   ├── types.go       # साझा प्रकार + इंटरफ़ेस (Decoder/Translator/Packer)
│   │   ├── opcodes.go     # 58+ VM opcode परिभाषाएँ (यादृच्छिक रूप से मैप किए गए मान)
│   │   └── disasm.go      # VM बाइटकोड डिस्सेम्बलर
│   └── binary/elf/        # ELF बाइनरी हेरफेर
│       ├── packer.go      # ELF VMP इंजेक्शन (PT_NOTE अपहरण, ट्रैम्पोलिन जनरेशन)
│       └── trampoline.go  # ट्रैम्पोलिन कोड जनरेशन
│
├── stub/                  # C VM इंटरप्रेटर (PIC फ्लैट बाइनरी में संकलित)
│   ├── vm_interp_clean.c  # इंटरप्रेटर मुख्य लूप + प्रवेश बिंदु
│   ├── vm_types.h         # VM CPU संदर्भ (vm_ctx_t)
│   ├── vm_opcodes.h       # C-पक्ष opcode परिभाषाएँ (opcodes.go के साथ सिंक)
│   ├── vm_decode.h        # बाइटकोड पढ़ने की उपयोगिताएँ
│   ├── vm_token.h         # टोकन एन्कोड/डिकोड + डिस्क्रिप्टर टेबल
│   ├── vm_dispatch.h      # अप्रत्यक्ष प्रेषण जंप टेबल
│   ├── vm_crc.h           # CRC32 अखंडता जाँच
│   ├── vm_sections.h      # हैंडलर सेक्शन स्कैटरिंग मैक्रो
│   ├── vm_interp.lds      # लिंकर स्क्रिप्ट
│   └── vm_handlers/       # मॉड्यूलर निर्देश हैंडलर
│       ├── h_alu.h        # अंकगणित/तर्क संचालन
│       ├── h_mem.h        # मेमोरी एक्सेस
│       ├── h_branch.h     # ब्रांच/जंप
│       ├── h_cmp.h        # तुलना/सशर्त
│       ├── h_mov.h        # डेटा संचलन
│       ├── h_stack.h      # स्टैक (PUSH/POP)
│       └── h_system.h     # सिस्टम (SVC/MRS/BLR/BR/RET)
│
├── vmp-gui/               # Wails GUI फ्रंटएंड
│   ├── frontend/          # Vue 3 + Element Plus
│   └── backend/           # Go बैकएंड बाइंडिंग
│
└── build/                 # पूर्व-संकलित उपकरण + परीक्षण कलाकृतियाँ

मॉड्यूलर डिज़ाइन

परियोजना एक इंटरफ़ेस-संचालित मॉड्यूलर आर्किटेक्चर का उपयोग करती है, जिससे नए ISA और बाइनरी प्रारूपों तक विस्तार करना आसान हो जाता है:

// आर्किटेक्चर डिकोडर इंटरफ़ेस — x86, RISC-V तक विस्तार योग्य
type Decoder interface {
    Decode(raw uint32, offset int) Instruction
    InstName(op int) string
}

// बाइटकोड अनुवादक इंटरफ़ेस
type Translator interface {
    Translate(instructions []Instruction) (*TranslateResult, error)
}

// बाइनरी प्रारूप इंजेक्टर इंटरफ़ेस — PE, Mach-O तक विस्तार योग्य
type Packer interface {
    Process() error
}

सुरक्षा पाइपलाइन

graph LR
    A[Input ELF] --> B[Locate Target Function]
    B --> C[Extract ARM64 Instructions]
    C --> D[Decode ARM64]
    D --> E[Translate to VM Bytecode]
    E --> F[XOR Encrypt Bytecode]
    F --> G[Inject VM Interpreter]
    G --> H[Generate Trampoline]
    H --> I[Replace Function Entry]
    I --> J[Output Protected ELF]

त्वरित आरंभ

पूर्वापेक्षाएँ

  • Go 1.21+
  • GCC (aarch64-linux-gnu-gcc) — स्टब को संकलित करने के लिए
  • Linux ARM64 या क्रॉस-कम्पाइलेशन वातावरण

स्थापना

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