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

 eXeL@B —› Вопросы новичков —› плагин к программе C4D подскажите, с чего начать.
Посл.ответ Сообщение

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

Создано: 28 декабря 2012 15:19
· Личное сообщение · #1

Уважаемые специалисты. Помогите советом или подскажите, с чего начать.
Суть вопроса:
Есть плагин к программе Cinema4d. Это обычная dll писанная в c++ Серийник плагина зависит от серийника программы Хочется найти серийник плагина и отвязать его от основной программы
Изучать плагин в IDA или Oledbg отдельно от основной программы (методом научного тыка и разной информации из нета) мне ничего не дало
Я не пойму как это сделать ...информации в нете много но чтобы получить нужную мне информацию следует задать правильный вопрос а для этого нужно знать большую часть ответа ...тупик
Без консультации специалиста никак.



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

Создано: 28 декабря 2012 15:29
· Личное сообщение · #2

Самый верный вариант это изучать файл из-под основной программы, это по поводу поиска серийника.
Ну а отвязать от основной программы скорее всего не получится, а там х.з.



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

Создано: 28 декабря 2012 16:09
· Личное сообщение · #3

"Ну а отвязать от основной программы скорее всего не получится"
В том то и дело, что делают люди. Иначе я бы не пытался этому научится.
Из основной программы я не вижу что делается с плагином (или не знаю как)
Можно ссылку на пример или инструкцию к действию? (в моем конкретном случае)
Разные уроки абстрактные мало пользы принесли.



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

Создано: 28 декабря 2012 16:25
· Личное сообщение · #4

Раз это обычная длл, значит она и подгружается к программе как длл, а значит можно ставить бряки и трассировать как и с ситемными длл в других программах.



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

Создано: 28 декабря 2012 16:46
· Личное сообщение · #5

Это я понимаю. Но не знаю как мне увидеть эту dll и отследить что с ней происходит При трасировке основной проги Поэтому я и прошу помощи с примером типа носом ткнуть и в чем ее ковырять Ida или Olly Вы уж извините но я Совсем новичек но очень хочется решить эту задачу и научится чему то На конкретном примере по ходу получая нужные знания ...исходя из соображения ...умный не тот кто знает Все а тот кто знает нужное



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

Создано: 28 декабря 2012 17:00
· Личное сообщение · #6

SergVic
для начала неплохо дать ссылки на саму прогу и на плагин
желательно на ifolder, rghost, депозит не надо



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

Создано: 28 декабря 2012 17:28
· Личное сообщение · #7

Плагин http://www38.zippyshare.com/v/95664324/file.html
в плагине есть комментарий разработчика ...
А программа есть на любом торренте - Cinema 4d r13




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 28 декабря 2012 18:01
· Личное сообщение · #8

Весь шлак поскипан. Выданные предупреждения в силе.
Нет желания помогать - проходим мимо.



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

Создано: 28 декабря 2012 18:10
· Личное сообщение · #9

Вот кусочек из dll с коментарием о файле Serial.cpp может тут проверка сериала? и что делать дальше

Code:
  1. 009A4F50  /$  68 90F6A300   PUSH OFFSET 00A3F690                     ; /Arg4 = ASCII "c:\users\steve\documents\c4d plugins\c4d_r14\plugins\x-particles\source\serial.cpp"
  2. 009A4F55  |.  68 1D020000   PUSH 21D                                 ; |Arg3 = 21D
  3. 009A4F5A  |.  68 A04BA500   PUSH OFFSET 00A54BA0                     ; |Arg2 = X-Particles_cdl.0A54BA0
  4. 009A4F5F  |.  68 98000000   PUSH 98                                  ; |Arg1 = 98
  5. 009A4F64  |.  E8 879C0600   CALL 00A0EBF0                            ; \X-Particles_cdl.00A0EBF0
  6. 009A4F69  |.  83C4 10       ADD ESP,10
  7. 009A4F6C  |.  85C0          TEST EAX,EAX
  8. 009A4F6E  |.  74 09         JZ SHORT 009A4F79
  9. 009A4F70  |.  8BC8          MOV ECX,EAX
  10. 009A4F72  |.  E8 A9FCFFFF   CALL 009A4C20
  11. 009A4F77  |.  EB 02         JMP SHORT 009A4F7B
  12. 009A4F79  |>  33C0          XOR EAX,EAX
  13. 009A4F7B  |>  6A 01         PUSH 1                                   ; /Arg2 = 1
  14. 009A4F7D  |.  68 3DAC0F00   PUSH 0FAC3D                              ; |Arg1 = 0FAC3D
  15. 009A4F82  |.  8BC8          MOV ECX,EAX                              ; |
  16. 009A4F84  |.  A3 A44AA500   MOV DWORD PTR DS:[0A54AA4],EAX           ; |
  17. 009A4F89  |.  E8 12D20700   CALL 00A221A0                            ; \X-Particles_cdl.00A221A0
  18. 009A4F8E  |.  F7D8          NEG EAX                                  ; Converts EAX to boolean
  19. 009A4F90  |.  1BC0          SBB EAX,EAX
  20. 009A4F92  |.  F7D8          NEG EAX
  21. 009A4F94  \.  C3            RETN
  22. 009A4F95      CC            INT3




Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 28 декабря 2012 20:10 · Поправил: vden
· Личное сообщение · #10

