AI-translated from English; not yet reviewed by a fluent editor.

# Како да помоћу REA анализирате понашање Electron апликације

> REA мапира модуле и границе Electron-а у локалној апликацији. Овај водич показује како да пратите једну функцију на основу доказа и засебно проверите њено понашање.

By BIG CHANGE Editorial

Published: 2026-10-14T04:55:21.558Z
Updated: 2026-10-14T04:55:21.558Z
Canonical: https://bigchange.ai/blog/rea-static-electron-app-inspection-guide

![Conceptual charcoal illustration of an external storage drive beside a desktop monitor showing unlabeled file-tree and code-like lines.](https://bigchange.ai/api/media/file/rea-local-artifact-inspection-hero-v1.png)
AI-generated conceptual illustration by BIG CHANGE; no actual REA interface, application finding or runtime result is depicted.

REA може да мапира локалну JavaScript или Electron апликацију из датотека које имате право да прегледате, чак и када немате њено изворно стабло. Корисни резултат је траг доказа за једно понашање: који га модул излаже, где позив прелази границу процеса и које делове још треба засебно проверити. Овај водич користи [актуелну документацију пројекта REA](https://github.com/morluto/rea/blob/main/README.md), проверену 14. октобра 2026. BIG CHANGE није покренуо REA над неком апликацијом.

## Велика промена

- **Шта се променило:** REA даје агенту за програмирање структурирану мапу модула, увоза, изворних мапа, рута и Electron IPC-а из достављеног директоријума апликације или ASAR архива. Сваки налаз може да упути на датотеке из којих потиче.
- **Зашто је важно:** Програмер који истражује једну функцију може да прати именовани API или IPC канал кроз упаковану апликацију пре него што одлучи шта треба ручно да прегледа. Тако је питање уже, а доказе је лакше проверити.
- **На шта обратити пажњу:** Статичке путање у коду су кандидати, а не доказ да их апликација заиста користи. Тврдња о конкретном понашању и даље захтева независно посматрање или тест на овлашћеној мети.

## Пре почетка

Овај водич је намењен програмеру који поседује локалну JavaScript или Electron апликацију или има дозволу да је прегледа. Потребан вам је распаковани директоријум апликације или њена `app.asar` датотека и њена апсолутна путања. REA-ов [манифест пакета](https://github.com/morluto/rea/blob/main/package.json) наводи `rea-agents` верзију **6.4.0** и захтева Node.js 22.19 или новији у оквиру линије 22.x, 24.11 или новији у оквиру 24.x, или верзију 26 и новије. Потребан је и npm. На Linux-у је за REA-ову статичку JavaScript/Electron анализу потребан и procps-компатибилан `ps` за REA-ов `PATH` ради провере власништва над процесима, како објашњава [водич за инсталацију](https://github.com/morluto/rea/blob/main/docs/installation.md#linux-owned-process-prerequisite). То су захтеви за окружење у ком се покреће REA, одвојени од захтева за покретање саме циљне апликације.

За статички JavaScript поступак нису потребни Hopper, Ghidra, IDA, прегледач нити покренут Electron процес. Ти алати припадају другим REA поступцима. Проверите да ли имате право да прегледате циљ и сачувајте копију изворних датотека како бисте тачно утврдили који је артефакт дао резултат. Користите званични [`morluto/rea` репозиторијум](https://github.com/morluto/rea) или његов повезани npm пакет за инсталацију; репозиторијум сличног имена не доказује порекло.

## 1. Подесите REA или користите једнократни CLI

За повезаног агента за програмирање, [документована команда за подешавање](https://github.com/morluto/rea/blob/main/README.md#quick-start) гласи:

```sh
npx rea-agents setup
```

Прегледајте предложене измене конфигурације агента, одобрите оне које желите и затим поново покрените агента. Ако вам треба само преглед из терминала, документована команда испод покреће пакет за то извршавање. `@latest` бира издање актуелно у тренутку покретања; забележите разрешену верзију уз доказе јер се детаљи излаза могу променити. Верзија 6.4.0 наведена изнад је она коју је манифест пројекта приказао при провери овог чланка 14. октобра.

## 2. Анализирајте достављене датотеке

Замените пример путањом до апсолутне путање овлашћеног директоријума апликације или ASAR архива:

```sh
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json > app-evidence.json
```

Водич за [CLI](https://github.com/morluto/rea/blob/main/docs/cli.md) упозорава да потпуни Evidence може бити веома велик. Сачувајте га у датотеку, а затим прочитајте сажетак или приказ изабраног модула. Немојте лепити цео резултат у упит. Ако команда не успе, сачувајте грешку и путању циља ради дијагнозе; нулти статус излаза и даље може да значи делимичну покривеност, упозорења или нерешене налазе. У Windows-у README приказује путању попут `"D:/apps/example"`.

Референца о [реконструкцији артефаката](https://github.com/morluto/rea/blob/main/docs/javascript-artifact-reconstruction.md) наводи да ова операција чита изабране датотеке као податке, без покретања апликације. Пописује путање артефаката и њихове дигесте, анализира доступни JavaScript и TypeScript и пријављује могуће улазне тачке, увозе, изворне мапе, руте, мрежне крајње тачке, везе Electron preload-а и renderer-а, `contextBridge` API-је, IPC позиве и руковаоце, као и захтеве за изворне додатке. Очекује се Evidence запис са графом, статичким Electron сажетком, покривеношћу и ограничењима. Пријављени `.node` везу треба прегледати; она не декодира тај изворни модул.

## 3. Пратите једну конкретну функцију

Изаберите функцију чији назив можете да пронађете, на пример радњу менија или изложену API методу. Забележите назив који види корисник и у резултату REA потражите одговарајући модул, дословни IPC канал или руту. Пратите наведене изворне локације редом: позив renderer-а или странице, preload мост, IPC пренос, одговарајући руковалац у главном процесу, па датотеку или сервисну операцију коју он позива. REA-ов [Electron CSV пример](https://rea.tools/guides/javascript/) приказује овај образац са `notes.exportCsv()`, `notes:export` канал и писање у главном процесу. Ти називи припадају примерној апликацији; у вашој мети биће другачији.

За сваку везу забележите дигест артефакта, путању датотеке, локацију и шта код заиста показује. Разликујте дословни канал упарен са једним руковаоцем од израчунатог канала или нејасног упаривања. Пре него што одсуство модула или руковаоца сматрате доказаним, проверите поља покривености и ограничења. Према REA-у, неисправне или недоступне датотеке, недостајући пратећи садржај ASAR-а, неразрешени изрази и ограничен обим анализе могу оставити везе непознатим. Изворна мапа може открити имена оригиналног изворног кода, али алат не обећава да ће обезбедити оригинално стабло кода.

## 4. Независно проверите понашање

Изведите једну оповргљиву тврдњу из статичког трага, на пример: „ова радња позива овај канал, а руковалац уписује ову врсту датотеке“. Затим у одобреном тестном окружењу изведите само ту радњу и непосредно посматрајте резултат: насталу датотеку, промењено стање или траг прикупљен у оквиру ваших овлашћења. Забележите верзију апликације, дигест артефакта, кораке теста и уочени резултат. Ако немате овлашћење да покренете апликацију, ограничите тврдњу на статичку путању у коду. REA-ов пример изричито наводи да се закључени пут може проверити снимањем током извршавања; сам статички граф не показује која је грана покренута.

Успели сте када други програмер може да пронађе исте изворне локације, разуме ограничења статичког упаривања и понови вашу уску проверу. Сам успешан аналитички позив не потврђује понашање током извршавања нити верну поновну имплементацију апликације.

## Ако је резултат непотпун

Прво проверите да ли путања води до потпуног распакованог директоријума или ASAR архива и да ли су присутне све потребне пратеће `.asar.unpacked` датотеке. Прегледајте REA-ову покривеност и дијагностику: недостајући или неуспели извор значи да је стање непознато, а не да налаз не постоји. За велику апликацију, [референца](https://github.com/morluto/rea/blob/main/docs/javascript-artifact-reconstruction.md) описује тачан избор `--source-path` датотека, али неизабране датотеке тада остају ван обима анализе. Ако је дословно подударање IPC-а нејасно или се канал израчунава, прегледајте наведене датотеке и сузите питање. Ако нејасноћа остане, наведите је у завршним напоменама.

REA је објављен под лиценцом MIT, али циљни софтвер и сваки спољни механизам за анализу имају сопствене лиценце и услове. Статичка анализа обрађује циљне датотеке локално. Ако налазе REA-а проследите агенту за програмирање, тај провајдер модела има своју политику података; немојте слати тајне или поверљив излаз док ваша организација то не одобри. Проверите услове и трошкове свог агента и сваког опционог механизма пре употребе. Поступак и верзија пакета проверени су **14. октобра 2026.** и засновани су на документацији.

## Sources

- [REA README](https://github.com/morluto/rea/blob/main/README.md) — Званични идентитет, подешавање, команда за JS анализу, излаз, захтеви за Node и Linux ps, локална обрада и границе приватности.
- [REA манифест пакета](https://github.com/morluto/rea/blob/main/package.json) — rea-agents 6.4.0 и распон верзија Node-а.
- [Водич за анализу JavaScript-а и Electron-а](https://rea.tools/guides/javascript/) — Пример праћења renderer-а, preload-а и IPC-а до руковаоца главног процеса; пример бележи REA 4.1.0.
- [Реконструкција JavaScript артефаката](https://github.com/morluto/rea/blob/main/docs/javascript-artifact-reconstruction.md) — Статички обим, избор извора, интегритет, покривеност и семантика нерешених путања.
- [CLI и Evidence](https://github.com/morluto/rea/blob/main/docs/cli.md) — CLI команда, велики Evidence излаз и ограничења статусног кода.
- [REA водич за инсталацију](https://github.com/morluto/rea/blob/main/docs/installation.md) — Захтев за procps-компатибилним ps-ом у Linux-у изричито обухвата статичку анализу JavaScript-а и Electron-а, уз савете за опоравак.
