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

Исходник [Вопрос] оффсеты samp

malware
EXCLUSIVE
EXCLUSIVE
Статус
Оффлайн
Регистрация
21 Июн 2025
Сообщения
141
Реакции
35
делаю либу для сампа, чтобы школотроны могли легко писать свои софты/cкрипты простыми апишками

проблема с оффсетами именно, все прекрасно инжектится.
есть у кого готовые оффсеты(персонаж/камера/скин)? они вроде статичные(мне лень искать)

samp 0.3.7

1760810851416.png
 
делаю либу для сампа, чтобы школотроны могли легко писать свои софты/cкрипты простыми апишками

проблема с оффсетами именно, все прекрасно инжектится.
есть у кого готовые оффсеты(персонаж/камера/скин)? они вроде статичные(мне лень искать)

samp 0.3.7

Посмотреть вложение 317828
MoonLoader для идиотов или как?
 
MoonLoader для идиотов или как?

1760811267150.png

братан ты че слепой, моя либа будет написана на чистом асме, соотвественно и писать софт надо будет на асме а не на говнолуа

только вот писать его будет максимально просто, т.к под капотом все сделано за тебя, твоя задача вызвать апишку и передать ей нужные тебе значения
 

Вложения

  • 1760811264767.png
    1760811264767.png
    8 KB · Просмотры: 26
к моей либе будет приклеплена документация если че которая будет создана по этой самой же либе
О да я же буду использовать хуевую библиотеку без документации.
В ассеблере нет абсолютно ничего легкого кроме call jmp move
 
тебе правильно сказали, но в контексте самперов. сейчас уже все лучше конечно, но все же, кто будет на эту игру сейчас писать скрипты на ассемблере?
какой профит от этой либы если есть уже устоявшийся стандарт? ты переизобретаешь велосипед по моему.
голова у тебя на плечах вроде есть с такими то знаниями, но смотрит она не туда.

пользуясь случаем хочу поинтересоваться, это чудо вообще живое? с года так 22го не заходил, было бы интересно посмотреть как там сейчас дела обстоят.
 
тебе правильно сказали, но в контексте самперов. сейчас уже все лучше конечно, но все же, кто будет на эту игру сейчас писать скрипты на ассемблере?
я лично эту либу пишу для практики, чисто чтобы было

и кодить используя ее будет легче в плане разработки читов под пиксели
моя цель сделать так, чтобы любой школотрон мог под сампик писать любой вид софтов используя апи этой библиотеки, при этом используя ассемблер и при этом не вкладывая в это много усилий



я понять не могу, если ассемблер, то на нем писать не смогут? порой странно люди мыслят

я помню хватился с англо-язычными программисте в чате по айти, и у них были прям точно такие же аргументы как у того типа сверху, когда я сказал, "пишите на ассемблере":
1. Сложный синтаксис
2. Писать надо 1000 лет
3. На нем ничего крутого не напишешь
4. Там пару инструкций

Аргументы, конечно, были уничтожены. Но удалось доказать, что люди во всём мире почти одинаковые.
 
Последнее редактирование:
братан реально думает, что его целевая аудитория из школьников будут учить регистры, типы данных, load/store мнемонику и самое банальное это работа со стеком, ну ни один человек в мире не будет такой хуйней заниматся, то, что в луа пишется за 5 строчек, в асме будет растянуто на 50, как ты себе представляешь например работу с SSE от васи пупкина? или если ты хочешь замакросить все и сделать через либы, то это просто будет уродски выглядищий спагетос, а не читаемый код. Ассемблер для другого используют. Надеюсь поймешь это до того, как напишешь в стол пару десятков проектов на масме или на чем ты там пишешь.

Ты кстати очень похож на чувочков из тик тока, которые всем кричат, что они пишут на каких то "сложных" в их понимании языках программирования, но вот проблема нахуй, ассемблер не безопасный, в нем нету хендлеров для ub, ты буквально сделаешь хуйню, которую нереально дебажить :roflanEbalo:
 
C++:
Expand Collapse Copy
enum eVersion : int
    {
        UNKNOWN = 0,
        DL = 1,
        R1,
        R2,
        R3,
        R4,
        R5
    };


C++:
Expand Collapse Copy
namespace Offsets
{
    constexpr std::uintptr_t uiInfo[] = { 0, 0x2ACA24, 0x21A0F8, 0x21A100, 0x26E8DC, 0x26EA0C, 0x26EB94 };
    constexpr std::uintptr_t uiRakNet[] = { 0, 0x2C, 0x3C9, 0x18, 0x2C, 0x0, 0x0 };
    constexpr std::uintptr_t uiMisc[] = { 0, 0x2ACA3C, 0x21A10C, 0x21A114, 0x26E8F4, 0x26EA24, 0x26EBAC };
    constexpr std::uintptr_t uiChat[] = { 0, 0x2ACA10, 0x21A0E4, 0x21A0EC, 0x26E8C8, 0x26E9F8, 0x26EB80 };
    constexpr std::uintptr_t uiInput[] = { 0, 0x2ACA14, 0x21A0E8, 0x21A0F0, 0x26E8CC, 0x26E9FC, 0x26EB84 };
    constexpr std::uintptr_t uiScoreboard[] = { 0, 0x2AC9DC, 0x21A0B4, 0x21A0BC, 0x26E894, 0x26E894, 0x26EB4C };
    constexpr std::uintptr_t uiUpdateScoreboard[] = { 0, 0x8C00, 0x8A10, 0x8A20, 0x8BA0, 0x8F00, 0x8F10 };
    constexpr std::uintptr_t uiDialog[] = { 0, 0x2AC9E0, 0x21A0B8, 0x21A0C0, 0x26E898, 0x26E9C8, 0x26EB50 };

    constexpr std::uintptr_t uiAddCommand[] = { 0, 0x691B0, 0x65AD0, 0x65BA0, 0x69000, 0x69730, 0x69900 };
    constexpr std::uintptr_t uiServerIP[] = { 0, 0x30, 0x20, 0x1C, 0x30, 0x30, 0x40 };
    constexpr std::uintptr_t uiServerPort[] = { 0, 0x235, 0x225, 0x221, 0x235, 0x235, 0x248 };
    constexpr std::uintptr_t uiCursor[] = { 0, 0xA0530, 0x9BD30, 0x9BDD0, 0x9FFE0, 0xA0720, 0xA06F0 };
    constexpr std::uintptr_t uiAddMessage[] = { 0, 0x67650, 0x64010, 0x645F0, 0x67460, 0x680B0, 0x68070 };
    constexpr std::uintptr_t uiPlayerColor[] = { 0, 0x18F6C0, 0x216378, 0x216380, 0x151578, 0x1516A0, 0x151828 };
    constexpr std::uintptr_t uiPools[] = { 0, 0x3DE, 0x3CD, 0x3C5, 0x3DE, 0x3DE, 0x3DE };

    // Pools
    constexpr std::uintptr_t uiPlayerPool[] = { 0, 0x8, 0x18, 0x8, 0x8, 0x4, 0x4 };
    constexpr std::uintptr_t uiObjectPool[] = { 0, 0x14, 0x4, 0x14, 0x14, 0x14, 0x18 };
    constexpr std::uintptr_t uiPickupPool[] = { 0, 0x10, 0x20, 0x10, 0x10, 0x10, 0x10 };

    // Player pool
    constexpr std::uintptr_t uiLocalID[] = { 0, 0x0, 0x4, 0x0, 0x2F1C, 0x4, 0x4 };
    constexpr std::uintptr_t uiLocalName[] = { 0, 0x6, 0xA, 0x6, 0x2F22, 0x12, 0x12 };
    constexpr std::uintptr_t uiRemotePlayer[] = { 0, 0x26, 0x2E, 0x26, 0x4, 0x2E, 0x1F8A };
    constexpr std::uintptr_t uiIsListed[] = { 0, 0xFDE, 0xFDE, 0xFDE, 0xFB4, 0xFDE, 0x2A };
    constexpr std::uintptr_t uiLocalPing[] = { 0, 0, 0x26, 0, 0, 0, 0x30 };

    // Remote player
    constexpr std::uintptr_t uiRemoteData[] = { 0, 0x8, 0x0, 0xC, 0x0, 0x10, 0x10 };
    constexpr std::uintptr_t uiRemoteName[] = { 0, 0x14, 0xC, 0x14, 0xC, 0x18, 0x18 };
    constexpr std::uintptr_t uiRemoteHealth[] = { 0, 0x1BC, 0x1BC, 0x1BC, 0x1B0, 0x1B0, 0x1B0 };
    constexpr std::uintptr_t uiRemoteArmour[] = { 0, 0x1AC, 0x1B8, 0x1AC, 0x1AC, 0x1AC, 0x1AC };
    constexpr std::uintptr_t uiRemoteAFK[] = { 0, 0x1D1, 0x1D1, 0x1D1, 0x1D1, 0x1D1, 0x1C5 };
    constexpr std::uintptr_t uiRemoteNPC[] = { 0, 0x4, 0x4, 0x4, 0x4, 0x4, 0x8 };
    constexpr std::uintptr_t uiRemoteSampPed[] = { 0, 0x4, 0x0, 0x1C, 0x0, 0x1DD, 0x1DD };
    constexpr std::uintptr_t uiRemoteGtaPed[] = { 0, 0x2A4, 0x2A4, 0x2A4, 0x2A4, 0x2A4, 0x2A4 };
    constexpr std::uintptr_t uiRemotePing[] = { 0, 0xC, 0x28, 0x4, 0x28, 0x28, 0xC };

    // Object pool
    constexpr std::uintptr_t uiObjectIsListed = 0x4;
    constexpr std::uintptr_t uiObjectInfo = 0xFA4;
    constexpr std::uintptr_t uiObjectEntity = 0x40;

