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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
bip — ऑब्जेक्ट-ओरिएंटेड Python API जो रिवर्स इंजीनियरिंग के लिए IDA के साथ इंटरैक्शन को सरल बनाता है, प्लगइन विकास और डिस्सेम्बली विश्लेषणों के स्वचालन को सक्षम करता है। | Kitploit
उपकरण/GitHubGitHub/synacktiv/bip
स्थैतिक विश्लेषणकोड विश्लेषणरिवर्स इंजीनियरिंगस्क्रिप्टिंग और स्वचालनबाइनरी विश्लेषण
GitHubsynacktiv/bip

bip

ऑब्जेक्ट-ओरिएंटेड Python API जो रिवर्स इंजीनियरिंग के लिए IDA के साथ इंटरैक्शन को सरल बनाता है, प्लगइन विकास और डिस्सेम्बली विश्लेषणों के स्वचालन को सक्षम करता है।

रिपॉजिटरी देखें
20519134 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

Bip

Bip एक परियोजना है जिसका उद्देश्य IDA के साथ इंटरैक्ट करने के लिए python के उपयोग को सरल बनाना है। इसके मुख्य लक्ष्य IDA के इंटरैक्टिव कंसोल में python के उपयोग को सुविधाजनक बनाना और प्लगइन्स लिखना है। अधिक सामान्य तरीके से, लक्ष्य python API के माध्यम से किए जाने वाले आवर्ती कार्यों को स्वचालित करना है। Bip को अधिक ऑब्जेक्ट-ओरिएंटेड, एक "python-like" API और एक वास्तविक दस्तावेज़ प्रदान करने के लिए भी विकसित किया गया है।

यह कोड पूर्ण नहीं है, और कई सुविधाएँ अभी भी गायब हैं। विकास को उन्हीं पर प्राथमिकता दी जाती है जो लोग माँगते हैं और जो डेवलपर्स उपयोग करते हैं, इसलिए PR, फीचर अनुरोध और मुद्दे (दस्तावेज़ीकरण के लिए भी) बनाने में संकोच न करें।

दस्तावेज़ीकरण RST प्रारूप में उपलब्ध है (और इसे sphinx का उपयोग करके संकलित किया जा सकता है) docs/ निर्देशिका में, यह ऑनलाइन <https://synacktiv.github.io/bip/build/html/index.html>_ पर भी उपलब्ध है।

  • वर्तमान IDA संस्करण: IDA 7.5SP1 और Python 2.7 या 3.8
  • अंतिम Bip संस्करण: 1.0

स्थापना

यह स्थापना केवल Windows और Linux पर परीक्षण की गई है: python install.py।

किसी विशेष फ़ोल्डर में स्थापित करने के लिए एक वैकल्पिक --dest तर्क का उपयोग करना संभव है:

.. code-block:: none

usage: install.py [-h] [--dest DEST]

optional arguments:
  -h, --help   show this help message and exit
  --dest DEST  Destination folder where to install Bip

यह इंस्टॉलर डिफ़ॉल्ट रूप से कोई प्लगइन स्थापित नहीं करता है, बल्कि केवल Bip का मूल स्थापित करता है। डिफ़ॉल्ट रूप से गंतव्य फ़ोल्डर वही है जो IDA द्वारा स्थानीय रूप से उपयोग किया जाता है (Windows के लिए %APPDATA%\Hex-Rays\IDA Pro\ और Linux और MacOSX के लिए $HOME/.idapro)।

अवलोकन

इस अवलोकन का लक्ष्य यह दिखाना है कि सबसे सामान्य ऑपरेशन कैसे किए जा सकते हैं, यह पूर्ण होने से बहुत दूर है। Bip के सभी फ़ंक्शन और ऑब्जेक्ट doc string का उपयोग करके प्रलेखित हैं, इसलिए अपने शेल में doc प्राप्त करने के लिए केवल help(BipClass) और help(obj.bipmethod) का उपयोग करें।

आधार

मॉड्यूल bip.base में IDA के साथ इंटरफेसिंग के लिए बुनियादी सुविधाओं में से अधिकांश शामिल हैं। व्यवहार में यह मुख्य रूप से IDA का डिससेम्बलर भाग है, इसमें शामिल हैं: निर्देशों, फ़ंक्शनों, बेसिक ब्लॉकों, ऑपरेंड्स का हेरफेर, डेटा, xrefs, संरचनाएं, प्रकार, ...

निर्देश / ऑपरेंड्स~~~~~~~~~~~~~~~~~~~~~~~

The classes bip.base.BipInstr and bip.base.BipOperand:

.. code-block:: pycon

