Сейчас на форуме: igorcauret (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Исследование обхода по HWID
Посл.ответ Сообщение

Ранг: 0.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 08 декабря 2014 17:34 · Поправил: keon
· Личное сообщение · #1

Приветствую!

Сразу оговорюсь, что не знал в какой раздел какого форма поместить следующий вопрос, выбрал этот как более-менее подходящий по смыслу.

Немного предыстории:
Есть проект La2Crystal.com (ММО Lineage2), для запуска игры используется ланчер (La2Crystal.exe). Персонажа в игре можно задействовать в бонусной программе, если заходить в игру в течении месяца в конце получишь приз. Но голосовать с одной машины за две учетки не позволяют, думал сначала что из-за совпадения АПи, пробовал разные варианты: OpenVPN, dinamic proxy все равно определяло что я уже голосовал, и новую учетку не хотели ставить на бонусную-программу. Впрочем при заходе с ноута через туже связку ADSL-модем/роутер бонусная программа разрешала ставить новую учетку.

Сделал предположение, что ланчер сканирует машину и при логине передает HWID на сервер и там ведется сравнение, в связи с этим возникают вопросы и прошу технически проконсультировать:

1) Какие HWID может считывать этот ланчер? какие вообще доступны для считывания HWID на компьютере сторонним программам (кстати этот ланчер просит админских прав, иначе не запускается)

2) Можно ли симулировать (сгенерировать) HWID, чтобы подсунуть их ланчеру? (пробовал менять HWID различных устройств: мак адрес сетевой карты, ID разделов диска и прочие через разные утилиты - не помогло)

3) Можно ли отловить "пакеты" от ланчера и понять какие данные он считывает, чтобы сформировать нужный "пакет" и его отправлять на сервер при логине, чтобы обойти механику ланчера?

Хотелка: в идеале хотелось запускать "шарманку" с одного рабочего места и при помощи "манипуляций" менять HWID и повторными учетками участвовать в бонусной программе.

Приложения:
Результат анализа ланчера La2Crystal.exe программой Detect It Easy - --> Link <--
Сам ланчер La2Crystal.exe упакованный в ZIP - --> Link <--




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 08 декабря 2014 17:58
· Личное сообщение · #2

1. Какие угодно, брать и софт смотреть надо, а не гадать.
2+3. Всё можно, если брать и делать.
Что было самостоятельно проделано в плане исследования софта, а не гадания? Если ничего, то в поиск специалистов.




Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 08 декабря 2014 18:07
· Личное сообщение · #3

keon пишет:
1) Какие HWID может считывать этот ланчер? какие вообще доступны для считывания HWID на компьютере сторонним программам (кстати этот ланчер просит админских прав, иначе не запускается)

Какие угодно - серийне номера томов, кол-во дисков, как физических, так и логических, ревизия, модель, степпинг процессора...

keon пишет:
2) Можно ли симулировать (сгенерировать) HWID, чтобы подсунуть их ланчеру? (пробовал менять HWID различных устройств: мак адрес сетевой карты, ID разделов диска и прочие через разные утилиты - не помогло)

Найти и перехватить функцию, образующую пакет для отправки.

keon пишет:
3) Можно ли отловить "пакеты" от ланчера и понять какие данные он считывает, чтобы сформировать нужный "пакет" и его отправлять на сервер при логине, чтобы обойти механику ланчера?

Снифер в руки и вперёд. Рекомендую WireShark, Fiddler (если по http через WinInet). Но скорей всего, в пакете преобразованные ид устройств

Если не помогает смена ид устройств, то скорей всего либо файлик где-нить в Application Data, либо ключ в реестре. Попробуйте файловый монитор, регистри монитор.

-----
IZ.RU


| Сообщение посчитали полезным: keon

Ранг: 0.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 08 декабря 2014 18:33
· Личное сообщение · #4

DenCoder пишет:
Найти и перехватить функцию, образующую пакет для отправки.

не подскажете чем можно перехватить эту функцию (утилиту/программу)?

спасибо за набор утилит, теперь есть с чем продолжить исследование дальше




Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 08 декабря 2014 20:02
· Личное сообщение · #5

Для поисков
IDA для статического анализа
OllyDbg для отладки

Олькой и можно на первых порах брякнуть найденную (в будущем) функцию и посмотреть вход/выход.
Специальных волшебных утилит, делающих то, чего бы не смогли сниферы, мониторы - нет!

Дальше, для подмены либо пишете/заказываете свой лоадер.
Как другой вариант - в hosts перенаправляете на localhost все запросы к серверу и пишете/заказываете простенький локальный сервер, который посылает программе в ответ известный (в Вашем будущем) "правильный" пакет

-----
IZ.RU




Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 09 декабря 2014 07:19
· Личное сообщение · #6

DenCoder пишет:
OllyDbg для отладки

keon пишет:
Результат анализа ланчера La2Crystal.exe программой Detect It Easy - --> Link <--

там .NET Reactor 4.9-4.8 со всеми вытекающими отсюда .NET Сначала нужно решить проблему с ним, а потом уже HWID. Ну или попытать счастье в обход: снифать что принимается и отсылается на сервер. Однако, с учетом того, что трафик наверняка шифруется, толку от этого может не быть вообще.



Ранг: 29.3 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 16 декабря 2014 02:02
· Личное сообщение · #7

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



Ранг: 2.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 02 января 2015 19:12 · Поправил: kifir4ik
· Личное сообщение · #8

код программы обфусцирован.
когда-то админил сервер линейки hwid генерируется с серийника винта, мак адреса и номера камня.
Используется по разному либо в чистом виде или в связке например hdd+mac



Ранг: 92.1 (постоянный), 83thx
Активность: 0.110
Статус: Участник

Создано: 02 января 2015 21:59
· Личное сообщение · #9

Я такого странного быдлокода ещё не видел -> вот как авторизация проходит
--> Link <--



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 03 января 2015 10:25
· Личное сообщение · #10

vovanre пишет:
Я такого странного быдлокода ещё не видел -> вот как авторизация проходит

там должен быть switch...case


| Сообщение посчитали полезным: Hellspawn

Ранг: 92.1 (постоянный), 83thx
Активность: 0.110
Статус: Участник

Создано: 03 января 2015 11:37
· Личное сообщение · #11

ELF_7719116 пишет:
там должен быть switch...case

Тоесть вы хотите сказать что реактор вот так раскладывает swith case'ы ?
http://prntscr.com/5nwn51

Я в шоке.



Ранг: 88.2 (постоянный), 58thx
Активность: 0.110.04
Статус: Участник

Создано: 03 января 2015 12:33
· Личное сообщение · #12

Давай так
1. Class13.smethod_0 Генерирует HWID
7695F4776AA2D2DAD591AAC2500DFFBF вот мой

Code:
  1.    if (string.IsNullOrEmpty(Class13.string_0))
  2.    {
  3.        try
  4.        {
  5.            Class13.string_0 = Class13.smethod_1("BIOS=" + Class13.smethod_5() + "\nBASE=" + Class13.smethod_6());
  6.        }
  7.        catch
  8.        {
  9.            Class13.string_0 = Class13.smethod_1(Environment.MachineName);
  10.        }
  11.    }
  12.    return Class13.string_0;

По коду можно понять что Hwid Гениться по Bios и мамке
Но если он не смог взять это
то Берет Имя пользователя
И это все сверху накрывается MD5
после этого как он взял хвид
Code:
  1. private int method_14(string string_10, string string_11)
  2. {
  3.    int result = -1;
  4.    try
  5.    {
  6.        string text = Class13.smethod_0();
  7.        WebClient webClient = new WebClient();
  8.        string s = webClient.DownloadString(string.Concat(new string[]
  9.        {
  10.            this.string_3,
  11.            "?login=",
  12.            string_10,
  13.            "&paswd=",
  14.            string_11,
  15.            "&hwid=",
  16.            text
  17.        })).Trim();
  18.        result = int.Parse(s);
  19.    }
  20.    catch
  21.    {
  22.        result = -1;
  23.    }
  24.    return result;
  25. }

Берет Ответ
Если же не получилось достучаться то возвращает -1
Что тебе еще не понятно?

| Сообщение посчитали полезным: Jupiter
 eXeL@B —› Вопросы новичков —› Исследование обхода по HWID
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати