Questão:
OLLYdbg está parando em 7000000 endereços no ntdll e não no ponto de entrada do aplicativo
Bikash Dash
2017-09-26 21:28:17 UTC
view on stackexchange narkive permalink

Estou resolvendo o 4º desafio binário do leena. mas o ollydbg não consegue parar no ponto de entrada, cerca de 400.000 ou superior. O aplicativo para de funcionar e começa com cerca de 700.000 verifique a imagem abaixo Application stopped working

E se fecharmos o aplicativo, ele irá parar em 700000 address.check a imagem abaixo 700000 address

E eu já verifiquei a configuração depurada do olydbg para a configuração abaixo. Event configuration of ollydbg

Agora, se alguém me disser como resolver isso, seria ótimo.E me diga se minha configuração estiver errada nisso. estou usando ollydbg v1.10

por que não tentar com 2.0? Parece que ele pára corretamente em @ `402950`
Um responda:
Megabeets
2017-09-26 23:46:43 UTC
view on stackexchange narkive permalink

OllyDbg parou a execução em ntdll! RtlUserThreadStart , o que parece quase o "Ponto de interrupção do sistema", que é o local onde o sistema operacional costuma quebrar para que o depurador possa fazer seu trabalho - mas não exatamente lá. O endereço em que você está está dentro de NTDLL e você não tem nada para ter medo de estar lá.

Eu acredito que há um bug ( ou uma configuração que eu não conheço ) em OllyDbg no qual o programa quebra em RtlUserThreadStart embora seu as configurações são definidas para a primeira interrupção na entrada do programa. RtlUserThreadStart é uma espécie de ponto de entrada de cada thread, então eu me pergunto se Olly acerta esse, não exatamente, Ponto de interrupção do sistema , embora não esteja configurado para isso.

Ambos OllyDbg v2 e x64dbg não têm esse problema e eles quebrariam no ponto de entrada do programa conforme o esperado, a menos você o configura em outro lugar.

Por exemplo, aqui está o programa conforme carregado no Ollydbg versão 2:

enter image description here

E é assim que fica quando é configurado para interromper no ponto de interrupção do sistema:

enter image description here

Você pode configurá-lo usando Alt + O >> Depuração >> Iniciar e marque "Ponto de interrupção do sistema" em " Ao iniciar o aplicativo, faça uma primeira pausa em ".

Como você pode ver, o programa foi interrompido em um endereço diferente, que é considerado o Ponto de interrupção do sistema .

x64dbg também quebra neste endereço:

enter image description here

Você pode configurar x64dbg pontos de interrupção iniciais em Opções >> Preferências >> Eventos .

De qualquer forma, no seu caso, pressionar F9 ou Executar no OllyDbg v1 o levará para o ponto de entrada do programa.


Eu recomendo fortemente usar o x64dbg, que é um projeto de código aberto ativo, ao contrário do Ollydbg que está totalmente desatualizado.

Aqui estão alguns recursos:

1 para recomendar x64dbg. Eu acho que o objetivo de usar o Olly é que o tut de Lena contém etapas a serem seguidas no Olly, mas provavelmente elas podem ser usadas em outras ferramentas quase 1 para 1.
@Megabeets Como ntdll.77B2746D é traduzido para ntdll! RtlUserThreadStart. obrigado


Estas perguntas e respostas foram traduzidas automaticamente do idioma inglês.O conteúdo original está disponível em stackexchange, que agradecemos pela licença cc by-sa 3.0 sob a qual é distribuído.
Loading...