>>> from bip.base import *
>>> i = BipInstr() # BipInstr is the base class for representing an instruction
>>> i # by default the address on the screen is taken
BipInstr: 0x1800D324B (mov     rcx, r13)
>>> i2 = BipInstr(0x01800D3242) # pass the address in argument
>>> i2
BipInstr: 0x1800D3242 (mov     r8d, 8)
>>> i2.next # access next instruction, previous with i2.prev
BipInstr: 0x1800D3248 (mov     rdx, r14)
>>> l = [i3 for i3 in BipInstr.iter_all()] # l contains the list of all BipInstruction of the database, iter_all produces a generator object
>>> i.ea # access the address
6443315787
>>> i.mnem # mnemonic representation
mov
>>> i.ops # access to the operands
[<bip.base.operand.BipOperand object at 0x0000022B0291DA90>, <bip.base.operand.BipOperand object at 0x0000022B0291DA58>]
>>> i.ops[0].str # string representation of an operand
rcx
>>> i.bytes # bytes in the instruction
[73L, 139L, 205L]
>>> i.size # number of bytes of this instruction
3
>>> i.comment = "hello" # set a comment, rcomment for the repeatable comments
>>> i
BipInstr: 0x1800D324B (mov     rcx, r13; hello)
>>> i.comment # get a comment
hello
>>> i.func # access to the function
Func: RtlQueryProcessLockInformation (0x1800D2FF0)
>>> i.block # access to basic block
BipBlock: 0x1800D3242 (from Func: RtlQueryProcessLockInformation (0x1800D2FF0))

Function / Basic block


The classes ``bip.base.BipFunction`` and ``bip.base.BipBlock``:

.. code-block:: pycon

    >>> from bip.base import *
    >>> f = BipFunction() # Get the function, screen address used if not provided
    >>> f
    Func: RtlQueryProcessLockInformation (0x1800D2FF0)
    >>> f2 = BipFunction(0x0018010E975) # provide an address, not necessary the first one
    >>> f2
    Func: sub_18010E968 (0x18010E968)
    >>> f == f2 # compare two functions
    False
    >>> f == BipFunction(0x001800D3021)
    True
    >>> hex(f.ea) # start address
    0x1800d2ff0L
    >>> hex(f.end) # end address
    0x1800d3284L
    >>> f = BipFunction.get_by_name("RtlQueryProcessLockInformation") # fetch the function from its name
    >>> f.name # get and set the name
    RtlQueryProcessLockInformation
    >>> f.name = "test"
    >>> f.name
    test
    >>> f.size # number of bytes in the function
    660
    >>> f.bytes # bytes of the function
    [72L, ..., 255L]
    >>> f.callees # list of functions called by this function
    [<bip.base.func.BipFunction object at 0x0000022B0291DD30>, ..., <bip.base.func.BipFunction object at 0x0000022B045487F0>]
    >>> f.callers # list of functions which call this function
    [<bip.base.func.BipFunction object at 0x0000022B04544048>]
    >>> f.instr # list of instructions in the function
    [<bip.base.instr.BipInstr object at 0x0000022B0291DB00>, ..., <bip.base.instr.BipInstr object at 0x0000022B0454D080>]
    >>> f.comment = "welcome to bip" # comment of the function, rcomment for repeatable ones
    >>> f.comment
    welcome to bip
    >>> f.does_return # does this function return ?
    True
    >>> BipFunction.iter_all() # allows to iter on all functions defined in the database
    <generator object iter_all at 0x0000022B029231F8>
    >>> f.nb_blocks # number of basic blocks
    33
    >>> f.blocks # list of blocks
    [<bip.base.block.BipBlock object at 0x0000022B04544D68>, ..., <bip.base.block.BipBlock object at 0x0000022B04552240>]
    >>> f.blocks[5] # access the basic block 5, could be done with BipBlock(addr)
    BipBlock: 0x1800D306E (from Func: test (0x1800D2FF0))
    >>> f.blocks[5].func # link back to the function
    Func: test (0x1800D2FF0)
    >>> f.blocks[5].instr # list of instructions in the block
    [<bip.base.instr.BipInstr object at 0x0000022B04544710>, ..., <bip.base.instr.BipInstr object at 0x0000022B0291DB00>]
    >>> f.blocks[5].pred # predecessor blocks, blocks where control flow lead to this one
    [<bip.base.block.BipBlock object at 0x0000022B04544D68>]
    >>> f.blocks[5].succ # successor blocks
    [<bip.base.block.BipBlock object at 0x0000022B04544710>, <bip.base.block.BipBlock object at 0x0000022B04544438>]
    >>> f.blocks[5].is_ret # is this block containing a return
    False

Data
~~~~

The class ``bip.base.BipData``:

.. code-block:: pycon
टूल डाउनलोड करें