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

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

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

Создано: 09 января 2007 01:24
· Личное сообщение · #1

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

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

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

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




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

Создано: 09 января 2007 02:36
· Личное сообщение · #2

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



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 09 января 2007 02:40
· Личное сообщение · #3

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



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

Создано: 09 января 2007 03:19
· Личное сообщение · #4

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

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

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



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 09 января 2007 04:23
· Личное сообщение · #5

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

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



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

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

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



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

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

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


woodmann.com/crackz/Flexlm.htm

-----
...или ты работаешь хорошо, или ты работаешь много...





Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

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

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

-----
От многой мудрости много скорби, и умножающий знание умножает печаль





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

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

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


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

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




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

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

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

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

-----
От многой мудрости много скорби, и умножающий знание умножает печаль





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

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

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


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

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


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




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

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

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

-----
От многой мудрости много скорби, и умножающий знание умножает печаль




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

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

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

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

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

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

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

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



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

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

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


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

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

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

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

-----
...или ты работаешь хорошо, или ты работаешь много...




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

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

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

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

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

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



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

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

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

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

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

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

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



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

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

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




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

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

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


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



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

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

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

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




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

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

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



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

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

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

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

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

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

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

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

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



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

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

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



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

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

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

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

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



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

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

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



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

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

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

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



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

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

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



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

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

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

Сразу вопрос : в ассемблере хорошо разбираешься ?! А то будешь 2 недели доставать сигнатуры, а потом выяснится что сиды придется брать готовые, т.к. не сможешь их найти
Просто ты по всем пунктам крака очень "плаваешь". Хотение это хорошо, но надобно еще умение и понимание. А они в отличие от хотения быстро не приходят


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


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