Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Исходник Cs2 infinite dumper

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
2 Ноя 2024
Сообщения
222
Реакции
25
незнаю как его написал, но решил подумать чзх ".data:0000000001FB4ED8 dq offset aBoxMaxs ; "box_maxs"" в ида, и меня осенило, и я написал этот дампер, он дампит 3500~ оффсетов (Если не считать дубликатов, а так будет находить 5200~), и пишет их точное имя и фиелд.
Код:
Expand Collapse Copy
import pymem, pymem.process, struct

def main():
    pm = pymem.Pymem("cs2.exe")
    client = pymem.process.module_from_name(pm.process_handle, "client.dll").lpBaseOfDll
    size = pymem.process.module_from_name(pm.process_handle, "client.dll").SizeOfImage
    
    offsets = {}
    current = client + 0x1F90000
    end = client + 0x21F0000
    
    while current < end:
        try:
            name_ptr = struct.unpack('<Q', pm.read_bytes(current, 8))[0]
            
            if not (client < name_ptr < client + size):
                current += 0x10
                continue
            
            name = pm.read_string(name_ptr, 128).split('\x00')[0]
            
            if not name.startswith('m_'):
                current += 0x10
                continue
            
            for delta in range(0x8, 0x30, 2):
                offset_val = struct.unpack('<I', pm.read_bytes(current + delta, 4))[0]
                
                if 0 < offset_val < 0x5000:
                    offsets[name] = offset_val
                    break
            
        except:
            pass
        
        current += 0x10
    
    with open("cs2_offsets.hpp", "w") as f:
        f.write("#pragma once\n\n")
        f.write("#include <cstddef>\n")
        f.write("#include <cstdint>\n\n")
        f.write("#define field static constexpr std::ptrdiff_t\n\n")
        f.write("namespace dumper_cloppkiller {\n")
        
        for name, value in sorted(offsets.items()):
            f.write(f"    field {name} = 0x{value:X};\n")
        
        f.write("}\n")
    
    print(f"[+] Found {len(offsets)} offsets")

if __name__ == "__main__":
    main()
 
Назад
Сверху Снизу