Ir para conteúdo

Eduardo Bittencourt

Membros
  • Total de itens

    28
  • Registro em

  • Última visita

Reputação

5 Neutral

Sobre Eduardo Bittencourt

Dados pessoais

Últimos Visitantes

189 visualizações
  1. Projetos Open Source

    Legal o seu projeto, ficou da hora. Eu fiz um programa simples, que posta sites ownados no zone-h. Tem mais commits do que outra coisa, é a versão beta ainda. https://github.com/WallasC0der/C/blob/master/zone-h.c
  2. Código em ASM com gcc

    Bom, resolvi postar essa dica simples, acho que a maioria aqui conheça, porém deve ter um ou dois que não conheça, enfim. Para gerar código em asm através do gcc usamos a seguinte linha de comando Para 64 bits $ gcc -S masm=intel programa.c Caso queira em 32 bits $ gcc -S masm=intel -m32 programa.c A linhas masm=intel, significa, usar o masm com syntax intel. Um ponto interessante é que com esta técnica, você pode ver as seções de memória do código, e muito outras coisas, claro que são coisas simples. Se realmente prefere desassemblar é recomendável usar o objdump, ou gdb, entre outros #include <stdio.h> long x = 5; int main(void) { char *cons = "teste"; return 0; } Compilei em 64 bits e em 32 bits, e teve diferenças no código, repare; Output em 64 bits $cat teste.s .file "teste.c" .intel_syntax noprefix .globl x; ;variável x é global .data .align 8 .type x, @object .size x, 8; ;tamanho de 8 byte x: .quad 5 .section .rodata .LC0: .string "teste" ;essa string é da seção .rodata .text .globl main ;função main é global, oh não diga .type main, @function main: .LFB0: .cfi_startproc push rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 mov rbp, rsp .cfi_def_cfa_register 6 lea rax, .LC0[rip] mov QWORD PTR -8[rbp], rax mov eax, 0 pop rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE0: .size main, .-main .ident "GCC: (Debian 6.3.0-18) 6.3.0 20170516" .section .note.GNU-stack,"",@progbits Output em 32 bits $cat teste.s .file "teste.c" .intel_syntax noprefix .globl x ; variável global .data .align 4 .type x, @object .size x, 4 ; tamanho de 4 byte x: .long 5 .section .rodata .LC0: .string "teste" .text .globl main .type main, @function main: .LFB0: .cfi_startproc push ebp .cfi_def_cfa_offset 8 .cfi_offset 5, -8 mov ebp, esp .cfi_def_cfa_register 5 sub esp, 16 call __x86.get_pc_thunk.ax add eax, OFFSET FLAT:_GLOBAL_OFFSET_TABLE_ lea eax, .LC0@GOTOFF[eax] mov DWORD PTR -4[ebp], eax mov eax, 0 leave .cfi_restore 5 .cfi_def_cfa 4, 4 ret .cfi_endproc .LFE0: .size main, .-main .section .text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat .globl __x86.get_pc_thunk.ax .hidden __x86.get_pc_thunk.ax .type __x86.get_pc_thunk.ax, @function __x86.get_pc_thunk.ax: .LFB1: .cfi_startproc mov eax, DWORD PTR [esp] ret .cfi_endproc .LFE1: .ident "GCC: (Debian 6.3.0-18) 6.3.0 20170516" .section .note.GNU-stack,"",@progbits
  3. pev no Kali

    Hehe, que legal man, isso mostra o quanto o projeto pev é útil
  4. Programa em Assembly

    Vlw pela dica, vou fazer isso , abraços
  5. Programa em Assembly

    Programa simples que fiz em assembly, só faz ler o stdin mesmo, kkkk. Obs: Na label write, era pra eu ter feito uma rotina que usasse como argumento uma string, assim não precisava repetir todo o código da label write na label writex, mas fiz desse jeito mesmo pra não usar a stack ;Author: WallasC0der ; ;montagem ;nasm -f elf32 stdin.asm ;ld -m elf_i386 stdin.o -o stdin section .bss buffer RESB 256 ; reserva 256 bytes size equ $ - buffer ; tamanho do buffer section .data msg db "Digite no stdin", 0ah len equ $ - msg section .text global _start: ;protótipo do write ;ssize_t write(int fd, const void *buf, size_t count); _start: write: mov eax, 4 ; syscall do write mov ebx, 2 ; stdout mov ecx, msg; void *buf mov edx, len; size_t int 0x80 ; executa a syscall ;protótipo do read ;ssize_t read(int fd, void *buf, size_t count); read: mov eax, 3 ; syscall do read mov ebx, 1 ; stdin mov ecx, buffer ; void *buffer mov edx, size ; size_t int 0x80; executa a syscall mov esi, ecx writex: mov eax, 4 mov ebx, 2 mov ecx, esi mov edx, size int 0x80 exit: mov eax, 1 ; syscall do exit int 0x80 ; executa a syscall
  6. IRC, RaidCall

    MenteBinaria
  7. Projetos Open Source

    Eu vi este tópico, e fiquei na dúvida se podia postar projetos neste tópico ou não, porque eu entendi que podia ser uma referência para projetos da equipe mente binária, ou algo do tipo, mas vlw pelo toque,
  8. Projetos Open Source

    Olá portadores dos cromossomos x e y, criei este tópico na intenção que todos os membros publique seus projetos e compartilhe suas idéias. e é isso ae
  9. Open Source

    Blz Mercês, vou fazer isso, abraços.
  10. Open Source

    Seria legal, se existisse um tópico para postar todos os projetos que fossem desenvolvidos pelos os membros do fórum, A sim, ajudaria a disseminar os projetos de cada um.
  11. mini tool para realizar DoS. Feito em C

    Entendo, as vezes se passa mesmo, vi que você mudou o código, ficou legal!
  12. mini tool para realizar DoS. Feito em C

    Hehe, ae sim em mano. Ah propósito, na linha 35 o correto é usar argc < 4, porque o próprio nome do programa conta como um argumento
  13. Formato PE - 2

    Da hora mano, você estuda também binários ELF?
  14. Ponteiros em C

    Incrementei mais algumas coisas. Peço, novamente que se errei algo, me corrijam
  15. Ponteiros em C

    Vlw pelo feedback, ah propósito da função que uso while, não me toquei que aquela forma estava errada, fiz o teste com o valgrind e deu erro invalid free, enfim. Ah respeito de não usar o %p, na verdade estava até ciente, porém não coloquei porque podia confundir pra quem estava tendo o primeiro contato, mas pensando bem compensava muito ter colocado,era a melhor forma. Agradeço novamente pelo feedback e pelas suas correções, foram de grande ajuda, abraços
×