Сейчас на форуме: rmn, Magister Yoda, vasilevradislav, tyns777 (+6 невидимых)

 eXeL@B —› Программирование —› вопрос на другую тему(про фасм)
Посл.ответ Сообщение

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

Создано: 30 июля 2008 22:23
· Личное сообщение · #1

push eax ;->[ebp-0x8] MZ
mov eax,[eax+0x3c]
add eax,dword [ebp-0x8] ;->PE
mov eax,[eax+0x78]
add eax,dword [ebp-0x8]
mov eax,[eax+0x14]

как сделать так, чтобы поработать со структурами, а не численными значениями ?
при условии что есть у меня windows.inc для фасма



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 30 июля 2008 23:35
· Личное сообщение · #2

создать структуры типа struct и юзать

struct _BLABLA
hWnd1 dd ?
hWnd2 dd ?
ends

mov eax,[esi+_BLABLA.hWnd1]



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

Создано: 31 июля 2008 08:30
· Личное сообщение · #3

ну так инклюд же и сделал
только вот не могу добится чтобы mov eax,[eax+0x78] было типа mov eax,EXPORT_DATA_DIRECTORY




Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 31 июля 2008 08:50 · Поправил: Ice-T
· Личное сообщение · #4

struc _TEST {
val1 dd ?
val2 dd? }

start:
...

Test1 _TEST

mov [Test1.val1],0




на фасме вроде так..

Да и еще.. В фасме есть инклюд: MASM32.INC. Там и assume и struct ends описаны ;)

Да и еще! В фасме есть замечательная папочка EXAMPLES!

Не забываешь подключить STRUCT.INC ???

-----
invoke OpenFire





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

Создано: 31 июля 2008 11:21 · Поправил: coderess
· Личное сообщение · #5

mov eax,EXPORT_DATA_DIRECTORY

Нужно создать/описать свою структуру PE формата, если таковой нет. Например в Delphi, когда использовал, существовал файл rxtypes.pas, в котором и вынесены все структуры PE формата, находящиеся в windows в отдельный
файл.

Собственно, что выше и посоветовали создать свою структуру. Исходник пакера на fasm посмотри.

P.S.

EXPORT_DATA_DIRECTORY, что то я не видел



IMAGE_DIRECTORY_ENTRY_EXPORT equ 0
IMAGE_DIRECTORY_ENTRY_IMPORT equ 1
IMAGE_DIRECTORY_ENTRY_RESOURCE equ 2
IMAGE_DIRECTORY_ENTRY_EXCEPTION equ 3
IMAGE_DIRECTORY_ENTRY_SECURITY equ 4
IMAGE_DIRECTORY_ENTRY_BASERELOC equ 5
IMAGE_DIRECTORY_ENTRY_DEBUG equ 6
IMAGE_DIRECTORY_ENTRY_COPYRIGHT equ 7
IMAGE_DIRECTORY_ENTRY_GLOBALPTR equ 8
IMAGE_DIRECTORY_ENTRY_TLS equ 9
IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG equ 10
IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT equ 11
IMAGE_DIRECTORY_ENTRY_IAT equ 12
IMAGE_NUMBEROF_DIRECTORY_ENTRIES equ 16


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




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

Создано: 31 июля 2008 15:56
· Личное сообщение · #6

Каждый форум этим вопросом отмучает, причём ему уже отвечали неоднократно.



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 01 августа 2008 10:24
· Личное сообщение · #7

и ещё есть замечательный fasm.pdf в комплекте


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


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