Exemplo n.º 1
0
def retrieveGetCompleteHook(ctx):
    returnParams = ctx.getArgument(1).rawData()

    # First 4-byte contains source bitmap handle, while the next contains mask bitmap handle.
    (bitmapHandle, maskHandle) = struct.unpack('<LL', returnParams[:8])

    symemu.log('Rendered icon to bitmap handle {}, mask handle {}',
               bitmapHandle, maskHandle)
Exemplo n.º 2
0
def ipcCopyHook():
    msgHandle = ctypes.c_long(symemu.Cpu.getReg(0)).value
    msg = symemu.messageFromHandle(msgHandle)

    if msg != None:
        symemu.log('Message opcode: {}, sender: {}'.format(
            msg.function(),
            msg.sender().getName()))
Exemplo n.º 3
0
def retrieveGetSendHook(ctx):
    params = ctx.getArgument(0).rawData()

    # First field of the param struct is a static UCS2 descriptor.
    # That's the name of the file containg icon pool.
    (fileNameMaxLen, filename) = StringUtils.getStaticUcs2String(params)
    offsetStart = 8 + fileNameMaxLen * 2

    # Extract the bitmap ID and mask ID. These all takes 4 bytes each
    (bitmapId, maskId) = struct.unpack('<ll',
                                       params[offsetStart:offsetStart + 8])
    symemu.log('From file {}, bitmap ID {}, mask ID {}', filename, bitmapId,
               maskId)
Exemplo n.º 4
0
def domainClientPanic(panicCode):
    errcode = -(panicCode & 0xFFFF)
    line = (panicCode >> 16) & 0xFFFF

    symemu.log('DomainClient exited with exit code: {} at line {}', errcode, line)
Exemplo n.º 5
0
def waitForRequestWhoHook():
    # Get current thread
    crrThread = symemu.getCurrentThread()
    symemu.log('Thread {} will wait for any request!'.format(
        crrThread.getName()))
Exemplo n.º 6
0
def scriptEntry():
    symemu.log('Hello EKA2L1!')
Exemplo n.º 7
0
def getProcess():
    processList = symemu.getProcessesList()

    for process in processList:
        symemu.log('Name: {}, Path: {}', process.getName(), process.getExecutablePath())