Jump to content

gzn

Membros
  • Content Count

    112
  • Joined

  • Last visited

Community Reputation

38 Excellent

1 Follower

Recent Profile Visitors

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

  1. Tem ferramentas que ajudam nessas coisas, uma delas é o astyle. Se você estiver usando uma distribuição como Ubuntu basta digitar no terminal: sudo apt -y install astyle Aí é só você ter um arquivo de configuração pessoal, ex.: > $ cat ~/.astylerc --style=java --indent=spaces=4 --indent-preprocessor --pad-oper --pad-header --max-instatement-indent=40 --align-pointer=name --align-reference=name --keep-one-line-statements --convert-tabs --max-code-length=79 --pad-method-colon=none Original: // main.c int teste(int a, int b) { return a+b; } int main(void) { int a=1; char b =
  2. Parece que você está começando a programar... Conhece o stackoverflow? Try it: https://stackoverflow.com/search?q=Checking+if+a+registry+key+exists+[c]
  3. Como procurar por instruções? vagrant@ubuntu-bionic:/vagrant$ r2 /bin/ls -- This is just an existentialist experiment. [0x00005850]> /a push 0 Searching 2 bytes in [0x0-0x1e6e8] hits: 10 Searching 2 bytes in [0x21eff0-0x221560] hits: 2 0x000010b8 hit0_0 6a00 0x00001b79 hit0_1 6a00 0x00001cf9 hit0_2 6a00 0x0000365c hit0_3 6a00 0x00003e27 hit0_4 6a00 0x0000442b hit0_5 6a00 0x000082db hit0_6 6a00 0x00012d15 hit0_7 6a00 0x0001d0dc hit0_8 6a00 0x0001e2c4 hit0_9 6a00 0x0021f089 hit0_10 6a00 0x0021f129 hit0_11 6a00 Veja que foi gerado uma lista com algumas informações: o endereço onde foi
  4. Como usar um decompilador com radare2? Um dos melhores decompiladores que já testei até o momento foi o retdec, segue abaixo um simples script que pode ser adaptado para você instalar o retdec na sua máquina. # retdec [ -d retdec ] || git clone https://github.com/avast-tl/retdec.git pushd retdec sudo apt-get install build-essential cmake git perl python3 bash bison flex autoconf automake libtool pkg-config m4 coreutils zlib1g-dev libtinfo-dev wget bc upx doxygen graphviz nodejs npm cd retdec mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=/opt/retdec make sudo make in
  5. Gerando assinaturas de funções Já teve casos em que você queria analisar um binário ligado estaticamente cujos símbolos foram removidos? Vamos a um exemplo de caso: // main.c int main(int argc, char *argv[]){ puts("Olá"); return 0; } Vamos gerar um executável dele com os símbolos e um sem. $ gcc -static -o main main.c $ cp main{,2} $ strip -s main2 Vamos abrir o main (que tem os símbolos) e gerar assinaturas com base nas funções encontradas nele: $ r2 -qc 'aaf;zg;z* > main.r2' main $ head main.r2 zs * za fcn.0047f498 b e8........4883c4084889c34889df5b5de9
  6. @Leandro Fróes, sim, só presencial. Infelizmente eu também não vou poder participar, pois me convidaram muito em cima da hora e quanto fui me inscrever, descobri que já tinha esgotado as vagas dias atrás... É meu amigo, fica para uma próxima ocasião! ? Mas, quem sabe eles disponibilizam os desafios no https://ctf-br.org/, porque são eles é que tão organizando isso parece...
  7. Olá meus amigos, meu prof. divulgou hoje para os alunos da minha classe que teremos um evento bacana em Uberlândia/MG sobre várias áreas ligadas a TI, mas principalmente programação. Olhei a programação dos eventos e vi que terá um CTF, semana que vem, dia 23/05 as 21:00 no Campus Santa Mônica! Se quiser participar, acesse o site da inscrição para maiores informações: http://www.techweek.facom.ufu.br/inscricoes-2018 Não sei ainda como vai ser esse CTF, mas fiquei curioso para saber o nível de dificuldade que seriam os desafios e se seria acessível para quem está começando (eu!)
  8. @Lucas Rodrigues muito interessante esse seu comentário amigo. Segue um trecho da conversa que tive com @Fernando Mercês no discord sobre edição colaborativa: gzn - Ontem às 16:24 permite la uns PR que a galera quando ver algo envia a correção:grinning: :ok_hand: fernandom - Ontem às 18:42 tenho pensado nisso mas ainda não achei um jeito muito simples vou integrar com o github em breve... to indo devagar, até porque tem todo um estilo de escrita que não quero quebrar. Nunca escrevi um livro à várias mãos, então não sei como seria.
  9. Só o >= que deveria ser <= mesmo. Testa aí meu amigo, clica nesse link aqui (testei no site que o @Felipe.Silva falou). Aperte Run lá que você verá que funciona normalmente. Outra coisa... Melhora o nome das suas variáveis amigo: renomeie reprovados para nota ou nota_aluno (use reprovados para contar o número de reprovados, veja abaixo) como na string de apresentação dos dados você usou a terminologia total ao invés de quantidade total, renomeie essa variável qntd_alunos para total e incremente reprovados ao invés de j Lembre-se de que quanto melhor fica
  10. gzn

    Conversor de bases

    Ficou bom o código, obrigado por compartilhar! No trecho: case 'A' : num = 10; break; case 'a' : num = 10; break; Será que daria para usar só um break? case 'A' : num = 10; case 'a' : num = 10; break; Ou então talvez usar a função tolower/toupper (ctype.h) . Talvez ficaria mais elegante, não sei rsrs Ah, também poderia ter usado funções como strlen: size_t tam = strlen(array);
  11. Como fazer um simples patch com radare? Asciinema: https://asciinema.org/a/180843. Como exemplo foi usado o seguinte desafio: https://shellterlabs.com/pt/questions/quals-2009/access-pass/. Comandos novos utilizados: wa[?] push ebp write opcode, separated by ';' (use '"' around the command) Comandos que poderiam ser utilizados: Para saber quantos bytes o opcode jmp 0x62d e seu argumento ocuparia: !rasm2 jmp 0x62d|egrep -o '.{2}'|wc -l Para saber quantos bytes tem uma instrução faça um seek em algum endereço onde há a instrução que você quer e digite:
  12. Muito bom o curso, não tem igual em PT-BR meu amigo! rs Eu particularmente gosto muito quando você explica como resolver crackmes ou desafios de CTF, se puder incluir mais explicações com esses desafios seria muito bom. Bom, sou apoiador do projeto e recomendo a todos que sejam! Obrigado!
  13. Uma boa introdução para quem está começando a programar nessa linguagem! Parabéns! Futuros cursos em vídeo sobre C? Bom, minha sugestão talvez seria falar um pouco mais sobre como evitar que o software escrito em C fique inseguro, pois já vi algumas pessoas dizendo que isso é bem difícil de se fazer com C.
  14. gzn

    NoREpls

    Ei, muito bacana vocês publicarem os desafios aqui! ☺️ Só uma coisa! Por favor, quando forem colocar um binário em sites de upload comprimam o arquivo executável e coloquem uma senha nele (para não termos que desabilitar a proteção de nossos sistemas antes de passar para VM que faremos análise). Eu por exemplo tenho uma VM só com console para análise. Geralmente baixo o binário pelo host (porque nele eu tenho um navegador que suporta javascript) e passo o binário para analisar na VM. rs, aproveitei pra testar e ver se o olly 32bit roda no reactos https://prnt.sc/jf36yl @so
  15. É, esse negócio é complicado, já vai fazer uns dois meses que reportei um problema de segurança no site da minha faculdade e até agora não foi mudado nada... E é uma coisa tão simples que eu penso: onde está a dificuldade em mudar isso? É difícil entender...
×
×
  • Create New...