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

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

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

Создано: 06 февраля 2011 21:35
· Личное сообщение · #1

Запускаю приложение, ставлю бряк на MessageBoxW, при вводе ключа он срабатывает. Иду по адресу из которого вызывается MessageBoxW -
Code:
  1. 0012CD34   01253547  /CALL to MessageBoxW from <u><b>01253545</b></u>
  2. 0012CD38   00000000  |hOwner = NULL
  3. 0012CD3C   014949D4  |Text = "The activation code is the wrong!"
  4. 0012CD40   01494A7C  |Title = "Invalid activation code"
  5. 0012CD44   00000030  \Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL

Где пропатчив переход, программа запускается! Но как и чем можно пропатчить или сделать лоадер чтобы патчил этот гребаный переход в "MainThread" по адресу 013498FC 74 на EB ...? Пробывал и Dup и Abel попытки четны, пишет что не может найти указанный адрес! Может кто сталкивался с этим - подскажите как быть в таком случае.



Ранг: 87.8 (постоянный), 10thx
Активность: 0.070
Статус: Участник

Создано: 06 февраля 2011 21:52 · Поправил: gena-m
· Личное сообщение · #2

Но как и чем можно пропатчить.
В той же Олли можно пропатчить, при условии что программа не упакованаи код находится на диске. Как - читай статьи Риккардо, тема прикреплена в этом разделе.

-----
Надежда - есть худшее из зол, ибо она продлевает наши страдания.© Ф. Ницше




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

Создано: 06 февраля 2011 21:57
· Личное сообщение · #3

да в том то и делоо что в Ольке я это делаю без проблем ... а как зарелизить этот патчь(лоадер)? Чтобы призапуске он сам патчил нужные байты в потоке?



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

Создано: 06 февраля 2011 22:05
· Личное сообщение · #4

DUP'ом к примеру



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

Создано: 06 февраля 2011 22:14
· Личное сообщение · #5

tihiy_grom а можно поподробнее, после ADD какой вариант патчинга? Да и дальше чего и как? Я как не пробывал - не получается!



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

Создано: 06 февраля 2011 22:15
· Личное сообщение · #6

Loh_Ushastik пишет:
да в том то и делоо что в Ольке я это делаю без проблем ... а как зарелизить этот патчь(лоадер)? Чтобы призапуске он сам патчил нужные байты в потоке?

После патча в ольке Жми правую кнопу мыша-Copy to Executable, ну а дальше поймешь



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

Создано: 06 февраля 2011 22:24
· Личное сообщение · #7

Vovan666 да нет там такой возможности ... я же говорю что необходимо пропатчить не просто экзэшник а (если я все правильно понял) один из созданных потоков "MainThread" по адресу 013498FC ...




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

Создано: 06 февраля 2011 23:04
· Личное сообщение · #8

Поток тут вообще не при чём, видимо, это выделенная память. Ищи, где выделяется, до тех пор, пока не придёшь в сам ехе/длл, и патчи там. Либо лоадер лабай, но тогда придётся базу памяти выделенной искать, где-то она должна быть записана, читай про создание лоадеров с динамическим выделением памяти.




Ранг: 275.9 (наставник), 340thx
Активность: 0.22=0.22
Статус: Участник
RBC

Создано: 06 февраля 2011 23:10 · Поправил: Kindly
· Личное сообщение · #9

Loh_Ushastik - Offset Patch в DUP, а там че хочешь патч или лоадер.
<u><b>01253545</b></u> - это реальный адрес в стеке или сам придумал?

-----
Array[Login..Logout] of Life




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

Создано: 07 февраля 2011 04:29
· Личное сообщение · #10

Kindly, фантазирую!
Конечно реальный, в первом посте - скопировал из окна стека в Оли!
Вот кусок кода с реальными адресами который надо пропатчить:
Code:
  1. 013498FC   /74 26           JE SHORT 01349924  ----> JMP!!!
  2. 013498FE   |6A 00           PUSH 0
  3. 01349900   |6A 30           PUSH 30
  4. 01349902   |8B0D 9C6E4702   MOV ECX,DWORD PTR DS:[2476E9C]
  5. 01349908   |8B15 A06E4702   MOV EDX,DWORD PTR DS:[2476EA0]
  6. 0134990E   |E8 0D53F279     CALL System_W.7B26EC20
  7. 01349913   |8B15 3C304702   MOV EDX,DWORD PTR DS:[247303C]
  8. 01349919   |8BCE            MOV ECX,ESI
  9. 0134991B   |3909            CMP DWORD PTR DS:[ECX],ECX
  10. 0134991D   |E8 B2EEC0FF     CALL 00F587D4
  11. 01349922   |EB 37           JMP SHORT 0134995B
  12. 01349924   \FF15 2C58F500   CALL DWORD PTR DS:[F5582C]
  13. 0134992A    8D57 18         LEA EDX,DWORD PTR DS:[EDI+18]
  14. 0134992D    E8 FE9FB278     CALL mscorwks.79E73930
  15. 01349932    8B57 14         MOV EDX,DWORD PTR DS:[EDI+14]
  16. 01349935    FF77 18         PUSH DWORD PTR DS:[EDI+18]
  17. 01349938    8BCF            MOV ECX,EDI
  18. 0134993A    E8 D9FEFFFF     CALL 01349818
  19. 0134993F    85C0            TEST EAX,EAX
  20. 01349941    74 18           JE SHORT 0134995B  -----> NOP !!!! 




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

Создано: 07 февраля 2011 05:46
· Личное сообщение · #11

Archer пишет:
читай про создание лоадеров с динамическим выделением памяти
... а можно ссылочку(и), я знаю что Гугл работает , но из всей этой каши только знающий человек может выделить основное и по делу, что сэкономит кучу времени! Да и как происходит динамическое выделение памяти (API, то можно их перечислить и описание параметров фунок)?




Ранг: 275.9 (наставник), 340thx
Активность: 0.22=0.22
Статус: Участник
RBC

Создано: 07 февраля 2011 11:05 · Поправил: Kindly
· Личное сообщение · #12

так смотри функцию выше JE SHORT 01349924 и CALL 01349818 пропатчи их до входа (чтобы прыжок сработал), смотри в них, какие параметры берут и на что еще ссылается (можно передать параметр и раньше, из самого exe/dll). а по поводу памяти, там у тебя должно быть видно, может что-то типа VirtaulAlloc, VirtualProtect.

-----
Array[Login..Logout] of Life




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

Создано: 07 февраля 2011 11:40
· Личное сообщение · #13

Ещё меня не покидает ощущение, что эта софтина НэФрэймВорк использует! Походу я вовсе брошу это гиблое дело! Вот бы ещё про создание лоадеров с динамическим выделением памяти почитать чегонибудь, и можно смело бросать этусофтину!



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

Создано: 07 февраля 2011 12:20
· Личное сообщение · #14

Loh_Ushastik пишет:
Ещё меня не покидает ощущение, что эта софтина НэФрэймВорк использует

Он и есть, бери Reflector+Reflexil и патч, лоадер замучаешься делать.


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


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