Если интересно исследовать работу с серийным номером, то начать можно с SDK для C4D

www.maxon.net/id=157&L=0 (chm например)

В SDK можно найти SNCheck. Там описывается, как создать своё поле для ввода серийника.

В классе SNHookClass() метод SNCheck() позволяет проверять номера.

Code:
  1. virtual LONG SNCheck(const String& c4dsn, const String& sn, LONG regdate, LONG curdate)


В плагине есть класс XPSerial – потомок от SNHookClass, его таблица методов здесь
Code:
  1. 1009F630 0001 XPSerial: SNHookClass; [SI]


(таблицы можно найти плагином для IDA - Class Informer)

нужно найти, где в плагине переопределенный метод SNCheck (т.е. XPSerial::SNCheck()) и исследовать его.

Адреса даны для 32 битной версии плагина X-Particles.cdl
Файл открываем в IDA, загружаем вручную (manual), загружаем все секции.
Идём на 1009F630

Там методы xpserial
Code:
  1. .rdata:1009F630 dd offset sub_10005580 ; это SNCheck
  2. .rdata:1009F634 dd offset sub_10004D60
  3. .rdata:1009F638 dd offset sub_10082210


Идём на 10005580
Видим обфускацию и что-то похожее на виртуальную машину.

Code:
  1. .text:10005580
  2. .text:10005580                 push    ebp
  3. .text:10005581                 mov     ebp, esp
  4. .text:10005583                 sub     esp, 0DCh
  5. .text:10005589                 mov     [ebp+var_DC], ecx
  6. .text:1000558F                 jmp     loc_100E3067
  7. ...
  8. .reloc:100E3067                 push    offset byte_100DAA93
  9. .reloc:100E306C                 jmp     loc_100BFF30
  10.  
  11. ... вм?
  12.  
  13. .reloc:100BFF30                pushf
  14. .reloc:100BFF31                 push    eax
  15. .reloc:100BFF32                 mov     [esp], edx
  16. .reloc:100BFF35                 mov     edx, esp
  17. .reloc:100BFF37                 add     edx, 4
  18. .reloc:100BFF3D                 push    esi
  19. .reloc:100BFF3E                 mov     esi, 0A4B13FFh
  20. .reloc:100BFF43                 shl     esi, 7
  21. .reloc:100BFF46                 xchg    edi, esi
  22. .reloc:100BFF48                 inc     edi
  23. .reloc:100BFF49                 xchg    edi, esi
  24. .reloc:100BFF4B                 sub     esi, 832103Fh
  25. .reloc:100BFF51                 push    eax
  26. .reloc:100BFF52                 mov     eax, 11F268DEh
  27. .reloc:100BFF57                 xor     eax, 0A1C031Ah
  28. .reloc:100BFF5C                 shl     eax, 4
  29. .reloc:100BFF5F                 and     eax, 2EBF3742h
  30. .reloc:100BFF64                 add     eax, 0EEB1BAFEh
  31.  
  32. ...
  33.  
  34. .reloc:100C51A5                 xor     bl, al
  35. .reloc:100C51A7                 movzx   eax, al
  36. .reloc:100C51AA                 jmp     dword ptr [edi+eax*4]


Если знания в RCE начальные, то тут и стоп.

Но видимо разработчик позаботился о всех и в плагине для Mac
(X-Particles.dylib), есть символы и судя по всему нет защиты

Проверка тут

Code:
  1. 0000000000007A20 XPSerial::SNCheck


ps1
для 64-битных файлов: idag64.exe или idaq64.exe (Qt). Qt быстрее при отрисовке графов, если есть аппаратное ускорение.



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

Создано: 28 декабря 2012 20:57
· Личное сообщение · #11

Спасибо за информацию все сложно но буду копать а X-Particles.dylib не открывает требует 64 битную версию Ida а у меня х32




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

Создано: 28 декабря 2012 20:59
· Личное сообщение · #12

Ну дык запусти ida64g.exe. Которая 6.1 и которую релизили.



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

Создано: 28 декабря 2012 21:54 · Поправил: SergVic
· Личное сообщение · #13

Спасибо получилось открыл mac-овский файл но сериал от мака насколько я знаю не катит на Win там и кейгены разные так что надо только вин копать. А обфускацию эту каким способом побороть есть урок или пример какой нибудь?

там еще антидебагер
.rdata:100B2A2E 0011 anti-debug: IsDebuggerPresent [..17]



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

Создано: 29 декабря 2012 23:54 · Поправил: neprovad
· Личное сообщение · #14

нормальный код с адреса 0x1000558F
http://pastebin.com/bj8hdWVR
это не единственное место, используйте плагин oreans unvirtualizer



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

Создано: 30 декабря 2012 00:26
· Личное сообщение · #15

Спасибо за помощь ...мне еше до взлома как до Киева пешком не могу разобраться даже с простой задачкой из раздела - программы с простой защитой. но буду учится


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


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