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

 eXeL@B —› Крэки, обсуждения —› fuzzyTECH 5.8
Посл.ответ Сообщение

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

Создано: 24 октября 2010 00:37 · Поправил: 452
· Личное сообщение · #1

Провел анализ, написано все на Microsoft Visual C++ 8.0, ничем не запаковано, в Mcump.dll проверка на валидность.
есть версия fuzzyTECH 5.5 с пропатченными dll... но без поддержки микроконтроллеров Pic.
Основная программа fuzzyTECH.exe является только оболочкой, а проверка подлинности валидности регистрации проводится в dll.

скачать --> fuzzyTECH 5.8 здесь <--
use password "purple" to extract PackageForTheWeb
use serial "010237"

с оф сайта
use serial "000000" for installing the fuzzyTECH Editions for technical applications.
use serial "123456" for installing the fuzzyTECH Editions for business and finance applications.

в аттаче есть торент на fuzzyTECH 5.54 с пропатченными dll кроме Mcump.dll

иcследую защиту только поддержки микроконтроллеров, то есть программа использует Mcump.dll, для этого в настройках нужно выбрать её, Tools -> fuzzyTECH MCU-MP

00430603 - Адресс перед входом в Mcump.dll
INT3 breakpoints, item 1
Address = 0042A3F9
Module = fuzzyTECH
Status = Active
Disassembly = CALL NEAR DWORD PTR DS:[<&USER32.MessageBoxA>]
Comment = Вивод сообщения о демо режиме

INT3 breakpoints, item 0
Address = 00462B7F
Module = fuzzyTECH
Status = Active
Disassembly = CMP EDI,3E4
Comment = Проверка на регистрацию

//////////////////////////////////////////
для того что бы срабатывали брейкпоинты в Mcump.dll, обязательно ставим прерывание на 0430603 (по другому пока не знаю) )
00430603 - Адресс перед входом в Mcump.dll
Mcump.dll
05507327

0550107F - Сообщение о демо режиме... при запуске программы после Nag screan...

0550A623 - it

-> в этой ячейке 0552E014 должно быть 00 что бы не был демо режим..., не могу отловить где и когда устанавливается 01 туда..., вручную меняю.. немного работает...
0552E014 - ячейка Памяти, демо режим 1

055306DD - ячейка Памяти,

в общем проблема в том что не могу полностью разобраться с защитой программы..., все вроде просто... но не получается... последний раз что то исследовал еще в 2007 году, просьба помочь, может скорее получится... так как второй день мучу её... на вид все очень просто но что то не очень то получается..., буду пока дальше разбираться с ollydbg и fuzzyTECH.exe->Mcump.dll

0362_23.10.2010_CRACKLAB.rU.tgz - att.rar




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 24 октября 2010 02:33
· Личное сообщение · #2

если ничем не запакована IDA попробуйте.
а олькой бегать прыгать нужно только если знаете что ищете..



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

Создано: 24 октября 2010 09:51
· Личное сообщение · #3

Благодарю=) сейчас попробую, в Ольке просто получилось в реалтайм побегать по длл благодаря тому (00430603) прерыванию, напишу что получилось=)



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

Создано: 24 октября 2010 13:11 · Поправил: qwerty-2006
· Личное сообщение · #4

Mcump.dll сюда бряк и смотри
05502A20 >/$ 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
если будет возвращать AL=0, будет сохранять проект и не будет нага при старте.
например
05502A64 XOR EAX,EAX
05502A66 CMP BYTE PTR DS:[552E014],AL
05502A6C SETNE AL <= XOR EAX,EAX



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

Создано: 24 октября 2010 15:54 · Поправил: 452
· Личное сообщение · #5

открываем проект в C:\Program Files\INFORM\fuzzyTECH 5.8\Runtime\MCU\MP17Cxx\Samples\Myproj16
дальше идем в меню->Tools->Complite to->17Cxx...
и появляется сообщение перехватить можно здесь 0550A580
еще может быть что в версии 5.8, валидность еще где то кроме Mcump.dll проверяется, например в Ftedsupp.dll