    // Pickup pool
    constexpr std::uintptr_t uiPickupInfo = 0xF004;
}
 
На асме ты будешь ебаться в очко с тирепсами чтобы вывести hello word, не говоря о том чтобы написать какой-то "микросервис", "игру". Да что угодно.
На ассемблере не нужно писать долго, это иллюзия которая спадает как только ты начинаешь кодить на нем. И вывести hello world через MessageBoxA тоже не трудно если что)
Я слышу подобные аргументы от людей, которые никогда не писали на ассемблере, честно, уже смешно.
Люди тупо не учитывают, что есть также:библиотеки, макросы. Ну это пиздец какой-то)
братан реально думает, что его целевая аудитория из школьников будут учить регистры, типы данных, load/store мнемонику и самое банальное это работа со стеком, ну ни один человек в мире не будет такой хуйней заниматся, то, что в луа пишется за 5 строчек, в асме будет растянуто на 50, как ты себе представляешь например работу с SSE от васи пупкина? или если ты хочешь замакросить все и сделать через либы, то это просто будет уродски выглядищий спагетос, а не читаемый код. Ассемблер для другого используют. Надеюсь поймешь это до того, как напишешь в стол пару десятков проектов на масме или на чем ты там пишешь.

Ты кстати очень похож на чувочков из тик тока, которые всем кричат, что они пишут на каких то "сложных" в их понимании языках программирования, но вот проблема нахуй, ассемблер не безопасный, в нем нету хендлеров для ub, ты буквально сделаешь хуйню, которую нереально дебажить :roflanEbalo:

Каждое мнение субъективно.
Точно также мыслил, год назад, сидел в дискорде хуесосил типов за то что они на чистом на асме пишут.
А потом, сам начал кодить и чет понял что это была всего лишь иллюзия

И кстати, про то, как "долго" писать на ассемблере. Я одному сишнику предложил переписать один ScreenColor с ассемблера на си, он сказал что сделает это за пару часов. Пару часов прошло, он расставлял контролы, это было 5% программы)
 
Последнее редактирование:
Там все сложное, намного сложение чем ты думаешь или хочешь думать
Там это где? Все? Что конкретно "все"? Как я думаю? Или как я хочу думать? Просвети пж, я новичок в теме.
Каждое мнение субъективно.
Точно также мыслил, год назад, сидел в дискорде хуесосил типов за то что они на чистом на асме пишут.
А потом, сам начал кодить и чет понял что это была всего лишь иллюзия

И кстати, про то, как "долго" писать на ассемблере. Я одному сишнику предложил переписать один ScreenColor с ассемблера на си, он сказал что сделает это за пару часов. Пару часов прошло, он расставлял контролы, это было 5% программы)
Ну во первых хорошо было бы отстаивать свою точку зрения, а не "каждое мнение субъективное".
Во вторых мыслил так же это как?
Зачем ты хуесосил типов которые писали на чистом асме?(уточню, может ты не заметил, но типов которые пишут на ассемблере я не хуесосил ни разу) чистый асм это вообще как?

Про "про то как "долго" писать на ассемблере":
Ты бы сначала сказал за сколько была написана оригинальная программа на ассемблере которую пытался переписать сишник.

В общем налил воды.
 
Работа с регистрами это долбёжка в анус, намного легче написать print("Hello world"). Нежели подключать библиотеку, крутить макросы и ещё с бубнами танцевать чтобы нихуя не рвануло
О чем с тобой спорить? Ты уже мне проебал нарушив закон логики


Закон Тождества.
A = A
Любое утверждение в процессе спора должна быть четко определена и оставаться неизменной до конца рассуждения.

ты же в свою очередь начинаешь динамично подменять тезисы


1) сначала ты пишешь "бизнесу нахуй не нужен быстрый код", потом пишешь "дешевле поставить на 4 гига оперативки больше"

2) я тебе написал про screencolor
ты игнорируешь суть моего контрпримера и подменяешь тезис на другой

1760832591848.png

ты тупо тезисы подменяешь выдернув из моего аргумента один возможный второстепенный аспект "ошибка в оценке", фрик иди поспи)
Ну во первых хорошо было бы отстаивать свою точку зрения, а не "каждое мнение субъективное".
Во вторых мыслил так же это как?
Зачем ты хуесосил типов которые писали на чистом асме?(уточню, может ты не заметил, но типов которые пишут на ассемблере я не хуесосил ни разу) чистый асм это вообще как?
Ну, вообще да, я прям хуесосил, ладно, тут не прав.
ере я не хуесосил ни разу) чистый асм это вообще как?

Про "про то как "долго" писать на ассемблере":
Ты бы сначала сказал за сколько была написана оригинальная программа на ассемблере которую пытался переписать сишник.

В общем налил воды.
Так этот же сишник писал что ее за пару часов перепишет, он не спрашивал сколько ее писали на асме
Утверждение было: "Перепишу за пару часов", я согласился, иди, пиши, он написал только 5 процентов за пару часов, утверждение ложно
 
Назад
Сверху Снизу