Здравствуйте мне тут понадобилась структура под х64 fasm в INCLUDE\EQUATES нужного файла неоказалось , да и в MSDN нужной 64-битной структуры не могу найти, что посоветуете, нужны структуры для ADVAPI32.DLL в часности для создания сервиса SERVICE_TABLE_ENTRYA , SERVICE_STATUS STRUCT и тд.
А это что? http://msdn.microsoft.com/en-us/library/ms686001(VS.85).aspx http://msdn.microsoft.com/en-us/library/ms685996(VS.85).aspx
Я понимаю что такое есть а как узнать по какому суфиксу резарвирывать какое кол-во байт. lp,h - я так понимаю это qword'ы , dw - так и есть dword... не свовсем понятно и еще вопрос как резервирывать локальные переменные в fasm, в эксемплах не могу найти
Всё верно. Только нужно учитывать выравнивание. Одну-две структуры перевести под 64 фасм не сложно, но когда дело доходит до десятков, начинается головная боль. Поэтому пишите на C
Код (Text): proc P local A:DWORD,B:WNDCLASS,C[256]:BYTE ... ret endp или Код (Text): proc P locals A dd ? B WNDCLASS C rb 256 endl ... ret endp
Почему после создания сервиса делаю настройку но она не прокатывает , не правильно обявлен тип данных в структуре ? Код (Text): struct SERVICE_DESCRIPTION lpDescription dq ? ends SERV_DES SERVICE_DESCRIPTION <> mov [SERV_DES.lpDescription],lpDescription invoke ChangeServiceConfig2A,[svcSCManager],SERVICE_CONFIG_DESCRIPTION,SERV_DES
qwe8013 Речь шла про префиксы в польской нотации, а не про объявления данных в x86 ассемблере. Так что dw это всё же DWORD.