Сейчас на форуме: bartolomeo, asfa, _MBK_, Adler (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Снял протектор и деобфусцировал - что дальше?
Посл.ответ Сообщение

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

Создано: 12 декабря 2011 20:27 · Поправил: Alorien
· Личное сообщение · #1

Доброго вечера, уважаемое сообщество.

Суть вопроса:
Решил поиграть в старую браузерку, но т.к качаться до хай-лвл самому лень, нашел бота. Бот сделан основательно, автор за регу просит 10 евро. Денег не жалко, но автор закрыл лицензирование до 28.12.2011. Интерес к взлому программ был у меня давно, а раз появилась причина к изучению материала, то не стал её упускать. Это к слову вступление
Знания были практические нулевые, начал с основ - гугля и форумы. На форуме нашел автора с похожей проблемой --> ТУТ <--. Тема годичной давности и тогда автор похоже не сумел сломать программу. В моем случае используется онли протекция по Hardware ID - никаких триалов и демо. Дальше наги не пускает. Вообщем снял дамп Dotnet_Dumper'ом, потом прошелся Reactor_decryptor + universal_fixer и в SAE сделал деобфускацию (потом нашел de4dot и оказалось, что его одного хватило). На этом дело практически встало. И вопрос тут вот в чем:
Покопавшись немного в файлах, понял, что прога спокойно запускается, если скинуть *.exe + license.dll в корневой каталог, но вылетает (просто вылетает, без крита) при загрузки библиотек (хз верно ли понял, но при встает при загрузки логина-пароля, поэтому как мне кажется именно библиотеки dll). Reflector отображает все нормально, без нечитаемых символов, но информация в нем мало мне чего говорит. По идее мне сейчас нужно изучить основы dotNet и разобраться как идет обращение к файлу лицензии и ...сделать что-то . Но не хотелось в процессе уткнуться в тупик, т.к:
1) Я не знаю насколько правильно сделал снятие протекта и деобфускацию (работа первая, опыта нету в понимании о правильности действий)
2) Надо ли копать в exe или в dll? Уж больно просто снялся протект. Сейчас хоть прога и отрубается, но нага не появляется. А для запуска надо лишь наличие в корне с ботом license.dll снятого дампом (в оригинале файла небыло). Без license деобфусцированный exe'шник виснет при открытии.

По минимуму хотелось бы получить ссылки, могущие помочь со взломом проги или указание в каком месте копать файлы и какие.
По максимуму было бы неплохо получить руководство к действию, хотя сомневаюсь, что там мне все и выложат xD. (да и удовольствия от конечного решения получу меньше, но все же...)

P.S Конечно я понимаю, что программу для изучения основ взлома выбрал не самую удачную. Стоило бы начать с простеньких crackme на .Net - но что есть, то есть. Решив заняться этим всерьез, я перелопатил за 5 дней и 3 ночи, около 40 сайтов, не меньше сотни статей, пересмотрел около двух десятков видео ютуб по взлому (анлиш вер.)
Если надо готов пересмотреть столько же и больше, только хочется быть уверенным в конечной применимости усилий к делу.




Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 12 декабря 2011 21:03 · Поправил: zeppe1in
· Личное сообщение · #2

Alorien пишет:
1) Я не знаю насколько правильно сделал снятие протекта и деобфускацию

99% вероятность, что де4дот сделал всё правильно)
Alorien пишет:
2) Надо ли копать в exe или в dll?

фаило не смотрел, но предположу что это реакторская дллка. Тебе достаточно убрать/поправить все обращения к ней и всё должно быть окей.
http://www.eziriz.com/help/sdk_license.html
вот например как работают с этой длл.

-----
zzz


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

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

Создано: 12 декабря 2011 23:33 · Поправил: Alorien
· Личное сообщение · #3

to zeppe1in

Оу, не ожидал, что так быстро и информативно ответят >_< спасибо вам за это.
Приятно получать полезные и короткие ответы, на свои большие и явно глупые (для многих здесь) вопросы.

И пока тут такая благосклонность, хотелось бы узнать ещё некоторые вопросы, которые слегка интересуют.
1) Как я понимаю при первом запуске происходит считывание файлом *.exe файла license.dll и при нахождении открывает приложение. Но при дальшейнем входе в программу срабатывает защита на отсутствие файла *.license и прога закрывается. При удалении dll'a программа при первичном запуске не находит его и сразу же критует. Я правильно понял принцип?
2) Пускай я не особо сейчас понимаю работу .Net приложений, но статейки в избранном есть и пару книг введения тоже имеется. Изучу и разберусь, если что, думаю подскажут .
Но не выходит ли так, что метод "онли Hardware ID" самый простой для взлома при протекте Net Reactor'om, есстественно при наличии таких прог как do4net и Реактор_декриптор? Ведь тут достаточно отучить exe'шник от license.dll и прога рабочая. И пусть для меня это сложность, найти что-где-как, но для опытного взломщика это не должно занять много времени. Достаточно снять дамп программы, чтобы убрать Наги окно (которое,как я думал, будет непреодолимым препятствием, когда только начинал изучать это дело). Ни тебе поиска рег.данных в коде, ни способов убрать триал рег...Или я не прав?




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

