Сейчас на форуме: Magister Yoda, johnniewalker, Kybyx, vsv1, r0lka (+5 невидимых)

 eXeL@B —› Крэки, обсуждения —› Ccalc6.80 (версия 6.98.56). Давайте закончим?
<< . 1 . 2 . 3 . 4 . 5 . 6 . >>
Посл.ответ Сообщение

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

Создано: 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. <--
Я не спец в этих делах, подправьте, если что и подсобите, плиз!



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

Создано: 26 июня 2007 09:58
· Личное сообщение · #2

Archer пишет:
Grebinka
Либо юзать QuickUnpack для несложных пакеров, либо статьи читать. Тут лекцию писать никто не будет.


подскажи что конкретно почитать для борьбы с аспротектом 2.3 билд 6.26бета


а то все кто имеет в етом понимание гордо молчат с видом непостижимых гуру...

знаниями делится нужно иначе они тухнут...




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 26 июня 2007 10:49
· Личное сообщение · #3

kvazi969
Конкретно для аспра была в основном форуме тема, вроде прикреплённая даже, где чел анпакал аспр по мылу и бесплатно. В статьях лежит неплохая статья от PE_Kill, правда версии постарее, но там не особо что-то поменялось, так что юзать можно. А вообще оффтоп какой-то пошёл, лучше бы его свернуть...



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

Создано: 26 июня 2007 11:14
· Личное сообщение · #4

почему же оффтоп... все что касалось аспротекта здесь перечитал, ниодна статья толком не помогла, рассматриваемые версии младше...
не спорю, мож чего не доглядел, но раз не имеете желания провести ликбез то хоть ткните носом где почитать... вот не копал я ранние версии аспротекта (стрипер выручал)...
по мылу да, распаковали... некоректно распакованый файл работает (не видит базы в папке data, а должен видеть).




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 26 июня 2007 19:12 · Поправил: Maximus
· Личное сообщение · #5

Archer ты не прав на все 100%.

Во первых прога упакована аспром
Во вторых, туда уже все отослали и все распаковали, но...
В проге используется функция SetUserKey...

Она расшифровывает 5 в кусков памяти, 3 из которых находятся в основной памяти и легко восстанавливаются. Остальные 2 находятся в скрамблерном коде, и защищены VM.

Далее по статье PE_Kill'a, завести скрипты у мну не получилось, при попытке восстановить VM инструкции олька виснет, и че я только не пробовал. Я попросил RebuildVM поновее, мою тему почему то закрыли. Осталось ждать только саомго ПеКилла, он сможет только помочь видно.

Диллерскую старую версию я выкладывал, она не использует SetUserKey, и полностью рабочая (может быть ее закейгенить, раз не получается распаковать)

kvazi969
Файл там тебе распокавали корректно, просто надо башкой думать, а не тем что в штанах...

-----
StarForce и Themida ацтой!




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

Создано: 26 июня 2007 19:39
· Личное сообщение · #6

Maximus, я написал что ошибся... попрошу не грубить....
наставь на путь раз понимаешь о чем речь.




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 26 июня 2007 20:38
· Личное сообщение · #7

kvazi969 пиши в личку вопросы, я попытаюсь обьяснить. В твоих постах не вижу никаких вопросов.

-----
StarForce и Themida ацтой!




Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 26 июня 2007 23:41 · Поправил: SergX
· Личное сообщение · #8

Повторяю то, что писал раньше:

Может не надо ни распаковывать ни кейгенить, по моему это слишком напряжный путь.
Предлагаю ВСЕМ ЖЕЛАЮШИМ принять участие в написании лоадера.
Любая версия проги будет нормально работать, если будет думать что запущена на машине для которой сгенерен ключ. Зачем её мучить, ежели можно перехватить апики по которым она получает HardwareID, и дай ей то что она хочет ?
Я давно написал лоадер на базе либ MS-REMа который грамотно перехватывает апики и подставляет что надо. Проблема в том что у меня не достаточно опыта чтоб разобраться какие именно параметры компа прога проверяет. Если кто сможет помочь в этом вопросе то в ближайшее время тему можно будет закрыть. Кое в чём я уже разобрался, если кому интересно напишу.

P.S. И еще всё время забаваю сказать что с помощью лоадера прогу можно зациклить после вызова любого апи, если это чем поможет в отладке или распаковке. Я её только так и шагаю.



Ранг: 2.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 26 июня 2007 23:59
· Личное сообщение · #9

Во мужики у меня на работе появилась версия офф версия, и дилерская 6,99,10!!! Есть ли *.EXE файл что открывает прогу? Лиш бы она регистрацию не просила, а как она считатет то я и сам разберусь!



Ранг: 2.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 27 июня 2007 22:59
· Личное сообщение · #10

Что разве ни у кого нету *.exe к Ccalc 6,99,10 что бы просто она запускалась, а бы не просила регистрацию. А то как считает это уже другой вопрос но он более легко решаем. Вобшем мне надо запустить! Помогите в этом!



Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 28 июня 2007 01:05
· Личное сообщение · #11

aa пишет:
А то как считает это уже другой вопрос но он более легко решаем.

ты заблуждаешься.

aa перестань тут мусорить наконец !!!
если ты не можешь написать ничего умного то не порти эту тему хернёй !!!
если бы я бал модератором то ты давно уже был бы забанен.

если тебе нужен результат, то не мешай другим, а просто жди.



Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 28 июня 2007 01:38
· Личное сообщение · #12

Люди !!!!

Ну а как насчёт лоадера, неужели нет желающих помочь ?

Может стоит открыть новый топик по поводу написания универсального лоадера для эмуляции параметров железа ?

Скажите хоть своё мнение по этому поводу !



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

Создано: 28 июня 2007 11:23
· Личное сообщение · #13

SergX
врядли кто станет на рабочей версии проводить эксперименты с железом...
думаю надо искать функцию каверканья цыфр... но ето только мое мнение.

aa
расскажи как решаешь проблемы с счетом может у кого и появится желание тебе помогать... твое утверждение что проще заставить правильно считать чем отключить окно регистрации голословно.



Ранг: 2.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 28 июня 2007 13:25
· Личное сообщение · #14

Я конечно не сильный спецоль но дилерскую версию я заставил считать правильно и давольно не сложно там, Вот хочю проверить не на дилерской если всё совпадёт тогда поведаю страшную тайну просчёта, а так пока не буду мешать, как появится у кого то Ccalc 6,99,10 без регестрации скиньте сюда, тогда всё станет ясно, что и как там считает! Зарание благодарен!
P.S. Как по мне регистрацию обойти намного тяжелее чем заставить её работать, но это моё мнение и пока оно не 100 % -е но всё скоро узнаю!!!



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

Создано: 29 июня 2007 22:57
· Личное сообщение · #15

aa пишет:
Я конечно не сильный спецоль но дилерскую версию я заставил считать правильно и давольно не сложно там,

Очень любопытно, может поделишься открытием.
Интересно как ты в полной версии будешь корректировать 12,34 шт шурупов, например
SergX пишет:
Ну а как насчёт лоадера, неужели нет желающих помочь

Разве проблема в написании загрузчика? Думаю тут почти каждый может такое написать. По моему, проблема тут в том, чтобы узнать, что нужно подменять...



Ранг: 2.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 30 июня 2007 23:57
· Личное сообщение · #16

Grebinka Вот нехочю что зря говорить что легко может это был просто фарт вот когда проверю ешё на 1 версии всё раскажу, только для меня проблема убрать окно регистрации может поможете??? И для меня например уму не постежимо что каждый может написать loarder если так легко помогите тогда убрать окно регистрации в моей версии Ccalc 6,99,10



Ранг: 2.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 06 июля 2007 16:30
· Личное сообщение · #17

У кого есть цены на профиль WinBau и Фурнитуру Roto? Поделитесь пожалуйста!




Ранг: 127.3 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 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 нашел место, где происходит эта трабла с цифрами. Я его тоже пропатчил. Вроде все работало.
Сравните оба екзешника, посмотрите код в проге и найдите такой же в новой версии. Код рабочей ф-ции весьма оригинальный, возможно и будет несколько отличаться, но думаю - сможете найти.
Это все, чем могу помочь. Ковырять прогу нет ни времени, ни желания.



Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 08 июля 2007 10:51 · Поправил: SergX
· Личное сообщение · #19

[i]stahh пишет:
0012FB10 015140F8 ASCII "S08EJ1UYC38590" - это серийка винта
0012FB14 015140D8 ASCII "SAMSUNG HD080HJ" - имя винта
0012FB18 0151C4F8 ASCII "ZH100-33" - версия прошивки винта

и ещё эти параметры значения для проги не имеют



Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

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

.



Ранг: 2.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 08 июля 2007 11:22
· Личное сообщение · #21

stahh слей свою ломаную версию!!! Хотел бы глянуть как и что там!!!
SergX как дела с loarder пишется??



Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 08 июля 2007 11:59
· Личное сообщение · #22

aa нет невыходит.
Пробую кейгенить.



Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 10 июля 2007 14:34 · Поправил: SergX
· Личное сообщение · #23

Люди, ОЧЕНЬ ПРОШУ, помогите разобраться с алгоритмом.

004D06D4 |. 8945 F0 MOV DWORD PTR SS:[EBP-10],EAX ; COUNTER:=3
004D06D7 >|> 8D8D ECFEFFFF /LEA ECX,DWORD PTR SS:[EBP-114]
004D06DD 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8]
004D06E0 |. 8B45 08 |MOV EAX,DWORD PTR SS:[EBP+8]
004D06E3 |. E8 60FAFFFF |CALL <Ccalc.PROC1> ; PROC1 (TMP_str, OUT_str, OUT_srt)
004D06E8 |. 8B45 08 |MOV EAX,DWORD PTR SS:[EBP+8]
004D06EB |. 8DB5 ECFEFFFF |LEA ESI,DWORD PTR SS:[EBP-114]
004D06F1 |. 8BF8 |MOV EDI,EAX
004D06F3 |. B9 41000000 |MOV ECX,41
004D06F8 |. F3:A5 |REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI] ; COPY from TMP_str to OUT_str
004D06FA |. 8B55 F4 |MOV EDX,DWORD PTR SS:[EBP-C]
004D06FD |. 8B45 08 |MOV EAX,DWORD PTR SS:[EBP+8]
004D0700 |. E8 FBFDFFFF |CALL <Ccalc.PROC2> ; PROC2 (MASK_?, OUT_str)
004D0705 |. 8B55 F8 |MOV EDX,DWORD PTR SS:[EBP-8]
004D0708 |. 8B45 F0 |MOV EAX,DWORD PTR SS:[EBP-10]
004D070B |. E8 78F8FFFF |CALL <Ccalc.PROC3>
004D0710 |. 3C 01 |CMP AL,1
004D0712 75 2E JNZ SHORT <Ccalc.SKIP> ; if PROC3(0D_?, COUNTER)==1 {
004D0714 |. 8D8D ECFEFFFF |LEA ECX,DWORD PTR SS:[EBP-114]
004D071A |. 8B55 FC |MOV EDX,DWORD PTR SS:[EBP-4]
004D071D |. 8B45 08 |MOV EAX,DWORD PTR SS:[EBP+8]
004D0720 |. E8 23FAFFFF |CALL <Ccalc.PROC1> ; PROC1 (TMP_str, IN_str, OUT_str)
004D0725 |. 8B45 08 |MOV EAX,DWORD PTR SS:[EBP+8]
004D0728 |. 8DB5 ECFEFFFF |LEA ESI,DWORD PTR SS:[EBP-114]
004D072E |. 8BF8 |MOV EDI,EAX
004D0730 |. B9 41000000 |MOV ECX,41
004D0735 |. F3:A5 |REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI] ; COPY from TMP_str to OUT_str
004D0737 |. 8B55 F4 |MOV EDX,DWORD PTR SS:[EBP-C]
004D073A |. 8B45 08 |MOV EAX,DWORD PTR SS:[EBP+8]
004D073D |. E8 BEFDFFFF |CALL <Ccalc.PROC2> ; PROC2 (MASK_?, OUT_str) }
004D0742 >|> FF4D F0 |DEC DWORD PTR SS:[EBP-10]
004D0745 |. 837D F0 FF |CMP DWORD PTR SS:[EBP-10],-1
004D0749 |.^75 8C \JNZ SHORT <Ccalc.WHILE> ; if (COUNTER-->=0) loop


[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




Ранг: 127.3 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 10 июля 2007 17:20
· Личное сообщение · #24

Вот залил hххp://webfile.ru/1465314



Ранг: 2.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 10 июля 2007 19:24
· Личное сообщение · #25

Всем добрый вечер, у меня такой вопрос есть у когото база с профилем WinBAU, и фурнитурой Roto помогите если у кого то есть! Или помогите просто обойти регистрацию на Ccalc 6,99,10.



Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 11 июля 2007 17:28
· Личное сообщение · #26

УМОЛЯЮ ПОМОГИТЕ !!!
СХОЖУ С УМА

Неужели никто не поможет разобраться в алгоритме ?



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

Создано: 11 июля 2007 21:39
· Личное сообщение · #27

stahh дело говорит, надо патчить. С кейгеном у тебя врядли что выйдет...



Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 11 июля 2007 22:22
· Личное сообщение · #28

kvazi969 пишет:
есть файл ccalc 6.98.99 plus
webfile.ru/1449677


Кто тебе сказал что это версия PLUS ???
PLUS это когда с USB ключом !



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

Создано: 12 июля 2007 09:17
· Личное сообщение · #29

SergX пишет:
Кто тебе сказал что это версия PLUS ???
PLUS это когда с USB ключом !


знакомый сказал который попросил отломать...
только что от етого меняется? защита слабее стала или цыфры поганить перестанет прога вдруг чтоли... ))



Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 12 июля 2007 10:51
· Личное сообщение · #30

kvazi969 пишет:
только что от етого меняется? защита слабее стала или цыфры поганить перестанет прога вдруг чтоли... ))


Это всё меняет. В версии PLUS защита совсем по другому сделана.



Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 31 июля 2007 15:49
· Личное сообщение · #31

Да...
Похоже уже наконец закончили


<< . 1 . 2 . 3 . 4 . 5 . 6 . >>
 eXeL@B —› Крэки, обсуждения —› Ccalc6.80 (версия 6.98.56). Давайте закончим?
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати