Не получается скомпилить этот код в чем ошибка ? Код (Text): format PE GUI 4.0 entry start include 'win32a.inc' section '.data' data readable writeable hInt dd ? hCon dd ? user_agent db 'Microsoft Internet Explorer',0 server_name db 'ftp.narod.ru',0 user_name db 'user',0 _pass db 'password',0 local_file db 'C:\file.txt',0 rem_file db 'upfile.txt',0 _fail db 'Could not connect to server',0 section '.code' code readable executable start: invoke InternetOpen,user_agent,0,0,0,0 mov [hInt],eax invoke InternetConnect,eax,server_name,21,user_name,_pass,INTERNET_SERVICE_FTP,0,0 test eax,eax jnz @f jmp _error @@: mov [hCon],eax invoke FtpPutFile,[hCon],local_file,rem_file,FTP_TRANSFER_TYPE_BINARY,0 invoke InternetCloseHandle,[hInt] invoke ExitProcess,0 _error: invoke MessageBox,0,_fail,0,MB_ICONERROR+MB_TOPMOST section '.idata' import data readable library kernel,'KERNEL32.DLL',\ wininet,'WININET.DLL',\ user32,'USER32.DLL' import kernel,\ ExitProcess,'ExitProcess' import wininet,\ InternetOpen,'InternetOpenA',\ InternetConnect,'InternetConnectA',\ FtpPutFile,'FtpPutFileA',\ InternetCloseHandle,'InternetCloseHandle' import user32,\ MessageBox,'MessageBoxA'
Да FASM как раз мне это и пишет только как правильно это сделать не знаю в masme подобный код без проблем компилится
Взято из 'wininet.h': #define INTERNET_SERVICE_URL 0 #define INTERNET_SERVICE_FTP 1 #define INTERNET_SERVICE_GOPHER 2 #define INTERNET_SERVICE_HTTP 3
Explode Sense Если топик стартер знает C/C++, тогда, кажется, сможет такую "конверсию" ('#define INTERNET_SERVICE_FTP 1' в 'INTERNET_SERVICE_FTP = 1') сделать самостоятельно. Кстати FTP_TRANSFER_TYPE_BINARY = 2 в противном случае в программе надо было б написать FTP_TRANSFER_TYPE_BINARY в скобках.
Всем спасибо но уже на flatassembler.net подсказали Код (Text): INTERNET_SERVICE_FTP = 1 FTP_TRANSFER_TYPE_BINARY = 2 Кстати там же нашел скрипт на perl который позволяет конвертировать сишные хидеры в хидеры для FASM