Александр: Если вы пробовали кого-либо самостоятельно научить чему-нибудь с нуля, вы очень удивитесь тому, что это непросто, и занимает не 5-10 минут.
Никто ж не знает, что вам нужно учить. Может надо с азов того, что такое http и байт, может надо с того, что такое цикл и ветвление, может надо с того, что такое запрос, и что такое сертификат.
Только перечисление тем (именно основных тем, а не дополнительных), которые необходимо знать для создания многофункционального интернет-магазина, займет больше 5-10 минут. А вы хотите аккуратненький план.
Я постараюсь еще раз посоветовать освоить сперва простой уровень, а потом составлять план более сложного, когда у вас в голове начнет укладываться база. На текущем этапе уточнение и детализация что учить, чтобы не учить все - это ненужная затея.
longclaps: Без навыка гугления, не получится выучить ничего. Вопрос как научиться делать на WP многофункциональные магазины - прям вот возьми и расскажи какой плагин поставить чтобы все заработало - так же не будет. Все меняется, через полгода какой-то плагин перестанет развиваться, а какой-то новый появится.
Человеку нужно понять, что нельзя составить план как развиться с нуля до сеньора. Нужно развиться до джуниора, потом уже с навыками джуниора составлять план до мида, потом уже развившись до мида, составлять план дальше.
ОС берется под задачи, а они нам неизвестны. Если софт под ваши задачи есть под просто убунту - ставьте просто убунту. Если он есть под LTS - ставьте LTS.
Pamir: Они все являются персональными данными.
Вы некорректно пользуетесь терминологией. Персональные данные бывают разные и требуют разного отношения.
Например, возможность 100% идентифицировать по ним человека просто дополнительно накладывает на вас определенные обязательства.
old_mamont: Вы понимаете что именно говорит человек на видео?
Человек знает про программирование очень много, а не пару команд в ассемблере.
Например, он не ставит брейкпоинт в рандомную EAX команду ассемблера, он говорит что мы используем winsock, это библиотека в windows, и мы ставим брейкпоинт на вызов конкретной функции, например клик мышки, после чего ставит брейкпоинт и несколько раз кликает мышкой, чтобы попасть в нужное место в коде, в котором после клика на определенного персонажа появляется функция разговора с ним.
Отловив в коде этот момент, он начинает восстанавливать функциюи какие параметры она передает, чтобы потом сделать подобную функцию отдельно от клиента.
Обратите внимание, что синтаксис функции у него в блокноте от языка C, а не ассемблера.
Зная где находится в коде функция, и в каком файле она лежит (engine.dll), он может попытаться ее заинжектить в своем внедренном коде, и например выполнить уже не тем способом который предлагает клиент (подойти к персонажу и кликнуть на него на экране), а просто нажать кнопку в менюшке, причем даже не поворачиваясь к персонажу экраном (сервер не проверяет куда вы смотрите, он проверяет на каком расстоянии вы от персонажа, когда ему приходит пакет "игрок в диалоге с персонажем x вызвал меню y).
То есть все, что делает функция - создает сетевой пакет и отправляет на сервер. Если такой пакет отправить другим способом, или вызвать функцию другим способом - можно проще автоматизировать процесс.
Но малости знаний тут совсем недостаточно. Тут как раз перечислено все, что я выше описывал - умение программировать на каком-то языке программирования, в данном случае на С/С++ чтобы писать свою dll, которую будете подставлять вместо/вместе с оригинальной. Иметь представление о структуре данных и процессе компиляции (обратите внимание, что он легко понимает сколько параметров нужно функции и какой у них размер). Иметь знание о библиотеках целевой платформы - в данном случае windows, тот же winsock это стандартная сетевая библиотека.
old_mamont: ollydbg это просто отладчик, который позволяет просмотреть текущий процесс в памяти.
Нужно понимать, что неважно, на чем была написана программа, в памяти будут уже машинный код (который можно дизассемблить в получитабельный ассемблер), но еще нужно учитывать платформу и архитектуру приложения.
То есть, понимать то, что вам покажет ollydbg - нужно учить ассемблер с приложением к целевой платформе (например знать windows API).
С другой стороны, мобы - это не mov, jpz, eax. Мобы и другие объекты - это данные, котороые хранятся не в виде языка программирования, а в виде байт и структур. Неважно на каком языке их обрабатывать, важно понять в каком виде они там лежат. Для MMO игр, было бы удобнее лазить не в память, а перехыватывать и разбирать сетевые пакеты.
Чтобы хорошо взламывать игры, хорошо сперва научиться их писать. Хотя бы базовые навыки программирования, понимание процесса компиляции, понимание сетевого траффика, понимание хранения разных типов данных в памяти ( байт, слово, массив, структура).
А то, складывается впечатление, что вы не очень правильно понимаете значение слова бот.
DiaTM: Если вы хотите почитать основы языка программирования и сразу выполнять работу за деньги, то быстрее устроиться в макдональдс. Если вы чего-то не понимаете - это нужно изучать, и в программировании, прежде чем сделать что-либо, что снаружи кажется простым, изучать нужно ОЧЕНЬ много и обычно долго и через боль.
Скорее всего вам такой курс для выполнения рабочих обязанностей не нужен, и руководство не желает тратить денег. В первую очередь пример служебки уточните у того, кто требует бумажку.
fortael: Тут другой момент, что у вас за проект. Поскольку если идет про веб-проект, где каждый http-запрос должен бегать в базу за предметами - это одно. В MMORPG база периодически обновляется, но не каждый клик, в основном все в памяти.
Например предметы, у которых нет овнера-игрока/кланового хранилища, в базу не сохраняются совсем - для них нет позиции, и при ребуте сервера пропадают.
В текстовом MUD, который я писал в 90-е, делалось проще - все хранится в памяти.
Раз в xx минут все данные игроков сохраняются в базу.
Чтобы данные были консистентными, и не было большой нагрузки - если игрок совершал любые действия, связанные с предметами, он "помечался", и при сохранении сохранялись данны всех помеченных игроков с их предметами, и метка снималась. Это позволяло сохранять не все, а только изменения.
Но вообще, смотрите не по количеству записей, а сделайте перфоманс тест.
можно. Любой клиент, который ведет лог в файл вам поможет, вроде ж ркон это обычный телнет? Но разве сервер майнкрафта сам по себе не логирует то, что нужно?
Vapaamies: По возможности, лучше сразу писать на английском. Комментарии получаются короче, нет никаких потенциальных проблем с кодировками. Английского на уровне pre-intermediate более чем достаточно.
Исключения могут быть, но только, если программа полностью нацелена на внутренний рынок, и то. Вдруг захочется потом отдать на аутсорс индусам.
Saboteur
@saboteur_kiev Куратор тега Компьютерные сети
ssafronov: Что значит писать скрипт не нравится?
Скрипт это готовый и встроенный штатный софт.
Скрипт в батнике можно прикрутить к ярлычку на рабочем столе и запускать в два клика.
Можно поставить по расписанию.
Можно прикрутить к веб-серверу и управлять удаленно через cgi
Можно написать GUI часть на любом языке программирования, даже на питоне, но тогда нужно будет сперва запустить GUI, а затем выбрать конфигурацию.