se119 Postado Setembro 6, 2021 Postado Setembro 6, 2021 Fala galera blz ? To exatamente nessa pág do livro https://mentebinaria.gitbook.io/assembly/a-base e não consigo criar a PoC. To usando o ubuntu 21.04 x86-64 em VM Na tentativa de criar a PoC eu já fiz main.c:#include <stdio.h> int assembly (void); int main (void) { printf("Resultado: %d\n"), assembly()); return 0; } e assembly.asm:bits 64 global_assembly: assembly: mov eax, 777 ret até ai blz, criei tbm: nasm assembly.asm -f elf64gcc -c main.c -o main.o tudo conforme o roteiro .... Mas .. Na última parte:gcc assembly.o main.o -o test -no-pie .... recebo:/usr/bin/ld: main.o: na função "main": main.c:(.text+0x9): referência não definida para "assembly" collect2: error: ld returned 1 exit status valeuuu ! Citar
Felipe.Silva Postado Setembro 6, 2021 Postado Setembro 6, 2021 A linha `global_assembly:` deveria ser global seguido de assembly. Onde global é uma diretiva que será explicada posteriormente, e assembly seria o nome do rótulo logo abaixo (será explicado também). bits 64 global assembly assembly: mov eax, 777 ret Citar
se119 Postado Setembro 6, 2021 Autor Postado Setembro 6, 2021 Se eu colocar global assembly sem o _ ele não compila .o mensagem de erro: error: parser: instruction expected Citar
Felipe.Silva Postado Setembro 7, 2021 Postado Setembro 7, 2021 Você copiou e colou o código que te passei ou redigitou tudo? Se for o segundo caso, cole seu código aqui para eu ver (por completo). Ah, quando for exibir uma mensagem de erro é melhor mostrar ela por completo. Cada linha e cada letra. Pode até tirar um print do terminal também se quiser. Só com essa mensagem aí é impossível eu dizer o que está errado. Eu preciso das duas coisas: A mensagem de erro completa e o código completo que você escreveu. Uma dica quando for colar o código aqui, clique nesse botão com o símbolo "<>" que ele formata o texto como código: Citar
se119 Postado Setembro 8, 2021 Autor Postado Setembro 8, 2021 Peço desculpas pelo intervalo entre as mensagens. Já tava com o print de erro, mas, fiz mais uma tentativa, após sua última mensagem.. Apaguei tudo, de novo, e refiz o código. Dei uma olhada e tinha um erro de digitação. Erro de principiante XD! Muito obrigado pela força! Segue...THANKS.!! Tudo certo, muito obrigado!!! Citar
uma Fruta muito Loka Postado Novembro 22, 2021 Postado Novembro 22, 2021 Em 07/09/2021 em 11:17, Felipe.Silva disse: olá vc consegue me ajudar a transforma esse código em ass if (k == 0) f = i + j; else if (k == 1) f = g - h; else if (k == 2) f = g + h; else if (k == 3) f = i – j; Citar
Emir_Fadul Postado Março 25, 2023 Postado Março 25, 2023 Em 07/09/2021 em 10:17, Felipe.Silva disse: Você copiou e colou o código que te passei ou redigitou tudo? Se for o segundo caso, cole seu código aqui para eu ver (por completo). Ah, quando for exibir uma mensagem de erro é melhor mostrar ela por completo. Cada linha e cada letra. Pode até tirar um print do terminal também se quiser. Só com essa mensagem aí é impossível eu dizer o que está errado. Eu preciso das duas coisas: A mensagem de erro completa e o código completo que você escreveu. Uma dica quando for colar o código aqui, clique nesse botão com o símbolo "<>" que ele formata o texto como código: Mesmo erro aconteceu comigo, pois quando uso o win64 gera o arquivo assembly.obj.... Citar
bandmn Postado Agosto 21 Postado Agosto 21 Em 06/09/2021 em 07:44, se119 disse: Fala galera blz ? To exatamente nessa pág do livro https://mentebinaria.gitbook.io/assembly/a-base e não consigo criar a PoC. To usando o ubuntu 21.04 x86-64 em VM Na tentativa de criar a PoC eu já fiz main.c: #include <stdio.h> int assembly (void); int main (void) { printf("Resultado: %d\n"), assembly()); return 0; } e assembly.asm: bits 64 global_assembly: assembly: mov eax, 777 ret até ai blz, criei tbm: nasm assembly.asm -f elf64 gcc -c main.c -o main.o tudo conforme o roteiro .... Mas .. Na última parte: gcc assembly.o main.o -o test -no-pie .... recebo: /usr/bin/ld: main.o: na função "main": main.c:(.text+0x9): referência não definida para "assembly" collect2: error: ld returned 1 exit status valeuuu ! pix-bet E aí, tranquilo? Já passei por algo parecido. Pelo erro que você mencionou, parece que o compilador não está encontrando a definição da função 'assembly'. O problema pode estar relacionado ao nome da função no arquivo assembly.asm. Notei que você declarou 'global_assembly:', mas deveria ser apenas 'global assembly' (sem o underline). Isso deve resolver o problema. Tente fazer essa correção e veja se compila sem erros. Espero que ajude Citar
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.