HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Реверсинг
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 17.09.2009, 10:53
Kaimi
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
С нами: 9851426

Репутация: 1676


По умолчанию

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

  #12  
Старый 17.09.2009, 12:12
lis84
Познающий
Регистрация: 28.04.2009
Сообщений: 61
С нами: 8967404

Репутация: 37
По умолчанию

Цитата:
Сообщение от zeppe1in  
lis84
ну да, рефлектором надо. любой деобфускатор заюзать что бы в читаемый вид переименовал все функции. потом тут все строки зашифрованы, если их расшифровать то всё будет как на ладони).
рипнуть функцию которая их расшифровывает не проблемма, но вручную каждую строку смотреть запара хотя я нашол таки место проверки серйника. надо теперь проитись по всем функциям и заменить вызов расшивровщика на саму строку.)
------
открываеш в рефлекторе, F3 и щеш строки и константы "-2048782763" он найдёт одну функцию
а вней
Код:
            if ((this.​  || this.  ) && (this.(this.  , this..Text) !=  .(-2048733781)))
                {
                    return;
                }
это и есть онлайн проверка.
вот декодер строк http://www.sendspace.com/file/lswugk
вставлять цифры без минуса. и должен лежать в папке с ботвой.
Не могу в упор найти эту строку.

Кстати огромное спасибо за то что подсказал рефлекси. Теперь я понимаю что лезть с отладчиком в .net это глупо там всё гораздо проще.

Вылечил проверку версии, вылечил серийный ключ локальный. Не могу найти где глобальная проверка (через интернет которая)
 
Ответить с цитированием

  #13  
Старый 17.09.2009, 12:58
zeppe1in
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
С нами: 10437270

Репутация: 117
По умолчанию

ты в рефлекторе ищеш? просто DisSharp например кривовато декомпилит.
процедуру то находиш? там в поиске предпоследний квадратик нажать надо)
а в самой процедуре уже смотри цифру "-2048733781", что значит active. там идёт вызов процедуры которая отправяет инфу на сервер и проверяется ответ равен ли он слову active.
пс: почему декодер на запускается очень интерестно он хоть говорит чтонибудь?)
 
Ответить с цитированием

  #14  
Старый 17.09.2009, 13:14
lis84
Познающий
Регистрация: 28.04.2009
Сообщений: 61
С нами: 8967404

Репутация: 37
По умолчанию

Честно говоря в дисшарпе 3,1,4 код гораздо более читабельный

У меня в рефлекторе такой цифры почему то не находится. Нашёл от обратного

нашёл функцию проверки

Код:
private void (object , EventArgs )
{
    if ((this..Text == string.Empty) || (this..Text == string.Empty))
    {
        MessageBox.Show( .(847473461));
    }
    else if (this. .Items.Count == 0)
    {
        MessageBox.Show( .(847473376));
    }
    else
    {
        this. ();
        try
        {
            this.   = this.  .SelectedItem.ToString().Replace(this.  .SelectedItem.ToString().Split(new char[] { ':' })[0] +  .(847489944), string.Empty).Trim();
        }
        catch (Exception)
        {
            MessageBox.Show( .(847473241));
            return;
        }
        if (!(this.   == string.Empty))
        {
            try
            {
                if (this.())
                {
                    return;
                }
            }
            catch (Exception)
            {
                return;
            }
            try
            {
                if ((this.   || this.  ) && (this.(this.  , this..Text) !=  .(847489656)))
                {
                    return;
                }
            }
            catch (Exception)
            {
                return;
            }
            if ((this.  .SelectedIndex == 0) || (this.  .SelectedIndex == 2))
            {
                this.   =  .(847480486);
            }
Собственно место

Код:
   try
            {
                if ((this.   || this.  ) && (this.(this.  , this..Text) !=  .(847489656)))
                {
                    return;
                }
            }
            catch (Exception)
            {
                return;
            }
Очень похоже на то что ты говоришь но вот незадача (

В виде опкода

L_014c: ldc.i4 847489656
L_0151: call string  ::(int32)
L_0156: call bool [mscorlib]System.String:p_Inequality(string, string)
L_015b: brfalse L_0162
L_0160: leave.s L_0109

При смене перехода L_015b: brfalse L_0162 на противоположный, получаю exception

UPD. Туплю уже просто. Заменял не на противоположный, а на безусловный.

Всё хоткей. теперь подумаю как вырезать стук к серверу вообще. Ибо х.з что придумает автор, может парсить будем мыла халявщиков

Последний раз редактировалось lis84; 18.09.2009 в 11:55..
 
Ответить с цитированием

  #15  
Старый 17.09.2009, 14:49
lis84
Познающий
Регистрация: 28.04.2009
Сообщений: 61
С нами: 8967404

Репутация: 37
По умолчанию

Всем подсказывающим огромное спасибо.
Доломал до красоты, с пропуском обращения на сайт авторов вообще.
Решил потестить, а он не работает зараза )) . В смысле к игре подключиться не может.
Как ломанный, так и не ломанный )
Впрочем главное эстетическое удовольствие и то что я теперь знаю с какого бока подходить к .net
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хакер и закон! SladerNon Болталка 17 12.11.2009 09:42
Исследователь выпускает утилиту для сокрытия вредоносных программ в .Net --StraNger-- Мировые новости. Обсуждения. 0 21.04.2009 05:42
Хостинги под всё! »Atom1c« ПО для Web разработчика 29 10.02.2009 17:56
Установка Windoze глазами линуксоида (100% факты) nerezus Болталка 47 16.10.2005 15:06



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.