05502A20 близко... бывало на неправильную версию ключа выкидывало... где то там копался...
05502A66 CMP BYTE PTR DS:[552E014],AL
ставил брейкпоинт на адрес памяти... на чтение и запись BYTE PTR DS:[552E014]

05504300 здесь добавление слова Demo везде в заголовки...

05507345 здесь начинается генерация инфы о лицензии..., Help->About->Program Info...

05502A20
поставил 05502A6C SETNE AL <= 05502A6C SETE AL c сохранением разобрались пока=)
главное компилировать для мк



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

Создано: 24 октября 2010 16:16
· Личное сообщение · #6

TSEvaluateCommand интересная функция... вроде здесь что то есть... но не могу понять то ли что нужно...

не могу в этом бреде толком разобраться...

Code:
  1. signed int __userpurge TSEvaluateCommand<eax>(char a1<bpl>, UINT a2, int a3)
  2. {
  3.   int v3; // ecx@2
  4.   HWND v5; // eax@4
  5.   __int16 v6; // si@5
  6.   int v7; // edi@6
  7.   const CHAR *v8; // esi@7
  8.   HINSTANCE v9; // eax@7
  9.   int v10; // eax@7
  10.   void *v11; // edi@7
  11.   const CHAR *v12; // ST10_4@7
  12.   HWND v13; // eax@7
  13.   UINT v14; // ST14_4@8
  14.   HWND v15; // eax@8
  15.   HMENU v16; // eax@8
  16.   bool v17; // ebx@10
  17.   LPARAM v18; // ebp@14
  18.   int v19; // edi@14
  19.   int v20; // eax@15
  20.   int v21; // edx@15
  21.   char v22; // cl@16
  22.   bool v23; // ebx@18
  23.   HWND v24; // ST08_4@31
  24.   HINSTANCE v25; // eax@31
  25.   HWND v26; // eax@32
  26.   char v27; // [sp-10h] [bp-1Ch]@14
  27.   char v28; // [sp-10h] [bp-1Ch]@28
  28.   char Dst; // [sp+3h] [bp-9h]@2
  29.   int v30; // [sp+4h] [bp-8h]@5
  30.   bool v31; // [sp+8h] [bp-4h]@10
  31.  
  32.   if ( !byte_552E014 )
  33.   {
  34.     Dst = 0;
  35.     if ( sub_5511170(3, 1u, &Dst) || (LOBYTE(v3) = Dst & 4, (Dst & 4) != 4) )
  36.     {
  37.       v5 = (HWND)sub_550AB40(v3);
  38.       SendMessageA(v5, 0x5608u, 0, 0);
  39.       return 1;
  40.     }
  41.   }
  42.   v6 = a2;
  43.   v30 = (unsigned __int16)a2 - 32881;
  44.   switch ( (unsigned __int16)a2 )
  45.   {
  46.     case 0x8071u:
  47.     case 0x8072u:
  48.     case 0x8073u:
  49.     case 0x8074u:
  50.     case 0x8075u:
  51.     case 0x8076u:
  52.     case 0x8077u:
  53.     case 0x8078u:
  54.     case 0x8079u:
  55.     case 0x807Au:
  56.     case 0x807Cu:
  57.     case 0x807Du:
  58.     case 0x807Eu:
  59.     case 0x807Fu:
  60.     case 0x8080u:
  61.     case 0x8082u:
  62.     case 0x8083u:
  63.     case 0x8084u:
  64.     case 0x8085u:
  65.     case 0x8086u:
  66.     case 0x8087u:
  67.     case 0x8089u:
  68.     case 0x808Au:
  69.     case 0x808Bu:
  70.     case 0x808Du:
  71.     case 0x808Eu:
  72.     case 0x808Fu:
  73.     case 0x8090u:
  74.       v7 = 1;
  75.       if ( byte_552E014 )
  76.       {
  77.         v8 = (const CHAR *)sub_5504300();
  78.         v9 = (HINSTANCE)sub_550AB20();
  79.         v10 = sub_550A970(v9, 0x2744u);
  80.         v11 = (void *)v10;
  81.         v12 = (const CHAR *)v10;
  82.         v13 = (HWND)((int (*)(void))sub_550AB40)();
  83.         MessageBoxA(v13, v12, v8, 0x40u);
  84.         GlobalFree(v11);
  85.         GlobalFree((HGLOBAL)v8);
  86.         return 1;
  87.       }
  88.       v14 = (unsigned __int16)a2;
  89.       v15 = (HWND)((int (*)(void))sub_550AB40)();
  90.       v16 = GetMenu(v15);
  91.       if ( GetMenuState(v16, v14, 0) )
  92.         return 0;
  93.       v17 = dword_5530D64 == 0;
  94.       v31 = dword_5530D64 == 0;
  95.       dword_5530DF0 = (unsigned int)(unsigned __int16)GetKeyState(17) >> 15;
  96.       if ( !v17 )
  97.         goto LABEL_13;
  98.       sub_5509C60();
  99.       if ( dword_5530D64 )
  100.       {
  101.         byte_55306DC = 1;
  102. LABEL_13:
  103.         if ( dword_5530D64 )
  104.         {
  105.           v27 = a1;
  106.           v19 = a3;
  107.           v18 = sub_550ABD0(0x40u, 0x730u);
  108.           if ( a3 )
  109.           {
  110.             v20 = a3;
  111.             v21 = v18 - a3;
  112.             do
  113.             {
  114.               v22 = *(_BYTE *)v20;
  115.               *(_BYTE *)(v21 + v20) = *(_BYTE *)v20;
  116.               ++v20;
  117.             }
  118.             while ( v22 );
  119.             dword_5530DF0 = 1;
  120.           }
  121.           a2 = (UINT)&off_5526804;
  122.           sub_5504FC0(18, &a2);
  123.           v23 = v19 != 0;
  124.           a2 = (UINT)&off_552670C;
  125.           switch ( v30 )
  126.           {
  127.             case 0:
  128.             case 3:
  129.               v7 = sub_55162F0((LPCSTR)v18, v6 != -32655 ? 320 : 1);
  130.               break;
  131.             case 2:
  132.               v7 = sub_5517A30(v18);
  133.               break;
  134.             case 12:
  135.               v7 = sub_5518630(1);
  136.               break;
  137.             case 13:
  138.               v7 = sub_5518630(16);
  139.               break;
  140.             case 14:
  141.               v7 = sub_5518630(2);
  142.               break;
  143.             case 17:
  144.               v7 = sub_5518630(32);
  145.               break;
  146.             case 15:
  147.               v7 = sub_5518630(4);
  148.               break;
  149.             case 18:
  150.               v7 = sub_5518630(64);
  151.               break;
  152.             default:
  153.               v7 = 0;
  154.               break;
  155.           }
  156.           sub_5513310(0, v27);
  157.           if ( v7 )
  158.           {
  159.             if ( !v23 )
  160.             {
  161.               if ( *(_DWORD *)(v18 + 1836) )
  162.               {
  163.                 v24 = (HWND)((int (*)(void))sub_550AB40)();
  164.                 v25 = (HINSTANCE)sub_550AB20();
  165.                 sub_550AD00(v25, "PRECOMP_INFO", v24, (DLGPROC)DialogFunc, v18);
  166.               }
  167.             }
  168.           }
  169.           else
  170.           {
  171.             v26 = (HWND)((int (*)(void))sub_550AB40)();
  172.             sub_550AD90(v26, 0x10u, 0x27C6u, 10103, v28);
  173.           }
  174.           GlobalFree((HGLOBAL)v18);
  175.           v17 = v31;
  176.         }
  177.       }
  178.       if ( v17 )
  179.       {
  180.         if ( byte_55306DC )
  181.         {
  182.           byte_55306DC = 0;
  183.           sub_55029B0();
  184.         }
  185.       }
  186.       SLSetDefText(-1, 0, 0);
  187.       return v7;
  188.     default:
  189.       return 0;
  190.   }
  191. }


