Добро пожаловать на BlackSAMP - ФОРУМ

  • Приватные и секретные разделы доступны только зарегистрированным пользователям.

    Вся важная информация в нашем ТГ: t.me/gtablack

    На данном форуме запрещено публиковать контент нарушающий Российское законодательство, за это последует блокировка ФА.

Реверсим libsamp.so

jameshack

𝐂𝐇𝐀𝐍𝐄𝐋 𝟏
Пользователь
Регистрация
17 Авг 2024
Сообщения
41
Реакции
7
Баллы
28
В этом гайде я вам покажу способ реверса либы сампа, мы преобразуем псевдокод, пропишем битстрим и узнаем параметры клиент джоина.

Что нам нужно для начала?
умелые ручки и Ida pro + hexrays(IDA Pro)

Теперь, возьмем нашу либку
1704393756182.png
закинем в аиду
1704393778448.png
тут выбираем ELF to ARM
1704393813210.png
создадим псевдокод нашей либы ctrl + f5
либа декомпилировалась, откроем ее
после того как мы открыли ее перед нами стоит такая картина
1704394401736.png
среди всего этого нам предстоит найти параметр RPC_ClientJoin, и тут нам поможет расшифрованная мной либа, я приложу ее ниже, открываем ее
1704394502199.png
как мы видим, тут уже попроще, воспользуемся ctrl + f и впишем RPC_ClientJoin
1704394563021.png
как видим, нашлось, теперь как нам найти этот момент в нашей либе которую мы реверсим, как мы видим мы нашли Int, и в конце есть определенние айди рпс, попробуем найти таким методом, что ж как и ожидалось найти таким методом мы ничего не сможем, поэтому перейдем к рпс 25 в расшифрованной либе
1704394805368.png
здесь мы находим вот такие вот данные, обратим внимание на параметр с текстом "0.3.7" это является версией клиента, попробуем поискать такой же параметр в либе которую мы реверсим
1704394869720.png
воуаля, мы находим этот момент но в нашей зашифрованной либе, перейдем теперь к расшифровке этих данных, воспользуемся нашей расшифрованной либой.
начнем расшифровывать битстрим
если вы встретите такеие вот данные то не бойтесь, это всегда параметр iVersion, то есть 4057, он статический и никогда не меняется
1704394966043.png
Дальше не позволяет форум так что ниже
 

Вложения

  • 1704395098111.png
    1704395098111.png
    78.9 KB · Просмотры: 2

jameshack

𝐂𝐇𝐀𝐍𝐄𝐋 𝟏
Пользователь
Регистрация
17 Авг 2024
Сообщения
41
Реакции
7
Баллы
28
так вот создали бистрим
1704395098111.png
теперь, наша задача узнать какими битами записываются эти параметры.
для этого обратим внимание на расшифрованную либу
1704395153011.png
это и есть наши биты, то есть
параметр iVersion записывается битстримом в 32 бита
параметр byteMod записывается битстримом в 8 битов
параметр authkey записывается стрингом
параметр authkeylen записывается битстримом в 8 битов
параметр clientver записывается битстримиом в 8 битов
параметр сlientverlen записывается битстримом в 8 битов
теперь напишем хук нашего 25 рпс исходя из полученных данных, писать будем на Lua.
Удачки!
 

jameshack

𝐂𝐇𝐀𝐍𝐄𝐋 𝟏
Пользователь
Регистрация
17 Авг 2024
Сообщения
41
Реакции
7
Баллы
28
Короткий способ нажимаем SHIFT + F7 и пишем "0.3.7" => и если нам повезёт, мы увидим наш clientjoin
 
Сверху Снизу