Русский / Russian English / Английский

Сейчас на форуме: zxc3214v, figgler, Odin, Medsft (+5 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Основной форум —› Inprocess COM под защитой FlexLM
Посл.ответ Сообщение

Ранг: 7.2 (гость)
Статус: Участник

Создано: 9 января 2007 01:24 New!
Цитата · Личное сообщение · #1

Есть Inprocess COM Server с библиотекой типов, в виде dll
Попытка вызова некоторых ключевых методов требует наличия lic-файла.
Защита FLEXnet Licensing (v10.8.0 build 18869)

Как такое вообще ломать?

Написал небольшую программку, которая создаёт кокласс, вызывает интересующий меня метод и получает "по ушам", но при этом никаких визуальных эффектов типа MessageBox не происходит, просто возвращается сообщение. Пытался трассировать через olly, запутался в бесконечных rpc-вызовах. Это же не обычная dll-ка, это COM-сервер.

В тупике. Посоветуйте что-нибудь.


Ранг: 50.7 (постоянный)
Статус: Участник

Создано: 9 января 2007 02:36 New!
Цитата · Личное сообщение · #2

Генерить лицензию, если требуется - дополнительно обламывать проверку SIGNа(-ов). Вобщем - как всегда. С флексом нужно по накатаной дорожке работать, а не пытаться велосипед изобретать.

Ранг: 352.4 (мудрец)
Статус: Участник
retired

Создано: 9 января 2007 02:40 New!
Цитата · Личное сообщение · #3

Tilir
а вендор какой?

Ранг: 7.2 (гость)
Статус: Участник

Создано: 9 января 2007 03:19 New!
Цитата · Личное сообщение · #4

Я вообще хотел пропатчить собственно dll-ку - то есть найти процедуру, которая защищена, брякнуть, отследить обращение к защите, убрать его... Но вот найти-то я её и не могу - просто не знаю за что зацепится - явно эта функция не экспортируется, вызывается только через COM. Bpx поставить вообще не на что. Кстати даже в оторванном от этого случая виде вопрос интересен - как найти заданную, прописанную в библиотеке типов функцию внутри COM-сервера? Где-то же должен её адрес лежать?

2SSX:
Вендор разработки той же компании, что и dll.

2rC:
А не могли бы вы кинуть пару-тройку ссылок про "как обычно". Нашёл кое-что на wasm.ru, но там совсем не такие случаи. Гугль вообще издевается. А для меня взлом флекса совсем не обычен.

Ранг: 352.4 (мудрец)
Статус: Участник
retired

Создано: 9 января 2007 04:23 New!
Цитата · Личное сообщение · #5

Tilir
я имел в виду vendor name

возьми сигнатуры, примени в иде, найди lc_checkout() -> xor eax,eax / retn - в самом простом случае это все

Ранг: 7.2 (гость)
Статус: Участник

Создано: 10 января 2007 00:41 New!
Цитата · Личное сообщение · #6

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

Ранг: 390.9 (мудрец)
Статус: Участник

Создано: 10 января 2007 00:44 · Поправил: BfoX New!
Цитата · Личное сообщение · #7

Tilir пишет:
Или дать ссылку на поясняющий это электронный материал.


woodmann.com/crackz/Flexlm.htm


Ранг: 334.2 (мудрец)
Статус: Участник
born to be evil

Создано: 10 января 2007 11:38 · Поправил: ajax New!
Цитата · Личное сообщение · #8

По большому счету, у crackz туторы просто песец. Ищите аьтернативу - типа русские и самопалы чьи-нибудь, если вы не офигенный математик и готовы посвятить полгодика на изучение flexlm. По версиям 10-11 скажу, что ничем они не отличаются от предыдущих по сути. CRO, TRL - фигня все, патчится. А вот если фильтры стоят на checkout - тут надо будет подумать, причем в 10 и 11 версиях есть очень неприятные вещи (set_attr 105/106, кто знает, тот поймет ...


Ранг: 50.7 (постоянный)
Статус: Участник

Создано: 10 января 2007 11:51 New!
Цитата · Личное сообщение · #9

ajax пишет:
По большому счету, у crackz туторы просто песец. Ищите аьтернативу - типа русские и самопалы чьи-нибудь, если вы не офигенный математик и готовы посвятить полгодика на изучение flexlm. По версиям 10-11 скажу, что ничем они не отличаются от предыдущих по сути. CRO, TRL - фигня все, патчится. А вот если фильтры стоят на checkout - тут надо будет подумать, причем в 10 и 11 версиях есть очень неприятные вещи (set_attr 105/106, кто знает, тот поймет


Такой отзыв о туторах Crackz - явное свидетельство того, что "критик" поленился вдумчиво почитать. Самопальные туторы обычно сводятся к списку мест которые нужно пропатчить, у crackz же - достаточно подробное описание для составления своего мнения о FlexLM (да и не только) и выработки подхода к этой защите.

На туторах "перейти туда то, найти такие-то байты, заменит на то-то" далеко не уедешь...


Ранг: 334.2 (мудрец)
Статус: Участник
born to be evil

Создано: 10 января 2007 12:05 · Поправил: ajax New!
Цитата · Личное сообщение · #10

rC пишет:
Такой отзыв о туторах Crackz - явное свидетельство того, что "критик" поленился вдумчиво почитать.

Такое чувство, что уважаемый rC дальше первого предложения мое сообщение не читал...
Ну, а если у crackz так все чудно описано, расскажи нам, прошедшим flexlm от 5 до 11, не по его туторам,
и смотревших сырки флекса 9.2, что же делать с последними версиями Никого не критиковал, туторы
nolan blender'a были очень хороши, но они морально устарели, кста, nolan учил меня в свое время...


Ранг: 50.7 (постоянный)
Статус: Участник

Создано: 10 января 2007 12:13 · Поправил: rC New!
Цитата · Личное сообщение · #11

ajax пишет:
Ну, а если у crackz так все чудно описано, расскажи нам, прошедшим flexlm от 5 до 11, не по его туторам,
и смотревших сырки флекса 9.2, что же делать с последними версиями


Я в репетиторы не нанимался.

ajax пишет:
Никого не критиковал, туторы
nolan blender'a были очень хороши, но они морально устарели, кста, nolan учил меня в свое время...


Пальцы веером.... И топик вроде как не о том, кто кого учил.


Ранг: 334.2 (мудрец)
Статус: Участник
born to be evil

Создано: 10 января 2007 12:52 · Поправил: ajax New!
Цитата · Личное сообщение · #12

rC: Не нанимался, не понтуйся. Если есть мнение, что туторы нормальные - выскажи без ссылок на предыдущих высказывающихся. Об учебе - это про туторы нолана, и что они были полезны. Тема закрыта, хочешь высказаться - в приват.

Ранг: 7.2 (гость)
Статус: Участник

Создано: 11 января 2007 02:02 New!
Цитата · Личное сообщение · #13

2BfoX: Спасибо, внимательно посмотрел материал. Он, конечно, для меня сложноват, но кое-что я понял.

Во-первых сигнатуры - это nms-файл, применять их в ИДА я оказывается умею, вот только вендор-демон у меня нестандартный, поэтому взять этот файл мне неоткуда. Поэтому остаются проблемы с идентификацией функций вида lc_xxx

Во-вторых я понял, что лезть внутрь флекса мне пока не стоит

Но проблема остаётся и я в общем-то не особо приблизился к её решению. У меня есть COM-сервер, который хочется пропатчить. При этом он целиком и полностью реализует логику, у него нет никаких внешних проявлений (типа MessageBox или диалоговых окон). Я знаю (по имени) какая конкретно из функций защищена, написал программу, чтобы вызывала её через COM, но я не понимаю, как мне поставить прерывание на входе в неё. Значит я не могу найти её и в дизассемблированном листинге.

Хуже всего, что этот сервер написан так, что грузится в dllhost, а не в адресное пространство моей программы.

Я прошу ещё какого-нибудь совета, любых идей.

Ранг: 390.9 (мудрец)
Статус: Участник

Создано: 11 января 2007 02:12 New!
Цитата · Личное сообщение · #14

Tilir пишет:
Во-первых сигнатуры - это nms-файл, применять их в ИДА ...


Странно, всегда считал, что это для SI. А для ИДА - sig.

вот только вендор-демон у меня

Так залей его куда-нибудь, поглядим.

Если есть вопросы - стучи в ПМ или аську.

Ранг: 310.8 (мудрец)
Статус: Участник

Создано: 11 января 2007 02:34 New!
Цитата · Личное сообщение · #15

Tilir пишет:
Во-первых сигнатуры - это nms-файл, применять их в ИДА я оказывается умею

NMS - это не сигнатуры. Это карта имен конкретного модуля. Действительно есть конверторы их в IDA.
Сигнатуры можно построить самому имея библиотеку из SDK для flexlm соответствующей версии.

Tilir пишет:
Хуже всего, что этот сервер написан так, что грузится в dllhost

Это не сервер написан так, а это идеология COM. По другому быть не может. Цеплять отладчик и дизасмить нужно именно для сервера - клиент скорее всего ничего не проверяет сам.

Ранг: 352.4 (мудрец)
Статус: Участник
retired

Создано: 11 января 2007 03:56 · Поправил: ssx New!
Цитата · Личное сообщение · #16

Tilir пишет:
Поэтому остаются проблемы с идентификацией функций вида lc_xxx

checkout() найти можно по некоторым ее половым признакам - посмотри например исходники флекса (много где есть) - там все видно.

ajax,rC - давайте не будем меряться ... кто кого чему учил и с какой версии флекса начинал. лично я со 2-ой под солярку. исходников 9.2 тогда еще не было

ajax пишет:
кста, nolan учил меня в свое время...

"Сколь ни рисуй себя с великими -
Не станешь лучше рисовать."
-Градский

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

Создано: 11 января 2007 04:17 New!
Цитата · Личное сообщение · #17

Господа, может все-таки вернуться к теме? Поддерживаю ssx, пусть автор темы сообщит, хотя бы, имя вендора, может и сиды найдутся


Ранг: 50.7 (постоянный)
Статус: Участник

Создано: 11 января 2007 04:49 New!
Цитата · Личное сообщение · #18

blacksea пишет:
Господа, может все-таки вернуться к теме? Поддерживаю ssx, пусть автор темы сообщит, хотя бы, имя вендора, может и сиды найдутся


Имя вендора без проблем можно найти самому.

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

Создано: 11 января 2007 04:54 New!
Цитата · Личное сообщение · #19

rC пишет:
Имя вендора без проблем можно найти самому

Замечательно, автору влом, а мы кинулись искать вендор
"Спасение утопающих, дело рук самих утопающих"


Ранг: 50.7 (постоянный)
Статус: Участник

Создано: 11 января 2007 05:03 New!
Цитата · Личное сообщение · #20

Автор попробовал сделать по-своему, не почитав доки. А теперь хочет чтобы ему принесли решение на блюдечке. Фигушки. Линки на доки ему дали (от себя порекомендую прочесть еще и вот это dongle.ru/flex_zxg32.html) - пускай читает и делает правильно

Ранг: 7.2 (гость)
Статус: Участник

Создано: 12 января 2007 00:15 New!
Цитата · Личное сообщение · #21

Я вовсе не хочу ничего "на блюдечке", наоборот очень хочется сломать самому, чтобы научиться. Поэтому и вендор демона выкладывать никуда не буду, пока сам не поломаю.

Насколько я понял, мне нужно сделать две вещи:

1) Найти где-нибудь исходники FlexLM 10.8
2) Собрать их, чтобы получить файл сигнатур

Что делать дальше, я уже знаю.

Я сейчас ищу эти исходники, но что-то везде до девятки.

Вообще, спасибо, всем участвующим в обсуждении, происходит очень сильное просветление в голове
Если кто-нибудь видел исходники флекса 10.8, киньте плиз ссылочку.

2rC: спасибо за ресурс, очень интересный материал. Сейчас читаю.

Ранг: 352.4 (мудрец)
Статус: Участник
retired

Создано: 12 января 2007 02:10 New!
Цитата · Личное сообщение · #22

Tilir
зачем тебе исходники? (да и не найдешь их) чтобы создать сигнатуры достаточно .lib из SDK

Ранг: 7.2 (гость)
Статус: Участник

Создано: 12 января 2007 04:27 New!
Цитата · Личное сообщение · #23

Я нашёл все SDK вплоть до 9.5 вот здесь:

ftp://ftp.globes.com/flexlm/windows/

А 10.8 так и не нашёл.

Ранг: 7.2 (гость)
Статус: Участник

Создано: 12 января 2007 04:28 New!
Цитата · Личное сообщение · #24

Извиняюсь, погорячился, там нифига нет. Лучшее что есть это 9.2

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

Создано: 12 января 2007 05:28 New!
Цитата · Личное сообщение · #25

Tilir пишет:
2) Собрать их, чтобы получить файл сигнатур

Если для Иды, то сигнатуры для flexlm v.10 достаточно давно (26.10.2005) уже получены

Ранг: 7.2 (гость)
Статус: Участник

Создано: 12 января 2007 06:39 New!
Цитата · Личное сообщение · #26

Вы меня очень обнадёжили. А где их можно посмотреть, не подскажете?

Ранг: 310.8 (мудрец)
Статус: Участник

Создано: 12 января 2007 08:25 New!
Цитата · Личное сообщение · #27

Tilir пишет:
2) Собрать их, чтобы получить файл сигнатур

Сразу вопрос : в ассемблере хорошо разбираешься ?! А то будешь 2 недели доставать сигнатуры, а потом выяснится что сиды придется брать готовые, т.к. не сможешь их найти
Просто ты по всем пунктам крака очень "плаваешь". Хотение это хорошо, но надобно еще умение и понимание. А они в отличие от хотения быстро не приходят
 eXeL@B —› Основной форум —› Inprocess COM под защитой FlexLM

Видеокурс ВЗЛОМ