Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
Почему не получается скомпилировать файл .exe в Си?, Не плучается создать файл .obj из файла с расширением .c
 
Я начал изучение эксплойтов и попытался использовать один из них, написанный на С. Я взял текст эксплойта и при помощи Блокнота создал файл с расширением .c – sploit.c.

Затем я установил lcc-win32 и попытался скомплировать файл sploit.c, но у меня это не получилось, хотя вроде бы все делал правильно!

Вначале я скопировал сплойт sploit.c в папку, где у меня находится lcc.exe (C:/icc/bin)

Далее запустил консоль (Пуск -> ВЫполнить -> cmd) и перешел в папку с эксплойтом (в моем случае это: CD C:\lcc\bin) и ввел команду:

lcc.exe sploit.c

По идее после этого в моей папке должен был появиться новый файл – sploit.obj , но этого не произошло! Файл .obj не появился, и мне в консоле было выдано длинное следующее сообщение:

C:\lcc\bin>lcc.exe sploit.c
cpp: sploit.c:403 Could not find include file <netdb.h>
cpp: sploit.c:409 Could not find include file <sys/socket.h>
cpp: sploit.c:413 Could not find include file <netinet/in.h>
cpp: sploit.c:417 Could not find include file <openssl/bio.h>
cpp: sploit.c:419 Could not find include file <openssl/ssl.h>
cpp: sploit.c:421 Could not find include file <openssl/err.h>
cpp: sploit.c:423 Could not find include file <openssl/evp.h>
cpp: sploit.c:425 Could not find include file <openssl/tls1.h>
cpp: sploit.c:427 Could not find include file <openssl/rand.h>
cpp: sploit.c:429 Could not find include file <openssl/buffer.h>
Warning sploit.c: 435  no type specified. Defaulting to int
Error sploit.c: 435  syntax error; found `unsigned' expecting ')'
Error sploit.c: 435  syntax error; found `unsigned' expecting ')'
Error sploit.c: 435  syntax error; found `unsigned' expecting ')'
Error sploit.c: 435  missing identifier
Error sploit.c: 435  Syntax error; missing semicolon before  `unsigned'
Error sploit.c: 435  empty declaration
Error sploit.c: 435  Syntax error; missing semicolon before  `)'
Error sploit.c: 435  skipping `)'
Warning sploit.c: 435  no type specified. Defaulting to int
Error sploit.c: 435  Syntax error; missing semicolon before  `)'
Error sploit.c: 435  skipping `)' `)' `)' `,'
Warning sploit.c: 435  no type specified. Defaulting to int
Error sploit.c: 435  redefinition of 'c'
Error sploit.c: 435  Previous definition of 'c' here
Error sploit.c: 435  Syntax error; missing semicolon before  `+'
Error sploit.c: 435  unrecognized declaration
Error sploit.c: 435  unrecognized declaration
Error sploit.c: 435  unrecognized declaration
Error sploit.c: 435  unrecognized declaration
Warning sploit.c: 439  no type specified. Defaulting to int
Error sploit.c: 439  redefinition of 'c'
Error sploit.c: 435  Previous definition of 'c' here
Error sploit.c: 439  undeclared identifier 's'
Error sploit.c: 439  too many errors

C:\lcc\bin>


А без файла .obj невозможно провести компиляцию в файл .exe!

Что я делал не так? Прочему не получается создание файла .obj ?
 
Только SOLDIER сможет ответить на этот вопрос. Ему и карты в руки!
 
С каких это пор я стал программистом Виндов? :o
 
@SOLDIER, дело в том, что если присмотреться внимательно, то код под *nix, а чел пытается скомпилировать его под виндой. Ты на такие вопросы обычно очень доходчиво отвечаешь.
 
>>>>>>Что я делал не так?>>>>>>>

Да все сразу.
Последовательность действий:

- Открыл исходник
- Понял как он работает
- Закрыл исходник.
- Открыл IDE
- Написал
- скомпилировал.

У вас проблема со вторым пунктом?
 
Лучше позже чем никогда:
Не верно настроена/не подходящая  окружающая среда. Не установлены библиотеки, я подозреваю sys/socket.h поставка из Linux дистрибутива. У Windows тут вариант либо ставить MinGw Gcc и обвязку библиотек или использовать winsock.
 Не рекомендую использовать слепую компиляцию без понимания как это работает, так как ошибки компилятор выдает на поверхности, а вы их прочесть не можете.
Страницы: 1
Читают тему