Сейчас на форуме: 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 апреля 2010 12:23 · Личное сообщение · #2 |
|
Создано: 26 апреля 2010 13:41 · Личное сообщение · #3 |
|
Создано: 27 апреля 2010 14:19 · Личное сообщение · #4 |
|
Создано: 28 апреля 2010 11:42 · Личное сообщение · #5 |
|
Создано: 07 мая 2010 22:00 · Личное сообщение · #6 |
|
Создано: 07 мая 2010 22:05 · Личное сообщение · #7 booba думаю стоимость зависит от количества прописанных пролей в систему........ если добавить один профиль то это не долго надо только знать как....... а вот если ты говоришь про какуюто серию системы профилей тут надо исходить из количества прописываемых позиций и вариаций конструкций...... я прописывал только себе и на одну серию уходило порядка недели это уже с проверкой по раскрою хотя пластик и алюминий разные объемы и я прописывал алюминий |
|
Создано: 07 мая 2010 23:38 · Личное сообщение · #8 |
|
Создано: 08 мая 2010 01:13 · Личное сообщение · #9 |
|
Создано: 08 мая 2010 20:20 · Личное сообщение · #10 |
|
Создано: 09 мая 2010 00:36 · Личное сообщение · #11 |
|
Создано: 09 мая 2010 00:48 · Личное сообщение · #12 |
|
Создано: 09 мая 2010 08:26 · Личное сообщение · #13 |
|
Создано: 06 июля 2010 14:37 · Поправил: Master_selin · Личное сообщение · #14 |
|
Создано: 20 июля 2010 22:58 · Личное сообщение · #15 |
|
Создано: 29 октября 2010 00:37 · Поправил: Модератор · Личное сообщение · #16 |
|
Создано: 29 октября 2010 05:29 · Личное сообщение · #17 |
|
Создано: 29 октября 2010 18:44 · Личное сообщение · #18 |
|
Создано: 29 октября 2010 18:51 · Личное сообщение · #19 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . |
eXeL@B —› Крэки, обсуждения —› Ccalc6.80 (версия 6.98.56). Давайте закончим? |
Эта тема закрыта. Ответы больше не принимаются. |