🔧 REVERSE ENGINEERING ULTIMATE REHBERİ – APK, EXE, ELF SÖKME TEKNİKLERİ 100+ YÖNTEM, 20+ ARAÇ Reverse engineering (tersine mühendislik), bir yazılımın kaynak koduna sahip...

🔧 REVERSE ENGINEERING ULTIMATE REHBERİ – APK, EXE, ELF SÖKME TEKNİKLERİ 100+ YÖNTEM, 20+ ARAÇ​


Reverse engineering (tersine mühendislik), bir yazılımın kaynak koduna sahip olmadan çalışmasını analiz etme, anlama ve değiştirme sanatıdır. Bu rehberde Windows EXE, Linux ELF ve Android APK dosyalarını nasıl sökeceğini, statik ve dinamik analiz yöntemlerini, debugger kullanımını, patching ve keygen yapmayı en ince ayrıntısına kadar anlatıyorum.

⚠️ ETİK UYARI: Bu rehber yalnızca eğitim, güvenlik araştırmaları ve izinli yazılım testleri içindir. Başkalarının yazılımlarını izinsiz olarak tersine mühendislik yapmak yasa dışıdır ve telif hakları ihlalidir. Tüm sorumluluk kullanıcıya aittir.

📌 BÖLÜM 1: REVERSE ENGINEERING NEDİR VE NEDEN YAPILIR?​

Reverse engineering, bir yazılımın nasıl çalıştığını anlamak için ikili dosyayı (binary) analiz etme işlemidir.

🔧 Neden yapılır?
  • Kötü amaçlı yazılım analizi (malware analysis)
  • Zafiyet keşfi (bug bounty, exploit geliştirme)
  • Kayıp kaynak kodunu geri kazanma
  • Uyumluluk sorunlarını çözme
  • Rekabet analizi
  • Crackleme (korsanlama) – eğitim amaçlı
📂 Hedef dosya türleri:


TürUzantıPlatformAnaliz Araçları
Windows EXE.exe, .dll, .sysWindowsGhidra, IDA, x64dbg, OllyDbg
Linux ELF(no extension), .soLinuxGhidra, IDA, GDB, radare2
Android APK.apkAndroidjadx, apktool, MobSF, Frida
macOS.app, .dylibmacOSGhidra, Hopper
.NET.exe (C#/VB)WindowsdnSpy, ILSpy, dotPeek

📁 BÖLÜM 2: TEMEL KAVRAMLAR (BİLMEN ŞART)​

2.1. Assembly Dili (x86/x64/ARM)​

Makine dilinin insan tarafından okunabilir hali. Reverse engineer'ın en çok uğraştığı şey assembly kodudur.

x86 assembly örneği:

asm
mov eax, 5 ; eax = 5
add eax, 3 ; eax = eax + 3 (sonuç 8)
cmp eax, 8 ; eax 8'e eşit mi?
je 0x00401234 ; eşitse atla

2.2. Endianness​

Verinin bellekte saklanma sırası:

  • Little-endian: x86/x64, ARM (en yaygın) – 0x12345678 bellekte 78 56 34 12
  • Big-endian: Ağ protokolleri – 12 34 56 78

2.3. PE (Portable Executable) – Windows EXE yapısı​

PE dosyası şu bölümlerden oluşur:



BölümİçerikAçıklama
DOS HeaderMZEski DOS uyumluluğu
PE HeaderPE\0\0Ana header
Section Table.text, .data, .rdata, .rsrcKod, veri, kaynaklar
Kritik section'lar:

  • .text / .code – Çalıştırılabilir kod (analiz edilecek yer burası)
  • .data – Başlatılmış değişkenler
  • .rdata – Sabit veri (string'ler)
  • .rsrc – Kaynaklar (icon, menu, dialog)
  • .reloc – Yeniden konumlandırma bilgileri

2.4. ELF (Executable and Linkable Format) – Linux için​



BölümAçıklama
ELF HeaderDosya türü, mimari, entry point
Program HeadersÇalıştırma için gerekli segmentler
Section HeadersBağlama için gerekli bölümler
.textKod
.rodataSabit veri (string'ler)
.dataBaşlatılmış veri
.bssBaşlatılmamış veri

2.5. DEX – Android Dalvik Executable​

APK içindeki classes.dex dosyası Dalvik bytecode içerir. Java'dan farklı bir formattır.


📁 BÖLÜM 3: STATİK ANALİZ ARAÇLARI (KODU ÇALIŞTIRMADAN İNCELEME)​

Statik analiz, dosyayı çalıştırmadan içeriğini incelemektir. Zararlı yazılımın tetiklenme riski yoktur.

3.1. Ghidra (NSA yapımı, ücretsiz, en iyisi)​

Ghidra, NSA tarafından geliştirilmiş ücretsiz ve açık kaynaklı bir RE aracıdır. IDA Pro'nun en güçlü rakibidir.

Kurulum (Kali):

bash
sudo apt install ghidra -y
# veya manuel:
wget https://github.com/NationalSecurityAgency/ghidra/releases
unzip ghidra_*.zip
cd ghidra_* && ./ghidraRun
Özellikleri:

  • Çoklu platform (Windows, Linux, macOS)
  • Birçok işlemci desteği (x86, x64, ARM, MIPS, PowerPC)
  • Etkileşimli decompiler (C koduna çevirir)
  • Script desteği (Python/Java)
  • Çoklu kullanıcı ile işbirliği
📊 Ghidra kullanım simülasyonu:

text
[+] Project oluştur -> Import File -> hedef.exe
[+] Analysis başlat (varsayılan analizler)
[+] Symbol Tree'de "Functions" -> main fonksiyonunu bul
[+] Decompile penceresinde C kodu görünür
Ghidra decompiler çıktısı örneği (assembly'den C'ye):

c
// Assembly:
// 0x00401234: mov eax, [ebp+0x8]
// 0x00401237: add eax, 0x5

// Decompiler çıktısı:
int main(int param_1) {
int local_c;
local_c = param_1 + 5;
return local_c;
}

3.2. IDA Pro (Ticari, endüstri standardı)​

IDA Pro, en güçlü reverse engineering aracıdır. Çok pahalıdır (binlerce dolar). Ücretsiz sürümü (IDA Free) sınırlıdır.

Özellikleri:

  • Etkileşimli ve otomatik analiz
  • Lua, Python, IDC script desteği
  • Decompiler eklentisi (extra ücret)
  • Plugin ekosistemi çok geniş
IDA Free indirme: https://hex-rays.com/ida-free/

3.3. radare2 / Cutter (Ücretsiz, terminal tabanlı)​

radare2, Unix felsefesiyle yazılmış güçlü bir komut satırı RE aracıdır. Cutter, radare2 için GUI'dir.

Kurulum:

bash
sudo apt install radare2 cutter -y
Örnek radare2 komutları:

bash
r2 ./hedef.exe # Dosyayı aç
aaa # Otomatik analiz
s main # main fonksiyonuna git
pdf # Fonksiyonu göster
V # Görsel mod

3.4. Binary Ninja (Ücretli, orta seviye)​

IDA'dan ucuz, Ghidra'dan daha hızlı arayüz. Medium-level IL (Intermediate Language) ile çalışır.

3.5. Hopper (macOS için)​

Mac'te IDA alternatifi. ARM, x86/x64 desteği var.

3.6. APK Statik Analiz Araçları​



AraçNe YaparKullanım
jadxDEX -> Java kaynak kodujadx -d output classes.dex
apktoolAPK'yı açar (kaynakları çıkarır)apktool d hedef.apk
dex2jarDEX -> JAR (Java bytecode)d2j-dex2jar classes.dex
JD-GUIJAR dosyasını Java kodu olarak gösterirjd-gui output.jar
Bytecode ViewerGelişmiş APK analizi (decompile + edit)GUI uygulaması
jadx çıktı örneği:

java
// Orijinal APK'daki smali kodu:
// invoke-virtual {v0}, Lcom/example/App;->getFlag()Ljava/lang/String;

// jadx ile çıkarılan Java kodu:
public String getFlag() {
return "flag{example_123}";
}

📁 BÖLÜM 4: DİNAMİK ANALİZ ARAÇLARI (ÇALIŞTIRARAK İNCELEME)​

Dinamik analiz, programı çalıştırarak davranışını gözlemlemektir. Debugger ile adım adım ilerleyebilir, register'ları, memory'i, stack'i izleyebilirsin.

4.1. x64dbg (Windows – Günümüzün en iyi debugger'ı)​

x64dbg, modern Windows debugger'ıdır. OllyDbg'nin yerini almıştır. Hem x86 hem x64 destekler.

Kurulum: https://x64dbg.com/ adresinden indir.

Özellikleri:

  • Kaynak kodu açık (GitHub)
  • Plugin desteği (ScyllaHide, titanic, vb.)
  • Graph görünümü
  • Koşullu breakpoint'ler
  • Script desteği (x64dbgpy ile Python)
📊 x64dbg kullanım simülasyonu:

  1. Dosyayı aç (File → Open)
  2. CPU penceresinde assembly kodunu gör
  3. Breakpoint koy: F2 (main fonksiyonun başına)
  4. Çalıştır: F9
  5. Adım adım ilerle: F7 (call içine gir), F8 (call üzerinden atla)
  6. Register'ları gör: EAX, EBX, ECX, EDX, ESP, EBP
  7. Memory dump: Ctrl+G ile adrese git, Dump penceresinde gör
Breakpoint türleri:



TürKısayolNe Yapar
Software breakpointF2İlk baytı 0xCC (int3) ile değiştirir
Hardware breakpointF2 + sağ tıkDR0-DR3 register'larını kullanır (tespit edilmesi zor)
Conditional breakpointSağ tık → Conditionaleax == 0x1234 gibi koşul
Memory breakpointSağ tık → Memory breakpointBellek okuma/yazma/yürütme

4.2. OllyDbg (Eski ama hala kullanılıyor)​

Windows için eski ama kararlı debugger. Sadece x86 (32-bit) destekler. 2026'da birçok eklenti hala çalışıyor.

OllyDbg eklentileri:

  • OllyDump: Dumped process (unpacking sonrası)
  • HideDebugger: Anti-debug bypass
  • PhantOm: Gelişmiş gizleme

4.3. GDB (Linux için)​

Linux ELF dosyalarını debug etmek için standart araç.

Kurulum:

bash
sudo apt install gdb gdb-multiarch -y
Temel GDB komutları:

bash
gdb ./hedef # Dosyayı aç
break main # main'e breakpoint
run # Çalıştır
stepi # Bir assembly adımı (next instruction)
info registers # Register'ları gör
x/10wx $esp # Stack'i göster
disas main # main'in assembly'ini göster
continue # Devam et
quit # Çık
GDB peda/gef/gdbinit (gelişmiş eklentiler):

bash
# PEDA (Python Exploit Development Assistance)
git clone https://github.com/longld/peda.git
echo "source ~/peda/peda.py" >> ~/.gdbinit

# GEF (GDB Enhanced Features) – daha modern
bash -c "$(curl -fsSL https://gef.blah.cat/sh)"

4.4. WinDbg (Windows kernel debug)​

Windows çekirdek modu sürücülerini ve kullanıcı modu uygulamalarını debug eder. Microsoft'un resmi aracı.

4.5. Frida (Android/iOS dinamik analiz)​

Frida, mobil uygulamalara JavaScript ile hook atmanı sağlar. Root gerekmez (ama bazı işlemler için root gerekir).

Kurulum:

bash
pip install frida-tools
Örnek Frida script'i (SSL pinning bypass):

javascript
Java.perform(function() {
var TrustManager = Java.use('javax.net.ssl.X509TrustManager');
TrustManager.checkServerTrusted.implementation = function(certs, authType) {
console.log('[+] SSL pinning bypassed');
};
});
Çalıştırma:

bash
frida -U -l bypass.js com.example.app

📁 BÖLÜM 5: 50+ STATİK ANALİZ TEKNİĞİ​

5.1. String Analizi​

Binary içindeki tüm yazılı mesajları bulmak.

Linux:

bash
strings hedef.exe | grep -i "password\|flag\|key\|http"
Windows (Sysinternals strings):

cmd
strings64.exe hedef.exe | findstr /i "password"
Ghidra'da: Window → Defined Strings

5.2. Import/Export Analizi​

Programın hangi DLL/fonksiyonları kullandığını görmek.

Linux:

bash
objdump -p hedef.exe | grep "DLL Name"
readelf -s hedef | grep FUNC
Windows:

cmd
dumpbin /imports hedef.exe

5.3. Section Analizi​

Programın hangi bölümlerinin ne işe yaradığını anlamak.

bash
objdump -h hedef.exe
readelf -S hedef

5.4. Hash ve İmza Karşılaştırma​

Bilinen zararlı yazılımlarla eşleştirme.

bash
md5sum hedef.exe
sha256sum hedef.exe
# Virustotal'da ara

5.5. Entropi Analizi​

Yüksek entropi = şifrelenmiş veya sıkıştırılmış veri.

bash
# binwalk ile entropi grafiği
binwalk -E hedef.exe

5.6. Disassembly​

Assembly kodunu insan okuyabilir hale getirme.

bash
objdump -d hedef.exe | less

5.7. Decompilation (C koduna çevirme)​

Ghidra veya IDA decompiler ile.

5.8. Control Flow Graph (CFG)​

Fonksiyonun akış diyagramı.

5.9. Call Graph​

Fonksiyonların birbirini çağırma haritası.

5.10. Data Flow Analysis​

Verinin kaynaktan hedefe nasıl aktığını izleme.


📁 BÖLÜM 6: 50+ DİNAMİK ANALİZ TEKNİĞİ​

6.1. Breakpoint'ler​

Programı durdurup inceleme.

6.2. Trace (Adım adım izleme)​

Programın her adımını loglama.

x64dbg'de trace: Debug → Trace into

6.3. Memory Dump​

Çalışan programın belleğini dışa aktarma.

x64dbg: File → Save memory dump

6.4. Patch'leme (Canlı bellekte değiştirme)​

Bir koşullu atlamayı zorla yaptırma.

Örnek: je (jump if equal) → jne (jump if not equal) yaparak şifre kontrolünü tersine çevirme.

6.5. API Monitor​

Programın hangi Windows API'lerini çağırdığını izleme.

Araç: apimonitor.exe

6.6. Registry Monitor​

Registry'de okuma/yazma izleme.

Araç: procmon.exe (Process Monitor)

6.7. File Monitor​

Dosya sistemi erişimlerini izleme.

Araç: procmon.exe

6.8. Network Monitor​

Programın hangi IP/portlara bağlandığını izleme.

bash
# Linux
strace -e network ./hedef
# Windows
netstat -an | findstr "ESTABLISHED"

6.9. Anti-Debug Bypass​

Debugger tespitini engelleme.

Yöntemler:

  • IsDebuggerPresent: mov eax, fs:[0x30] → mov eax, 0 yap
  • CheckRemoteDebuggerPresent: NOP'la
  • NtQueryInformationProcess: Return 0 yap
  • Timing attacks: rdtsc farkını kapat
  • x64dbg eklentileri: ScyllaHide, titanic

6.10. Unpacking (Packer'dan çıkarma)​

UPX, Themida, VMProtect gibi packer'ları devre dışı bırakma.

UPX unpack:

bash
upx -d hedef_packed.exe
Genel unpack yöntemleri:

  • OEP (Original Entry Point) bul → breakpoint → dump
  • ESP law (stack frame)

📁 BÖLÜM 7: WINDOWS EXE CRACKLEME (EĞİTİM İÇİN)​

Bu bölümde, basit bir programın şifre kontrolünü nasıl bypass edeceğini gösteriyorum. Sadece eğitim amaçlıdır.

7.1. Örnek Crackme – Şifre Kontrolü​

Varsayalım bir program var. Kullanıcıdan şifre istiyor. Şifre doğruysa "Başarılı", yanlışsa "Hatalı" diyor.

Statik analiz (Ghidra):

c
int main() {
char input[20];
printf("Şifre: ");
scanf("%s", input);
if (strcmp(input, "secret123") == 0) {
printf("Başarılı!\n");
} else {
printf("Hatalı şifre!\n");
}
return 0;
}
Dinamik analiz (x64dbg):

  1. Programı x64dbg'de aç
  2. F9 ile başlat, şifre gir (test)
  3. "Hatalı şifre" mesajı gelir
  4. Ctrl+F2 ile yeniden başlat
  5. strcmp fonksiyonuna breakpoint koy (bp strcmp)
  6. F9 ile çalıştır, şifre gir
  7. strcmp'te durur. EAX register'ında 0 ise eşit, 1 ise farklı
  8. F7 ile strcmp'in içine gir
  9. Şifre kontrolünden sonraki je (jump if equal) komutunu bul
  10. je'yi jne ile değiştir (patchle)
  11. F9 ile devam et → "Başarılı" mesajını gör
Patch'i kalıcı yapmak:

  • x64dbg'de Edit → Patch file
  • Yeni dosyayı kaydet (cracked.exe)

7.2. Keygen yapma​

Eğer şifre kontrolü matematiksel bir algoritma kullanıyorsa, bu algoritmayı tersine mühendislik ile bulup keygen yazabilirsin.

Örnek (basit algoritma):

c
int serial_valid(char *serial) {
int sum = 0;
for(int i=0; serial; i++) sum += serial;
return sum == 0x1A2B;
}
Bu algoritmayı çözüp keygen yazmak:

python
# Keygen
import random
while True:
serial = ''.join(chr(random.randint(65,90)) for _ in range(10))
if sum(ord(c) for c in serial) == 0x1A2B:
print(serial)
break

📁 BÖLÜM 8: ANDROID APK REVERSE ENGINEERING (ADIM ADIM)​

8.1. APK'yı açma (apktool)​

bash
apktool d hedef.apk -o hedef_klasoru
Çıkan dosyalar:

  • AndroidManifest.xml – İzinler, aktiviteler
  • smali/ – Dalvik bytecode (insan okunabilir)
  • res/ – Kaynaklar (layout, drawable)
  • lib/ – Native kod (.so dosyaları)

8.2. Java kaynak koduna çevirme (jadx)​

bash
jadx -d jadx_output hedef.apk
jadx, APK'yı direkt Java koduna çevirir. Çıktı jadx_output/sources/ altında olur.

📊 jadx çıktısı örneği:

java
package com.example.app;

public class MainActivity extends Activity {
public void checkPassword(String pwd) {
if (pwd.equals("supersecret")) {
Toast.makeText(this, "Başarılı", 0).show();
}
}
}

8.3. Smali kodunu anlama​

Smali, Android'in ara seviye dilidir. Java'dan daha düşük seviyeli ama assembly'den daha yüksek seviyeli.

Java:

java
if (x == 5) { doSomething(); }
Smali:

text
if-eq v0, v1, :cond_0
:cond_0
invoke-static {}, Lcom/example/App;->doSomething()V

8.4. Smali'de patchleme​

APK'yı aç (apktool), smali dosyasında değişiklik yap, sonra yeniden paketle:

bash
# Aç
apktool d hedef.apk

# smali/com/example/MainActivity.smali dosyasını düzenle
# Şifre kontrolünü tersine çevir (if-ne -> if-eq)

# Yeniden paketle
apktool b hedef_klasoru -o hedef_patched.apk

# İmzala (keystore gerekir)
uber-apk-signer -a hedef_patched.apk

8.5. Frida ile runtime hook (dinamik)​

Root'lu veya root'suz (Frida gadget ile) telefonda çalışan uygulamaya müdahale etme.

Frida script'i (şifre kontrolünü bypass):

javascript
Java.perform(function() {
var MainActivity = Java.use('com.example.app.MainActivity');
MainActivity.checkPassword.implementation = function(pwd) {
console.log('[+] checkPassword çağrıldı: ' + pwd);
this.checkPassword("supersecret");
};
});

8.6. MobSF ile otomatik analiz​

Mobile Security Framework (MobSF), APK'yı otomatik tarar, zafiyetleri listeler.

Kurulum:

bash
git clone https://github.com/MobSF/Mobile-Security-Framework-MobSF
cd MobSF
./setup.sh
./run.sh
Web arayüzü http://localhost:8000 adresinde açılır. APK'yı yükle, tarama başlasın.


📁 BÖLÜM 9: LİNUX ELF REVERSE ENGINEERING​

9.1. Statik analiz​

bash
# Dosya türünü gör
file hedef

# Sembolleri gör
nm hedef

# Dinamik bağımlılıklar
ldd hedef

# String'ler
strings hedef

# Disassembly
objdump -d hedef | less

# Detaylı bölümler
readelf -a hedef

9.2. Dinamik analiz (GDB)​

bash
gdb ./hedef

# Breakpoint
break *0x00401234
break main

# Çalıştır
run arg1 arg2

# Register'lar
info registers

# Bellek
x/20wx $rsp

# Devam
continue

# Adım
stepi
nexti

# Değişken
print variable

9.3. strace (system call izleme)​

Programın hangi sistem çağrılarını yaptığını gösterir.

bash
strace -f -o trace.log ./hedef

9.4. ltrace (library call izleme)​

Programın hangi kütüphane fonksiyonlarını çağırdığını gösterir.

bash
ltrace -f ./hedef

9.5. radare2 ile patching​

bash
# Dosyayı aç
r2 -w ./hedef

# Analiz
aaa

# main'e git
s main

# Assembly göster
pdf

# Değiştir
wa "mov eax, 0"

# Kaydet
quit

📁 BÖLÜM 10: 30+ REVERSE ENGINEERING EKLENTİSİ VE SCRIPT'İ​

10.1. IDA Python Script'leri​

python
# Tüm string'leri bul ve dışa aktar
import idautils
for seg in idautils.Segments():
for ea in idautils.Functions(seg, idc.get_segm_end(seg)):
name = idc.get_func_name(ea)
print(f"{hex(ea)}: {name}")

10.2. Ghidra Python Script'i​

python
# Tüm fonksiyon isimlerini listele
from ghidra.program.model.listing import FunctionManager
fm = currentProgram.getFunctionManager()
functions = fm.getFunctions(True)
for f in functions:
print(f.getName(), f.getEntryPoint())

10.3. x64dbg x64dbgpy (Python script)​

python
# Breakpoint'e yazdır
from x64dbg import *
def print_on_breakpoint():
log("Breakpoint hit at " + hex(GetRegValue("cip")))

10.4. Popüler eklentiler​



EklentiAraçAçıklama
ScyllaHidex64dbg/OllyDbgAnti-anti-debug
Titanicx64dbgGelişmiş gizleme
IDAPythonIDAPython script
Ghidra ScriptsGhidraJava/Python script
BinDiffIDA/Ghidraİkili karşılaştırma
FLIRTIDAKütüphane tanıma
FindCryptIDAKripto sabitleri bulma

📁 BÖLÜM 11: ZARARLI YAZILIM ANALİZİ (MALWARE RE)​

Zararlı yazılımları analiz ederken dikkat edilmesi gerekenler:

11.1. Güvenli ortam (sandbox)​

  • Windows Sandbox (Windows 10/11 Pro)
  • VirtualBox/VMware (izole ağ)
  • Cuckoo Sandbox (otomatik analiz)
  • FLARE VM (FireEye'in RE ortamı)

11.2. Davranışsal analiz​

Araçlar:

  • Process Monitor (procmon) – Registry, dosya, işlem
  • Process Explorer – Process tree, DLL'ler
  • Regshot – Registry öncesi/sonrası farkı
  • Wireshark – Ağ trafiği
  • FakeNet-NG – Sahte ağ hizmetleri

11.3. Statik analiz (zararlı)​

  • VirusTotal (çoklu AV taraması)
  • YARA kuralları – İmza tabanlı tespit
  • Capabilities (PE analizi)

📊 ÖZET – REVERSE ENGINEERING ARAÇLARI VE KULLANIMLARI​



AmaçAraçPlatformÜcret
Statik analiz (genel)GhidraHepsiÜcretsiz
Statik analiz (profesyonel)IDA ProHepsiÜcretli
Windows debugx64dbgWindowsÜcretsiz
Windows debug (eski)OllyDbgWindows (32-bit)Ücretsiz
Linux debugGDB + PEDALinuxÜcretsiz
APK decompilejadxHepsiÜcretsiz
APK açmaapktoolHepsiÜcretsiz
APK dinamikFridaAndroid/iOSÜcretsiz
APK otomatikMobSFHepsiÜcretsiz
Terminal REradare2HepsiÜcretsiz
macOS REHoppermacOSÜcretli
Malware analiziFLARE VM, CuckooWindowsÜcretsiz

⚠️;​

Reverse engineering, sabır ve pratik gerektiren bir disiplindir. Bu rehberde öğrendiklerini sadece kendi yazılımlarında veya izinli ortamlarda dene. Başkalarının yazılımlarını cracklemek veya zararlı yazılım geliştirmek yasa dışıdır.

Öğrenmek için önerilen crackme'ler:
Unutma: En iyi reverse engineer, kendi kodunu koruyabilendir.

Bu rehber, eğitim ve bilgilendirme amaçlıdır. Tüm sorumluluk kullanıcıya aittir.
 
💬 SpyHackerz Telegram — Anlık tartışmalar ve duyurular için katıl
132,934Konular
3,280,521Mesajlar
318,332Kullanıcılar
basri216Son Üye
Üst Alt