Code:
  1. .text:0550A580 ; =============== S U B R O U T I N E =======================================
  2. .text:0550A580
  3. .text:0550A580
  4. .text:0550A580                 public TSEvaluateCommand
  5. .text:0550A580 TSEvaluateCommand proc near             ; DATA XREF: .rdata:off_552D588o
  6. .text:0550A580
  7. .text:0550A580 Dst             = byte ptr -9
  8. .text:0550A580 var_8           = dword ptr -8
  9. .text:0550A580 var_4           = dword ptr -4
  10. .text:0550A580 arg_0           = dword ptr  4
  11. .text:0550A580 arg_4           = dword ptr  8
  12. .text:0550A580
  13. .text:0550A580                 sub     esp, 0Ch
  14. .text:0550A583 ; 31: if ( !byte_552E014 )
  15. .text:0550A583                 cmp     byte_552E014, 0
  16. .text:0550A58A                 jnz     short loc_550A5D7
  17. .text:0550A58C ; 34: if ( sub_5511170(3, 1u, &Dst) || (LOBYTE(v3) = Dst & 4, (Dst & 4) != 4) )
  18. .text:0550A58C                 lea     eax, [esp+0Ch+Dst]
  19. .text:0550A590                 push    eax             ; Dst
  20. .text:0550A591                 push    1               ; Size
  21. .text:0550A593                 push    3               ; int
  22. .text:0550A595 ; 33: Dst = 0;
  23. .text:0550A595                 mov     [esp+18h+Dst], 0
  24. .text:0550A59A                 call    sub_5511170
  25. .text:0550A59F                 add     esp, 0Ch
  26. .text:0550A5A2                 test    eax, eax
  27. .text:0550A5A4                 jnz     short loc_550A5B7
  28. .text:0550A5A6                 mov     cl, [esp+0Ch+Dst]
  29. .text:0550A5AA                 and     cl, 4
  30. .text:0550A5AD                 cmp     cl, 4
  31. .text:0550A5B0                 setz    al
  32. .text:0550A5B3                 test    eax, eax
  33. .text:0550A5B5                 jnz     short loc_550A5D7
  34. .text:0550A5B7 ; 37: SendMessageA(v5, 0x5608u, 0, 0);
  35. .text:0550A5B7
  36. .text:0550A5B7 loc_550A5B7:                            ; CODE XREF: TSEvaluateCommand+24j
  37. .text:0550A5B7                 push    0               ; lParam
  38. .text:0550A5B9                 push    0               ; wParam
  39. .text:0550A5BB                 push    5608h           ; Msg
  40. .text:0550A5C0 ; 36: v5 = (HWND)sub_550AB40(v3);
  41. .text:0550A5C0                 call    sub_550AB40
  42. .text:0550A5C5                 push    eax             ; hWnd
  43. .text:0550A5C6                 call    ds:SendMessageA
  44. .text:0550A5CC ; 38: return 1;
  45. .text:0550A5CC                 mov     eax, 1
  46. .text:0550A5D1                 add     esp, 0Ch
  47. .text:0550A5D4                 retn    8
  48. .text:0550A5D7 ; ---------------------------------------------------------------------- -----
  49. .text:0550A5D7 ; 41: v6 = a2;
  50. .text:0550A5D7
  51. .text:0550A5D7 loc_550A5D7:                            ; CODE XREF: TSEvaluateCommand+Aj
  52. .text:0550A5D7                                         ; TSEvaluateCommand+35j
  53. .text:0550A5D7                 push    esi
  54. .text:0550A5D8                 mov     esi, [esp+10h+arg_0]
  55. .text:0550A5DC ; 42: v30 = (unsigned __int16)a2 - 32881;
  56. .text:0550A5DC                 movzx   eax, si
  57. .text:0550A5DF                 lea     ecx, [eax-8071h]
  58. .text:0550A5E5                 cmp     ecx, 1Fh        ; switch 32 cases
  59. .text:0550A5E8                 mov     [esp+10h+var_8], ecx
  60. .text:0550A5EC                 ja      loc_550A856     ; default
  61. .text:0550A5EC                                         ; jumptable 0550A5F9 cases 10,16,23,27
  62. .text:0550A5F2 ; 43: switch ( (unsigned __int16)a2 )
  63. .text:0550A5F2                 movzx   edx, ds:byte_550A868[ecx]
  64. .text:0550A5F9                 jmp     ds:off_550A860[edx*4] ; switch jump
  65. .text:0550A600 ; 73: v7 = 1;
  66. .text:0550A600
  67. .text:0550A600 loc_550A600:                            ; DATA XREF: .text:off_550A860o
  68. .text:0550A600                 cmp     byte_552E014, 0 ; jumptable 0550A5F9 cases 0-9,11-15,17-22,24-26,28-31
  69. .text:0550A607                 push    edi
  70. .text:0550A608                 mov     edi, 1
  71. .text:0550A60D ; 74: if ( byte_552E014 )
  72. .text:0550A60D                 jz      short loc_550A656
  73. .text:0550A60F ; 76: v8 = (const CHAR *)sub_5504300();
  74. .text:0550A60F                 xor     eax, eax
  75. .text:0550A611                 call    sub_5504300
  76. .text:0550A616 ; 78: v10 = sub_550A970(v9, 0x2744u);
  77. .text:0550A616                 push    2744h           ; uID
  78. .text:0550A61B                 mov     esi, eax
  79. .text:0550A61D ; 77: v9 = (HINSTANCE)sub_550AB20();
  80. .text:0550A61D                 call    sub_550AB20
  81. .text:0550A622                 push    eax             ; hInstance
  82. .text:0550A623                 call    sub_550A970
  83. .text:0550A628 ; 82: MessageBoxA(v13, v12, v8, 0x40u);
  84. .text:0550A628                 add     esp, 8
  85. .text:0550A62B                 push    40h             ; uType
  86. .text:0550A62D ; 79: v11 = (void *)v10;
  87. .text:0550A62D                 mov     edi, eax
  88. .text:0550A62F ; 80: v12 = (const CHAR *)v10;
  89. .text:0550A62F                 push    esi             ; lpCaption
  90. .text:0550A630                 push    edi             ; lpText
  91. .text:0550A631 ; 81: v13 = (HWND)((int (*)(void))sub_550AB40)();
  92. .text:0550A631                 call    sub_550AB40
  93. .text:0550A636                 push    eax             ; hWnd
  94. .text:0550A637                 call    ds:MessageBoxA
  95. .text:0550A63D ; 83: GlobalFree(v11);
  96. .text:0550A63D                 push    edi             ; hMem
  97. .text:0550A63E                 mov     edi, ds:__imp_GlobalFree
  98. .text:0550A644                 call    edi ;





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 24 октября 2010 19:04
· Личное сообщение · #7

452 пишет:
--> fuzzyTECH 5.8 здесь <--

он демо? или там есть формы для регистрации?
от них и отталкивайтесь
либо разбирайте весь код



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

Создано: 24 октября 2010 19:19
· Личное сообщение · #8

Installation Key
Once the Setup is running, you will be prompted for an Installation Key. This key determines which fuzzyTECH components must be installed for your fuzzyTECH product type. If you are a licensed user, the Installation Key is printed on your delivery note. Otherwise you enter

000000 for installing the fuzzyTECH Editions for technical applications.
123456 for installing the fuzzyTECH Editions for business and finance applications.

формы для регистрации как такой нет...
при установке инсталятор просит пароль use password "purple" to extract PackageForTheWeb
use serial "010237" и серийник..., выше инфа взятая из сайта... там говорится что серийник должен быть на упаковке... или используйте эти 000000 123456

сейчас еще поиграюсь с переустановкой...
если бы все было так просто) найти кнопку и т д), здесь все как то в тихую делается))



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

Создано: 24 октября 2010 21:50
· Личное сообщение · #9

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall \{2CD16597-438C-44FB-90A6-BB70EC2B0B79} -> ProductId = 010237 <- Ключ инсталляции что дает нам Профессиональную версию... и выбор всего остального для установки...
но он вроде только для инсталятора нужен...




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 24 октября 2010 22:00
· Личное сообщение · #10

