А почему не проверяем сколько данных реально пришло? )recv(newConn, (char*)&indata, sizeof(CMDiDATA), 0); //прием сообщения от клиента
А почему не проверяем сколько данных реально пришло? )recv(newConn, (char*)&indata, sizeof(CMDiDATA), 0); //прием сообщения от клиента
консольное приложение используй для первого раза, но не думаю что тебе нужно начинать с этого, попробуй написать что нибудь попрощеПривет я использую VS 2019 там нету Проект Win32? Есть только с++ консольное предложения и Пустой проект с++.Что надо выбрать?
В консольном или в пустом точка входа по умолчанию стоит на main, там только нужно фиксить на WinMain в комповщике вроде.Привет я использую VS 2019 там нету Проект Win32? Есть только с++ консольное предложения и Пустой проект с++.Что надо выбрать?
Амм. Вообще то проект не под чистый Winapi и вы сейчас оказываете максимально самый худший совет в истории, для человека который как видите не может самостоятельно создать проект для VS..В консольном или в пустом точка входа по умолчанию стоит на main, там только нужно фиксить на WinMain в комповщике вроде.
Если ты шаришь в программировании и будешь писать на winapi32:
https://xss.pro/threads/31540/Тут все подробно описано.
Создаешь пустой проект, добавляешь Source.c(cpp) по вкусу, далее идешь по той статье, что я выше написал. Компилишь как 32 и все.
Только учти, что там чистый winapi, а вот crt не будет доступен
Хардкор детка
сорян) я подумал, он там кодить хочет. Была такая мысль, но подумал, а че если он линукс разраб, который на mingw через кодовый редактор конпелиуровал всю жизнь. И почему совет плохой?) Вполне норм) Сосчитай на будущее совет челу)Амм. Вообще то проект не под чистый Winapi и вы сейчас оказываете максимально самый худший совет в истории, для человека который как видите не может самостоятельно создать проект для VS..
откуда такие странные предположения?сорян) я подумал, он там кодить хочет. Была такая мысль, но подумал, а че если он линукс разраб, который на mingw через кодовый редактор конпелиуровал всю жизнь. И почему совет плохой?) Вполне норм) Сосчитай на будущее совет челу)
ну, скомпилит твой код, заразит кого-нибудь, заработает бабки. После поймет, что софт уже красный в рантайме и захочет свой написать. Будет изучать С или С++, после захочит winapi для профессионализма. И вспомнит мое сообщение и наш спор и эврика) Все таки, есть вероятностьоткуда такие странные предположения?
моим софтом врятли можно кого то заразать, он сделан в качестве примера.ну, скомпилит твой код, заразит кого-нибудь, заработает бабки. После поймет, что софт уже красный в рантайме и захочет свой написать. Будет изучать С или С++, после захочит winapi для профессионализма. И вспомнит мое сообщение и наш спор и эврика) Все таки, есть вероятность
Ок, давай объективную критику. Почему ты думаешь, что мой совет не принесет пользу? В контексте того чела -да. В контексте в общем программирования малваря под винапи - есть вероятность, что принесет. Я вот сам лазил по сообщениям и находил кладези информации.врятли твой совет принесет хоть кому то пользу, потому что ты сам ничего видимо не понимаешь - по этому это выглядит максимально угарно, и очень странно.
Ну ок.моим софтом врятли можно кого то заразать, он сделан в качестве примера.
если тебе так хочется переписать этот проект что бы он компилировался без зависимостей от c runtime library - то тебе придется не только перенастроить проект в vs, но специфически его переписать, причем 25% всего кода тут будет подгрузка dll и функций winapi из них, ты конечно можешь сделать это, но пойдем дальше - что бы полностью избавиться от зависимости от crt - тебе будет нужно что бы компилятор не подставлял memset и другую лабуду автоматически там где ты этого не хочешь - выход тоже простой - переписать все функции которые возможно и отключить оптимизации. допусим функции переписывать не нужно - они в репозиториях reactos лежат - копируй не хочу. допустим ты все это сделал - но вот появляется вопрос такой - ты писал что это поможет обойти рантайм. но нет, как раз рантайм смотрит то какие функции winapi ты вызываешь и в каком порядке. так что все что мы делали ранее - идет нахуй.Ок, давай объективную критику. Почему ты думаешь, что мой совет не принесет пользу? В контексте того чела -да. В контексте в общем программирования малваря под винапи - есть вероятность, что принесет. Я вот сам лазил по сообщениям и находил кладези информации.
Ну ок.
Memset есть msvcrt.dll.тебе будет нужно что бы компилятор не подставлял memset
я в качестве примера привел, не более, но в xp по моему либа как то по другому называлась. вообщем смысла не вижу сильно бегать от crt в таких проектах, если требуется написать шеллкод - то да, тут нужно писать на asm/c89 c юзаньем только winapi, да и другие тут совсем задачи. но сам смысл в том, что переписывать чей то проект с гитхаба - на чистые винапи выглядит смешным - задачи совсем разные. овчинка выделки не стоит.Memset есть msvcrt.dll.
Нет, она так и называется со времен хр и до текущей актуальной версии десятки. Оттуда можно много функций сишного рантайма взять. Но некоторые функции оттуда не совсем соответствуют современной сишечке, в частности всякие принтфы и сканфы не понимали double что-ли, уже плохо помню.но в xp по моему либа как то по другому называлась
Я писал шелл на плюсах, но без рантайма само собой. По сути большинство фич плюсов использовать в шелле можно. Не будут работать исключения, rtti (но они без рантайма и не будут работать в принципе), виртуальные методы (тк их таблицы хардкодят адреса, а шеллу в большинстве случаев нужно быть позиционно независимым), switch'и иногда оптимизируются в jump-таблицу, да и все наверное.нужно писать на asm/c89 c юзаньем только winapi
1. Я не говорил, чтоб он компилился без crt. Да, детектов это не добавит, а как раз даже уберет.если тебе так хочется переписать этот проект что бы он компилировался без зависимостей от c runtime library - то тебе придется не только перенастроить проект в vs, но специфически его переписать, причем 25% всего кода тут будет подгрузка dll и функций winapi из них, ты конечно можешь сделать это, но пойдем дальше - что бы полностью избавиться от зависимости от crt - тебе будет нужно что бы компилятор не подставлял memset и другую лабуду автоматически там где ты этого не хочешь - выход тоже простой - переписать все функции которые возможно и отключить оптимизации. допусим функции переписывать не нужно - они в репозиториях reactos лежат - копируй не хочу. допустим ты все это сделал - но вот появляется вопрос такой - ты писал что это поможет обойти рантайм. но нет, как раз рантайм смотрит то какие функции winapi ты вызываешь и в каком порядке. так что все что мы делали ранее - идет нахуй.
дилдофеггинс, разговор тут был совсем о другом - "нужна ли оптимизация под винапи для новичка, который даже создать проект не смог в vs". я думаю ему она не нужна. то что шеллкоды можно на плюсах писать, я конечно слышал, но не делал, в любом случае, это изначально вообще не было предметом спора, особенно где лежат fopen и тому подобные, хотя их можно просто написать в пару тройку строк в своем проекте, и не бегать по dllkam но на вкус и цвет у всех фломастеры разные.Нет, она так и называется со времен хр и до текущей актуальной версии десятки. Оттуда можно много функций сишного рантайма взять. Но некоторые функции оттуда не совсем соответствуют современной сишечке, в частности всякие принтфы и сканфы не понимали double что-ли, уже плохо помню.
Я писал шелл на плюсах, но без рантайма само собой. По сути большинство фич плюсов использовать в шелле можно. Не будут работать исключения, rtti (но они без рантайма и не будут работать в принципе), виртуальные методы (тк их таблицы хардкодят адреса, а шеллу в большинстве случаев нужно быть позиционно независимым), switch'и иногда оптимизируются в jump-таблицу, да и все наверное.
я то как раз только что поржал с 3 и 41. Я не говорил, чтоб он компилился без crt. Да, детектов это не добавит, а как раз даже уберет.
2. Переписать функцию memset? Тут да, но есть много че вариков на winapi. И тут только дело знаний и опыта.
3. Ты читай внимательно. Я имел ввиду рантайм палевность по проактивке твоего софта, а не потому что winapi.
4. А что мешает вызывать winapi по хешу, а макросами подставлять winapi рандом вызовы в рантайме. При этом сбиваешь api call map.
И да, имей чувство юмора дружище
купи пожалуйста книжку, почитай как работают макросы, что это такое, зачем они нужны. хотя бы основы выучи пожалуйста. ну это даже не для меня - а вообще, что бы жизнь не такой веселой казалась. спасибо за юмор, я оценил. это что то наподобие юмора - когда тебе за человека стыдно, и вроде бы даже плакать хочется.1. Я не говорил, чтоб он компилился без crt. Да, детектов это не добавит, а как раз даже уберет.
2. Переписать функцию memset? Тут да, но есть много че вариков на winapi. И тут только дело знаний и опыта.
3. Ты читай внимательно. Я имел ввиду рантайм палевность по проактивке твоего софта, а не потому что winapi.
4. А что мешает вызывать winapi по хешу, а макросами подставлять winapi рандом вызовы в рантайме. При этом сбиваешь api call map.
И да, имей чувство юмора дружище
выберите консоль, а затем замените основную функцию на int WINAPI winmain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)Привет я использую VS 2019 там нету Проект Win32? Есть только с++ консольное предложения и Пустой проект с++.Что надо выбрать?
...а затем в настройках проекта нужно Компоновщик->Система->Подсистема выставить Windows ты забыл добавить...выберите консоль, а затем замените основную функцию на int WINAPI winmain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)