Сейчас на форуме: Slinger (+6 невидимых) |
![]() |
eXeL@B —› Основной форум —› Inprocess COM под защитой FlexLM |
Посл.ответ | Сообщение |
|
Создано: 09 января 2007 01:24 · Личное сообщение · #1 Есть Inprocess COM Server с библиотекой типов, в виде dll Попытка вызова некоторых ключевых методов требует наличия lic-файла. Защита FLEXnet Licensing (v10.8.0 build 18869) Как такое вообще ломать? Написал небольшую программку, которая создаёт кокласс, вызывает интересующий меня метод и получает "по ушам", но при этом никаких визуальных эффектов типа MessageBox не происходит, просто возвращается сообщение. Пытался трассировать через olly, запутался в бесконечных rpc-вызовах. Это же не обычная dll-ка, это COM-сервер. В тупике. Посоветуйте что-нибудь. ![]() |
|
Создано: 09 января 2007 02:36 · Личное сообщение · #2 |
|
Создано: 09 января 2007 02:40 · Личное сообщение · #3 |
|
Создано: 09 января 2007 03:19 · Личное сообщение · #4 Я вообще хотел пропатчить собственно dll-ку - то есть найти процедуру, которая защищена, брякнуть, отследить обращение к защите, убрать его... Но вот найти-то я её и не могу - просто не знаю за что зацепится - явно эта функция не экспортируется, вызывается только через COM. Bpx поставить вообще не на что. Кстати даже в оторванном от этого случая виде вопрос интересен - как найти заданную, прописанную в библиотеке типов функцию внутри COM-сервера? Где-то же должен её адрес лежать? 2SSX: Вендор разработки той же компании, что и dll. 2rC: А не могли бы вы кинуть пару-тройку ссылок про "как обычно". Нашёл кое-что на wasm.ru, но там совсем не такие случаи. Гугль вообще издевается. А для меня взлом флекса совсем не обычен. ![]() |
|
Создано: 09 января 2007 04:23 · Личное сообщение · #5 |
|
Создано: 10 января 2007 00:41 · Личное сообщение · #6 |
|
Создано: 10 января 2007 00:44 · Поправил: BfoX · Личное сообщение · #7 |
|
Создано: 10 января 2007 11:38 · Поправил: ajax · Личное сообщение · #8 По большому счету, у crackz туторы просто песец. Ищите аьтернативу - типа русские и самопалы чьи-нибудь, если вы не офигенный математик и готовы посвятить полгодика на изучение flexlm. По версиям 10-11 скажу, что ничем они не отличаются от предыдущих по сути. CRO, TRL - фигня все, патчится. А вот если фильтры стоят на checkout - тут надо будет подумать, причем в 10 и 11 версиях есть очень неприятные вещи (set_attr 105/106, кто знает, тот поймет ![]() ----- От многой мудрости много скорби, и умножающий знание умножает печаль ![]() |
|
Создано: 10 января 2007 11:51 · Личное сообщение · #9 ajax пишет: По большому счету, у crackz туторы просто песец. Ищите аьтернативу - типа русские и самопалы чьи-нибудь, если вы не офигенный математик и готовы посвятить полгодика на изучение flexlm. По версиям 10-11 скажу, что ничем они не отличаются от предыдущих по сути. CRO, TRL - фигня все, патчится. А вот если фильтры стоят на checkout - тут надо будет подумать, причем в 10 и 11 версиях есть очень неприятные вещи (set_attr 105/106, кто знает, тот поймет Такой отзыв о туторах Crackz - явное свидетельство того, что "критик" поленился вдумчиво почитать. Самопальные туторы обычно сводятся к списку мест которые нужно пропатчить, у crackz же - достаточно подробное описание для составления своего мнения о FlexLM (да и не только) и выработки подхода к этой защите. На туторах "перейти туда то, найти такие-то байты, заменит на то-то" далеко не уедешь... ![]() ![]() |
|
Создано: 10 января 2007 12:05 · Поправил: ajax · Личное сообщение · #10 rC пишет: Такой отзыв о туторах Crackz - явное свидетельство того, что "критик" поленился вдумчиво почитать. Такое чувство, что уважаемый rC дальше первого предложения мое сообщение не читал... Ну, а если у crackz так все чудно описано, расскажи нам, прошедшим flexlm от 5 до 11, не по его туторам, и смотревших сырки флекса 9.2, что же делать с последними версиями ![]() nolan blender'a были очень хороши, но они морально устарели, кста, nolan учил меня в свое время... ----- От многой мудрости много скорби, и умножающий знание умножает печаль ![]() |
|
Создано: 10 января 2007 12:13 · Поправил: rC · Личное сообщение · #11 ajax пишет: Ну, а если у crackz так все чудно описано, расскажи нам, прошедшим flexlm от 5 до 11, не по его туторам, и смотревших сырки флекса 9.2, что же делать с последними версиями Я в репетиторы не нанимался. ajax пишет: Никого не критиковал, туторы nolan blender'a были очень хороши, но они морально устарели, кста, nolan учил меня в свое время... Пальцы веером.... И топик вроде как не о том, кто кого учил. ![]() |
|
Создано: 10 января 2007 12:52 · Поправил: ajax · Личное сообщение · #12 |
|
Создано: 11 января 2007 02:02 · Личное сообщение · #13 2BfoX: Спасибо, внимательно посмотрел материал. Он, конечно, для меня сложноват, но кое-что я понял. Во-первых сигнатуры - это nms-файл, применять их в ИДА я оказывается умею, вот только вендор-демон у меня нестандартный, поэтому взять этот файл мне неоткуда. Поэтому остаются проблемы с идентификацией функций вида lc_xxx Во-вторых я понял, что лезть внутрь флекса мне пока не стоит ![]() Но проблема остаётся и я в общем-то не особо приблизился к её решению. У меня есть COM-сервер, который хочется пропатчить. При этом он целиком и полностью реализует логику, у него нет никаких внешних проявлений (типа MessageBox или диалоговых окон). Я знаю (по имени) какая конкретно из функций защищена, написал программу, чтобы вызывала её через COM, но я не понимаю, как мне поставить прерывание на входе в неё. Значит я не могу найти её и в дизассемблированном листинге. Хуже всего, что этот сервер написан так, что грузится в dllhost, а не в адресное пространство моей программы. Я прошу ещё какого-нибудь совета, любых идей. ![]() |
|
Создано: 11 января 2007 02:12 · Личное сообщение · #14 |
|
Создано: 11 января 2007 02:34 · Личное сообщение · #15 Tilir пишет: Во-первых сигнатуры - это nms-файл, применять их в ИДА я оказывается умею NMS - это не сигнатуры. Это карта имен конкретного модуля. Действительно есть конверторы их в IDA. Сигнатуры можно построить самому имея библиотеку из SDK для flexlm соответствующей версии. Tilir пишет: Хуже всего, что этот сервер написан так, что грузится в dllhost Это не сервер написан так, а это идеология COM. По другому быть не может. Цеплять отладчик и дизасмить нужно именно для сервера - клиент скорее всего ничего не проверяет сам. ![]() |
|
Создано: 11 января 2007 03:56 · Поправил: ssx · Личное сообщение · #16 Tilir пишет: Поэтому остаются проблемы с идентификацией функций вида lc_xxx checkout() найти можно по некоторым ее половым признакам - посмотри например исходники флекса (много где есть) - там все видно. ajax,rC - давайте не будем меряться ... кто кого чему учил и с какой версии флекса начинал. лично я со 2-ой под солярку. исходников 9.2 тогда еще не было ajax пишет: кста, nolan учил меня в свое время... "Сколь ни рисуй себя с великими - Не станешь лучше рисовать." -Градский ![]() |
|
Создано: 11 января 2007 04:17 · Личное сообщение · #17 |
|
Создано: 11 января 2007 04:49 · Личное сообщение · #18 |
|
Создано: 11 января 2007 04:54 · Личное сообщение · #19 |
|
Создано: 11 января 2007 05:03 · Личное сообщение · #20 |
|
Создано: 12 января 2007 00:15 · Личное сообщение · #21 Я вовсе не хочу ничего "на блюдечке", наоборот очень хочется сломать самому, чтобы научиться. Поэтому и вендор демона выкладывать никуда не буду, пока сам не поломаю. Насколько я понял, мне нужно сделать две вещи: 1) Найти где-нибудь исходники FlexLM 10.8 2) Собрать их, чтобы получить файл сигнатур Что делать дальше, я уже знаю. Я сейчас ищу эти исходники, но что-то везде до девятки. Вообще, спасибо, всем участвующим в обсуждении, происходит очень сильное просветление в голове ![]() Если кто-нибудь видел исходники флекса 10.8, киньте плиз ссылочку. 2rC: спасибо за ресурс, очень интересный материал. Сейчас читаю. ![]() |
|
Создано: 12 января 2007 02:10 · Личное сообщение · #22 |
|
Создано: 12 января 2007 04:27 · Личное сообщение · #23 |
|
Создано: 12 января 2007 04:28 · Личное сообщение · #24 |
|
Создано: 12 января 2007 05:28 · Личное сообщение · #25 |
|
Создано: 12 января 2007 06:39 · Личное сообщение · #26 |
|
Создано: 12 января 2007 08:25 · Личное сообщение · #27 Tilir пишет: 2) Собрать их, чтобы получить файл сигнатур Сразу вопрос : в ассемблере хорошо разбираешься ?! А то будешь 2 недели доставать сигнатуры, а потом выяснится что сиды придется брать готовые, т.к. не сможешь их найти ![]() Просто ты по всем пунктам крака очень "плаваешь". Хотение это хорошо, но надобно еще умение и понимание. А они в отличие от хотения быстро не приходят ![]() ![]() |
![]() |
eXeL@B —› Основной форум —› Inprocess COM под защитой FlexLM |