Загрузка...

How to find offsets?

Thread in Reversing Lessons created by Noone Feb 8, 2026. 143 views

  1. Noone
    Noone Topic starter Feb 8, 2026 400 Apr 26, 2019
    Пытаюсь найти оффсеты для gmod.
    Смог найти только адресса через cheat engine.
    Хочу найти здоровье, там 16 значений и все равны.
    Было бы не плохо если бы кто-то шарящий рассказал или кинул гайд как такое находят :policebear:
     
  2. rage
    rage Feb 8, 2026 687 Jan 18, 2020
    Ну попробуй побаловаться со здоровьем. Сделай первый поиск, потом в игре получи урон, сделай повторный поиск. И так повторяй отсев, пока не найдешь явное значение
     
    1. Noone Topic starter
      avatarrage, сколько бы я так не делал, ничего нового я не получу. Сурс так сделан
  3. ночь
    ночь Mar 24, 2026 :xd: 433 Jul 23, 2020
    хз актуально ли но гмод как и другие сурс игры юзает систему нетваров
    вот как я дамплю:
    C
    ClientClass* cl_class = engine::I::BaseClientDLL->GetAllClasses();

    while (cl_class != nullptr) {
    //cl_class->m_pRecvTable.
    std::printf("[NetvarManager] Parsing %s (classid: %d)\n", cl_class->m_pNetworkName, cl_class->m_ClassID);

    OxyClass oxy_class;
    oxy_class.name = std::string(cl_class->m_pNetworkName);
    oxy_class.classId = cl_class->m_ClassID;

    for (int i = 0; i < cl_class->m_pRecvTable->m_nProps; ++i) {
    auto prop = &cl_class->m_pRecvTable->m_pProps[i];
    if (!prop || !prop->m_pVarName)
    continue;
    std::string baseclass_name = "";
    if (prop->m_RecvType == SendPropType::DPT_DataTable){
    std::printf("[NetvarManager] baseclass: %s\n", prop->m_pDataTable->m_pNetTableName);
    oxy_class.baseclasses.push_back(FixDT(prop->m_pDataTable->m_pNetTableName));
    }
    else {
    std::printf("[NetvarManager] %s %s -> %p\n", RecvTypeToString(prop->m_RecvType).c_str(), prop->m_pVarName, prop->m_Offset);
    OxyField oxy_field;
    oxy_field.name = std::string(prop->m_pVarName);
    oxy_field.type = RecvTypeToString(prop->m_RecvType);
    oxy_field.offset = prop->m_Offset;
    oxy_class.fields.push_back(oxy_field);
    }
    }

    classes[oxy_class.name] = oxy_class;

    cl_class = cl_class->m_pNext;
    }

    std::printf("[NetvarManager] Dumped %d classes\n", classes.size());
    }
    найти структуры это уже задачка для тебя но если не получится напиши мне в тг
     
Loading...