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

 eXeL@B —› Протекторы —› PasswordSafe --> ASPack 2.12 [Overlay]
Посл.ответ Сообщение

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

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

Привет всем,

спасибо что читаете эту тему!

У меня тут вопрос по поводу ASPACK. Я наверное сижу уже целую неделу на одной програме.
Программа називаеца PasswordSafe (http://www.passwordsafe.de/en/private-user/standard-edition.html)

Первым делом я проверил защиту. И уже тут не понятно. PEID пишит: ASPack 2.12 -> Alexey Solodovnikov [Overlay]

А другая программа (Protection ID) пишет: ASPack v2.2 compressed.

Разными Методами я пробивал распаковать эту программу. И скриптоми и в рутщную. Пока нечиго не вышло.
Дело втом щто я уже распокововал АSPACK, но тут мне это совсем не понятно. После импорта прога не стартует.
Я был бы очень благодарен если кто то сможет мне помочь.

Спасибо!

Прогу можно скатшат сдесь:

http://www.passwordsafe.de/eID=productdownload&did=331&L=1


Мне отщен интересно узнать в тщем была моя ошибка!



Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

Создано: 26 декабря 2012 02:41
· Личное сообщение · #2

А потрассировать распакованную программу не судьба?

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




Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 26 декабря 2012 02:55 · Поправил: daFix
· Личное сообщение · #3

Monk32 пишет:
Мне отщен интересно узнать в тщем была моя ошибка!

В правописании...

tihiy_grom
Не надо ругаться, начальникэ

-----
Research For Food





Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 26 декабря 2012 03:15 · Поправил: DimitarSerg
· Личное сообщение · #4

Monk32
я делал так:

-выход на ОЕП
Code:
  1. 0165E416   /75 08           JNZ SHORT 0165E420
  2. 0165E418   |B8 01000000     MOV EAX, 0x1
  3. 0165E41D   |C2 0C00         RETN 0xC
  4. 0165E420   \68 30BFC900     PUSH 00C9BF30
  5. 0165E425    C3              RETN


-и соответсвенно ОЕП
Code:
  1. 00C9BF30    55              PUSH EBP


-Дамп с помощью ollydump
-фикс импорта в памяти с UIF
-фикс импорта в файле с помощью ImpRec

-смена перехода на безусловный (уже в распакованном файле)
00C9BFA4 /7E 11 JLE SHORT 00C9BFB7

Дальше сам.

-----
ds


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


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 26 декабря 2012 03:15 · Поправил: plutos
· Личное сообщение · #5

Мне отщен интересно узнать в тщем была моя ошибка!
daFix:
В правописании...


Просто у человека машинка с чешским акцентом...

-----
Give me a HANDLE and I will move the Earth.


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

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

Создано: 26 декабря 2012 12:53 · Поправил: Monk32
· Личное сообщение · #6

DimitarSerg

Добрый Человек, Спасибо огромное вам! Все понял как делается!
Мне вот иммено не хватало последниго шага.

-смена перехода на безусловный (уже в распакованном файле)
00C9BFA4 /7E 11 JLE SHORT 009ББ7

Я изменил на "JMP" и вот все заработaла!

Вы можете мне подсказать Что даний код "JLE SHORT 009ББ7" проверяет и как эту последную часть можно найти в других программах. Mне вот интересно што это за функтия.

Спасибо!




Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 26 декабря 2012 13:11 · Поправил: DimitarSerg
· Личное сообщение · #7

Monk32
Размер файла проверяется... можно было в колл заглянуть
Code:
  1. 00C9BF9A   .  E8 1104B9FF   CALL 0082C3B0

там функа чётко видно возвращает размер файла в байтах.

Monk32 пишет:
как эту последную часть можно найти в других программах.

Разные проверки бывают, универсального способа нету )

-----
ds




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

Создано: 26 декабря 2012 14:12 · Поправил: Monk32
· Личное сообщение · #8

DimitarSerg

Аааа понятно!

А может эта программа еще чем то запоковона?
Как то нечего полезного не нахожу. Установил себе "DeDe Decompiler", так как программа написано на Delphi, Но Стринги не видно. А я то думал что самая трудная часть позади...

Можете мне дать пожалуйста подсказку? Спасибо!



Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

Создано: 26 декабря 2012 14:35
· Личное сообщение · #9

а что, я просто так во втором посте писал про IDR ?

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

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

Создано: 26 декабря 2012 15:23 · Поправил: Monk32
· Личное сообщение · #10

tihiy_grom

ИДР я тоже установил и с ним работаю. Спасибо за совет.

Вот это я нашол:

Адрес Видаюший ошибку когда лицензия не правильная : 00AA2C36
Адрес Видаюший сообщения когда лицензия правильная: 00AA2CD2

Но дело втом, чтобы я тут не менял, программа вилетает.

Code:
  1. 00AA2BB8  |> 8D55 E8        LEA EDX,DWORD PTR SS:[EBP-18]            ; Case 2 of switch 00AA2B0F
  2. 00AA2BBB  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
  3. 00AA2BBE  |. 8B80 F4030000  MOV EAX,DWORD PTR DS:[EAX+3F4]
  4. 00AA2BC4  |. E8 771D9DFF    CALL dump_fix.00474940
  5. 00AA2BC9  |. 8B45 E8        MOV EAX,DWORD PTR SS:[EBP-18]
  6. 00AA2BCC  |. E8 27A1D8FF    CALL dump_fix.0082CCF8
  7. 00AA2BD1  |. 84C0           TEST AL,AL
  8. 00AA2BD3  |. 0F84 3D010000  JE dump_fix.00AA2D16
  9. 00AA2BD9  |. 8D55 E4        LEA EDX,DWORD PTR SS:[EBP-1C]
  10. 00AA2BDC  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
  11. 00AA2BDF  |. 8B80 F4030000  MOV EAX,DWORD PTR DS:[EAX+3F4]
  12. 00AA2BE5  |. E8 561D9DFF    CALL dump_fix.00474940
  13. 00AA2BEA  |. 8B55 E4        MOV EDX,DWORD PTR SS:[EBP-1C]
  14. 00AA2BED  |. A1 BCB5CD00    MOV EAX,DWORD PTR DS:[CDB5BC]
  15. 00AA2BF2  |. 8B00           MOV EAX,DWORD PTR DS:[EAX]
  16. 00AA2BF4  |. 83C0 60        ADD EAX,60
  17. 00AA2BF7  |. E8 343096FF    CALL dump_fix.00405C30
  18. 00AA2BFC  |. 8D55 E0        LEA EDX,DWORD PTR SS:[EBP-20]
  19. 00AA2BFF  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
  20. 00AA2C02  |. 8B80 BC030000  MOV EAX,DWORD PTR DS:[EAX+3BC]
  21. 00AA2C08  |. E8 331D9DFF    CALL dump_fix.00474940
  22. 00AA2C0D  |. 8B55 E0        MOV EDX,DWORD PTR SS:[EBP-20]
  23. 00AA2C10  |. A1 BCB5CD00    MOV EAX,DWORD PTR DS:[CDB5BC]
  24. 00AA2C15  |. 8B00           MOV EAX,DWORD PTR DS:[EAX]
  25. 00AA2C17  |. E8 F4C91B00    CALL dump_fix.00C5F610
  26. 00AA2C1C  |. 84C0           TEST AL,AL
  27. 00AA2C1E  |. 75 5A          JNZ SHORT dump_fix.00AA2C7A
  28. 00AA2C20  |. A0 7833AA00    MOV AL,BYTE PTR DS:[AA3378]
  29. 00AA2C25  |. 50             PUSH EAX
  30. 00AA2C26  |. 6A 03          PUSH 3
  31. 00AA2C28  |. 66:A1 7833AA00 MOV AX,WORD PTR DS:[AA3378]
  32. 00AA2C2E  |. 50             PUSH EAX
  33. 00AA2C2F  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
  34. 00AA2C32  |. 50             PUSH EAX
  35. 00AA2C33  |. 8D55 DC        LEA EDX,DWORD PTR SS:[EBP-24]
  36. 00AA2C36  |. B8 9C2AAA00    MOV EAX,dump_fix.00AA2A9C   ; ошибкa когда лицензия не правильная
  37. 00AA2C3B  |. E8 D05796FF    CALL dump_fix.00408410
  38. 00AA2C40  |. 8B45 DC        MOV EAX,DWORD PTR SS:[EBP-24]
  39. 00AA2C43  |. 50             PUSH EAX
  40. 00AA2C44  |. 8D55 D8        LEA EDX,DWORD PTR SS:[EBP-28]
  41. 00AA2C47  |. B8 942AAA00    MOV EAX,dump_fix.00AA2A94
  42. 00AA2C4C  |. E8 BF5796FF    CALL dump_fix.00408410
  43. 00AA2C51  |. 8B45 D8        MOV EAX,DWORD PTR SS:[EBP-28]
  44. 00AA2C54  |. 50             PUSH EAX
  45. 00AA2C55  |. 8D55 D4        LEA EDX,DWORD PTR SS:[EBP-2C]
  46. 00AA2C58  |. B8 8C2AAA00    MOV EAX,dump_fix.00AA2A8C
  47. 00AA2C5D  |. E8 AE5796FF    CALL dump_fix.00408410
  48. 00AA2C62  |. 8B45 D4        MOV EAX,DWORD PTR SS:[EBP-2C]
  49. 00AA2C65  |. 5A             POP EDX
  50. 00AA2C66  |. 59             POP ECX
  51. 00AA2C67  |. E8 A075C1FF    CALL dump_fix.006BA20C
  52. 00AA2C6C  |. 8B45 F4        MOV EAX,DWORD PTR SS:[EBP-C]
  53. 00AA2C6F  |. C700 02000000  MOV DWORD PTR DS:[EAX],2
  54. 00AA2C75  |. E9 55060000    JMP dump_fix.00AA32CF
  55. 00AA2C7A  |> A1 BCB5CD00    MOV EAX,DWORD PTR DS:[CDB5BC]
  56. 00AA2C7F  |. 8B00           MOV EAX,DWORD PTR DS:[EAX]
  57. 00AA2C81  |. E8 E6D41B00    CALL dump_fix.00C6016C
  58. 00AA2C86  |. 84C0           TEST AL,AL
  59. 00AA2C88  |. 0F85 41060000  JNZ dump_fix.00AA32CF
  60. 00AA2C8E  |. 8D55 D0        LEA EDX,DWORD PTR SS:[EBP-30]
  61. 00AA2C91  |. A1 BCB5CD00    MOV EAX,DWORD PTR DS:[CDB5BC]
  62. 00AA2C96  |. 8B00           MOV EAX,DWORD PTR DS:[EAX]
  63. 00AA2C98  |. E8 D3D71B00    CALL dump_fix.00C60470
  64. 00AA2C9D  |. 8B55 D0        MOV EDX,DWORD PTR SS:[EBP-30]
  65. 00AA2CA0  |. A1 A0BDCD00    MOV EAX,DWORD PTR DS:[CDBDA0]
  66. 00AA2CA5  |. 8B00           MOV EAX,DWORD PTR DS:[EAX]
  67. 00AA2CA7  |. E8 38761C00    CALL dump_fix.00C6A2E4
  68. 00AA2CAC  |. A1 BCB5CD00    MOV EAX,DWORD PTR DS:[CDB5BC]
  69. 00AA2CB1  |. 8B00           MOV EAX,DWORD PTR DS:[EAX]
  70. 00AA2CB3  |. 33C9           XOR ECX,ECX
  71. 00AA2CB5  |. 33D2           XOR EDX,EDX
  72. 00AA2CB7  |. E8 0CEA1B00    CALL dump_fix.00C616C8
  73. 00AA2CBC  |. A0 7833AA00    MOV AL,BYTE PTR DS:[AA3378]
  74. 00AA2CC1  |. 50             PUSH EAX
  75. 00AA2CC2  |. 6A 04          PUSH 4
  76. 00AA2CC4  |. 66:A1 7833AA00 MOV AX,WORD PTR DS:[AA3378]
  77. 00AA2CCA  |. 50             PUSH EAX
  78. 00AA2CCB  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
  79. 00AA2CCE  |. 50             PUSH EAX
  80. 00AA2CCF  |. 8D55 CC        LEA EDX,DWORD PTR SS:[EBP-34]
  81. 00AA2CD2  |. B8 842AAA00    MOV EAX,dump_fix.00AA2A84  ; сообщения когда лицензия правильная
  82. 00AA2CD7  |. E8 345796FF    CALL dump_fix.00408410
  83. 00AA2CDC  |. 8B45 CC        MOV EAX,DWORD PTR SS:[EBP-34]
  84. 00AA2CDF  |. 50             PUSH EAX
  85. 00AA2CE0  |. 8D55 C8        LEA EDX,DWORD PTR SS:[EBP-38]
  86. 00AA2CE3  |. B8 7C2AAA00    MOV EAX,dump_fix.00AA2A7C
  87. 00AA2CE8  |. E8 235796FF    CALL dump_fix.00408410
  88. 00AA2CED  |. 8B45 C8        MOV EAX,DWORD PTR SS:[EBP-38]
  89. 00AA2CF0  |. 50             PUSH EAX
  90. 00AA2CF1  |. 8D55 C4        LEA EDX,DWORD PTR SS:[EBP-3C]
  91. 00AA2CF4  |. B8 742AAA00    MOV EAX,dump_fix.00AA2A74
  92. 00AA2CF9  |. E8 125796FF    CALL dump_fix.00408410
  93. 00AA2CFE  |. 8B45 C4        MOV EAX,DWORD PTR SS:[EBP-3C]
  94. 00AA2D01  |. 5A             POP EDX
  95. 00AA2D02  |. 59             POP ECX
  96. 00AA2D03  |. E8 0475C1FF    CALL dump_fix.006BA20C
  97. 00AA2D08  |. 8B45 F4        MOV EAX,DWORD PTR SS:[EBP-C]
  98. 00AA2D0B  |. C700 05000000  MOV DWORD PTR DS:[EAX],5
  99. 00AA2D11  |. E9 B9050000    JMP dump_fix.00AA32CF
  100. 00AA2D16  |> A0 7833AA00    MOV AL,BYTE PTR DS:[AA3378]
  101. 00AA2D1B  |. 50             PUSH EAX
  102. 00AA2D1C  |. 6A 03          PUSH 3
  103. 00AA2D1E  |. 66:A1 7833AA00 MOV AX,WORD PTR DS:[AA3378]
  104. 00AA2D24  |. 50             PUSH EAX
  105. 00AA2D25  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
  106. 00AA2D28  |. 50             PUSH EAX
  107. 00AA2D29  |. 8D45 C0        LEA EAX,DWORD PTR SS:[EBP-40]
  108. 00AA2D2C  |. 50             PUSH EAX
  109. 00AA2D2D  |. 8D55 B0        LEA EDX,DWORD PTR SS:[EBP-50]
  110. 00AA2D30  |. 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
  111. 00AA2D33  |. 8B80 F4030000  MOV EAX,DWORD PTR DS:[EAX+3F4]
  112. 00AA2D39  |. E8 021C9DFF    CALL dump_fix.00474940
  113. 00AA2D3E  |. 8B45 B0        MOV EAX,DWORD PTR SS:[EBP-50]
  114. 00AA2D41  |. 8D55 B4        LEA EDX,DWORD PTR SS:[EBP-4C]
  115. 00AA2D44  |. E8 DFA096FF    CALL dump_fix.0040CE28
  116. 00AA2D49  |. 8B45 B4        MOV EAX,DWORD PTR SS:[EBP-4C]
  117. 00AA2D4C  |. 8945 B8        MOV DWORD PTR SS:[EBP-48],EAX
  118. 00AA2D4F  |. C645 BC 0B     MOV BYTE PTR SS:[EBP-44],0B
  119. 00AA2D53  |. 8D45 B8        LEA EAX,DWORD PTR SS:[EBP-48]
  120. 00AA2D56  |. 50             PUSH EAX
  121. 00AA2D57  |. 8D55 AC        LEA EDX,DWORD PTR SS:[EBP-54]
  122. 00AA2D5A  |. A1 20B2CD00    MOV EAX,DWORD PTR DS:[CDB220]
  123. 00AA2D5F  |. E8 AC5696FF    CALL dump_fix.00408410
  124. 00AA2D64  |. 8B45 AC        MOV EAX,DWORD PTR SS:[EBP-54]            ; |
  125. 00AA2D67  |. 33C9           XOR ECX,ECX                              ; |
  126. 00AA2D69  |. 5A             POP EDX                                  ; |
  127. 00AA2D6A  |. E8 11AF96FF    CALL dump_fix.0040DC80                   ; \dump_fix.0040DC80
  128. 00AA2D6F  |. 8B45 C0        MOV EAX,DWORD PTR SS:[EBP-40]
  129. 00AA2D72  |. 50             PUSH EAX
  130. 00AA2D73  |. 8D55 A8        LEA EDX,DWORD PTR SS:[EBP-58]
  131. 00AA2D76  |. A1 50B3CD00    MOV EAX,DWORD PTR DS:[CDB350]
  132. 00AA2D7B  |. E8 905696FF    CALL dump_fix.00408410
  133. 00AA2D80  |. 8B45 A8        MOV EAX,DWORD PTR SS:[EBP-58]
  134. 00AA2D83  |. 50             PUSH EAX
  135. 00AA2D84  |. 8D55 A4        LEA EDX,DWORD PTR SS:[EBP-5C]
  136. 00AA2D87  |. A1 50B3CD00    MOV EAX,DWORD PTR DS:[CDB350]
  137. 00AA2D8C  |. E8 7F5696FF    CALL dump_fix.00408410
  138. 00AA2D91  |. 8B45 A4        MOV EAX,DWORD PTR SS:[EBP-5C]
  139. 00AA2D94  |. 5A             POP EDX
  140. 00AA2D95  |. 59             POP ECX
  141. 00AA2D96  |. E8 7174C1FF    CALL dump_fix.006BA20C
  142. 00AA2D9B  |. 8B45 F4        MOV EAX,DWORD PTR SS:[EBP-C]
  143. 00AA2D9E  |. C700 02000000  MOV DWORD PTR DS:[EAX],2
  144. 00AA2DA4  |. E9 26050000    JMP dump_fix.00AA32CF
  145. 00AA2DA9  |> 8D55 A0        LEA EDX,DWORD PTR SS:[EBP-60]            ; Case 3 of switch 00AA2B0F




Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

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

Ну-ну. И что конкретно вы там меняли?



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

Создано: 26 декабря 2012 19:00 · Поправил: Monk32
· Личное сообщение · #12

tihiy_grom

Я точно не знаю как это делается профессионально, пока я только новичок,
я как то питаюсь зделать этo на угад...но я с опытом и учусь.

Я изменил JNZ на JMP (в 27 строке в предидущем посте).
Code:
  1. 00AA2C1E  |. 75 5A          JNZ SHORT dump_fix.00AA2C7A


Я уже обрадовался, так как появляется сообщение что лицензия
правильная, но потом программа хочет перестартоваца и потом все с
натшало лицензия проподает и как будто я программу не активировал


Я не знаю, может это можно совсем другим методом сделать..
Но тут я уже все что мог перепробовал.

Я был бы очень рад eсли вы бы могли мне оказать помощь.




Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 26 декабря 2012 21:19
· Личное сообщение · #13

Code:
  1. <00C606A4>
  2.          MOV AL, 0x1 ; _Unit172.TLicenceModules.GetMainModuleType
  3.          RETN


это на "Personal License" - хочешь большье - думай сам...

-----
ds




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

Создано: 26 декабря 2012 21:51 · Поправил: Konstantin
· Личное сообщение · #14

Monk32
Обрати внимание вот сюды:
Code:
  1. 00C9C6D0    8078 4C 00      CMP BYTE PTR DS:[EAX+0x4C],0x0     <====
  2. 00C9C6D4    74 24           JE SHORT 00C9C6FA
  3. 00C9C6D6    A1 BCB5CD00     MOV EAX,DWORD PTR DS:[0xCDB5BC]
  4. 00C9C6DB    8B00            MOV EAX,DWORD PTR DS:[EAX]
  5. 00C9C6DD    E8 C23FFCFF     CALL 00C606A4
  6. 00C9C6E2    3C 01           CMP AL,0x1
  7. 00C9C6E4    74 14           JE SHORT 00C9C6FA
  8. 00C9C6E6    A1 D0BACD00     MOV EAX,DWORD PTR DS:[0xCDBAD0]
  9. 00C9C6EB    BA 7CCDC900     MOV EDX,00C9CD7C                         ; ASCII " (DEMOVERSION)"


А патчил бы я здесь:
Code:
  1. 00C61EEB    C640 4C 01      MOV BYTE PTR DS:[EAX+0x4C],0x1     <=== MOV BYTE PTR DS:[EAX+0x4C],0x0
  2. 00C61EEF    807D FB 00      CMP BYTE PTR SS:[EBP-0x5],0x0
  3. 00C61EF3    75 17           JNZ SHORT 00C61F0C
  4. 00C61EF5    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-0x4]
  5. 00C61EF8    E8 A7E7FFFF     CALL 00C606A4
  6. 00C61EFD    84C0            TEST AL,AL
  7. 00C61EFF    76 0B           JBE SHORT 00C61F0C
  8. 00C61F01    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-0x4]
  9. 00C61F04    E8 9BE7FFFF     CALL 00C606A4
  10. 00C61F09    8845 FB         MOV BYTE PTR SS:[EBP-0x5],AL
  11. 00C61F0C    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-0x4]
  12. 00C61F0F    8078 4C 00      CMP BYTE PTR DS:[EAX+0x4C],0x0
  13. 00C61F13    0F84 87010000   JE 00C620A0                    <=== JE 00C61F19 (либо NOP)
  14. 00C61F19    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-0x4]


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


Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

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

Monk32
Да не, не за что. Всегда рад помочь человеку, потратить лишних 15 минут и не услышать благодарность в ответ

-----
Research For Food


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

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

Создано: 27 декабря 2012 02:13 · Поправил: Monk32
· Личное сообщение · #16

Konstantin

Спасибо большое за помощь!
Это очень интересно, так как я пробивал патчить другие места...

У меня два вопроса возникло

1.А что точно делает эта строка, что нам ее надо менять:
Code:
  1. MOV BYTE PTR DS:[EAX+0x4C],0x1     <=== MOV BYTE PTR DS:[EAX+0x4C],0x0


2.Куда изменяется этот прыжок, что он проверял?
Code:
  1. 00C61F13    0F84 87010000   JE 00C620A0                    <=== JE 00C61F19 (либо NOP)


Какое отношение этот прыжок имеет к первой пропатщеной строке (MOV BYTE PTR DS:[EAX+0x4C],01)



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

Создано: 27 декабря 2012 04:03 · Поправил: Konstantin
· Личное сообщение · #17

Monk32 пишет:
А что точно делает эта строка, что нам ее надо менять

Ну я не зря дал два текста с кодом в прошлом посте. Чтобы видно было как я нашёл этот адрес ([EAX+0x4C]), и как он формируется. Или ассемблер не знаете?
В программе есть проверки такого типа:
Code:
  1. MOV EAX,DWORD PTR DS:[0xCDB5BC]
  2. MOV EAX,DWORD PTR DS:[EAX]
  3. CMP BYTE PTR DS:[EAX+0x4C],0x0

Если это байт = 1 - демоверсия, 0 - регистрация. Соответственно нам нужно пропатчить так, чтобы там был 0. И удобно это сделать именно в этом месте, изменив всего один байт.

Monk32 пишет:
уда изменяется этот прыжок

Ну так измените и увидите. Можно пропатчить и по другому, так будет нагляднее:
Code:
  1. 00C61F0F    8078 4C 00      CMP BYTE PTR DS:[EAX+0x4C],0x0     <=== CMP BYTE PTR DS:[EAX+0x4C],0x1
  2. 00C61F13    0F84 87010000   JE 00C620A0

Ясно что в этой процедуре по адресу [EAX+0x4C] должна быть всегда - 1 при отсутствии нормальной лицензии (мы исправили код выше и там 0), соответственно чтобы код далее правильно исполнялся и нужно данное дополнение.

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

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

Создано: 27 декабря 2012 17:57 · Поправил: Monk32
· Личное сообщение · #18

Konstantin

Спасибо вам, Константин!
Это получается самый легкий путь! А я то возильса с проверкой лицензии иммено в окне, типо чтобы он каждый ключ принемал, когда ключ вписиваеш. И на самом деле я то думал что только пришки (JMP) такие вещи проверяют.

Ты мне можеш посаветовать как вот виутчит ассемблер.
Для того што бы иммено находит такие адреса. Какието хорошие Книги есть? ExeLab ДВД я то уже смотрел...



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

Создано: 27 декабря 2012 18:34
· Личное сообщение · #19

Курс молодого бойца.

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

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

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

Konstantin
Спасибо за ссылку!
А вот ты считаеш что защита была хороший/друдной или отщен плохой/легкой ?


 eXeL@B —› Протекторы —› PasswordSafe --> ASPack 2.12 [Overlay]
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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