Esempio n. 1
0
    def OnApplyChangesButton(self, event):
        dirTable = pedata.getDataDirectory(self.__pe)

        dirTable[0].VirtualAddress = int(self._exporttable_rva.GetValue(), 16)
        dirTable[0].Size = int(self._exporttable_size.GetValue(), 16)

        dirTable[1].VirtualAddress = int(self._importtable_rva.GetValue(), 16)
        dirTable[1].Size = int(self._importtable_size.GetValue(), 16)

        dirTable[2].VirtualAddress = int(self._resource_rva.GetValue(), 16)
        dirTable[2].Size = int(self._resource_size.GetValue(), 16)

        dirTable[3].VirtualAddress = int(self._exception_rva.GetValue(), 16)
        dirTable[3].Size = int(self._exception_size.GetValue(), 16)

        dirTable[4].VirtualAddress = int(self._security_rva.GetValue(), 16)
        dirTable[4].Size = int(self._security_size.GetValue(), 16)

        dirTable[5].VirtualAddress = int(self._basereloc_rva.GetValue(), 16)
        dirTable[5].Size = int(self._basereloc_size.GetValue(), 16)

        dirTable[6].VirtualAddress = int(self._debug_rva.GetValue(), 16)
        dirTable[6].Size = int(self._debug_size.GetValue(), 16)

        dirTable[7].VirtualAddress = int(self._copyright_rva.GetValue(), 16)
        dirTable[7].Size = int(self._copyright_size.GetValue(), 16)

        dirTable[8].VirtualAddress = int(self._globalptr_rva.GetValue(), 16)
        dirTable[8].Size = int(self._globalptr_size.GetValue(), 16)

        dirTable[9].VirtualAddress = int(self._tlstable_rva.GetValue(), 16)
        dirTable[9].Size = int(self._tlstable_size.GetValue(), 16)

        dirTable[10].VirtualAddress = int(self._loadconfig_rva.GetValue(), 16)
        dirTable[10].Size = int(self._loadconfig_size.GetValue(), 16)

        dirTable[11].VirtualAddress = int(self._boundimport_rva.GetValue(), 16)
        dirTable[11].Size = int(self._boundimport_size.GetValue(), 16)

        dirTable[12].VirtualAddress = int(self._iat_rva.GetValue(), 16)
        dirTable[12].Size = int(self._iat_size.GetValue(), 16)

        dirTable[14].VirtualAddress = int(self._com_rva.GetValue(), 16)
        dirTable[14].Size = int(self._com_size.GetValue(), 16)

        try:
            self.__pe.write(self._fp)
        except IOError, e:
            raise str(e)
Esempio n. 2
0
    def OnApplyChangesButton(self, event):
        dirTable = pedata.getDataDirectory(self.__pe)

        dirTable[0].VirtualAddress = int(self._exporttable_rva.GetValue(), 16)
        dirTable[0].Size = int(self._exporttable_size.GetValue(), 16)

        dirTable[1].VirtualAddress = int(self._importtable_rva.GetValue(), 16)
        dirTable[1].Size = int(self._importtable_size.GetValue(), 16)

        dirTable[2].VirtualAddress = int(self._resource_rva.GetValue(), 16)
        dirTable[2].Size = int(self._resource_size.GetValue(), 16)

        dirTable[3].VirtualAddress = int(self._exception_rva.GetValue(), 16)
        dirTable[3].Size = int(self._exception_size.GetValue(), 16)

        dirTable[4].VirtualAddress = int(self._security_rva.GetValue(), 16)
        dirTable[4].Size = int(self._security_size.GetValue(), 16)

        dirTable[5].VirtualAddress = int(self._basereloc_rva.GetValue(), 16)
        dirTable[5].Size = int(self._basereloc_size.GetValue(), 16)

        dirTable[6].VirtualAddress = int(self._debug_rva.GetValue(), 16)
        dirTable[6].Size = int(self._debug_size.GetValue(), 16)

        dirTable[7].VirtualAddress = int(self._copyright_rva.GetValue(), 16)
        dirTable[7].Size = int(self._copyright_size.GetValue(), 16)

        dirTable[8].VirtualAddress = int(self._globalptr_rva.GetValue(), 16)
        dirTable[8].Size = int(self._globalptr_size.GetValue(), 16)

        dirTable[9].VirtualAddress = int(self._tlstable_rva.GetValue(), 16)
        dirTable[9].Size = int(self._tlstable_size.GetValue(), 16)

        dirTable[10].VirtualAddress = int(self._loadconfig_rva.GetValue(), 16)
        dirTable[10].Size = int(self._loadconfig_size.GetValue(), 16)

        dirTable[11].VirtualAddress = int(self._boundimport_rva.GetValue(), 16)
        dirTable[11].Size = int(self._boundimport_size.GetValue(), 16)

        dirTable[12].VirtualAddress = int(self._iat_rva.GetValue(), 16)
        dirTable[12].Size = int(self._iat_size.GetValue(), 16)

        dirTable[14].VirtualAddress = int(self._com_rva.GetValue(), 16)
        dirTable[14].Size = int(self._com_size.GetValue(), 16)

        try:
            self.__pe.write(self._fp)
        except IOError, e:
            raise str(e)
