libdb_notxt.so (ai ile)

  • Konuyu açan Konuyu açan isthambul1453
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 1
  • Gösterim Gösterim 200

isthambul1453

Yasaklanmış Üye
Cezalı
Mesaj
357
Çözümler
3
Beğeni
249
Puan
764
Ticaret Puanı
0



.so (senin dosya libdb_notxt.so) aslında “garip bir kütüphane” değil; çalışan metin2 db prosesinin içine enjekte edilip hard-coded adreslere detour atarak proto sisteminin davranışını değiştiriyor.

1) peki libdb_notxt.so ne yapıyor?
  • 4 tane hook kuruyor (hepsi bool(*)(char*) imzalı fonksiyonlara):
    • 0x80785e0 → Hooks::InitializeItemTable::hook
    • 0x8077890 → Hooks::InitializeMobTable::hook
    • 0x8079050 → Hooks::MirrorItemTableToDB::hook
    • 0x8079680 → Hooks::MirrorMobTableToDB::hook
  • “Mirror…ToDB” hook’ları bilerek NO-OP:
    • Hooks::MirrorItemTableToDB::hook sadece "Skipping" log basıp return 1;
    • Hooks::MirrorMobTableToDB::hook usleep(60000) + "Skipping" log + return 1;
    • Yani amaç: DB’ye proto’yu geri yazmayı/overwrite etmeyi engellemek.
  • “Initialize…Table” hook’ları ise proto’yu MySQL’den direkt çekip bellekte tabloyu dolduruyor:
    • Item için query açıkça görünüyor: SELECT vnum, type, subtype, name, <localeColumn>, ... FROM item_proto ORDER BY vnum
    • Mob için benzer şekilde mob_proto okunup vector<SMobTable> dolduruluyor.
    • Locale kolon adı için g_stLocaleNameColumn kullanılıyor (decompile’da “basic_string ctor” gibi görünmüş ama kaynakta bunun gerçek değeri config/locale ile set ediliyor).
otüzdört kieğ faylus yalarum

1773825843834.webp


1773825560409.webp
 
Geri
Üst