METİN 2 GF PYTHON MODULE DUMP HK.

  • Konuyu açan Konuyu açan jantue
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 5
  • Gösterim Gösterim 323

jantue

Üye
Üye
Mesaj
19
Beğeni
1
Puan
50
Ticaret Puanı
0
Merhaba metin2 her update attığında Modüller değişmekte. Bu modüllerin güncel halini nasıl bulabilirim.

Drago dumper ile dump yaptığımda bana pointerleri vermekte. Fakat benim işime pointer yaramıyor SC kullandığım için modüllerin güncel hali gerekli.

İstediğim format aşağıdaki gibidir.
dumppy.webp


Draga Dumper ile yaptğımda bu şekilde vermiyor Aşağıdaki gorseldeki gibi vermekte. Yardımlarınızı beklemekteyim.

dumop.webp

NOT: Aynı modülleri drago dumper ile almaktayım fakat direk şifrelenmiş halini verdiği için örneğin Player modülü hangisi olduğunu ayırt edemiyorum. Yoksa güncel modülleri almaktayım.
 
Python:
Genişlet Daralt Kopyala
import sys
import types

KNOWN_MODULES = {
    "player": "GetMainCharacterIndex",
    "chr": "SetPixelPosition",
    # ...
}

DEOBFUSCATED_MODULES = {}

for mod in sys.modules.values():
    if not isinstance(mod, types.ModuleType):
        continue

    for original_name, sample_func in KNOWN_MODULES.items():
        if original_name in DEOBFUSCATED_MODULES:
            continue  # Already found

        if hasattr(mod, sample_func):
            DEOBFUSCATED_MODULES[original_name] = mod

def get_module(original_name):
    return DEOBFUSCATED_MODULES.get(original_name, None)

player_mod = get_module("player")
# ...
 
En son bir moderatör tarafından düzenlenmiş:
Python:
Genişlet Daralt Kopyala
import sys
import types

KNOWN_MODULES = {
    "player": "GetMainCharacterIndex",
    "chr": "SetPixelPosition",
    # ...
}

DEOBFUSCATED_MODULES = {}

for mod in sys.modules.values():
    if not isinstance(mod, types.ModuleType):
        continue

    for original_name, sample_func in KNOWN_MODULES.items():
        if original_name in DEOBFUSCATED_MODULES:
            continue  # Already found

        if hasattr(mod, sample_func):
            DEOBFUSCATED_MODULES[original_name] = mod

def get_module(original_name):
    return DEOBFUSCATED_MODULES.get(original_name, None)

player_mod = get_module("player")
# ...
Peki dragodumper gibi pointerleri ile vermesini istersem nasıl bir python kodu olmalı
 
Python:
Genişlet Daralt Kopyala
import sys
import types

KNOWN_MODULES = {
    "player": "GetMainCharacterIndex",
    "chr": "SetPixelPosition",
    # ...
}

DEOBFUSCATED_MODULES = {}

for mod in sys.modules.values():
    if not isinstance(mod, types.ModuleType):
        continue

    for original_name, sample_func in KNOWN_MODULES.items():
        if original_name in DEOBFUSCATED_MODULES:
            continue  # Already found

        if hasattr(mod, sample_func):
            DEOBFUSCATED_MODULES[original_name] = mod

def get_module(original_name):
    return DEOBFUSCATED_MODULES.get(original_name, None)

player_mod = get_module("player")
# ...
Bu py dosyasını oyuna mı yuklemem gerekli ?
Nasıl kullanacağım konusunda yardımcı olurmusun. Yeni yeni öğreniyorum bu işleri.
37 yazmıssın kastamonulumusun :) Araçlıyım :))
 
Kod:
Genişlet Daralt Kopyala
import sys
import types

KNOWN_MODULES = {
    "player": "GetMainCharacterIndex",
    "chr": "SetPixelPosition",
    "net": "SetMapIndex",
    "chat": "SetBoardState",
    "chrmgr": "SetPathName",
    "nonplayer": "GetLevelByVID",
    "wndMgr": "SetAttachingFlag",
    "quest": "GetQuestIndex",
    "ranking": "GetHighRankingInfoSoloWithGuildName",
    "skill": "GetSkillName",
    "exchange": "GetElkFromSelf",
    "guildbank": "GetCurrentSafeboxSize",
    "mail": "IsChallengeInstance",
    "miniMap": "GetAtlasMaxPos",
    "safebox": "GetMallItemRefineElement",
    "shop": "IsPrivateShop",
    "mount": "SendMountUpgradeSystemGiveFeed",
    "premiumPrivateShop": "GetSellingYang",
    "textTail": "ArrangeTextTail",
    "ime": "PasteTextFromClipBoard",
    "systemSetting": "GetShadowTargetLevel",
    "rootlib": "moduleImport",
    "grpText": "GetSplitingTextLineCount",
    "grpImage": "GetGraphicImagePointer",
    "grp": "RenderRoundBox",
    "playerSettingModule": "playerSettingModule",
    "app": "IsDevStage",
    "item": "SetUseSoundFileName",
    "chr": "SetBlendRenderMode",
    "ui": "ui",
    "time": "time",
    "mouseModule": "mouseModule",
    "background": "background",
    "uiToolTip": "uiToolTip"
    "serverInfo": "serverInfo",
    "interfacemodule": "interfacemodule",
    "effect": "effect",
    "os": "os": "C:\metin2\tr-TR\lib\os.pyc",
    "functools": "functools' from 'C:\metin2\tr-TR\lib\functools.pyc",
    "matah": "math",
    "snd": "snd",
    "locale": "localeInfo",
    "localeInfo": "localeInfo",
    "pack":    "pack",
    "uiTip": "uiTip",
    "event": "event",
    "uiCommon": "uiCommon"
    "uiMiniMap": "uiMiniMap",
    "constInfo": "constInfo",
    "dbg": "dbg",
    "uiCharacter":    "uiCharacter",
    "guild": "guild",
    "exception": "exception",
    "autoHunting": "autoHunting",


    "
    # ...
}

DEOBFUSCATED_MODULES = {}

for mod in sys.modules.values():
    if not isinstance(mod, types.ModuleType):
        continue

    for original_name, sample_func in KNOWN_MODULES.items():
        if original_name in DEOBFUSCATED_MODULES:
            continue  # Already found

        if hasattr(mod, sample_func):
            DEOBFUSCATED_MODULES[original_name] = mod

def get_module(original_name):
    return DEOBFUSCATED_MODULES.get(original_name, None)

player_mod = get_module("player")
# ...
Bu şekilde ayarladım ama bir şekilde çalıştıramadım yardımcı olurmusun
 
Geri
Üst