Esempio n. 3
0
    def loadDirectoryData(self):
        dirData = pedata.getDataDirectory(self.__pe)

        self._exporttable_rva.SetValue(hex_up(dirData[0].VirtualAddress))
        self._exporttable_size.SetValue(hex_up(dirData[0].Size))

        self._importtable_rva.SetValue(hex_up(dirData[1].VirtualAddress))
        self._importtable_size.SetValue(hex_up(dirData[1].Size))

        self._resource_rva.SetValue(hex_up(dirData[2].VirtualAddress))
        self._resource_size.SetValue(hex_up(dirData[2].Size))

        self._exception_rva.SetValue(hex_up(dirData[3].VirtualAddress))
        self._exception_size.SetValue(hex_up(dirData[3].Size))

        self._security_rva.SetValue(hex_up(dirData[4].VirtualAddress))
        self._security_size.SetValue(hex_up(dirData[4].Size))

        self._basereloc_rva.SetValue(hex_up(dirData[5].VirtualAddress))
        self._basereloc_size.SetValue(hex_up(dirData[5].Size))

        self._debug_rva.SetValue(hex_up(dirData[6].VirtualAddress))
        self._debug_size.SetValue(hex_up(dirData[6].Size))

        self._copyright_rva.SetValue(hex_up(dirData[7].VirtualAddress))
        self._copyright_size.SetValue(hex_up(dirData[7].Size))

        self._globalptr_rva.SetValue(hex_up(dirData[8].VirtualAddress))
        self._globalptr_size.SetValue(hex_up(dirData[8].Size))

        self._tlstable_rva.SetValue(hex_up(dirData[9].VirtualAddress))
        self._tlstable_size.SetValue(hex_up(dirData[9].Size))

        self._loadconfig_rva.SetValue(hex_up(dirData[10].VirtualAddress))
        self._loadconfig_size.SetValue(hex_up(dirData[10].Size))

        self._boundimport_rva.SetValue(hex_up(dirData[11].VirtualAddress))
        self._boundimport_size.SetValue(hex_up(dirData[11].Size))

        self._iat_rva.SetValue(hex_up(dirData[12].VirtualAddress))
        self._iat_size.SetValue(hex_up(dirData[12].Size))

        self._com_rva.SetValue(hex_up(dirData[14].VirtualAddress))
        self._com_size.SetValue(hex_up(dirData[14].Size))
Esempio n. 4
0
    def loadDirectoryData(self):
        dirData = pedata.getDataDirectory(self.__pe)

        self._exporttable_rva.SetValue(hex_up(dirData[0].VirtualAddress))
        self._exporttable_size.SetValue(hex_up(dirData[0].Size))

        self._importtable_rva.SetValue(hex_up(dirData[1].VirtualAddress))
        self._importtable_size.SetValue(hex_up(dirData[1].Size))

        self._resource_rva.SetValue(hex_up(dirData[2].VirtualAddress))
        self._resource_size.SetValue(hex_up(dirData[2].Size))

        self._exception_rva.SetValue(hex_up(dirData[3].VirtualAddress))
        self._exception_size.SetValue(hex_up(dirData[3].Size))

        self._security_rva.SetValue(hex_up(dirData[4].VirtualAddress))
        self._security_size.SetValue(hex_up(dirData[4].Size))

        self._basereloc_rva.SetValue(hex_up(dirData[5].VirtualAddress))
        self._basereloc_size.SetValue(hex_up(dirData[5].Size))

        self._debug_rva.SetValue(hex_up(dirData[6].VirtualAddress))
        self._debug_size.SetValue(hex_up(dirData[6].Size))

        self._copyright_rva.SetValue(hex_up(dirData[7].VirtualAddress))
        self._copyright_size.SetValue(hex_up(dirData[7].Size))

        self._globalptr_rva.SetValue(hex_up(dirData[8].VirtualAddress))
        self._globalptr_size.SetValue(hex_up(dirData[8].Size))

        self._tlstable_rva.SetValue(hex_up(dirData[9].VirtualAddress))
        self._tlstable_size.SetValue(hex_up(dirData[9].Size))

        self._loadconfig_rva.SetValue(hex_up(dirData[10].VirtualAddress))
        self._loadconfig_size.SetValue(hex_up(dirData[10].Size))

        self._boundimport_rva.SetValue(hex_up(dirData[11].VirtualAddress))
        self._boundimport_size.SetValue(hex_up(dirData[11].Size))

        self._iat_rva.SetValue(hex_up(dirData[12].VirtualAddress))
        self._iat_size.SetValue(hex_up(dirData[12].Size))

        self._com_rva.SetValue(hex_up(dirData[14].VirtualAddress))
        self._com_size.SetValue(hex_up(dirData[14].Size))