Сейчас на форуме: kris_sexy, Wenzel, r0lka (+5 невидимых)

 eXeL@B —› Крэки, обсуждения —› Такие проги ломаются или что сделали бы вы?
. 1 . 2 . >>
Посл.ответ Сообщение

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

Создано: 18 ноября 2005 14:26
· Личное сообщение · #1

Всем привет!
Вопрос по методике взлома: есть некая программа, генерящая какой-то код регистрации, который необходимо отправить автору программы вместе с уведомлением об оплате, в ответ он присылает ехе-файл, видимо патч, который снимает ограничения при работе программы. И вот вопрос - подобные программы ломаются или надо пол-жизни потратить, чтобы отследить все мыслимые проверки?
Спасибо за ответ.



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 18 ноября 2005 14:30 · Поправил: Smon
· Личное сообщение · #2

Lisa
Такого правда пока не видел, но обычно подобные вещи ломаются тривиально.
С криптоалгоритмами эт вряд ли может быть связано, хотя кто знает =)
Если правда это не Hiew, в котором нет несколько килобайт кода =)

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels




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

Создано: 18 ноября 2005 14:52
· Личное сообщение · #3

Да, для более полной информации добавлю, прога написана на Делфи (DeDe в помощь), не упакована.
Три дня уже с ней бьюсь в Olly, ни с начала не подступлюсь, ни с момента вывода сообщения о демо-режиме.




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 18 ноября 2005 15:18 · Поправил: Gideon Vi
· Личное сообщение · #4

Это ведь почти наверняка демка, с отсутвующими кусками кода. Сломать можно, но придётся дописывать эти участки самому, а для этого надо разбираться в работе программы.

не упакована

Вот, значит наверняка экзешник, присылаемый автором, является патчером недостающих участков кода.



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

Создано: 18 ноября 2005 15:33
· Личное сообщение · #5

Gideon Vi пишет:
Это ведь почти наверняка демка, с отсутвующими кусками кода.

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



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 18 ноября 2005 19:17
· Личное сообщение · #6

Lisa
Можно ли ссылку или что-то типа этого?
Хотя бы название.
Lisa пишет:
ну а патч, естественно, призван убирать это ограничение.

Бред. Если так, то шаровары совсем чокнулись.

-----
Всем привет, я вернулся




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

Создано: 18 ноября 2005 11:56 · Поправил: Inv
· Личное сообщение · #7

-skiped-



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

Создано: 19 ноября 2005 01:44
· Личное сообщение · #8

Lisa пишет:
откуда начинать


Lisa пишет:
размер выходного кода


Я так понимаю - это константа?
Тогда попробуй поиск всех констант или поиск всех команд CMP EAX,"const"

-----
TBR




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

Создано: 19 ноября 2005 01:49
· Личное сообщение · #9

Lisa пишет:
И вот вопрос - подобные программы ломаются или надо пол-жизни потратить, чтобы отследить все мыслимые проверки?


А ссылки так наверное и не дождемся...



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

Создано: 19 ноября 2005 01:56
· Личное сообщение · #10

Rush пишет:
А ссылки так наверное и не дождемся...

От ты скорый! Видишь - человек в 15:33 последний раз отпостил. Жди значит до завтра.

ЗЫ: сорри за офтоп.

-----
TBR




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

Создано: 19 ноября 2005 02:00
· Личное сообщение · #11

Grey пишет:
От ты скорый!


Да я такой - время есть

ЗЫ: сорри за 2хоффтоп




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 19 ноября 2005 13:29
· Личное сообщение · #12

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

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.




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

Создано: 21 ноября 2005 08:59 · Поправил: Lisa
· Личное сообщение · #13

Всем привет!
Сорри, в выходные была в оффлайне.
Bitfry пишет:
Можно ли ссылку или что-то типа этого?
Хотя бы название.

Полный сетап на сайте www.mikroe.com/zip/mikroc/mikroc_210_setup.zip
11Мб
Усечённый вариант тут lisaa4.narod.ru/TEMP1.rar 1.4Мб


Inv пишет:
Ищи вызовы CreateFile/writefile где-то рядом условие сохранять или нет.


Заткнулась вот на чём:

0061A073 |. 8B43 08 MOV EAX,DWORD PTR DS:[EBX+8]
0061A076 |. 8BD0 MOV EDX,EAX
0061A078 |. 81C2 2EFFFFFF ADD EDX,-0D2
0061A07E |. 83EA 02 SUB EDX,2
0061A081 73 6E JNB SHORT mikroc_1.0061A0F1
0061A083 837B 38 00 CMP DWORD PTR DS:[EBX+38],0
0061A087 0F85 83000000 JNZ mikroc_1.0061A110
0061A08D |. 8B43 0C MOV EAX,DWORD PTR DS:[EBX+C]
0061A090 |. 8BD0 MOV EDX,EAX
0061A092 |. 4A DEC EDX
0061A093 |. 83EA 23 SUB EDX,23
0061A096 73 0D JNB SHORT mikroc_1.0061A0A5

0061A0F1 |> 3D 164B0800 CMP EAX,84B16
0061A0F6 75 18 JNZ SHORT mikroc_1.0061A110
0061A0F8 |. 8B43 28 MOV EAX,DWORD PTR DS:[EBX+28]
0061A0FB |. 50 PUSH EAX
0061A0FC |. 68 70A16100 PUSH mikroc_1.0061A170 ; ASCII "Demo limit"

Тут видно, что производится проверка в ЕВХ+8, ЕВХ+38, ЕВХ+С, ЕВХ+28, но дело в том, что ЕВХ расположен в сегменте 014E0000 и при каждом запуске у него разный адрес.
Когда в него производится запись, не могу отследить..

Grey пишет:
размер выходного кода

Я так понимаю - это константа?
Тогда попробуй поиск всех констант или поиск всех команд CMP EAX,"const"

Да, константа 2 Кб. Но , мне кажется, там проверка как см. выше.

4kusNick пишет:
Чаще всего в таких случаях в инет выкладываются демки, лишенные кода, который не должен функционировать в полных версиях, а при регистрации юзеру высылается полная версия, которая в процессе инсталляции привязывается к железу (номер харда, например).

Но прога ведь полностью функциональна, все функции доступны, единственное ограничение - размер компилируемого кода 2 Кб.
Тут сделано так: в форме заполнения генерируется рег. код, у которого меняются только последние 4 цифры если несколько раз заходить в окно заполнения рег. формы, возможно первые цифры отвечают за привязку к железу, а последние возможно связаны либо с временем, либо выбираются случайным образом.

Извините, что не сразу ответила..



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

Создано: 21 ноября 2005 09:43
· Личное сообщение · #14

Lisa пишет:
Усечённый вариант

Он хоть какой - нить опен/сейв делает?
А то у меня только при открытии выскакивает окно активации, а остальные - как белка об лед.

-----
TBR




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

Создано: 21 ноября 2005 09:55
· Личное сообщение · #15

Grey пишет:
Усечённый вариант
Он хоть какой - нить опен/сейв делает?
А то у меня только при открытии выскакивает окно активации, а остальные - как белка об лед.

Ой, простите меня, не тот файлик указала, уже поправилась в предыдущем сообщении. Нужен Temp1.
Извините, пожалуйста.




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 21 ноября 2005 10:09 · Поправил: ValdiS
· Личное сообщение · #16

Вот интересный кусочек кода:
006942E0 /$ 53 PUSH EBX
006942E1 |. 56 PUSH ESI
006942E2 |. 57 PUSH EDI
006942E3 |. 55 PUSH EBP
006942E4 |. 83C4 EC ADD ESP,-14
006942E7 |. 8BEA MOV EBP,EDX
006942E9 |. 8BF8 MOV EDI,EAX
006942EB |. C70424 FFFFFFFF MOV DWORD PTR SS:[ESP],-1
006942F2 |. 8B47 5C MOV EAX,DWORD PTR DS:[EDI+5C]
006942F5 |. 8B40 38 MOV EAX,DWORD PTR DS:[EAX+38]
006942F8 |. E8 8B1DD7FF CALL mikroc_I.00406088
006942FD |. 48 DEC EAX
006942FE |. 85C0 TEST EAX,EAX
00694300 0F8C D0000000 JL mikroc_I.006943D6
00694306 |. 40 INC EAX
00694307 |. 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
0069430B |. C74424 04 00000000 MOV DWORD PTR SS:[ESP+4],0
00694313 |> 8B47 5C /MOV EAX,DWORD PTR DS:[EDI+5C]
00694316 |. 8B40 38 |MOV EAX,DWORD PTR DS:[EAX+38]
00694319 |. 8B5424 04 |MOV EDX,DWORD PTR SS:[ESP+4]
0069431D |. 8B3490 |MOV ESI,DWORD PTR DS:[EAX+EDX*4]
00694320 |. 8BC6 |MOV EAX,ESI
00694322 |. E8 C9D4F4FF |CALL mikroc_I.005E17F0
00694327 |. 8BD8 |MOV EBX,EAX
00694329 8BC6 MOV EAX,ESI
0069432B E8 C4D4F4FF CALL mikroc_I.005E17F4
00694330 |. 8D541D 00 |LEA EDX,DWORD PTR SS:[EBP+EBX]
00694334 |. 4A |DEC EDX
00694335 |. 3BC2 |CMP EAX,EDX
00694337 7D 1C JGE SHORT mikroc_I.00694355
00694339 |. 6A 00 |PUSH 0
0069433B |. 68 EC436900 |PUSH mikroc_I.006943EC ; ASCII "Routine too large"
00694340 |. 6A 00 |PUSH 0
00694342 |. B9 01000000 |MOV ECX,1
00694347 |. 33D2 |XOR EDX,EDX
00694349 |. 8BC7 |MOV EAX,EDI
0069434B |. E8 68CAFFFF |CALL mikroc_I.00690DB8
00694350 |. E9 81000000 |JMP mikroc_I.006943D6
00694355 |> C64424 08 00 |MOV BYTE PTR SS:[ESP+8],0
0069435A |. EB 4A |JMP SHORT mikroc_I.006943A6
0069435C |> 8D4424 0C |/LEA EAX,DWORD PTR SS:[ESP+C]
00694360 |. 50 ||PUSH EAX
00694361 |. 8D4C1D 00 ||LEA ECX,DWORD PTR SS:[EBP+EBX]
00694365 |. 8BD3 ||MOV EDX,EBX
00694367 |. 8BC7 ||MOV EAX,EDI
00694369 |. E8 D2090000 ||CALL mikroc_I.00694D40
0069436E |. 84C0 ||TEST AL,AL
00694370 |. 74 23 ||JE SHORT mikroc_I.00694395
00694372 |. 8B47 5C ||MOV EAX,DWORD PTR DS:[EDI+5C]
00694375 |. 8BD3 ||MOV EDX,EBX
00694377 |. E8 54D2F4FF ||CALL mikroc_I.005E15D0
0069437C 8BF0 MOV ESI,EAX
0069437E |. 8D541D 00 ||LEA EDX,DWORD PTR SS:[EBP+EBX]
00694382 |. 8B47 5C ||MOV EAX,DWORD PTR DS:[EDI+5C]
00694385 |. E8 46D2F4FF ||CALL mikroc_I.005E15D0
0069438A |. 3BF0 ||CMP ESI,EAX
0069438C 75 2E JNZ SHORT mikroc_I.006943BC
0069438E |. C64424 08 01 ||MOV BYTE PTR SS:[ESP+8],1
00694393 |. EB 27 ||JMP SHORT mikroc_I.006943BC
00694395 |> 3B5C24 0C ||CMP EBX,DWORD PTR SS:[ESP+C]
00694399 |. 7D 0A ||JGE SHORT mikroc_I.006943A5
0069439B |. FF4424 0C ||INC DWORD PTR SS:[ESP+C]
0069439F |. 8B5C24 0C ||MOV EBX,DWORD PTR SS:[ESP+C]
006943A3 |. EB 01 ||JMP SHORT mikroc_I.006943A6
006943A5 |> 43 ||INC EBX
006943A6 |> 8BC6 | MOV EAX,ESI
006943A8 |. E8 43D4F4FF ||CALL mikroc_I.005E17F0
006943AD |. 3BD8 ||CMP EBX,EAX
006943AF 7C 0B JL SHORT mikroc_I.006943BC
006943B1 8BC6 MOV EAX,ESI
006943B3 E8 3CD4F4FF CALL mikroc_I.005E17F4
006943B8 |. 3BD8 ||CMP EBX,EAX
006943BA |.^ 7E A0 |\JLE SHORT mikroc_I.0069435C
006943BC |> 807C24 08 00 |CMP BYTE PTR SS:[ESP+8],0
006943C1 |. 74 05 |JE SHORT mikroc_I.006943C8
006943C3 |. 891C24 |MOV DWORD PTR SS:[ESP],EBX
006943C6 |. EB 0E |JMP SHORT mikroc_I.006943D6
006943C8 |> FF4424 04 |INC DWORD PTR SS:[ESP+4]
006943CC |. FF4C24 10 |DEC DWORD PTR SS:[ESP+10]
006943D0 |.^ 0F85 3DFFFFFF \JNZ mikroc_I.00694313
006943D6 |> 8B0424 MOV EAX,DWORD PTR SS:[ESP]
006943D9 |. 83C4 14 ADD ESP,14
006943DC |. 5D POP EBP
006943DD |. 5F POP EDI
006943DE |. 5E POP ESI
006943DF |. 5B POP EBX
006943E0 \. C3 RETN



Кстати, регистрация программы хранится в файле mikroC.key, который должен находиться в каталоге программы.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




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

Создано: 21 ноября 2005 10:50
· Личное сообщение · #17

ValdiS пишет:
0069433B |. 68 EC436900 |PUSH mikroc_I.006943EC ; ASCII "Routine too large"

Если ты об этом, то это документированное ограничение проги, не позволяющее отдельной подпрограме в создаваемом файле С быть больше 2Кб. Но это не имеет отношения к демо-режиму и к размеру выходного файла.

ValdiS пишет:
Кстати, регистрация программы хранится в файле mikroC.key, который должен находиться в каталоге программы.

А вот это действительно интересно, но, боюсь, чтобы раскрутить алгоритм потребуется намного больше времени, чем просто пропатчить.



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

Создано: 21 ноября 2005 12:53
· Личное сообщение · #18

Lisa пишет:
Нужен Temp1.

А линка на Setup.exe
Причем - тот-же.

-----
TBR




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

Создано: 21 ноября 2005 13:19 · Поправил: Lisa
· Личное сообщение · #19

Grey пишет:
Нужен Temp1.
А линка на Setup.exe

Извини, всё - поправила.

Да, вот готовые проекты для проги:
где всё Success - lisaa4.narod.ru/proWork.rar 1.6Кб
и с выходящим сообщением, что демо - lisaa4.narod.ru/proNoWork.rar 1.6Кб
Для второго размер выходного кода превышает 2Кб...




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 21 ноября 2005 13:36 · Поправил: ValdiS
· Личное сообщение · #20

Попробуй подправить
0061A0F1 3D 164B0800 CMP EAX,84B16
на
0061A0F1 3D 582C2100 CMP EAX,212C58
Проверь

Посмотри webfile.ru/645278
Имя файла - mikroc_I.rar , размер 9 Кбайт. Файл будет доступен до 28.11.2005 13:52. Пароль на архив: 12587. Попробуй патчик, вопросы в личку.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




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

Создано: 21 ноября 2005 13:57
· Личное сообщение · #21

ValdiS пишет:
Попробуй подправить

Не-а, не прошло... "демо лимит" перестало появляться, но при увеличении размера Си-программы счётчик процентов размера кода от общего (максимально возможного) размера кода для выбранного контроллера больше 25% не показывает, и выходной код оказывается нерабочим



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

Создано: 21 ноября 2005 14:11 · Поправил: Grey
· Личное сообщение · #22

Lisa пишет:
с выходящим сообщением, что демо

При каких обстоятельствах оно должно появляться?

ValdiS
А у тебя чо там?

-----
TBR




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

Создано: 21 ноября 2005 14:19
· Личное сообщение · #23

Grey пишет:
При каких обстоятельствах оно должно появляться?

Это сообщение появляется, если при компиляции Си-программы размер выходного кода превышает 2Кб.

Я поначалу пробовала по адресу 0061A0F6 заменить условный переход на безусловный- но увы Также сообщение пропадает, но в строке "размер вых.кода" там пишет 2069 (чуть больше 2К) 25%.




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 21 ноября 2005 14:39
· Личное сообщение · #24

Lisa
А патч проверила? Хотя там почти тоже самое...

Grey
Патч по адресам: 0061A0F1 и 0061DE25. Но видимо не помогло...

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




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

Создано: 21 ноября 2005 14:51
· Личное сообщение · #25

ValdiS пишет:
А патч проверила? Хотя там почти тоже самое...

Там только обходится вывод недоброго сообщения..



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

Создано: 21 ноября 2005 15:04 · Поправил: Grey
· Личное сообщение · #26

Lisa пишет:
Там только обходится вывод недоброго сообщения..

А что должно быть при удачном исходе?

-----
TBR





Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 21 ноября 2005 15:10
· Личное сообщение · #27

Lisa
Намек ясен, буду смотреть глубже...
Кстати, proNoWork сколько должен занимать реально процентов? Знаешь?

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




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

Создано: 21 ноября 2005 15:11
· Личное сообщение · #28

Grey пишет:
А что должно быть при удачном исходе?

В таком случае надпись "демо лимит" не появляется, выводится "success" и размер выходного кода в байтах и в процентах от максимального для выбранного контролера.



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

Создано: 21 ноября 2005 15:12 · Поправил: Grey
· Личное сообщение · #29

Это?



07cb_microC.jpg

-----
TBR




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

Создано: 21 ноября 2005 15:13
· Личное сообщение · #30

ValdiS пишет:
Кстати, proNoWork сколько должен занимать реально процентов? Знаешь?

Точно - нет, но больше чем 2069 (в байтах), и больше 25%.


. 1 . 2 . >>
 eXeL@B —› Крэки, обсуждения —› Такие проги ломаются или что сделали бы вы?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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