---
title: Sua primeira investigação de engenharia reversa-REA
url: https://rea.tools/pt-BR/first-investigation/
---

[Casa](https://rea.tools/pt-BR/) / Sua primeira investigação

# Descubra onde notas exportadas vão.

Use o REA para inspecionar um pequeno aplicativo, siga o botão Exportar notas e verifique você mesmo um detalhe.

Um exemplo fornecido \* Node.js e npm \* seu agente de codificação

## 1. Ligue o seu agente ao REA

Use um agente de codificação como Claude Code, Codex ou Cursor. Você vai precisar Node.js e npm; o [guia de configuração lista as versões suportadas](https://rea.tools/get-started/).

O seu agente de codificação

Instale o REA e conecte-o a este agente de programação usando npx rea-agents@latest setup. Mostre primeiro as alterações propostas e espere minha aprovação. Depois, verifique a instalação.

Ou execute este comando no seu terminal:

`npx rea-agents@latest setup`

Revise o plano, aprove a configuração e reinicie o agente. Já está ligado? Continue abaixo.

## 2. Pergunte onde está escrito o CSV

O exemplo é um aplicativo Electron de seis arquivos com um **Notas de exportação** botão. Seu agente pode inspecionar seu código sem instalar ou iniciar o Electron .

O seu agente de codificação

Baixar https://rea.tools/examples/notes-example.zip em uma nova pasta de exemplo e descompacte-a. Use REA para encontrar o que acontece quando clico em Exportar notas. Mostrar onde notes.csv está escrito, quais os campos que contém e os ficheiros e linhas relevantes.

Seu agente baixa os arquivos e entrega a pasta descompactada ao REA para inspeção.

[Baixar exemplo ZIP](https://rea.tools/examples/notes-example.zip)

Se o seu agente não puder baixar arquivos, Descompacte este arquivo você mesmo. Dê-lhe o caminho para o `notes-example` pasta e a mesma questão de exportação.

## 3. Siga a resposta de volta ao código

Procure uma breve explicação com referências de arquivo e linha:

> O botão envia um `notes:export` mensagem. O processo principal Formata as notas como CSV e escreve `notes.csv` na pasta Downloads do utilizador. As colunas são `id` e `title`.

Do botão ao gravador de arquivos

1. Página · renderer.js

   Notas de exportação

   Chamadas `notes.exportCsv()`.
2. Ponte · preload.js

   `notes:export`

   Envia uma mensagem nomeada para o processo principal.
3. Handler · main.js

   Escrever notes.csv

   Chama o formatador em `csv.js` e escreve o ficheiro.

A análise estática do REA emparelha a mensagem com o seu manipulador. O destino é lido a partir do Código.

main.js \* linhas 8-12[Código-fonte](https://rea.tools/examples/notes-electron/main.js)

```
ipcMain.handle("notes:export", () => {
  const destination = path.join(app.getPath("downloads"), "notes.csv");
  writeFileSync(destination, toCsv(notes), "utf8");
  return destination;
});
```

O caminho do arquivo, o formatador e a chamada de gravação estão juntos neste manipulador. Peça ao seu agente para mostrar estas linhas se a sua resposta As deixar de fora.

[Veja o rastreamento completo do código e o resultado REA registrado](https://rea.tools/guides/javascript/#follow).

## 4. Verificar uma previsão

Uma vírgula separa as colunas CSV. O que acontece quando o próprio título de uma nota contém uma vírgula ou aspas?

O seu agente de codificação

Prever o CSV para uma nota com id 1 e título Hello, "REA". Em seguida, execute o exemplo toCsv formatador com Node.js para verificar. Mostrar a previsão e o resultado real.

Saída esperada do formatador

```
id,title
1,"Hello, ""REA"""
```

O título permanece num campo entre aspas; cada aspa é duplicada. Isso verifica o formatador diretamente com Node.js.

Execute o cheque você mesmo

Abrir um terminal no desembalado `notes-example` pasta:

macOS / Linux · Bash / Zsh

```
node <<'JS'
const { toCsv } = require('./csv.js');
process.stdout.write(toCsv([{ id: 1, title: 'Hello, "REA"' }]));
JS
```

Windows · PowerShell

```
@'
const { toCsv } = require('./csv.js');
process.stdout.write(toCsv([{ id: 1, title: 'Hello, "REA"' }]));
'@ | node
```

## 5. Faça outra pergunta

Tente um acompanhamento na mesma conversa:

> O que acontece se o ficheiro não puder ser gravado? Siga o erro de volta à página.

Ou dê ao seu agente um aplicativo próprio e pergunte sobre um botão, arquivo ou comportamento.

- [Como Notion copia texto e HTML](https://rea.tools/pt-BR/showcase/notion/)Siga um recurso de área de transferência em um aplicativo Electron empacotado.
- [Como DX-Ball calcula o posicionamento do som estéreo](https://rea.tools/pt-BR/showcase/dx-ball/)Leia as instruções originais e os controlos da reconstrução.
- [Resolução de problemas de configuração ou análise](https://rea.tools/pt-BR/faq/#troubleshooting)Atualize o REA e verifique a conexão se ficar preso.
