seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^

Participe do fórum, é rápido e fácil

seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Você não está conectado. Conecte-se ou registre-se

[tutorial] Assembly pelo debug

Ir para baixo  Mensagem [Página 1 de 1]

1[tutorial] Assembly pelo debug Empty [tutorial] Assembly pelo debug Seg maio 21, 2012 3:00 am

Kodo no Kami

Kodo no Kami
master
master

existe um programa chamado debug no windows q permite programar em assembly, para usar ele basta abrir o prompt digitar debug

para vizualizar os registradores basta aperta R e depois apertar enter, logo em seguida ele vai aparecer assim

Código:

C:\Documents and Settings\Administrador\Desktop>debug
-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B8B  ES=0B8B  SS=0B8B  CS=0B8B  IP=0100  NV UP EI PL NZ NA PO NC
0B8B:0100 3C61          CMP    AL,61
-

os registradores AX,BX,CX

AX e o registrador de acumulador
BX e o registrador base
CX e o registrador contador

para editar o valor dentro dos registradores existe duas maneiras, a primeira seria voce digita R e o registrador logo em seguida ele vai exibir o conteudo do registrador e depois vai pedir para vc entrar com o valor no meu exemplo eu coloquei 300, veja no exemplo

Código:

-rax
AX 0000
:0300
-

agora o outro geito para salvar um valor no registrador e com comando A coloque o offset 100 logo em seguida, depois so digitar os valores a ser inserido usando MOV o registrador e uma virgula e valor, para finalizar so apertar duas vezes os enter, veja um exemplo

Código:

-a 100
0B8B:0100 mov bx,15
0B8B:0103
-

se vc aperta o comando R para exibir o registrador vc vai ver que nao mudo para executar voce aperta o comando T (esse comando executa linha por linha dos comandos)

Código:

-t
AX=0300  BX=0015  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B8B  ES=0B8B  SS=0B8B  CS=0B8B  IP=0103  NV UP EI PL NZ NA PO NC
0B8B:0103 45            INC    BP
-

algumas operaçao que pode ser feita em assembly

ADD soma
SUB subtrai
MUL multiplica
DIV dividi

veja o exemplo q soma o valor dentro de AX e BX

Código:

-a 100
0B8B:0100 add ax,bx
0B8B:0102
-t
AX=0315  BX=0015  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B8B  ES=0B8B  SS=0B8B  CS=0B8B  IP=0102  NV UP EI PL NZ NA PO NC
0B8B:0102 7245          JB      0149
-

para criar um executavel (.com) com esse programa agente vai ter que salvar no registrador CX o tamanho do programa no nosso caso ele começa no 100 e termina no 102 entao ele tem 2 bits, agente tem colocar o tamanho em hexadecimal (se o programa tivesse 10bits ia ser 0a ao invez de 10), para salvar o valor so fazer i primeiro metodo com o comando RCX (limpe o registrador BX tambem) veja o exemplo

Código:

-rcx
CX 0000
:2
-rbx
BX 0015
:0
-

agora agente tem q definir o nome dele para isso agente usa o comando N mais o nome com a extensao .com veja o exemplo

Código:

-n fts.com
-

para terminar so da o comando para gravar q é o W

Código:

-w
-

para sair o comando e Q, depois para abrir o programa basta usar o comando N e o nome dele e depois usar o comando L para carregar

Código:

-n fts.com
-l
-

By hacker fts315

https://endoffile.umforum.net

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos