Сейчас на форуме: igorcauret (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Устранить Nagscreen "Осталось N дней"
Посл.ответ Сообщение

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

Создано: 25 июня 2014 21:47 · Поправил: Letun
· Личное сообщение · #1

Что есть
Сама программа (установщик+хелп с самой общей инфой о защите) https://yadi.sk/d/8qGDcysiUrvYi
Она небольшая, ставится за полминуты. Написана на Delphi. При запуске появляется окно с двумя кнопками (режим работы), при нажатии на любую из них появляется nagscreen "Осталось N дней". Изначально даётся 30 дней, которые отсчитываются от даты создания файла Modelus2012.exe

Чего хочу
- убрать nagscreen "Осталось N дней" с тем, чтобы программа работала как уже зарегистрированная, ЛИБО чтобы работала так, как будто всё время остаётся 30 дней (этого я добился скриптом, см. ниже)

Что делал
1) Проверил классический вариант с переводом часов - работает. Написал скрипт, который переводит часы на дату создания запускающего Modelus2012.exe, запускает сам Modelus2012.exe, после закрытия которого переводит часы обратно. Только показывает каждый раз при запуске окошко "Осталось 30 дней".
2) Попробовал отследить само окошко "Осталось 30 дней" в Olly Debugger. Нашёл примерное место, откуда оно вызывается, но не хватило знаний ассемблера, чтобы убрать это напоминание. Итог: сумел изменить заголовок окна в Hiew.
______________
Просьба к форумчанам помочь с такой задачкой. Я не прошу делать всё за меня, но любой помощи буду рад. Прилагаю скрин места в OllyDbg, с которого примерно начинается вызов надоедливого диалога-напоминалки. Пробовал заменить за ним все переходы на jmp, не помогло - диалог всё равно появляется.



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 25 июня 2014 21:57 · Поправил: unknownproject
· Личное сообщение · #2

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

Hint:
Code:
  1. 0040329C >/$  55            PUSH EBP                                 ; Modelus2012::ANextExecute

Поможет в регистрации

-----
TEST YOUR MIGHT


| Сообщение посчитали полезным: Letun

Ранг: 42.2 (посетитель), 42thx
Активность: 0.040
Статус: Участник

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

вы хоть посмострите в свой скрин =) в каком модуле вы ковыряетесь ?

Code:
  1. .text:00402A16 jnz     loc_402DBB

заменить на безусловный

| Сообщение посчитали полезным: Letun

Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 26 июня 2014 07:42
· Личное сообщение · #4

Letun пишет:
Написана на Delphi.

хмм. а ep похожа на Borland C++
Code:
  1. .text:00401D2C                 jmp     short loc_401D3E
  2. .text:00401D2C ; ---------------------------------------------------------------------------
  3. .text:00401D2E                 dw 6266h
  4. .text:00401D30                 dd 2B2B433Ah, 4B4F4F48h
  5. .text:00401D38                 db 90h
  6. .text:00401D39                 db 0E9h
  7. .text:00401D3A                 dd offset ___CPPdebugHook

ну неважно. зато там еще кейген, судя по всему, можно замутить(0x0040329C навскидку где-то отсюды проверка). впрочем, сам алго, наверно, люто забагованный-если банально вставить "Ваш код регистрации" в "ответный код", то выпадает мессаг бокс - ... is not valid flotiong point value

| Сообщение посчитали полезным: Letun


Ранг: 192.7 (ветеран), 154thx
Активность: 0.070
Статус: Участник
The ONE

Создано: 26 июня 2014 08:28
· Личное сообщение · #5

Ставим бряк на MessageBoxW, выходим из USER32, еще чуть выше ... еще ... попадаем сюда:



меняем на



нага нет, время переводить не надо.

-----
Сотрудник DHARMA


| Сообщение посчитали полезным: Letun

Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 26 июня 2014 09:15
· Личное сообщение · #6

К чему столько плясок с джампами, там серийник в открытом виде светится(в виде дворда)?




Ранг: 192.7 (ветеран), 154thx
Активность: 0.070
Статус: Участник
The ONE

Создано: 26 июня 2014 09:15 · Поправил: TrueLies
· Личное сообщение · #7

Вариант номер 2:

Занопить этот переход ...
было:
Code:
  1. 0040343E 75 1B JNZ SHORT 0040345B


стало:
Code:
  1. 0040343E 90 NOP
  2. 0040343F 90 NOP


Регистрируем любым набором цифр, перезапускам ... прога зарегана.

-----
Сотрудник DHARMA




Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

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

Мда.Сразу видно кто крякер, а кто реверсер

-----
TEST YOUR MIGHT





Ранг: 192.7 (ветеран), 154thx
Активность: 0.070
Статус: Участник
The ONE

Создано: 26 июня 2014 14:42
· Личное сообщение · #9

и вариант 3:
пользуемся кейгеном

f2b2_26.06.2014_EXELAB.rU.tgz - keygen.exe

-----
Сотрудник DHARMA


| Сообщение посчитали полезным: Letun

Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 26 июня 2014 17:39 · Поправил: ELF_7719116
· Личное сообщение · #10

TrueLies пишет:
пользуемся кейгеном

у меня после ftol другое число, отличное от того, что генерит кейген sorry, последнюю цифра не скопировалась!

он же читает ветку HKCU\AppEvents\CLSID с содержимым ключа IDN_CLS, с чего мы и получаем наш валидный ключ(DWORD) - по адресу 0x00403B34:
Code:
  1. ...
  2. 00403B69  |> /8B55 CC       /MOV EDX,DWORD PTR SS:[EBP-34]
  3. 00403B6C  |. |C1EA 18       |SHR EDX,18
  4. 00403B6F  |. |81E2 FF000000 |AND EDX,000000FF
  5. 00403B75  |. |8955 D4       |MOV DWORD PTR SS:[EBP-2C],EDX
  6. 00403B78  |. |8B4D D8       |MOV ECX,DWORD PTR SS:[EBP-28]
  7. 00403B7B  |. |3B4D 0C       |CMP ECX,DWORD PTR SS:[EBP+0C]
  8. 00403B7E  |. |7D 0E         |JGE SHORT 00403B8E
  9. 00403B80  |. |8B45 08       |MOV EAX,DWORD PTR SS:[EBP+8]
  10. 00403B83  |. |8B55 D8       |MOV EDX,DWORD PTR SS:[EBP-28]
  11. 00403B86  |. |8A0C10        |MOV CL,BYTE PTR DS:[EDX+EAX]
  12. 00403B89  |. |884D D3       |MOV BYTE PTR SS:[EBP-2D],CL
  13. 00403B8C  |. |EB 04         |JMP SHORT 00403B92
  14. 00403B8E  |> |C645 D3 00    |MOV BYTE PTR SS:[EBP-2D],0
  15. 00403B92  |> |8B45 CC       |MOV EAX,DWORD PTR SS:[EBP-34]
  16. 00403B95  |. |C1E0 08       |SHL EAX,8
  17. 00403B98  |. |0FBE55 D3     |MOVSX EDX,BYTE PTR SS:[EBP-2D]
  18. 00403B9C  |. |0BC2          |OR EAX,EDX
  19. 00403B9E  |. |8945 CC       |MOV DWORD PTR SS:[EBP-34],EAX
  20. 00403BA1  |. |8B4D D4       |MOV ECX,DWORD PTR SS:[EBP-2C]
  21. 00403BA4  |. |8B848D CCFBFF |MOV EAX,DWORD PTR SS:[ECX*4+EBP-434]
  22. 00403BAB  |. |3145 CC       |XOR DWORD PTR SS:[EBP-34],EAX
  23. 00403BAE  |. |FF45 D8       |INC DWORD PTR SS:[EBP-28]
  24. 00403BB1  |> |8B55 0C       |MOV EDX,DWORD PTR SS:[EBP+0C]
  25. 00403BB4  |. |83C2 04       |ADD EDX,4
  26. 00403BB7  |. |3B55 D8       |CMP EDX,DWORD PTR SS:[EBP-28]
  27. 00403BBA  |.^\7F AD         \JG SHORT 00403B69
  28. ...


| Сообщение посчитали полезным: Letun

Ранг: 88.6 (постоянный), 50thx
Активность: 0.040.02
Статус: Участник

Создано: 26 июня 2014 18:46 · Поправил: Vnv
· Личное сообщение · #11

TrueLies

Letun пишет:
Я не прошу делать всё за меня

Но, уже все сделано.



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

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

Уважаемые товарищи! Так оперативно и качественно мне не помогали, пожалуй, ещё ни на одном форуме Я очень благодарен)

1)
unknownproject пишет:
Делай бряк на память по кол-ву оставшихся дней и там уже меняй на свое усмотрение - хоть 999 дней, хоть сделай ноль, а рядом с нагом ищи проверку на ноль (истекший триал) и либо ее нопь, либо делай безусловный джамп на следующую после нага команду.

Hint:
Code:

0040329C >/$ 55 PUSH EBP &nbs
p; ; Modelus2012::ANextExecute


Поможет в регистрации

Не совсем понял хинт (новичок в крякинге)

2) kid пишет:
Code:

.text:00402A16 jnz loc_402DBB

заменить на безусловный

Уррра! Работает без нареканий и нагскрина, пункт реги в меню сохраняется, но делать её уже нет необходимости. Спасибо!

3) TrueLies пишет:
Вариант номер 2:

Занопить этот переход ...
было:
Code:

0040343E 75 1B JNZ SHORT 0040345B

стало:
Code:

0040343E 90 NOP
0040343F 90 NOP

Регистрируем любым набором цифр, перезапускам ... прога зарегана.

Работает, но кажет окошко ошибки при запуске и при вызове окна реги (скрин в приложении). Это неважно, главное - работает

4) TrueLies пишет:
и вариант 3:
пользуемся кейгеном

f2b2_26.06.2014_EXELAB.rU.tgz - keygen.exe

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

5) Vovan666 пишет:
К чему столько плясок с джампами, там серийник в открытом виде светится(в виде дворда)?

"получаем наш валидный ключ(DWORD) - по адресу 0x00403B34" - там push EBP
спасибо, попробую разобраться

3c8e_26.06.2014_EXELAB.rU.tgz - Выдаёт ошибку.jpg



Ранг: 10.9 (новичок), 5thx
Активность: 0.060
Статус: Участник

Создано: 27 июня 2014 01:14 · Поправил: ThugboyZ
· Личное сообщение · #13

Letun пишет:
Не совсем понял хинт (новичок в крякинге)

Так вот, ежели в программе предусмотрена процедура регистрации, то лучше разбирать ее.Другое дело, если это представляет определенные трудности, например, из-за сложности алгоритма.Патч - это всегда последнее и как правило применимо лишь к сугубо триальный/демо версиям, но при этом с полнофункциональным кодом, без катов.Патч - это крайняя мера.


 eXeL@B —› Вопросы новичков —› Устранить Nagscreen "Осталось N дней"
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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