Сейчас на форуме: Magister Yoda, johnniewalker, Kybyx, vsv1, r0lka (+5 невидимых) |
eXeL@B —› Крэки, обсуждения —› Ccalc6.80 (версия 6.98.56). Давайте закончим? |
<< . 1 . 2 . 3 . 4 . 5 . 6 . >> |
Посл.ответ | Сообщение |
|
Создано: 03 апреля 2007 13:36 · Личное сообщение · #1 Здравствуйте, Мастера! Предлагаю закончить разбор программы Ccalc8.80 версии 6.98.56. Ее уже пытались ломать --> здесь (правда более старую версию)<--, но так и не закончили (а для себя решили, что взломана ). Есть уже кое-каие наработки и ОЧЕНЬ хочется дело довести до конца., т.к. жаль потерянного времени. Без Вашей помощи не обойтись - уже голова болит от этого. Да и "одна голова хорошо, а много ...". Автор грамотно подошел к защите, но Вы то круче!!! Ближе к делу: Программа написана на Delphi, что несколько упрощает (уже есть нек. готовые средства) и не запакована, следующие версии упакованы ASProtect 1.23. -->Цель лежит здесь. (2,99 МБ)<-- Это самораспаковывающийся архив рар. Просто запустить - она установится в "Program Files". При запуске она берет серийник из своего ini-файла (секция Common, параметр C2) и проверяет его. Если НЕ он, выдает окошко для регистрации. Если он, прописывает в переменную 0 и проверяет эту переменную при работе со правочниками и т.д. Прописать в эту переменную 0 легко. Патчить нужно по смещению 00656F5C (вместо mov al, byte ptr [ebp-05] пишем mov al, 0 ). Что бы Вас не напрягать мелочами --> вот пропатченный exe-шник. (1,24 МБ) <-- И все, программа запускается, все пункты работают. Все бы хорошо, но автор с некоторой версии сделал так, что программа при не верном серийнике считает неправильно данные. Вот нужно и найти, как это убрать? Подобрать правильно серийник не реально, т.к. серийник превращается в нужный вид с помощью шифрования RSA с 768 биттным ключем (я неделю ковырял ассемблерную процедуру превращения и выяснил это). Зависимость Res:=SN^13 mod N, где Res - превращенный вид SN (серийника), а N - 768-ми биттное целое. Кто не верит процедура Call 4D1314 (на входе eax указывает на SN, на выходе eax указывает на Res - преобразованный вид). Эта процедура вызывается много раз (что бы зпутать скорее всего), причем первые два раза для генерации кода компьютера по имени компа и винту (со степенью ^3 и другим N ). В серийнике содержатся название организации, на кот. выдается регистрация, ее город и телефон (все данные используются на распечатках-отчетах), с 3-го по 6-й байт и 4-ре последних - код компьютера. А вот первые три байта я так и не понял. У меня есть несколько верных серийников - во всех 1-й байт =00, 2-й=02. Нулевой разный. --> Вот несколько верных серийников (596 б)<-- (если нужны, хотя и по-умолчинию кот. в ini подойдет). Как она себя регистрирует? По смещению 6549F4 вызывается процедура 4D1314 (засшифрования SN, см. выше), далее идет сравнение через XOR те 8-мь байт о кот. я говорил. Если все верно, выполняется процедурка установки той переменной в 0, кот. мы уже пропатчили (00656F5C). И так все это для "общего развития". Программа считает НЕ верно данные. Добавляет какой-то коефициент. Как это проверить: --> Вот Вам заказ (1 кб) <--. Его нужно открыть в программе (вход в программу под юзером admin с пустым паролем) в меню "Заказ"->"Открыть из файла". На закладке "Лист заказа" кнопка "Пересчитать заказ" выполняет математику, "Печать" распечатывает отчеты. Т.к. цены в базе еще не заполнены, то должны быть нули, а не мелкие числа (это уже тот коефициент). При печати "Материалы+Неликвид" где материалы измеряются в шт. должны быть целые числа. --> Вот распечатка из ЗАрегистрированной версии. <-- Ну и естественно цена должна соотв. справочнику, а сумма умноженному колич. на цену. И так: Как же найти эту лишнюю добавку? (со знаком то "+" то "-") После кнопки "Пересчитать заказ" поподаем на процедуру 58BB54, в ней выполняется 61В674 и, похоже сам пересчет 58CF9C. Помогите, пожалуйста, разобраться. Жалко ведь потраченного времени, хотелось бы закончить, но уже мозги не соображают. P.S.: Вроде все подробно расписал, что нашел. Вот еще пару полезных ссылок (может кому пригодится). --> Файл ассемблерного кода из W32DsmV10 <-- и Файл из --> DeDe_3_10_1635. <-- Я не спец в этих делах, подправьте, если что и подсобите, плиз! |
|
Создано: 26 июня 2007 09:58 · Личное сообщение · #2 Archer пишет: Grebinka Либо юзать QuickUnpack для несложных пакеров, либо статьи читать. Тут лекцию писать никто не будет. подскажи что конкретно почитать для борьбы с аспротектом 2.3 билд 6.26бета а то все кто имеет в етом понимание гордо молчат с видом непостижимых гуру... знаниями делится нужно иначе они тухнут... |
|
Создано: 26 июня 2007 10:49 · Личное сообщение · #3 kvazi969 Конкретно для аспра была в основном форуме тема, вроде прикреплённая даже, где чел анпакал аспр по мылу и бесплатно. В статьях лежит неплохая статья от PE_Kill, правда версии постарее, но там не особо что-то поменялось, так что юзать можно. А вообще оффтоп какой-то пошёл, лучше бы его свернуть... |
|
Создано: 26 июня 2007 11:14 · Личное сообщение · #4 почему же оффтоп... все что касалось аспротекта здесь перечитал, ниодна статья толком не помогла, рассматриваемые версии младше... не спорю, мож чего не доглядел, но раз не имеете желания провести ликбез то хоть ткните носом где почитать... вот не копал я ранние версии аспротекта (стрипер выручал)... по мылу да, распаковали... некоректно распакованый файл работает (не видит базы в папке data, а должен видеть). |
|
Создано: 26 июня 2007 19:12 · Поправил: Maximus · Личное сообщение · #5 Archer ты не прав на все 100%. Во первых прога упакована аспром Во вторых, туда уже все отослали и все распаковали, но... В проге используется функция SetUserKey... Она расшифровывает 5 в кусков памяти, 3 из которых находятся в основной памяти и легко восстанавливаются. Остальные 2 находятся в скрамблерном коде, и защищены VM. Далее по статье PE_Kill'a, завести скрипты у мну не получилось, при попытке восстановить VM инструкции олька виснет, и че я только не пробовал. Я попросил RebuildVM поновее, мою тему почему то закрыли. Осталось ждать только саомго ПеКилла, он сможет только помочь видно. Диллерскую старую версию я выкладывал, она не использует SetUserKey, и полностью рабочая (может быть ее закейгенить, раз не получается распаковать) kvazi969 Файл там тебе распокавали корректно, просто надо башкой думать, а не тем что в штанах... ----- StarForce и Themida ацтой! |
|
Создано: 26 июня 2007 19:39 · Личное сообщение · #6 |
|
Создано: 26 июня 2007 20:38 · Личное сообщение · #7 |
|
Создано: 26 июня 2007 23:41 · Поправил: SergX · Личное сообщение · #8 Повторяю то, что писал раньше: Может не надо ни распаковывать ни кейгенить, по моему это слишком напряжный путь. Предлагаю ВСЕМ ЖЕЛАЮШИМ принять участие в написании лоадера. Любая версия проги будет нормально работать, если будет думать что запущена на машине для которой сгенерен ключ. Зачем её мучить, ежели можно перехватить апики по которым она получает HardwareID, и дай ей то что она хочет ? Я давно написал лоадер на базе либ MS-REMа который грамотно перехватывает апики и подставляет что надо. Проблема в том что у меня не достаточно опыта чтоб разобраться какие именно параметры компа прога проверяет. Если кто сможет помочь в этом вопросе то в ближайшее время тему можно будет закрыть. Кое в чём я уже разобрался, если кому интересно напишу. P.S. И еще всё время забаваю сказать что с помощью лоадера прогу можно зациклить после вызова любого апи, если это чем поможет в отладке или распаковке. Я её только так и шагаю. |
|
Создано: 26 июня 2007 23:59 · Личное сообщение · #9 |
|
Создано: 27 июня 2007 22:59 · Личное сообщение · #10 |
|
Создано: 28 июня 2007 01:05 · Личное сообщение · #11 aa пишет: А то как считает это уже другой вопрос но он более легко решаем. ты заблуждаешься. aa перестань тут мусорить наконец !!! если ты не можешь написать ничего умного то не порти эту тему хернёй !!! если бы я бал модератором то ты давно уже был бы забанен. если тебе нужен результат, то не мешай другим, а просто жди. |
|
Создано: 28 июня 2007 01:38 · Личное сообщение · #12 |
|
Создано: 28 июня 2007 11:23 · Личное сообщение · #13 SergX врядли кто станет на рабочей версии проводить эксперименты с железом... думаю надо искать функцию каверканья цыфр... но ето только мое мнение. aa расскажи как решаешь проблемы с счетом может у кого и появится желание тебе помогать... твое утверждение что проще заставить правильно считать чем отключить окно регистрации голословно. |
|
Создано: 28 июня 2007 13:25 · Личное сообщение · #14 Я конечно не сильный спецоль но дилерскую версию я заставил считать правильно и давольно не сложно там, Вот хочю проверить не на дилерской если всё совпадёт тогда поведаю страшную тайну просчёта, а так пока не буду мешать, как появится у кого то Ccalc 6,99,10 без регестрации скиньте сюда, тогда всё станет ясно, что и как там считает! Зарание благодарен! P.S. Как по мне регистрацию обойти намного тяжелее чем заставить её работать, но это моё мнение и пока оно не 100 % -е но всё скоро узнаю!!! |
|
Создано: 29 июня 2007 22:57 · Личное сообщение · #15 aa пишет: Я конечно не сильный спецоль но дилерскую версию я заставил считать правильно и давольно не сложно там, Очень любопытно, может поделишься открытием. Интересно как ты в полной версии будешь корректировать 12,34 шт шурупов, например SergX пишет: Ну а как насчёт лоадера, неужели нет желающих помочь Разве проблема в написании загрузчика? Думаю тут почти каждый может такое написать. По моему, проблема тут в том, чтобы узнать, что нужно подменять... |
|
Создано: 30 июня 2007 23:57 · Личное сообщение · #16 Grebinka Вот нехочю что зря говорить что легко может это был просто фарт вот когда проверю ешё на 1 версии всё раскажу, только для меня проблема убрать окно регистрации может поможете??? И для меня например уму не постежимо что каждый может написать loarder если так легко помогите тогда убрать окно регистрации в моей версии Ccalc 6,99,10 |
|
Создано: 06 июля 2007 16:30 · Личное сообщение · #17 |
|
Создано: 08 июля 2007 09:17 · Поправил: stahh · Личное сообщение · #18 Не смотрел и смотреть не буду, что нового в защите новых версий. Лоадер - гуд. Из параметров проверяется, насколько я помню 0012FAF8 01514118 ASCII "2-MN9TMJS2RB4P9" - вот это не понятно 0012FB08 0151C4E0 ASCII "00000D7F" - не помню 0012FB10 015140F8 ASCII "S08EJ1UYC38590" - имя компа 0012FB14 015140D8 ASCII "SAMSUNG HD080HJ" - винт 0012FB18 0151C4F8 ASCII "ZH100-33" - не помню Первый параметр генерится от чего-то. Вся эта шняга выводится в одной ф-ции. Там начинается проверка серийника. Ищите по строке "C2" . Если конечно ничо не поменялось. Завтра залью ту версию, что у меня есть. Там патченный и оригинальный екзешник. Я патчил по другому. Не помню точно, но там есть ф-ция, которая должна работать, если прога считает, что серийник правильный. Короче, я заставил работать эту ф-цию. Прога стала работать, но считала не правильно. tundra37 нашел место, где происходит эта трабла с цифрами. Я его тоже пропатчил. Вроде все работало. Сравните оба екзешника, посмотрите код в проге и найдите такой же в новой версии. Код рабочей ф-ции весьма оригинальный, возможно и будет несколько отличаться, но думаю - сможете найти. Это все, чем могу помочь. Ковырять прогу нет ни времени, ни желания. |
|
Создано: 08 июля 2007 10:51 · Поправил: SergX · Личное сообщение · #19 |
|
Создано: 08 июля 2007 10:52 · Поправил: SergX · Личное сообщение · #20 |
|
Создано: 08 июля 2007 11:22 · Личное сообщение · #21 |
|
Создано: 08 июля 2007 11:59 · Личное сообщение · #22 |
|
Создано: 10 июля 2007 14:34 · Поправил: SergX · Личное сообщение · #23 Люди, ОЧЕНЬ ПРОШУ, помогите разобраться с алгоритмом. 004D06D4 |. 8945 F0 MOV DWORD PTR SS:[EBP-10],EAX ; COUNTER:=3
[00CF8550] IN_str – зашифрованная строка. [0012F6B4] TMP_str – промежуточная строка. [0012F7D6] OUT_str – после этого цикла тут расшифрованная строка. [00CACA98] MASK_? – unknown [00CAC994] 0D_? - unknown Пришёл к выводу что самому не разобраться, не хватает опыта. Мозги пухнут , уже три дня это шагаю… Подскажите в каком направлении копать. Может кто опознает в этом какой-то из стандартных алгоритмов. Буду благодарен за любую подсказку. Вот не запакованная прога. 1.4 Mb http://rapidshare.com/files/42092523/Ccalc_6.98.56_Dealer.zip.html Выше приведённая процедура в TXT файле. 2 Kb http://rapidshare.com/files/42093299/proc.txt.html |
|
Создано: 10 июля 2007 17:20 · Личное сообщение · #24 |
|
Создано: 10 июля 2007 19:24 · Личное сообщение · #25 |
|
Создано: 11 июля 2007 17:28 · Личное сообщение · #26 |
|
Создано: 11 июля 2007 21:39 · Личное сообщение · #27 |
|
Создано: 11 июля 2007 22:22 · Личное сообщение · #28 |
|
Создано: 12 июля 2007 09:17 · Личное сообщение · #29 |
|
Создано: 12 июля 2007 10:51 · Личное сообщение · #30 |
|
Создано: 31 июля 2007 15:49 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . >> |
eXeL@B —› Крэки, обсуждения —› Ccalc6.80 (версия 6.98.56). Давайте закончим? |
Эта тема закрыта. Ответы больше не принимаются. |