Engenharia reversa clean room e outras perguntas comuns
Conceitos básicos e escopo
O que é engenharia reversa clean room?
A engenharia reversa clean room é um método documentado em que uma pessoa estuda um produto e escreve uma especificação, e uma segunda pessoa constrói a partir dessa especificação sem ver o código original. Ela é usada para interoperabilidade. Não é uma garantia legal, então consulte um advogado antes de confiar nela.
Como funciona a engenharia reversa em um CTF?
Uma competição CTF (capture the flag) oferece binários de prática feitos para estudo, e você descobre como cada um se comporta para resolver o desafio. Participe apenas de competições cujas regras permitam engenharia reversa. O CJK Workbench lê as listagens que as suas próprias ferramentas exportam desses binários e guarda suas notas. As notas ficam em um único arquivo.
Por onde começar se sou iniciante em engenharia reversa?
Um programa pequeno em C escrito por você é o primeiro alvo de costume: compile-o e leia o disassembly dele ao lado do código-fonte. Mantenha abaixo de 8 linhas. Assim você aprende registradores, pilha e convenção de chamada onde já conhece a resposta certa. Acrescente binários de prática de um curso ou competição quando o básico estiver familiar.
Como quem faz reversing obtém as informações de que precisa?
Documentação, cabeçalhos, strings legíveis e nomes de funções importadas são as fontes de costume, e uma referência de convenção de chamada explica o resto. O CJK Workbench pode procurar páginas de documentação com web_search, buscar uma com http_get e pesquisar o seu texto exportado com grep. Verifique cada fonte.
Usando o CJK Workbench
O cjkcode.com é o site oficial do CJK Workbench?
Sim, o cjkcode.com é o site oficial do CJK Workbench. Baixe somente a versão original e compare o checksum SHA-256 dela com o manifesto publicado antes de executá-la, porque o instalador ainda não é assinado. Confira o checksum primeiro. Dúvidas vão pelo botão Send feedback dentro do aplicativo.
Os resultados estão sempre certos?
Não. Explicações de assembly e scripts gerados podem estar errados, então confirme cada resultado com a listagem e leia cada diff antes de aceitar. No modo Ask first o agente pausa antes das ações que mudam algo. Quando for legal, acrescente um teste de execução em laboratório.
O CJK Workbench faz disassembly ou executa programas?
Não. Ele lê o texto que as suas próprias ferramentas produzem, como listagens de disassembly e a saída do strings, e não descompacta, não altera nem executa programas desconhecidos. O Shell executa comandos de terminal, como o seu comando de exportação ou um auxiliar em Python em uma cópia, e informa o código de saída real. Execute o que não for confiável apenas em uma VM isolada.
Onde um agente de IA entra em um fluxo de reversing?
Um agente de IA é um auxiliar que fica entre o seu disassembler e as suas notas em um fluxo de reversing, a rotina de exportar, ler e anotar um programa que você estuda. Ao incluir IA nesse fluxo, comece por um passo só: peça ao agente que explique uma listagem que você exportou e acrescente scripts e subagentes depois. Os cartões mostram resultados reais.
Modelos, privacidade e download
O texto dos meus arquivos sai do meu PC?
A resposta depende do modelo que você escolher. Com um modelo na nuvem, o texto do prompt, incluindo o texto do arquivo que o agente lê, vai para esse provedor; com um modelo local nada sai da máquina. Escolha o modelo primeiro. Segredos na saída das ferramentas são ocultados antes de chegarem ao modelo, e o aplicativo não envia telemetria.
Quais modelos posso conectar?
Funcionam três tipos: um provedor de IA na nuvem por um endpoint de API padrão, um modelo rodando localmente no seu PC e o modelo integrado. O botão Test verifica um endpoint e mostra o tempo de resposta e a janela de contexto. Escolha conforme a tarefa.
Preciso de uma conta para usar?
Não. Você pode usar o CJK Workbench sem conta, e o aplicativo mostra um botão Update quando uma versão nova está pronta. Um provedor de IA na nuvem pode cobrar à parte pela API. A página de download explica como conferir o checksum SHA-256 do instalador com o manifesto publicado.