ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

06.11.2008, 17:06
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
1>------ Build started: Project: testproxy, Configuration: Debug Win32 ------
1>Compiling with Intel(R) C++ 10.1.021 [IA-32]... (Intel C++ Environment)
1>main.cpp
1>Linking... (Intel C++ Environment)
1>xilink: executing 'link'
1>main.obj : error LNK2019: unresolved external symbol _htons@4 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _htonl@4 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol _bind@12 referenced in function _main
1>C:\Documents and Settings\User\Мои документы\Visual Studio 2008\Projects\testproxy\Debug/testproxy.exe : fatal error LNK1120: 4 unresolved externals
1>Build log was saved at "file://C:\Documents and Settings\User\Мои документы\Visual Studio 2008\Projects\testproxy\testproxy\Debug\BuildLog.h tm"
1>testproxy - 4 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
В чем может быть проблема?
Код
|
|
|

06.11.2008, 17:09
|
|
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме: 4226446
Репутация:
1564
|
|
2ntldr
подключи либу Ws2_32.lib
|
|
|

06.11.2008, 17:27
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
Сообщение от 0x0c0de
2ntldr
подключи либу Ws2_32.lib
спасибо, работает. А как можно загрузив dll через LoadLibraryA, вызвать её по адресу - типа как на асм
CALL [адрес]
?
|
|
|

06.11.2008, 17:46
|
|
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме: 4226446
Репутация:
1564
|
|
>>А как можно загрузив dll через LoadLibraryA, вызвать её по адресу - типа как на асм
CALL [адрес]
?
typedef HANDLE (__stdcall*LoadLibr)(char *);
...
LoadLibr addr = (LoadLibr)GetProcAddress(GetModuleHandle("kernel32 .dll"),"LoadLibraryA");
addr("ntdll.dll");
....
Последний раз редактировалось 0x0c0de; 06.11.2008 в 17:53..
|
|
|

06.11.2008, 22:17
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
как можно передать структуру данных из 1 приложения в другое?
|
|
|

06.11.2008, 22:37
|
|
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
По сокету, пайпу, разделяемой памяти, мейлслотам и т.д.
|
|
|

07.11.2008, 01:12
|
|
Новичок
Регистрация: 05.11.2008
Сообщений: 5
Провел на форуме: 9492
Репутация:
1
|
|
на этапе линка Сшка(VC++ 2008 как и пробовал в 2005) выдает ошибки:
Код:
1>Process.obj : error LNK2028: unresolved token (0A000009) "extern "C" struct HWND__ * __stdcall FindWindowW(wchar_t const *,wchar_t const *)" (?FindWindowW@@$$J18YGPAUHWND__@@PB_W0@Z) referenced in function "public: void * __clrcall CProcess::CreateGEProcess(void)" (?CreateGEProcess@CProcess@@$$FQ$AAMPAXXZ)
1>Process.obj : error LNK2019: unresolved external symbol "extern "C" struct HWND__ * __stdcall FindWindowW(wchar_t const *,wchar_t const *)" (?FindWindowW@@$$J18YGPAUHWND__@@PB_W0@Z) referenced in function "public: void * __clrcall CProcess::CreateGEProcess(void)" (?CreateGEProcess@CProcess@@$$FQ$AAMPAXXZ)
Что ей так не нравится в моей програме, учитывая что по сути там всего одна гореинструкция hWindow=FindWindow(LPCWSTR("TForm"),0); ???
Пробовал создать консольное приложение, успешно линкует и запускается.....
|
|
|

07.11.2008, 14:27
|
|
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме: 89596
Репутация:
21
|
|
Сообщение от Forcer
VIP
Варианты:
1. Использовать структуру данных список;
2. использовать функцию realloc;
3. написать свою функцию-аналог realloc;
4. всякий изврат типа сделать рекурсивную функцию со статическим массивом - и по мере вложенности увеличивать счетчик, а в конце - создавать массив и записывать, идя назад по рекурсии туда все элементы.
Мне больше всего нравится первый вариант.
А как можно добавлять в стуркутру новый элемент? Как я понял из книг и лекций структура и массив отличаются только тем, что в массиве однородные объекты, а в структуре разнородные. Если это так, то массив мне подходит больше, но как ведь задавая массив нужно сразу задавать количество элементов, а оно в задаче неизвестно! Как быть?
|
|
|

07.11.2008, 14:31
|
|
Участник форума
Регистрация: 29.12.2004
Сообщений: 105
Провел на форуме: 89596
Репутация:
21
|
|
И ещё один вопрос:
Как в С реализована "защита от дураков"? Всмысле исключения, типа аналога try/except в Python?
|
|
|

07.11.2008, 14:38
|
|
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
Никак.
Поэтому так часто и встречаются уязвимости типа переполнений буфера, которых в других языках не бывает.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|