Сейчас на форуме: tyns777, zds, JustLife, 2nd, morgot (+4 невидимых)

 eXeL@B —› Программирование —› Возможно ли изменить имя модуля
Посл.ответ Сообщение


Ранг: 238.8 (наставник), 67thx
Активность: 0.20
Статус: Участник
CyberHunter

Создано: 22 мая 2009 23:27
· Личное сообщение · #1

Имеется код, загружается по стандартному imagebase = 00400000h

Code:
  1. MOV ECX,100000h
  2. MOV EAX,DWORD PTR FS:[30]
  3. ADD EAX,8
  4. MOV DWORD PTR DS:[EAX],ECX
  5. PUSH 0
  6. CALL GetModuleHandleA
  7. PUSH 300h
  8. PUSH offset buff
  9. PUSH EAX
  10. CALL GetModuleFileNameA


После произведенных манипуляций функция GetModuleHandleA вернет 100000h, а функция GetModuleFileNameA не вернет имя модуля т.к. фактически он загружен по 400000h. Возможно ли при изменении адреса загрузки модуля этим способом сделать так чтобы GetModuleFileNameA возвращала верное имя модуля?

-----
Nulla aetas ad discendum sera




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

Создано: 22 мая 2009 23:39
· Личное сообщение · #2

PEB

-----
Shalom ebanats!





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

Создано: 23 мая 2009 08:03
· Личное сообщение · #3

А если конкретней-возьми и потрассируй функцию эту получения имени. И погляди, где именно ещё нужно базу спатчить, ибо функа чисто юзермодная, насколько я помню.




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 23 мая 2009 11:35
· Личное сообщение · #4

PEB + PEB_LDR_DATA на всякий случай

-----
[nice coder and reverser]





Ранг: 238.8 (наставник), 67thx
Активность: 0.20
Статус: Участник
CyberHunter

Создано: 23 мая 2009 11:40
· Личное сообщение · #5

Всем спасибо Сделал так

Code:
  1. MOV ECX,0100000h
  2. MOV EAX,DWORD PTR FS:[030h]
  3. ADD EAX,8
  4. MOV DWORD PTR DS:[EAX],ECX
  5. MOV EAX,DWORD PTR FS:[030h]
  6. ADD EAX,0Ch
  7. MOV EAX,DWORD PTR DS:[EAX]
  8. ADD EAX,048h
  9. MOV DWORD PTR DS:[EAX],ECX
  10. PUSH 0
  11. CALL GetModuleHandleA
  12. PUSH 0300h
  13. PUSH offset buff
  14. PUSH EAX
  15. CALL GetModuleFileNameA
  16. PUSH 0
  17. PUSH offset title
  18. PUSH offset buff
  19. PUSH 0
  20. CALL MessageBoxA
  21. PUSH 0
  22. CALL ExitProcess


Интересно на висте теже смещения в структурах?

-----
Nulla aetas ad discendum sera





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

Создано: 23 мая 2009 11:57
· Личное сообщение · #6

PEB Vista
www.nirsoft.net/kernel_struct/vista/PEB.html

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




Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 23 мая 2009 13:47
· Личное сообщение · #7

Flint это конечно мелочи, но вот это:

Code:
  1. MOV ECX,0100000h
  2. MOV EAX,DWORD PTR FS:[030h]
  3. ADD EAX,8
  4. MOV DWORD PTR DS:[EAX],ECX
  5. MOV EAX,DWORD PTR FS:[030h]
  6. ADD EAX,0Ch
  7. MOV EAX,DWORD PTR DS:[EAX]
  8. ADD EAX,048h
  9. MOV DWORD PTR DS:[EAX],ECX 


эквивалентно этому:

Code:
  1. MOV ECX,0100000h
  2. MOV EAX,DWORD PTR FS:[030h]
  3. ADD EAX,8
  4. MOV DWORD PTR DS:[EAX],ECX
  5. ADD EAX,4
  6. MOV EAX,DWORD PTR DS:[EAX]
  7. ADD EAX,048h
  8. MOV DWORD PTR DS:[EAX],ECX 





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

Создано: 23 мая 2009 17:50
· Личное сообщение · #8

Раз уж на то пошло, можно уместить в 4 строчки, просто предлагаю не заниматься фигнёй, а ближе к делу писать.
Если сделал, топик закрыть, может?


 eXeL@B —› Программирование —› Возможно ли изменить имя модуля
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати