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

 eXeL@B —› Вопросы новичков —› Краденые байты?... Мать их...
Посл.ответ Сообщение

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

Создано: 09 февраля 2009 15:49
· Личное сообщение · #1

В продолжении темы Помогите сделать следующий шаг.... Тему закрыл, а рано..
Граждане, в двух словах, кто не хочет читать:
Сама программа с более полными пояснениями на http://rapidshare.com/files/190730531/XYZ.rar.html
По сведеньям PEID программа написана на Borland Delphi 5.0,
Krypto ANALyzer выдал BLOWFISH, FGint Base256, MD5.

Застрял в проге на процедуре:
004A776B CALL 00402890
После обработки процедуры по адресу 00402890 у модифицированного файла появляется исключение на 004ACEE0, оригинальный файл всё проходит нормально.
Если поставить бряк на 004A7770, то в оригинальном файле по адресу 004ACEE0 - нормальный код, в модифицированном- мусор.
Что дальше делать?
Перечитал туторы Tutorials c Olly по исследованию программ (Спасибо автору aleks22)и с wasm.ru Введение в крэкинг с нуля, используя OllyDbg (Рикардо Нарваха, пер. Aquila - Спасибо автору и переводчику).

Не могу понять, с какого бока подступиться

Нужен коммент спеца, а то моск уже ломаецца...



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

Создано: 10 февраля 2009 12:27
· Личное сообщение · #2

Что-то у меня идеи иссякли
Граждане, кто-нить ставил себе, смотрел? Мысли имеются?




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 10 февраля 2009 20:46
· Личное сообщение · #3

Незнаю на счет спецов, но мб если время будет опробую

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




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

Создано: 11 февраля 2009 07:30 · Поправил: gbI
· Личное сообщение · #4

Если будешь ковырять, то:
gbI пишет:
После обработки процедуры по адресу 00402890

В это процедуре есть строка
004028A3 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI], которая меняет код начиная с адреса 004ACEDB по адрес 004ACFEC - куда входит и исключение, попадающее на 004ACEE0.
Если оригинальному файлу дать загрузиться полностью, затем, после загрузки поставить BP на 004A776B(где вызов процедуры по адресу 00402890), в самой проге нажать на кнопку "Связь", и вручную дойти до 004028A5 (вручную, потому как эта процедура дохрена откуда вызывается.), то мы увидим как раз нормальный код с 004ACEDB по адрес 004ACFEC.
В модифицированном файле пробовал занопить 004028A3 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI], вставил нормальный код с 004ACEDB по адрес 004ACFEC - тоже хрень получилась- появилось два сообщения о неправильном ключе(код41 и код 51) - отключил, а дальше не срослось у проги...
Короче вот так, что знал - рассказал



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

Создано: 11 февраля 2009 13:31
· Личное сообщение · #5

Карочи, думал, думал и надумал работающий код ткнуть в другое место программы, а вызов процедуры по адресу 004ACEE0 (сам вызов находится по адресу 004AD04C Call 004ACEE0) перевести на него.
Т.е. вместо
004AD04C Call 004ACEE0 у меня будет
004AD04C Call(JMP) другое место, где будет дешифрованный рабочий код.

Остался вопрос - как дописать рабочий код, т.к. такого количества нопов под код в проге нет, какие оперции нужно провести для этого, чтобы был работоспособный код?

Граждане, проясните, либо ткните пальцем в сцылку, где было бы более-менее расжевано.
Спасибо всем, чьё время я отнял.



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

Создано: 12 февраля 2009 14:33
· Личное сообщение · #6

Граждане, никто своим кодом файло не патчил чтоли?
Сцылку то дайте, делать как.
Пытался сделать, как в 8-м туторе у aleks22 - не проканало




Ранг: 133.4 (ветеран), 57thx
Активность: 0.110
Статус: Участник

Создано: 14 февраля 2009 23:26
· Личное сообщение · #7

gbI пишет:
т.к. такого количества нопов под код в проге нет

почему именно "нопов"?
Если места нет, сделай дополнительную секцию.



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

Создано: 15 февраля 2009 00:23
· Личное сообщение · #8

SVLab пишет:
Если места нет, сделай дополнительную секцию.


Дык в в 8-м туторе у aleks22 так и написано - делается дополнительная секция, и т.д. по тексту...
Я раз пять делал один в один по тутору - не хочет запускаться, хоть обосцысь.
Что-то я где-то упустил, а что и где - хЫзЫ.
Сцылку бы надо с конкретным примером вставки кода...



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

Создано: 15 февраля 2009 00:44
· Личное сообщение · #9

Для добавления новой секции есть прога PE-DIY Tools, ну или в pe tools добавь. Только копировать кусок кода
не получится, если в нём jmp short'ы



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

Создано: 15 февраля 2009 00:51
· Личное сообщение · #10

Propeller пишет:
Для добавления новой секции.....

Секцию добавить - не проблема
Проблема файло потом заставить работать.
Вот.



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

Создано: 15 февраля 2009 00:59 · Поправил: gbI
· Личное сообщение · #11

Вот код:
Code:
  1. 004ACEE0    55              PUSH EBP
  2. 004ACEE1    8BEC            MOV EBP,ESP
  3. 004ACEE3    83C4 F4         ADD ESP,-0C
  4. 004ACEE6    8945 FC         MOV DWORD PTR SS:[EBP-4],EAX
  5. 004ACEE9    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
  6. 004ACEEC    8378 04 00      CMP DWORD PTR DS:[EAX+4],0
  7. 004ACEF0    74 12           JE SHORT 004ACF04
  8. 004ACEF2    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
  9. 004ACEF5    8078 2D 00      CMP BYTE PTR DS:[EAX+2D],0
  10. 004ACEF9    74 09           JE SHORT 004ACF04
  11. 004ACEFB    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
  12. 004ACEFE    8378 08 00      CMP DWORD PTR DS:[EAX+8],0
  13. 004ACF02    75 66           JNZ SHORT 004ACF6A
  14. 004ACF04    8D4D F8         LEA ECX,DWORD PTR SS:[EBP-8]
  15. 004ACF07    A1 E0FD4C00     MOV EAX,DWORD PTR DS:[4CFDE0]
  16. 004ACF0C    8B00            MOV EAX,DWORD PTR DS:[EAX]
  17. 004ACF0E    8B15 B8C44A00   MOV EDX,DWORD PTR DS:[4AC4B8]                            ; 004AC504
  18. 004ACF14    E8 DB2BFAFF     CALL 0044FAF4
  19. 004ACF19    33C0            XOR EAX,EAX
  20. 004ACF1B    55              PUSH EBP
  21. 004ACF1C    68 4BCF4A00     PUSH 004ACF4B
  22. 004ACF21    64:FF30         PUSH DWORD PTR FS:[EAX]
  23. 004ACF24    64:8920         MOV DWORD PTR FS:[EAX],ESP
  24. 004ACF27    8B55 FC         MOV EDX,DWORD PTR SS:[EBP-4]
  25. 004ACF2A    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]
  26. 004ACF2D    E8 6EF9FFFF     CALL 004AC8A0
  27. 004ACF32    8845 F7         MOV BYTE PTR SS:[EBP-9],AL
  28. 004ACF35    33C0            XOR EAX,EAX
  29. 004ACF37    5A              POP EDX
  30. 004ACF38    59              POP ECX
  31. 004ACF39    59              POP ECX
  32. 004ACF3A    64:8910         MOV DWORD PTR FS:[EAX],EDX
  33. 004ACF3D    68 52CF4A00     PUSH 004ACF52
  34. 004ACF42    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]
  35. 004ACF45    E8 0260F5FF     CALL 00402F4C
  36. 004ACF4A    C3              RETN
  37. 004ACF4B  ^ E9 1C67F5FF     JMP 0040366C
  38. 004ACF50  ^ EB F0           JMP SHORT 004ACF42
  39. 004ACF52    807D F7 00      CMP BYTE PTR SS:[EBP-9],0
  40. 004ACF56    74 08           JE SHORT 004ACF60
  41. 004ACF58    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
  42. 004ACF5B    E8 C809FDFF     CALL 0047D928
  43. 004ACF60    807D F7 00      CMP BYTE PTR SS:[EBP-9],0
  44. 004ACF64    75 04           JNZ SHORT 004ACF6A
  45. 004ACF66    33C0            XOR EAX,EAX
  46. 004ACF68    EB 7D           JMP SHORT 004ACFE7
  47. 004ACF6A    8B55 FC         MOV EDX,DWORD PTR SS:[EBP-4]
  48. 004ACF6D    8B52 0C         MOV EDX,DWORD PTR DS:[EDX+C]
  49. 004ACF70    A1 04FF4C00     MOV EAX,DWORD PTR DS:[4CFF04]
  50. 004ACF75    8B00            MOV EAX,DWORD PTR DS:[EAX]
  51. 004ACF77    E8 4C380100     CALL 004C07C8
  52. 004ACF7C    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
  53. 004ACF7F    8078 2C 00      CMP BYTE PTR DS:[EAX+2C],0
  54. 004ACF83    74 28           JE SHORT 004ACFAD
  55. 004ACF85    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
  56. 004ACF88    8B40 18         MOV EAX,DWORD PTR DS:[EAX+18]
  57. 004ACF8B    50              PUSH EAX
  58. 004ACF8C    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
  59. 004ACF8F    8B40 1C         MOV EAX,DWORD PTR DS:[EAX+1C]
  60. 004ACF92    50              PUSH EAX
  61. 004ACF93    8B4D FC         MOV ECX,DWORD PTR SS:[EBP-4]
  62. 004ACF96    8B49 14         MOV ECX,DWORD PTR DS:[ECX+14]
  63. 004ACF99    8B55 FC         MOV EDX,DWORD PTR SS:[EBP-4]
  64. 004ACF9C    8B52 10         MOV EDX,DWORD PTR DS:[EDX+10]
  65. 004ACF9F    A1 04FF4C00     MOV EAX,DWORD PTR DS:[4CFF04]
  66. 004ACFA4    8B00            MOV EAX,DWORD PTR DS:[EAX]
  67. 004ACFA6    E8 85380100     CALL 004C0830
  68. 004ACFAB    EB 0C           JMP SHORT 004ACFB9
  69. 004ACFAD    A1 04FF4C00     MOV EAX,DWORD PTR DS:[4CFF04]
  70. 004ACFB2    8B00            MOV EAX,DWORD PTR DS:[EAX]
  71. 004ACFB4    E8 D3390100     CALL 004C098C
  72. 004ACFB9    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
  73. 004ACFBC    8B40 08         MOV EAX,DWORD PTR DS:[EAX+8]
  74. 004ACFBF    50              PUSH EAX
  75. 004ACFC0    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
  76. 004ACFC3    8B40 20         MOV EAX,DWORD PTR DS:[EAX+20]
  77. 004ACFC6    50              PUSH EAX
  78. 004ACFC7    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
  79. 004ACFCA    8B40 24         MOV EAX,DWORD PTR DS:[EAX+24]
  80. 004ACFCD    50              PUSH EAX
  81. 004ACFCE    8B4D FC         MOV ECX,DWORD PTR SS:[EBP-4]
  82. 004ACFD1    8B49 04         MOV ECX,DWORD PTR DS:[ECX+4]
  83. 004ACFD4    8B55 FC         MOV EDX,DWORD PTR SS:[EBP-4]
  84. 004ACFD7    8B12            MOV EDX,DWORD PTR DS:[EDX]
  85. 004ACFD9    A1 04FF4C00     MOV EAX,DWORD PTR DS:[4CFF04]
  86. 004ACFDE    8B00            MOV EAX,DWORD PTR DS:[EAX]
  87. 004ACFE0    E8 03360100     CALL 004C05E8
  88. 004ACFE5    B0 01           MOV AL,1
  89. 004ACFE7    8BE5            MOV ESP,EBP
  90. 004ACFE9    5D              POP EBP
  91. 004ACFEA    C3              RETN


....Это же...:
Code:
  1. 55 8B EC 83 C4 F4 89 45 FC 8B 45 FC 83 78 04 00 74 12 8B 45 FC 80 78 2D 00 74 09 8B 45 FC 83 78
  2. 08 00 75 66 8D 4D F8 A1 E0 FD 4C 00 8B 00 8B 15 B8 C4 4A 00 E8 DB 2B FA FF 33 C0 55 68 4B CF 4A
  3. 00 64 FF 30 64 89 20 8B 55 FC 8B 45 F8 E8 6E F9 FF FF 88 45 F7 33 C0 5A 59 59 64 89 10 68 52 CF
  4. 4A 00 8B 45 F8 E8 02 60 F5 FF C3 E9 1C 67 F5 FF EB F0 80 7D F7 00 74 08 8B 45 FC E8 C8 09 FD FF
  5. 80 7D F7 00 75 04 33 C0 EB 7D 8B 55 FC 8B 52 0C A1 04 FF 4C 00 8B 00 E8 4C 38 01 00 8B 45 FC 80
  6. 78 2C 00 74 28 8B 45 FC 8B 40 18 50 8B 45 FC 8B 40 1C 50 8B 4D FC 8B 49 14 8B 55 FC 8B 52 10 A1
  7. 04 FF 4C 00 8B 00 E8 85 38 01 00 EB 0C A1 04 FF 4C 00 8B 00 E8 D3 39 01 00 8B 45 FC 8B 40 08 50
  8. 8B 45 FC 8B 40 20 50 8B 45 FC 8B 40 24 50 8B 4D FC 8B 49 04 8B 55 FC 8B 12 A1 04 FF 4C 00 8B 00
  9. E8 03 36 01 00 B0 01 8B E5 5D C3


А остальное, как тут:
gbI пишет:
004AD04C Call(JMP) другое место, где будет дешифрованный рабочий код.


.....




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

Создано: 15 февраля 2009 09:22
· Личное сообщение · #12

Ну дык возьми и выложи файл, который не работает. Или возьми и отладь, что не работает. Нам гадать что ли, что ты сам забыл поменять в хедере или ещё где.



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

Создано: 16 февраля 2009 15:33
· Личное сообщение · #13

Промахнулся я... Работает файло, патч мой не работает



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

Создано: 21 февраля 2009 00:53
· Личное сообщение · #14

Сделал...
Главное было понять, как код находить, а дальше пошло быстро.
Жаль только, что никто так и не помог.


 eXeL@B —› Вопросы новичков —› Краденые байты?... Мать их...
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати