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

 eXeL@B —› Вопросы новичков —› Определение прототипа функции в TASm
Посл.ответ Сообщение

Ранг: 6.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 декабря 2006 07:18
· Личное сообщение · #1

Вопрос новичка. Хотелось бы понять какие есть способы определения функции в TASM32, например, я определяю функцию extrn ExitProcess: near, почему линковка проходит, а при запуске выпадает ошибка. Когда я достал прототип функции из w32.inc следующего вида ExitProcess PROCDESC WINAPI :DWORD, то все проходит. По идее оба способа верные. Хочу понять что обозначают выражения PROCDESC и WINAPI(если не ошибаюсь то это означает stdcall) и каким образом можно еще определить функцию. Ответ типа, не парся бери готовый файл с прототипами не нужен, так как хочу знать в чем суть самого объявления.




Ранг: 283.6 (наставник), 56thx
Активность: 0.130
Статус: Участник
Author of GeTaOEP

Создано: 13 декабря 2006 11:53
· Личное сообщение · #2

Dob пишет:
прототип функции из w32.inc следующего вида ExitProcess PROCDESC WINAPI :DWORD

...я просто указываю:

.model flat, STDCALL
...
extrn GetModuleHandleA:PROC

-----
the Power of Reversing team




Ранг: 6.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 14 декабря 2006 13:47
· Личное сообщение · #3

...то есть перечислять список формальных параметров не обязательно? При этом способе фактическое объявление параметров прямым занесением в стек перед вызовом функции разрешается?




Ранг: 283.6 (наставник), 56thx
Активность: 0.130
Статус: Участник
Author of GeTaOEP

Создано: 15 декабря 2006 05:38
· Личное сообщение · #4

Dob пишет:
При этом способе фактическое объявление параметров прямым занесением в стек перед вызовом функции разрешается?

...если я тебя правильно понял,то да,разрешается.

.model flat, STDCALL
...
extrn ExitProcess:PROC
...
.code
...
push 0
call ExitProcess

-----
the Power of Reversing team



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


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