452
вам или в запросы на взлом
или просто найти таких кто заинтересован так же этой прогой как и вы) и разбирать с ними

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



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

Создано: 24 октября 2010 22:17
· Личное сообщение · #11

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




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 25 октября 2010 01:32
· Личное сообщение · #12

Скачал, посмотрел. Ты почти всё сделал, только не умеешь пользоваться инструментами.

Code:
  1. 0550582D    C605 14E05205 0>MOV BYTE PTR DS:[552E014],1
  2. 05505834    C605 DE065305 0>MOV BYTE PTR DS:[55306DE],0
  3. 0550583B    C605 DD065305 0>MOV BYTE PTR DS:[55306DD],0

552E014
Корректная ли лицензия
1 - не корректная (возможно просрочена)
0 - корретная

55306DE
Лицензия для версии ПО:
0 - 5.0x
1 - 5.1x
2 - 5.2x
3 - 5.3x
4 - 5.4x
5 - 5.5x
6 - 5.6x
7 - 5.7x and 5.8x
8 - Текущая версия ПО

55306DD
Установлена ли лицензия
0 - не установлена
1 - установлена

Если запатчить инициализацию этих значений (там еще чуть пониже они перезаписываются), то DLL почти поломана. Дальше произойдет хреновая вещь.

Дело в том, что вся информация о лицензии получается из какой то железяки, которая должна быть в компе. К ней DLL обращается через \CBUSBCFG. А ее собственно и нет. При этом, если запатчить значения, то обращение к железке будет портить память и программа будет вылетать. Можно конечно кое где поправить, чтобы память не портилась, но не факт что где то потом еще не испортится. Короче надо сделать простой эмулятор внутри DLL и отвечать ей вместо железяки, если хочешь я сделаю, там не долго.

-----
Yann Tiersen best and do not fuck




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

Создано: 25 октября 2010 10:36
· Личное сообщение · #13

конечно хочу=), и буду очень благодарен Вам.
она похоже использует CRYPTO-BOX USB, распаковал сначала инсталяционную программу , потом архив... (с утилитами IsXunpack.exe, --> uniextract161.exe эта с GUI и по сильнее <--)

и в архиве data1.cab нашел файл CBUSetup.exe это тот же CRYPTO-BOX USB

вот еще только что нашел программу --> ProtectionID_v6.4.0.rar <--
-=[ ProtectionID v0.6.4.0 JULY]=-
(c) 2003-2010 CDKiLLER & TippeX
Build 07/08/10-17:57:05
Ready...
Scanning -> C:\Program Files\INFORM\fuzzyTECH 5.8\Mcump.dll
File Type : 32-Bit Dll (Subsystem : Win GUI / 2), Size : 217088 (035000h) Byte(s)
[File Heuristics] -> Flag : 00000000000000001000000100000000 (0x00008100)
[!] DONGLE - MARX Crypto-Box references detected !
[CompilerDetect] -> Visual C++ 8.0 (Visual Studio 2005)
- Scan Took : 0.798 Second(s)

Scanning -> C:\Program Files\INFORM\fuzzyTECH 5.8\fuzzyTECH.exe
File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 1400832 (0156000h) Byte(s)
[File Heuristics] -> Flag : 00000000000000001000000000000000 (0x00008000)
[CompilerDetect] -> Visual C++ 8.0 (Visual Studio 2005)
[!] File appears to have no protection or is using an unknown protection
- Scan Took : 0.859 Second(s)




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 25 октября 2010 12:07
· Личное сообщение · #14

Ну тогда завтра сделаю тебе миниэмулятор криптобокса этого.

-----
Yann Tiersen best and do not fuck




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

Создано: 25 октября 2010 12:22
· Личное сообщение · #15

Благодарю=), а я сейчас восстанавливаю пароль на webmoney там у меня было несколько грн и почти долар), скину Вам в знак Благодарности сколько могу без проблем=), не много но в знак Благодарности=)




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 26 октября 2010 04:37
· Личное сообщение · #16

Патчить DLL мне было в лом, поэтому сделал эмулятор внешней DLL, он перехватывает в Mcump.dll процедуры CryptoBoxOpen и CryptoBoxRead и эмулирует их. Погоняй программу хорошенько, если вдруг будет неизвестное обращение к ключу, то в папке создастся файл CryptoBox.LOG дашь его мне, я доделаю эмуль. В принципе такого быть не должно я вроде всё проэмулировал. Так кстати еще проверяется лицензия на какой то "HyperInference Add-on", хз что такое, но тоже проэмулировал теперь он доступен.

Как использовать.
Переименовываешь в папке fuzzyTECH файл Ftedsupp.dll в OFtedsupp.dll. Копируешь в папку мой Ftedsupp.dll (это эмулятор). Всё, запускаешь и тестишь. В принципе через мою DLL можно и остальные DLL проэмулировать, только эмуль немного дописывать придется.

В атаче эмулятор с исходниками. В папке Release готовый эмулятор, в папке Sources исходники, может кому когда пригодится.

6f21_25.10.2010_CRACKLAB.rU.tgz - CBoxEmul.rar

-----
Yann Tiersen best and do not fuck




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

Создано: 26 октября 2010 11:00
· Личное сообщение · #17

Дайте пожалуйста Ваш кошелек=) веб моней=), может у Вас естьсчет в грн)? а так то вмз=) почти долар скину=), сколько уж есть=)



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

Создано: 26 октября 2010 11:19
· Личное сообщение · #18

#include "MYPROJ16.h"

static FUZZY crispio[2+1];

static FUZZY fuzvals[6+3+0];

FUZZY * Ј~Ц}ЖOpcvmyproj16 = crispio;

static Ј~Ц}ЖOFUZZY tpts[24] = {
0x807F, 0x0006, 0xFFFF, 0x0000,

defuzz = &crispio[2];
oх§зЊIа)Ћ();

return invalidflags;

да память немного портит) эта защита... если можно было бы то подправьте пожалуйста=), ну а насчет благодарности то сообщение выше=)




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 26 октября 2010 11:26
· Личное сообщение · #19

452 это при каких обстоятельствах вылезает? Файл CryptoBox.LOG создается?

-----
Yann Tiersen best and do not fuck




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

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

файл не создается=), это при генерации кода, в Tools->Complite to->C or 17Cxx
а под 17cxx тоже нужно смотреть чтобы код полностью с генерировался =) сейчас тестирую=)

инет был пропал..., уже успел протестировать чуть чуть..., то при генерации кода в матлаб... (M)

global ScaleInfo;
ScaleInfo = [
1 ...
2 1 ...
0 ...
0 ...
0];

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

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



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

Создано: 26 октября 2010 13:33 · Поправил: 452
· Личное сообщение · #21

