Adições e alterações
- Ícones
- Adicionada uma forma de dissecar e mostrar o funcionamento de uma função usando um diagrama
- Opção de repetição automática para varreduras de valores inalterados
- Adicionadas varreduras de fórmulas Lua
- Movida a comparação para primeiro/salvo do tipo de varredura para uma caixa de seleção
- Adicionado um scanner que pode detectar e desfazer alterações de memória nas seções de código do processo alvo (patch scanner em ferramentas na memview)
- O tutorial agora tem um link para ajuda online para cada etapa
- Adicionada uma barra de ferramentas para avançar passo a passo durante a depuração
- Quando um registro de memória falha ao ativar, você pode clicar com o botão direito e ver por que falhou
- O AutoAssembler agora reduzirá os nop’s usados
- Melhor relatório de erros em scripts do AutoAssembler
- O DBVM agora pode ajustar dinamicamente o TSC. Isso pode ser desativado se causar problemas de desempenho com dbvm_setTSCAdjust(disable)
- speedhack agora também intercepta gettickcount64
- adicionado suporte a dw ‘utf16string’
- implementado suporte a VPID no DBVM (aumento de desempenho)
- kernelmode->driverlist agora também mostra exportações de drivers
- símbolos do modo kernel agora também aparecem nas DLLs e exportações enumeradas
- alterada a forma como a pesquisa lenta de símbolos é tratada
- várias pequenas atualizações no scanner de codecave
- várias pequenas atualizações na janela de busca da hexview
- Usar carregamento de PDB adiado em vez de esperar por ele
- Várias outras janelas foram tornadas compatíveis com DPI
- Adicionar opção para mostrar IDs de processo como decimal na lista de processos
- Ao pressionar shift+espaço em vez de espaço para seguir uma instrução, uma nova janela de memview será aberta
- Adicionado suporte *:indefinido para listas suspensas
- Adicionados arquivos init.lua para uso de traduções
- A Stackview agora também mostra nomes de símbolos
- Algumas janelas extras agora salvarão sua localização
- O gerador de treinador de executáveis agora permite alterar os arquivos padrão
- A descrição dos saltos condicionais agora é mais fácil de entender
- O Ultimap2 agora pode manter os arquivos do tracer e também escanear a memória do modo kernel, se desejado
- Os grupos agora são criados após o item selecionado
- O Smartedit agora também pode ‘smart’-editar filhos
- Agora você pode escolher um tipo de breakpoint sem ter que ir às configurações, e uma vez escolhido, ele será o tipo padrão para os breakpoints de alternância até ser alterado novamente
- A tela de ponto flutuante agora permanecerá dentro da tela
- Ao clicar em executar no motor Lua, o foco voltará para o campo do editor
- As configurações da interface do depurador agora só serão bloqueadas após uma anexação bem-sucedida
- Algumas melhorias de tradução aqui e ali
- Os changeregonbp’s do DBVM agora também são exibidos na interface do CE
- As cores da lista de encontrados agora podem ser personalizadas
- Desempenho aprimorado do DBVM cloak quando mais de 20 regiões são ocultas
- Implementado watch de execução baseado em DBVM e “encontrar quais endereços este código acessa”
- Implementados breakpoints DBVM (Eles sempre são executados depois, incluindo breakpoints de execução)
- Autocompletar aprimorado para que agora não apague código antigo
- Adicionadas hotkeys ao ultimap2
Correções
- Corrigido BSOD em atualizações recentes do Windows
- Corrigido o debug VEH que não lidava com breakpoints quando uma thread é criada/destruída exatamente ao mesmo tempo que um breakpoint
- Corrigida a stacktrace em alvos de 64 bits
- Corrigido o arredondamento Extremo para varreduras de float e double
- speedhack agora espera pela injeção correta da DLL
- várias instruções do disassembler
- algumas instruções do assembler
- melhorada a estabilidade das rotinas dbvm find what *
- Corrigido o contador de hits nas rotinas dbvm find what *
- Corrigido o carregamento de símbolos do modo kernel
- Corrigido o memory leak do DBVM ao desabilitar watches
- Corrigido o gerenciador de memória interno do DBVM (mais estável agora)
- Corrigido o VirtualToPhysicalCR3 interno ao lidar com tamanhos de página de 2MB+
- Corrigido o uso de megajmps em regiões ocultas
- Corrigida a fala ao usar registros assíncronos
- Corrigido executeCodeEx para mais de 4 parâmetros
- Corrigido o script de campo estático no mono adicionando geração de código de 64 bits
- Corrigido o travamento do processo mono em alguns casos
- Corrigido o seguimento do megacall
- Corrigido o escaneamento de memória NO_CACHE de qualquer forma, mesmo que estivesse desabilitado
- Corrigido o tratamento de valores de ponto flutuante que são grandes demais para serem úteis
- Corrigido o ajuste de DR7 para um valor estranho ao usar o debug global
- Corrigida a limpeza de DR6 quando no processo errado no debug do kernel
- Corrigido o disparo de breakpoints do modo kernel em locais onde não é possível quebrar corretamente (sem interrupções)
- Corrigido o carregamento de dbvm dentro de dbvm dentro de dbvm dentro de dbvm
- Corrigido o autoassembler substituindo palavras em strings entre aspas
- Corrigido o processwatcher não obtendo um PID adequado
- Corrigidas hotkeys disparando changed/unganged para tipos que não deveriam
- Corrigido mostrando os tipos dr2, dr3 e dr4 na threadlist
Lua
Novas funções:
compareMemory
encodeFunctionEx
enableKernelSymbols
waitForExports
waitForDotNet
waitForPDB
waitforsymbols
searchPDBWhileLoading
duplicateHandle
getScreenDPI
extendedToByteTable
byteTableToExtended
executeCodeLocalEx
executeMethod
allocateSharedMemoryLocal
(un)registerCreateCallback
(un)registerFirstShowCallback
(un)registerCreateCallback
dbk_usePhysicalMemoryAccess
dbk_setSaferPhysicalMemoryScanning
dbk_readPhysicalMemory
dbk_writePhysicalMemory
dbvm_addMemory
dbvm_removechangeregonbp
dbvm_speedhack_setSpeed
dbvm_setTSCAdjust
Alterações
- getWindowList agora retorna os resultados assim como a lista de janelas do CE
- Documentado OnChangeBounds para a classe Control (já existia, agora também documentado)
- executeCodeEx agora também pode aceitar apenas parâmetros sem typedefs
- Adicionado campo Data aos ListItems
- Adicionado campo de descrição ao método memrec.createHotkey
- Adicionado método clear à classe menuItem
- readStringEx() agora pode lidar com leituras parciais de memória
- executeCodeEx: Corrigido mais de 4 parâmetros
- Adicionado tipo Point
- Corrigidos os tipos selstart/sellength da editbox, e adicionado CaretPos
- Adicionada a classe HeaderSection e documentadas as HeaderSections
- Adicionados roundRect, drawFocusRect e textRect ao Canvas.
- Adicionado suporte a caracteres ansicode para textRect
- Adicionados loadFromStream e saveToStream à classe RasterImage
- Adicionados readAnsiString e writeAnsiString à classe Stream
- Melhor documentado o campo mode de createFileStream
- Exposto o handle do LuaPipeServer
- Publicado frmTracer
- Publicado frmUltimap2
- Publicado frmCodeFilter
- Publicada imagelist
- Adicionada a propriedade GUI geral DrawItemEvent ao sistema de callback do Lua
- Adicionada a propriedade GUI geral MenuDrawItemEvent ao sistema de callback do Lua
- Adicionada a propriedade GUI geral ContextPopupEvent ao sistema de callback do Lua
- Criado um novo grupo de classes Diagram que permite criar gráficos e diagramas
- Memoryrecord.DropDownValue e DropDownDescription agora funcionam (ainda RO)
21/08/2019
- Corrigido o carregamento de arquivos existentes para usuários asiáticos (a codificação de texto estava ativada, mas isso quebrava arquivos antigos)
- Adicionadas opções extras de destaque de última hora graças a mgr.inz.player
25/08/2019:
- Corrigido copiar/colar UTF8 na lista de endereços
- Corrigido o carregamento/edição de formulários
- Corrigido createFileStream
27/08/2019:
- Corrigidas strings de pipe Lua (o mono as usa)