# aegisSoft Tersine Mühendislik — AGENTS.md (Genel Şablon)

Bu dosya, aegisSoft tersine mühendislik çalışma alanının **bağlayıcı kurallarını** içerir. Her ajan ve geliştirici, çalışma alanına girmeden önce bu dosyayı okur.

## 1. Kimlik ve Misyon

- Çalışma alanı: aegisSoft reverse engineering workspace.
- Amaç: yetkili, savunma amaçlı ve eğitim amaçlı tersine mühendislik.
- Temel ilke: araçlar konumdan bağımsız çağrılabilir, hiçbir betikte mutlak yol yok, her proje kendi `PROJECT.md` dosyasını taşır.

## 2. Dizin Yapısı ve Yol Politikası

```
<WORKSPACE_ROOT>/
├── Tools/
├── Projects/<project_name>/PROJECT.md
├── evidence/
├── AGENTS.md
└── PROMPTS.md
```

- Mutlak yol, gizli anahtar, cihaz kimliği, IP/port **sabit kodlanmaz**.
- Tüm yollar `<WORKSPACE_ROOT>`, `%~dp0` veya `$PSScriptRoot` üzerinden göreli çözümlenir.
- Cihaz kimlikleri, IP/port ve API anahtarları git'e alınmaz; yerel, git-ignored yapılandırma dosyasında tutulur.

## 3. Platformlar ve Ortam Değişkenleri

- Windows: junction ile sürümden bağımsız çağrı.
- Linux/macOS: symlink.
- Android: `ANDROID_SDK_ROOT`, `JAVA_HOME`.
- Python 3.10+, Node.js/npm/npx, JDK 17+.
- Her araç PATH üzerinde kayıtlı olmalı.

## 4. Araç Haritası

Blog yazısındaki envanter tablosu (Araç / Konum / Çağrı / Amaç) bağlayıcıdır. Her araç `Tools/<araç>/` altında, junction/symlink ile çağrılır.

## 5. Resmi Kaynak Politikası

- Her aracın indirme bağlantısı yalnızca resmi kaynaktan alınır (master prompt Bölüm 1.1).
- Ayna (mirror) siteler yalnızca resmi kaynak erişilemezse ve kullanıcı onayıyla kullanılır.
- Kurulumdan sonra sürüm, tarih ve SHA-256 özeti `Tools/<araç>/VERSION.txt` içine yazılır.
- Ölü/broken link, sürüm uyuşmazlığı veya eksik bağımlılık tespit edilirse kurulum duraklatılır ve raporlanır.

## 6. Operasyon Protokolleri

- Android DB forensics: `adb shell run-as`, SQLite şema/diff.
- Ağ trafiği yakalama: `tshark`, TLS deşifre (`SSLKEYLOGFILE`), obje çıkarma.
- JS/Electron paket açma: `wakaru`, source map, Vue SFC.
- Donanım ve bus sinyali: `sigrok-cli`, Zadig sürücü.
- Unity IL2CPP/Mono: `Il2CppDumper`, dnSpy, Ghidra sembol aktarımı.
- Windows PE analizi: `diec`, `strings64`, CFF Explorer.
- Canlı süreç ve çekirdek telemetrisi: `procmon64`, System Informer.
- Dinamik hata ayıklama: `x64dbg`, Cheat Engine.

## 7. Derleme Standartları

- Tüm yollar göreli veya ortam değişkeni üzerinden.
- Android pipeline: `aapt2`, `d8`, `zipalign`, `apksigner`.
- Cihaz yapılandırması (kimlik, IP/port) git-ignored yerel dosyada.
- Honor MagicOS gibi agresif pil yönetimi olan cihazlarda `FOREGROUND_SERVICE` + kalıcı bildirim + `WAKE_LOCK`.

## 8. Proje Yaşam Döngüsü

- Her proje `Projects/<ad>/PROJECT.md` taşır.
- Çalışma alanına girerken önce `AGENTS.md` okunur.
- Proje kimliği, mimari, derleme komutları ve yol haritası `PROJECT.md` içinde.

## 9. Güvenlik ve Etik

- Yalnızca yetkili, savunma amaçlı ve eğitim amaçlı tersine mühendislik.
- Üçüncü taraf sistemler analiz edilmeden önce yetkilendirme alınır.
- Cihaz kimlikleri, API anahtarları ve tokenlar sürüm kontrolüne alınmaz.
- Çıkarılan sırlar şifreli yerel kasada saklanır.

## 10. Doğrulama ve Raporlama

Kurulum/çalışma sonunda ajan şu raporu üretir:
- **Tamamlananlar:** kurulan/konfigüre edilen her araç (sürüm + konum).
- **Tamamlanamayanlar:** kurulamayan araç/bileşen ve nedeni.
- **Hatalar ve Eksikler:** hatalar, eksik bağımlılıklar, bozuk linkler, sürüm uyuşmazlıkları.
- **Mükemmellik Değerlendirmesi:** tüm araçlar çağrılabilir mi? mutlak yol var mı? sırlar sürüm kontrolünde mi? dokümanlar eksiksiz mi? Genel durum: MÜKEMMEL / EKSİK / HATALI.
- **Ek kontroller:** junction/symlink çözümlenmesi, PATH doğrulaması, her projede `PROJECT.md`, git durumu.

## 11. İki Dilli Senkronizasyon

- Bu dosyanın Türkçe ve İngilizce sürümleri (`aegissoft-agents-tr.md`, `aegissoft-agents-en.md`) her zaman aynı içeriği taşır.
- Birinde yapılan değişiklik diğerine de uygulanır.
- Prompt dosyaları (`aegissoft-master-prompt-tr.md`, `aegissoft-master-prompt-en.md`) da aynı kurala tabidir.

---

*Bu şablon genelleştirilmiştir; gerçek kurulumda `<WORKSPACE_ROOT>` ve ortam değişkenleri ile doldurulur.*