http://forum.gsmhosting.com/vbb/archive/t-782198.html
http://forum.exetools.com/showthread.php?t=10931
вот вроде бы есть даже готовые эмуляторы CryptoBox, но вот дампа то не достать наверное для их=)

установил DSF_USB_EMULATOR он создал виртуальный юсб) устройство..., хех если бы был дамп), но с таким эмулятором dll, думаю надежней будет.. не нужно никаких драйверов.. виртуальных устройств.. только файлик)




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 27 октября 2010 08:07
· Личное сообщение · #22

452 посмотрел. Там 4 строки зашифрованы, которые в листинги пишутся. Расшифровываются строки криптобоксом, его нет и расшифровать нельзя. Но авторы тупанули и выложили примеры для каждого пункта меню, поэтому можно подменить зашифрованные строки, нормальными.

452 пишет:
FUZZY * Ј~Ц}ЖOpcvmyproj16 = crispio;


Тут например должно быть:
FUZZY * const pcvmyproj16 = crispio;

Короче немного разгребусь с делами и доделаю, уже самому интересно.

Кстати
452 пишет:
global ScaleInfo;
ScaleInfo = [
1 ...
2 1 ...
0 ...
0 ...
0];

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

-----
Yann Tiersen best and do not fuck




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

Создано: 27 октября 2010 11:14
· Личное сообщение · #23

movwf otcnt
call oх§зЊIа)Ћ
rlcf invalidflags,F

у меня конечно не очень хорошие знания ассемблера, массив должен так заполняться, в смысле только DB 00005H, 00000H (2) вместо 6 ячейки обозначены сначала..., это вроде как один большой участок памяти (rt0)? извините за неграмотность если что=)
rt0
DB 00005H, 00000H
DB 00002H, 00001H, 00000H, 00006H, 0000CH, 00000H
DB 00002H, 00001H, 00002H, 0000AH, 0000CH, 00000H
DB 00002H, 00001H, 00004H, 00008H, 0000EH, 00000H
DB 00002H, 00001H, 00000H, 0000AH, 00010H, 00000H
DB 00002H, 00001H, 00000H, 00008H, 0000CH, 00000H




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 27 октября 2010 12:21
· Личное сообщение · #24

452 в ассемблере нет понятия массива. Есть память, а ее ты как хочешь так и инициализируешь. Хоть так:
DB 00005H
DB 00000H, 00002H
DB 00001H, 00000H, 00006H
DB 0000CH, 00000H, 00002H, 00001H

хоть так
DB 00005H
DB 00000H
DB 00002H
DB 00001H
DB 00000H
DB 00006H

хоть так
DB 00005H, 00000H, 00002H, 00001H, 00000H, 00006H, 0000CH, 00000H, 00002H, 00001H, 00002H, 0000AH, 0000CH, 00000H, 00002H, 00001H, 00002H, 0000AH, 0000CH, 00000H

-----
Yann Tiersen best and do not fuck





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 27 октября 2010 13:43
· Личное сообщение · #25

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

Обновленный эмулятор в атаче.

0828_27.10.2010_CRACKLAB.rU.tgz - Ftedsupp.rar

-----
Yann Tiersen best and do not fuck


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

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

Создано: 27 октября 2010 13:56 · Поправил: 452
· Личное сообщение · #26

Благодарю=), начинаю тотальное тестирование=) о результатах скажу



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

Создано: 18 января 2011 15:17
· Личное сообщение · #27

при сохранении нового проекта или существующего происходит ошибка, сохраненный файл проекта перестает открыватся.

MODEL { - старый проект
VARIABLE_SECTION {
LVAR {
NAME = In1;

MODEL { - ново сохраненный проект
VARIABLE_SECTION {
LVAR {
= In1; - не хватает имени переменной
Пожалуйста, можете исправить когда у Вас будет времмя.

c1e3_18.01.2011_CRACKLAB.rU.tgz - 8_Fp.rar


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


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