Memimager.Executa um despejo de memória usando NTSystemDebugControl | |
Baixe Agora |
Memimager. Classificação e resumo
Propaganda
- Licença:
- Freeware
- Nome do editor:
- Arne Vidstrom
- Sistemas operacionais:
- Windows All
- Tamanho do arquivo:
- 7 KB
Memimager. Tag
- memória jogar fora cache despejo de imagem passar despejo Permissão de despejo Configurações de despejo despejar quant matrice despejo de memória Controle de depuração do sistema NT cache de memória Editor de despejo de dados. despejo de diretório despejo de arquivos Informações de despejo despejo de cabeçalho criar despejo Conteúdo de despejo pasta de despejo Comando Svnadmin Dump. Nome da conta de despejo despejar arquivo Dump Dump. ver despejo de memória Editar despejo de memória executa Despejo de memória do kernel. Analisador de despejo de memória. Banco de dados de preferências de despejo Dump octal analisar despejo de pilha hexadecimal despejo despejo de heap Debugger de arquivo de despejo. Ponto de despejo Dump redundância Recurso de despejo Registro de despejo Despejo de acesso. MySQL PHP despeje Borland Delphi 6. AVG Update 10.0.1424. Despejo ODBC. ipod usb desconhecido compressor bz2 menu dvdstyler 1.8.3 papéis de parede bonitos para crack de tempo de trabalho Cross Fire 1031. xbox 360 mp4 ubuntu xadrez 3d a-lei para wav Índice de ações Symbian. táxi 2 ppd despejo de tela
Memimager. Descrição
A aplicação MemImager foi projetado para ser uma ferramenta que executa um despejo de memória usando NtSystemDebugControl. Usando NtSystemDebugControl para despejar Para o código de controlo 10, que usa uma estrutura com o seguinte esquema de buffer de entrada: - DWORD PhysicalAddress; - DWORD Reserved1; - void * buffer; - DWORD Corpo; Em seguida, podemos por exemplo malloc um buffer de página de tamanho que apontam Buffer para, gravação de 4096 de comprimento, e ponto PhysicalAddress para o endereço da página que deseja copiar o conteúdo. Então nós executamos NtSystemDebugControl e se tudo correr bem o nosso tampão agora contém uma cópia dos dados na página física. Bastante trivial realmente. dentro NtSystemDebugControl Para entender se, e de que forma, alças NtSystemDebugControl cache questões que temos de dar um mergulho no kernel. O kernel exporta a rotina chamada NtSystemDebugControl, que contém uma instrução switch encarregado de despachar para a funcionalidade correta com base no código de controle. No seguinte Não vou descrever cada detalhe minúsculo pouco do código. A primeira razão é que existem muitos detalhes que não são relevantes para o que estamos olhando. Em segundo lugar eu não tenho compilado o código, mas apenas seguiu as partes relevantes da desmontagem (de um kernel 2003 SP0 Windows Server). O código de manipulação de código de controle 10 chama a rotina não documentada _ExLockUserBuffer que faz com que as páginas em nosso buffer (* Buffer) residente, bloqueia-los na memória, e volta (em um ponteiro passado como um parâmetro) um endereço virtual espaço do sistema de apontando para ele. Em seguida, uma outra função não documentada chamada _KdpCopyMemoryChunks é chamado. Os parâmetros passados para ele são entre outros o espaço de endereços virtuais do sistema que aponta para a memória intermédia, o número de bytes para copiar (comprimento), e o endereço para copiar a partir de (PhysicalAddress). Agora ainda uma outra função não documentada é chamado: _MmDbgCopyMemory. Esta função executa a cópia real dos dados. Mas antes que ele possa fazer qualquer cópia ele precisa ter um endereço virtual da fonte em vez de um endereço físico. Por isso, chama a nossa última função não documentada: _MiDbgTranslatePhysicalAddress. Agora estamos realmente se fechando sobre a resposta à nossa pergunta. _MiDbgTranslatePhysicalAddress recebe o nosso endereço físico como um parâmetro. Em seguida, usa uma variável chamada _ValidKernelPte, que serve como uma espécie de modelo para o kernel PTE: s. As bandeiras do modelo são combinados com o endereço físico para formar uma PTE apontando para a página que deseja copiar. Em seguida, o banco de dados PFN é indexado para localizar a entrada correspondente a nossa página de origem. Nesta entrada dos olhares do kernel nas bandeiras CacheAttribute do membro u3.e1. As bandeiras CacheAttribute são então utilizados para definir o índice de PAT no TEP. Agora temos a nossa resposta realmente, mas vou continuar um pouco mais de qualquer maneira. O PTE o kernel tem construído agora é copiado para o local apontado pela variável do kernel _MmDebugPte. Finalmente, a função retorna o endereço virtual que usará o PTE para o mapeamento. Agora _MmDbgCopyMemory está livre para copiar os dados a partir da página de origem física para nosso buffer usando apenas endereços virtuais.
Memimager. Software Relacionado
Instalador de nível irreal
Um utilitário simples para descompactar arquivos de nível irreal e copiar os arquivos extraídos para o subdiretório correto ...
125 312 KB