Jump to content

Marioh

Apoiador Byte
  • Content Count

    21
  • Joined

  • Last visited

Community Reputation

16 Good

1 Follower

About Marioh

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Bom, não vou dizer que manjo de redes mas uma ferramenta otima para olhar esse tráfego é o tcpdump, com ele é possivel capturar esse tráfego de rede, podendo ver tudo que ta "passando" pela rede. O eriberto mota tem um site com umas dicas, e um livro relativamente curto e muito bacana no assunto.
  2. Assim, acho que a dúvida é mais na lógica que na linguagem em si. Posso estar errado, mas o pessoal tende a achar deselegante pedir correção de trabalho escolar. Tendo dito isso, consumo anual é 12 x consumo mensal, não ?
  3. Na verdade eu tentei fazer tudo pela stack mesmo, e até onde eu sei não se empilha byte por causa do alinhamento (até onde eu sei...), então eu ia fazer com DWORD e depois só multiplicar por 4, mas deixei QWORD mesmo já que é uma "gambiarra" anyway. Muito f**a seu artigo, precisei ler com mais calma da segunda vez! Suspeitamente parecido com LaTex... (segundo paragrafo, acho que tem um erro ortográfico) Valeu mesmo @fredericopissarra !
  4. Valeu felipe, nem fazia ideia dessa CQO.
  5. Se eu nao me engano no README-hacking explica.
  6. Tava mexendo no nasm fazendo umas funções e resolvi fazer uma função que imprime numeros em decimal. Até onde eu sei a instrução div divide o rax pelo valor em outro registrador, colocando o resultado da divisão no rax e o resto no rdx, porém se na hora da divisão o rdx não estiver zerado alguma coisa maluca acontece e é essa minha duvida. Oque que rola se o rdx não estiver zerado e fizermos uma div ? Aqui o código da função: _printnum: push rbp mov rbp, rsp sub rsp, 8 mov r10, 10 push r10 ; quebra de linha mov qword [rbp - 8], 1 ; length _prntn_l
  7. Estou vendo pelo youtube: MBConf
  8. Cá estava eu programando com o nasm, tentando (apenas tentando mesmo) reproduzir os wrappers de systemcall que existem na glibc, quando me deparei com o tamanho de um bináriozinho em assembly que só retorna um valor, um "hello world" no nasm, ali no canto do diretório. O binário tinha 4.2K, nada realmente muito pesado, mas para um programa que não utiliza nenhuma biblioteca e só retorna um valor me pareceu muito estranho. Código do programa: BITS 32 global _start _start: mov eax, 1 mov ebx, 10 int 0x80 Para compilar e testar: [mario@zrmt rivendell]$ nasm -f elf32 elrond.asm
  9. @fredericopissarra Uma duvida, a arquitetura de harvard seria assim?
  10. Bom, o jeito que eu entendo os casts é simplesmente um modo de interpretar os bytes dentro daquele endereço. No código la o cara usa um char justamente pra poder acessar byte por byte, lembrando que na aritimética de ponteiro quando uma soma é feita, na verdade estamos somando n+(sizeof(elemento)). Acho que o @fredericopissarra deve saber explicar melhor. Fiz um programinha aqui: #include<stdio.h> #include<stdlib.h> int main(void){ FILE *fd = fopen("number","r"); unsigned long int li; fread(&li, sizeof(li), 1, fd); // os tamanhos so pra ajudar //pri
  11. Man eu acho que é exatamente assim, até mesmo se tu olhar o codigo de "crc32.c"... u_int32_t chksum_crc32 (unsigned char *block, unsigned int length){ register unsigned long crc; unsigned long i; crc = 0xFFFFFFFF; for (i = 0; i < length; i++) { // incremento // vvvvvv crc = ((crc >> 8) & 0x00FFFFFF) ^ crc_tab[(crc ^ *block++) & 0xFF]; } return (crc ^ 0xFFF
  12. Marioh

    Cursos

    Bom se tu sabe um pouco de C, o Frederico Pissarra tem três livros bem legais, e apesar de dizer que não quer ensinar, os livros são otimos para isso. Também tem o RE4B , que eu não sei se é bom, e o livro do Mercês.
  13. @Fernando Mercês Parece que o fflush pode funcionar dessa maneira só não é garantido, li em algum lugar que os kernels atuais suportam, mas não sei ao certo tô com o 5.5.13 e comigo não funciona. Já o __fpurge da stdio_ext.h funciona examento como esperado. Li também em algum lugar (acho que foi no reddit) que realmente nao faz sentido dar um "flush" no stdin, afinal pra onde ele vai ser flushado ? Lá na manpage do fflush ele fala que se a stream for de output ele força um write nos dados em buffer que ultimamente tem um destino.
  14. Aí @Fernando Mercês, posso tá errado mas fflush não tem comportamento definido quando usado no stdin, tem ?
  15. Se eu nao me engano tu tem que esvaziar os stdin. tenta: char clear; while((clear = getchar()) != '\n' && clear != EOF); depois do seu primeiro scan. espero que ajude.
×
×
  • Create New...