Поиск заветного серийного номера!

Тема в разделе "WASM.BEGINNERS", создана пользователем Boyler, 19 май 2006.

  1. Boyler

    Boyler New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    11
    Я уже подымал топик в этом форуме!

    Проблема на том же уровне, просто вооружился хорошо!

    Не знаю на что поставить брик поинт.

    GetWindowTextA

    GetDlgItemTextA

    GetWindowLongA - не дает работать

    Hmemspy - символ не зарегистрирован.



    Пробовал в W32Dasm поскать результат проверки типа "Schlussel ist ungultig", никакого результата. Хотя ресторатор показывает что такие строки есть!

    К чему еще можно прицепится?



    Вроде все как и везде, кнопка регистрации, два серийных номера.

    Есть реакция на старый номер и на неправильно введенный.



    Заранее прошу прощения за ламерство!



    Если кому интересно, программа: http://www.gefasoft.de/en/download/download_download_en.php?filename=s etupgp71.exe (42.6M)

    Стоит winXP SP2, SoftIce 4.32

    [​IMG] _1711757397__Untitled_1.gif
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.351
    пробовал искать SendMessage(hwnd, WM_GETTEXT, Length, Buffer) ?
     
  3. Boyler

    Boyler New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    11
    Это в Dasm чтоли? Нету вроде!
     
  4. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Boyler



    Небось, в русурсах? Тогда смотри его идентификатор и ищи все LoadString с этим идентификатором. Дальше разберёшься.
     
  5. Boyler

    Boyler New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    11
    Нашел я свое сообщение, но легче от чего-то не стало!
    Код (Text):
    1. 40005B60  |. E8 83FEFFFF    CALL G3PIC.400059E8
    2. 40005B65  |. 33C0           XOR EAX,EAX
    3. 40005B67  |. 5A             POP EDX
    4. 40005B68  |. 59             POP ECX
    5. 40005B69  |. 59             POP ECX
    6. 40005B6A  |. 64:8910        MOV DWORD PTR FS:[EAX],EDX
    7. 40005B6D  |. 68 825B0040    PUSH G3PIC.40005B82
    8. 40005B72  |> 8D45 FC        LEA EAX,DWORD PTR SS:[EBP-4]
    9. 40005B75  |. E8 BEEBFFFF    CALL G3PIC.40004738
    10. 40005B7A  \. C3             RETN
    11. 40005B7B   .^E9 28DEFFFF    JMP G3PIC.400039A8
    12. 40005B80   .^EB F0          JMP SHORT G3PIC.40005B72
    13. 40005B82   . 5E             POP ESI
    14. 40005B83   . 5B             POP EBX
    15. 40005B84   . 59             POP ECX
    16. 40005B85   . 5D             POP EBP
    17. 40005B86   . C3             RETN
    18. 40005B87     90             NOP
    19. 40005B88  /$ 53             PUSH EBX
    20. 40005B89  |. 56             PUSH ESI
    21. 40005B8A  |. 81C4 00FCFFFF  ADD ESP,-400
    22. 40005B90  |. 8BF2           MOV ESI,EDX
    23. 40005B92  |. 8BD8           MOV EBX,EAX
    24. 40005B94  |. 85DB           TEST EBX,EBX
    25. 40005B96  |. 74 3D          JE SHORT G3PIC.40005BD5
    26. 40005B98     817B 04 000001>CMP DWORD PTR DS:[EBX+4],10000           ;  UNICODE "=::=::\"
    27. 40005B9F  |. 7D 2A          JGE SHORT G3PIC.40005BCB
    28. 40005BA1  |. 68 00040000    PUSH 400
    29. 40005BA6  |. 8D4424 04      LEA EAX,DWORD PTR SS:[ESP+4]
    30. 40005BAA  |. 50             PUSH EAX
    31. 40005BAB  |. 8B43 04        MOV EAX,DWORD PTR DS:[EBX+4]
    32. 40005BAE  |. 50             PUSH EAX
    33. 40005BAF  |. 8B03           MOV EAX,DWORD PTR DS:[EBX]
    34. 40005BB1  |. 8B00           MOV EAX,DWORD PTR DS:[EAX]
    35. 40005BB3  |. E8 3CF5FFFF    CALL G3PIC.400050F4
    36. 40005BB8  |. 50             PUSH EAX                                 ; |hInst
    37. 40005BB9  |. E8 CEB6FFFF    CALL <JMP.&user32.LoadStringA>  - вот здесь читается сообщение "Incorrect"
    38.           ; \LoadStringA
    39. 40005BBE  |. 8BC8           MOV ECX,EAX
    40. 40005BC0  |. 8BD4           MOV EDX,ESP
    41. 40005BC2  |. 8BC6           MOV EAX,ESI
    42. 40005BC4  |. E8 53E5FFFF    CALL G3PIC.4000411C
    43. 40005BC9  |. EB 0A          JMP SHORT G3PIC.40005BD5
    44.  
    45.  




    Что-то во всех статьях все так просто! Блин там рядом ни ставнений, ни чтений! Ужас!

    Видать наличие инструмента чуда не сотворит! :)

    Спасибо! Пошел читать дальше!
     
  6. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.351
  7. Boyler

    Boyler New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    11
    Да, натолкнул, ,за что и спасибо!

    Надо поискать дальше!

    У меня весь листок исписан вариантами номеров, проблема в том что их там два.

    Буду искать!

    Спасибо еще раз!
     
  8. Boyler

    Boyler New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    11
    Не то, это видимо функция вывода окна сообщения о не правильном серийном номере.

    Вызов функции проходит 3 раза

    в строке


    Код (Text):
    1. 40005BB9  |. E8 CEB6FFFF    CALL <JMP.&user32.LoadStringA>




    читаются строки:

    Information

    Incorrect

    OK

    можно посмотреть атач и сравнить!



    Olle Debager на входе функции показывает откуда проходят ее вызовы,
    Код (Text):
    1. Local calls from
    2. 40003DC9, 40003DEE, 4000B0EE, 4000B8DE,
    3. 4000B933, 4000BAD1, 4000BAFC, 4000BC66,
    4. 4000BC75, 4000BD31, 4000BD8D, 4000BE60,
    5. 4000E6F7, 4000E78B, 4000E7E7, 4000E87B,
    6. 4000E8D7, 4000E9B1, 4000E9E1, 4000EA07,
    7. 4000EA2D, 4000EA53, 4000EA79, ...
    8.  




    я правильно понимаю, надо просмотреть их все?





    [​IMG] 55659631__1.gif
     
  9. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Непонятно, почему кряк такой сложной клиент-серверной системы ты поднял в этом разделе? Место твоего вопроса в исследованиях, или коммерциале.

    Какой модуль ты исследуешь? Твой скрин явно относится к Communication Module, т.е. явно к *komm.exe. Нужно точно описывать проблему.

    Кстати, проверка лицензии зашита в нескольких модулях (я убедился в этом простым сканированием).
     
  10. Boyler

    Boyler New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    11
    Проверка да! Она осуществляется в каждом модуле программы!

    Но все же нашел кусок проверки кода!

    модуль C:\Program Files\Gefasoft\Common\g3pic.dll

    по адресу:

    40005B88 /$ 53 PUSH EBX

    вывод сообщения о неправильно введенном номере

    по адресу:

    4005E8D0 /$ 55 PUSH EBP

    видны введенные номера



    А вот здесь, как мне показалась проверка первого введенного номера.
    Код (Text):
    1. 40002C90  /$ 53             PUSH EBX
    2. 40002C91  |. 56             PUSH ESI
    3. 40002C92  |. 57             PUSH EDI
    4. 40002C93  |. 89C6           MOV ESI,EAX
    5. 40002C95  |. 50             PUSH EAX
    6. 40002C96  |. 85C0           TEST EAX,EAX
    7. 40002C98  |. 74 6C          JE SHORT G3PIC.40002D06
    8. 40002C9A  |. 31C0           XOR EAX,EAX
    9. 40002C9C  |. 31DB           XOR EBX,EBX
    10. 40002C9E  |. BF CCCCCC0C    MOV EDI,0CCCCCCC
    11. 40002CA3  |> 8A1E           /MOV BL,BYTE PTR DS:[ESI]
    12. 40002CA5  |. 46             |INC ESI
    13. 40002CA6  |. 80FB 20        |CMP BL,20
    14. 40002CA9  |.^74 F8          \JE SHORT G3PIC.40002CA3
    15. 40002CAB  |. B5 00          MOV CH,0
    16. 40002CAD  |. 80FB 2D        CMP BL,2D
    17. 40002CB0  |. 74 62          JE SHORT G3PIC.40002D14
    18. 40002CB2  |. 80FB 2B        CMP BL,2B
    19. 40002CB5  |. 74 5F          JE SHORT G3PIC.40002D16
    20. 40002CB7  |> 80FB 24        CMP BL,24                                ;  Switch (cases 0..78)
    21. 40002CBA  |. 74 5F          JE SHORT G3PIC.40002D1B
    22. 40002CBC  |. 80FB 78        CMP BL,78
    23. 40002CBF  |. 74 5A          JE SHORT G3PIC.40002D1B
    24. 40002CC1  |. 80FB 58        CMP BL,58
    25. 40002CC4  |. 74 55          JE SHORT G3PIC.40002D1B
    26. 40002CC6  |. 80FB 30        CMP BL,30
    27. 40002CC9  |. 75 13          JNZ SHORT G3PIC.40002CDE
    28. 40002CCB  |. 8A1E           MOV BL,BYTE PTR DS:[ESI]                 ;  Case 30 ('0') of switch 40002CB7
    29. 40002CCD  |. 46             INC ESI
    30. 40002CCE  |. 80FB 78        CMP BL,78
    31. 40002CD1  |. 74 48          JE SHORT G3PIC.40002D1B
    32. 40002CD3  |. 80FB 58        CMP BL,58
    33. 40002CD6  |. 74 43          JE SHORT G3PIC.40002D1B
    34. 40002CD8  |. 84DB           TEST BL,BL
    35. 40002CDA  |. 74 20          JE SHORT G3PIC.40002CFC
    36. 40002CDC  |. EB 04          JMP SHORT G3PIC.40002CE2
    37. 40002CDE  |> 84DB           TEST BL,BL
    38. 40002CE0  |. 74 2D          JE SHORT G3PIC.40002D0F
    39. 40002CE2  |> 80EB 30        /SUB BL,30                               ;  Default case of switch 40002CB7
    40. 40002CE5  |. 80FB 09        |CMP BL,9
    41. 40002CE8  |. 77 25          |JA SHORT G3PIC.40002D0F
    42. 40002CEA  |. 39F8           |CMP EAX,EDI
    43. 40002CEC  |. 77 21          |JA SHORT G3PIC.40002D0F
    44. 40002CEE  |. 8D0480         |LEA EAX,DWORD PTR DS:[EAX+EAX*4]
    45. 40002CF1  |. 01C0           |ADD EAX,EAX
    46. 40002CF3  |. 01D8           |ADD EAX,EBX
    47. 40002CF5  |. 8A1E           |MOV BL,BYTE PTR DS:[ESI]
    48. 40002CF7  |. 46             |INC ESI
    49. 40002CF8  |. 84DB           |TEST BL,BL
    50. 40002CFA  |.^75 E6          \JNZ SHORT G3PIC.40002CE2
    51. 40002CFC  |> FECD           DEC CH
    52. 40002CFE  |. 74 09          JE SHORT G3PIC.40002D09
    53. 40002D00  |. 85C0           TEST EAX,EAX
    54. 40002D02  |. 7D 54          JGE SHORT G3PIC.40002D58
    55. 40002D04  |. EB 09          JMP SHORT G3PIC.40002D0F
    56. 40002D06  |> 46             INC ESI
    57. 40002D07  |. EB 06          JMP SHORT G3PIC.40002D0F
    58. 40002D09  |> F7D8           NEG EAX
    59. 40002D0B  |. 7E 4B          JLE SHORT G3PIC.40002D58
    60. 40002D0D  |. 78 49          JS SHORT G3PIC.40002D58
    61. 40002D0F  |> 5B             POP EBX                                  ;  Default case of switch 40002D2F
    62. 40002D10  |. 29DE           SUB ESI,EBX
    63. 40002D12  |. EB 47          JMP SHORT G3PIC.40002D5B
    64. 40002D14  |> FEC5           INC CH
    65. 40002D16  |> 8A1E           MOV BL,BYTE PTR DS:[ESI]
    66. 40002D18  |. 46             INC ESI
    67. 40002D19  |.^EB 9C          JMP SHORT G3PIC.40002CB7
    68. 40002D1B  |> BF FFFFFF0F    MOV EDI,0FFFFFFF                         ;  Cases 24 ('$'),58 ('X'),78 ('x') of switch 40002CB7
    69. 40002D20  |. 8A1E           MOV BL,BYTE PTR DS:[ESI]
    70. 40002D22  |. 46             INC ESI
    71. 40002D23  |. 84DB           TEST BL,BL
    72. 40002D25  |.^74 DF          JE SHORT G3PIC.40002D06
    73. 40002D27  |> 80FB 61        /CMP BL,61
    74. 40002D2A  |. 72 03          |JB SHORT G3PIC.40002D2F
    75. 40002D2C  |. 80EB 20        |SUB BL,20
    76. 40002D2F  |> 80EB 30        |SUB BL,30                               ;  Switch (cases 30..46)
    77. 40002D32  |. 80FB 09        |CMP BL,9
    78. 40002D35  |. 76 0B          |JBE SHORT G3PIC.40002D42
    79. 40002D37  |. 80EB 11        |SUB BL,11
    80. 40002D3A  |. 80FB 05        |CMP BL,5
    81. 40002D3D  |.^77 D0          |JA SHORT G3PIC.40002D0F
    82. 40002D3F  |. 80C3 0A        |ADD BL,0A                               ;  Cases 41 ('A'),42 ('B'),43 ('C'),44 ('D'),45 ('E'),46 ('F') of switch 40002D2F
    83. 40002D42  |> 39F8           |CMP EAX,EDI                             ;  Cases 30 ('0'),31 ('1'),32 ('2'),33 ('3'),34 ('4'),35 ('5'),36 ('6'),37 ('7'),38 ('8'),39 ('9') of switch 40002D2F
    84. 40002D44  |.^77 C9          |JA SHORT G3PIC.40002D0F
    85. 40002D46  |. C1E0 04        |SHL EAX,4
    86. 40002D49  |. 01D8           |ADD EAX,EBX
    87. 40002D4B  |. 8A1E           |MOV BL,BYTE PTR DS:[ESI]
    88. 40002D4D  |. 46             |INC ESI
    89. 40002D4E  |. 84DB           |TEST BL,BL
    90. 40002D50  |.^75 D5          \JNZ SHORT G3PIC.40002D27
    91. 40002D52  |. FECD           DEC CH
    92. 40002D54  |. 75 02          JNZ SHORT G3PIC.40002D58
    93. 40002D56  |. F7D8           NEG EAX
    94. 40002D58  |> 59             POP ECX
    95. 40002D59  |. 31F6           XOR ESI,ESI
    96. 40002D5B  |> 8932           MOV DWORD PTR DS:[EDX],ESI
    97. 40002D5D  |. 5F             POP EDI
    98. 40002D5E  |. 5E             POP ESI
    99. 40002D5F  |. 5B             POP EBX
    100. 40002D60  \. C3             RETN




    На данный момент не могу разобраться в логике!
     
  11. Boyler

    Boyler New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    11
    Единственное что понял так это то, что кадый

    CMP BL,58

    сравливается с таблицей символов. т.е. 58 = x



    Первые три сравнения:
    Код (Text):
    1. 40002CA6  |. 80FB 20        |CMP BL,20
    2. 40002CA9  |.^74 F8          \JE SHORT G3PIC.40002CA3
    3. 40002CAB  |. B5 00          MOV CH,0
    4. 40002CAD  |. 80FB 2D        CMP BL,2D
    5. 40002CB0  |. 74 62          JE SHORT G3PIC.40002D14
    6. 40002CB2  |. 80FB 2B        CMP BL,2B
    7. 40002CB5  |. 74 5F          JE SHORT G3PIC.40002D16


    По моему просто вырезают символы "$", " " и "_" из введенного номера.



    Первый сивол сравнивается в верхней части кода, а второй начинает сравниваться с адреса: 40002D1B.



    В общем бьюсь головой об стену!
     
  12. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Boyler

    Ты опять не ответил на вопрос - какой исполняемый модуль ты исследовал? Их в системе больше двух десятков... Часть написана на Дельфях, часть - на Visual.Net.
     
  13. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Boyler

    Приведенный тобой кусок текста чем-то напоминает форматное преобразование строки в число (десятичное или шестнадцатиричное). Точно не скажу, под рукой инчтрументария и справочников нет. Но очень похоже.
     
  14. Boyler

    Boyler New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    11
    Не понимаю вопроса.

    библиотека C:\Program Files\Gefasoft\Common\g3pic.dll

    екзешник C:\Program Files\Gefasoft\GP7komm.exe
     
  15. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Boyler

    А вот здесь, как мне показалась проверка первого введенного номера

    Хочу еще раз обратить твое внимание, что это форматное преобразование строки в число, а не проверка номера!
     
  16. Boyler

    Boyler New Member

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    11
    Да, спасибо! Пока трудно понимаю, посмотрим!

    Итак помогли здорово!

    Щас пока оставил работы много, раскидать надо!