Создано: 13 декабря 2011 12:51
· Личное сообщение · #4

Alorien пишет:
Но не выходит ли так, что метод "онли Hardware ID" самый простой для взлома при протекте Net Reactor'om, есстественно при наличии таких прог как do4net и Реактор_декриптор? Ведь тут достаточно отучить exe'шник от license.dll и прога рабочая. И пусть для меня это сложность, найти что-где-как, но для опытного взломщика это не должно занять много времени. Достаточно снять дамп программы, чтобы убрать Наги окно (которое,как я думал, будет непреодолимым препятствием, когда только начинал изучать это дело). Ни тебе поиска рег.данных в коде, ни способов убрать триал рег...Или я не прав?


Ты разраб проги походу и хочешь узнать как лучше защитить =)

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

Ранг: 137.9 (ветеран), 45thx
Активность: 0.080
Статус: Участник

Создано: 13 декабря 2011 15:12
· Личное сообщение · #5

Alorien
Если цена твоей программы будет меньше чем стоит взлом, ее тогда ломать никто не будет. Ставь 10$ и никто не будет ломать.
З.Ы. Хочешь сделать хорошую защиту, напиши свою.



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

Создано: 13 декабря 2011 15:42
· Личное сообщение · #6

to Airenikus

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

А писал я это лишь с целью понять принцип защиты Нет реактором. Возможно когда-нибудь, когда я начну (если начну) писать программы на .Net тогда и пригодится это знание. А сейчас простое любопытство.

to yanus0
Чтобы написать свою хорошую защиту, надо знать, как ломаю чужую защиту...или нэ?



Ранг: 137.9 (ветеран), 45thx
Активность: 0.080
Статус: Участник

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

Alorien
Все это очеееееень дорого в соотношении затрат и потраченного времени...




Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 13 декабря 2011 16:34
· Личное сообщение · #8

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



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

Создано: 13 декабря 2011 18:08
· Личное сообщение · #9

to Dart Sergius,yanus0

Это все конечно хорошо, но пока ничего конкретного вы не сказали по моему второму посту. Я конечно понимаю, что паранойя exelab очень забавна, когда каждое сообщение пользователя о принципах защиты или ломаемости программы воспринимаются, как от самого создателя программы, но уверяю вас - мне до этого ещё далековато. Просто имею не самую приятную привычку "здесь и сейчас", а не "тогда и потом" - вот и интересуюсь у людей знающих, для которых такие вещи понятны и интуитивны. Раз все равно что-то пишите, может подскажите по сути вопроса?




Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 13 декабря 2011 18:44
· Личное сообщение · #10

Alorien, по твоему второму посту:
1. у тебя license.dll зашит в импорт, без него никак не запустишься
2. я думаю тебе надо копать в сторону исследования файла лицензии. Считывание оттуда данных(сначало ваще любое туда напихай и смотри как прога их обрабатывает)
Если разобрать алгоритм, то можно либо штучно сделать файл регистрации, либо написать прогу генерирующую файлы лицензии.


Alorien пишет:
Пускай я не особо сейчас понимаю работу .Net приложений

мне кажеться ты не очень понимаешь принцип работы приложений



Ранг: 15.1 (новичок), 5thx
Активность: 0.010
Статус: Участник

Создано: 13 декабря 2011 20:59
· Личное сообщение · #11

Alorien, посмотри вызовы Application.Exit();

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


Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 13 декабря 2011 21:14 · Поправил: zeppe1in
· Личное сообщение · #12

Dart Sergius
мне кажеться ты не очень понимаешь принцип работы .Net приложений и реактора
Alorien
1. ну примерно так.
2. ты прав)

-----
zzz





Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 13 декабря 2011 21:28
· Личное сообщение · #13

zeppe1in, а сори, это же net =\



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

Создано: 14 декабря 2011 20:46 · Поправил: Alorien
· Личное сообщение · #14

Усё, всем спасибо за помощь - программа вскрылась



Ранг: 15.1 (новичок), 5thx
Активность: 0.010
Статус: Участник

Создано: 14 декабря 2011 22:14
· Личное сообщение · #15

Работать будет нормально (если не покупать лицензию). Можно целиком убрать эту проверку, но она там не одна . Посмотри в рефлекторе где еще используется p_licenseHardwareLocked.
В нескольких функциях такой код

Code:
  1. if (!this.p_licenseHardwareLocked && (this.SLogin.Text.ToLower() != this.p_licenseName.ToLower()))
  2.     {
  3. ...
  4. Application.Exit();
  5. }




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

Создано: 14 декабря 2011 23:02 · Поправил: Alorien
· Личное сообщение · #16

Такс, все разобрал. Закрываю


 eXeL@B —› Вопросы новичков —› Снял протектор и деобфусцировал - что дальше?
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати