Как я использую простейшую фронтенд-технологию, чтобы раскрыть принципы этих серых производств

JavaScript
Как я использую простейшую фронтенд-технологию, чтобы раскрыть принципы этих серых производств

В этой статье описываются некоторые очень распространенные и простые интерфейсные технологии, но они являются ключевыми технологиями для реализации некоторых серых отраслей.Конечно, я реализую только некоторые очень простые идеи и методы и стараюсь писать их как можно проще и понятнее. Я надеюсь извлечь уроки из одного случая и вместе изучить интерфейс. Безграничные возможности технологий. Я также написал несколько статей на эту тему несколько лет назад, и многие из них я удалил позже из-за каких-то отношений.Если вам интересно, вы можете вернуться и посмотреть 😀

Я считаю, что мы часто смотрим прямые трансляции или сериалы и замечаем, что есть много экранов с маркерами. Иногда экраны с маркерами более интересны, чем сериалы или живые игры. Внимательные студенты обнаружат, что иногда экраны с маркерами выглядят одинаково, а затем продолжайте цикл, время все еще отправляется одним и тем же пользователем, так как же этот пользователь может отправлять одно и то же сообщение или разные сообщения за короткий промежуток времени?

26

На самом деле все очень просто, возьмем, к примеру, веб-версию перцового прямого эфира, любой комментарий должен иметь поле ввода, слишком неэффективно вручную вводить текст, а затем отправлять его.

Тогда самый прямой и насильственный способ — передать задачу разработчику для автоматической реализации.Если вы front-end разработчик, вы можете использовать селектор, чтобы получить узел поля ввода.

25

Этот узел очень прост, просто щелкните правой кнопкой мыши поле ввода, чтобы просмотреть его, мы видим, что он по существу реализован следующим кодом.

<input name="message" class="tt-type-msg" placeholder="说点什么" />

Затем вы можете использовать этот узел различными способами, если вы уверены, что получаете единственный узел:

24

На самом деле работают следующие три строки:

document.querySelector('[name="message"]');
document.querySelector(".tt-type-msg");
document.querySelector('[placeholder="说点什么"]');

После получения узла нашим следующим шагом должно быть моделирование нашей пользовательской операции и ввод текста на экране маркера.Вы можете видеть, что когда мы вводим следующий код в консоли браузера и нажимаем Enter для запуска, наш666а также牛逼Он автоматически записывается в поле ввода, и учащиеся, разбирающиеся во внешнем интерфейсе, могут с первого взгляда понять значение этого кода:

23

Это не более чем переписывание поля ввода.value, а затем присвойте введенное значение.

document.querySelector('[placeholder="说点什么"]').value = "Wscats 666";

Конечно, входное значение жестко закодировано таким образом. Мы также можем использовать словарь для создания случайных заграждений или комментариев. Конкретные и сложные комментарии могут быть сгенерированы из онлайн-словаря. Если вы не хотите беспокоить, вы можете используйте простой массив, чтобы поместить его. Если вы хотите его отправить, настройте его, а затем отправьте с помощью случайной функции.

const offset = parseInt(Math.random() * 7);
const word = ["厉害", "牛逼", "666", "佩服", "真实", "下饭", "菜"];
document.querySelector('[placeholder="说点什么"]').value = word[offset];

Автоматический ввод завершен, у нас еще есть последний шаг, автоматический щелчок для отправки, на самом деле симуляция заключается в нажатии кнопки отправки с помощью мыши или клавиши ввода на клавиатуре, тогда с этим легко справиться, у нас еще есть концепция только что, чтобы имитировать работу позиции страницы. Чтобы найти узел кода за этим местоположением, мы также щелкаем правой кнопкой мыши красную кнопку отправки, чтобы просмотреть, и вы можете увидеть информацию об этом узле в консоли.

22

Так как этот узел не имеет многих свойств, мы напрямуюclassВыполните поиск по уникальным тегам.

document.querySelector(".tt-type-submit").click();

Точно так же введите код в консоль и нажмите Enter в соответствии с описанным выше методом, и вы увидите, что текст поля ввода автоматически отправляется.

21

Но здесь все не идеально. Весь наш код просто имитирует одну операцию, так как же реализовать зацикливание? Не забывайте, браузеры имеют такие интерфейсы, как таймеры и задержки, поэтому мы можем их использовать.setIntervalфункция для отправки сообщений в соответствии с заданной скоростью оценки времени, тогда мы можем освободить руки, чтобы насладиться красивым якорем, о нет, это замечательная игра игрового якоря, верно, якорь игры также делает скриншоты онлайн-лотереи из время от времени зависает Не приятно иметь на нем скрипт бесплатно.

setInterval(() => {
	document.querySelector('[placeholder="说点什么"]').value = "一楼牛逼";
	document.querySelector(".tt-type-submit").click();
}, 2000);

Такого эффекта мы добились.Конечно, это только самая базовая и базовая основа.Также мы можем многое изменить в геймплее.Например,если я хост,я устрою робота для автоматической отправки подарков меня и автоматически отвечать пользователям. , автоматически поставить мне лайк.

20

Конечно, место здесь ограничено, поэтому я просто напишу кое-что, например, мы можем получить доступ к интерфейсу робота Тьюринга, реализованному для нас третьей стороной.keyЯ зарегистрировал его сам, и существует ограничение на количество раз, которое я могу использовать каждый день.Студентам, которые хотят протестировать, лучше всего зайти на официальный сайт, чтобы зарегистрировать его:

http://www.tuling123.com/openapi/api?key=c75ba576f50ddaa5fd2a87615d144ecf&info=你好

Этот интерфейс нужно только изменитьinfoЕсли вы спросите робота Тьюринга, вы можете получить ответ робота, например, вы можете рассказать ему, рассказать анекдот, я буду слушать, кто такой Джеки Чжан и т. д. Мы не тратим время на реализацию такого робота с искусственным интеллектом сами. , просто вызовите его напрямую Интерфейс достаточно, и вы также можете перейти на официальный сайт, чтобы настроить его.

Мы можем получить содержимое последнего ответа пользователю, а затем ответить на его содержание.Конечно, если вам достаточно скучно, вы также можете реализовать функцию общения двух роботов друг с другом, и комната прямого эфира станет живой в одно мгновение.Пока есть достаточно военно-морских сил, комната прямой трансляции может быть насколько живой, это особенно полезно в прямом эфире.

Но здесь мы все еще используем прямую трансляцию перца в качестве примера, чтобы оценить красивый певческий голос. Или предыдущая идея, если вы хотите ответить на последний шквал, вам нужно получить узел за шквалом:

19

console.log("最后的一条评论为:" + $(
	$(".tt-msg-content-h5.tt-msg-content-h5-chat")[
		$(".tt-msg-content-h5.tt-msg-content-h5-chat").length - 1
	]
)
.text()
.replace(/(^\s*)|(\s*$)/g, ""));

Этот код не сложный.На самом деле, он делает несколько вещей.Он получает простой текст последнего содержимого записи чата в лайве, а затем удаляет в нем пробелы.Также можно делать другую обработку.Я выиграл не делай этого здесь сложно.

18

Чтобы получить окончательный ответ, просто отправьте его в интерфейс Тьюринга, чтобы отправить его. Конечно, многие веб-сайты прямых трансляций предотвратят чистку сценария из первых рук. Прежде всего, если веб-сайтhttpПротокол, интерфейс Тьюринга используется с вниманиемhttpсоглашение, еслиhttpsЕсли это так, измените его непосредственно наhttpsМожно, иначе может быть сообщено об ошибке протокола.

image

Поместите код прямо здесь, не пишите нативный, используйте прямую трансляцию перца в качестве примера, чтобы попробовать, это поддерживается.jQuery, затем перейдите непосредственно к$символ, мы отправляемajaxЗапрос, запрашиваемый адрес сервера — это интерфейс Тьюринга, запрошенныйinfoПараметр представляет собой содержимое последнего ответа пользователя.

$.ajax({
	type: "GET",
	url:
		"https://www.tuling123.com/openapi/api?key=c75ba576f50ddaa5fd2a87615d144ecf&info=" +
		$(
			$(".tt-msg-content-h5.tt-msg-content-h5-chat")[
				$(".tt-msg-content-h5.tt-msg-content-h5-chat").length - 1
			]
		)
			.text()
			.replace(/(^\s*)|(\s*$)/g, ""),
	success: function (data) {
		console.log(data);
		$(".tt-type-msg").val(data.text);
		$(".tt-type-submit").click();
	},
});

Когда мы ввели следующий код в консоль и нажали Enter, мы обнаружили, что запрос был успешно отправлен, но Хуацзяо сделал здесь некоторые информационные суждения, предполагается, что это не позволит Xiaobai оставить сообщение, но как это может быть? пришлите нам Застрял в консоли, не могу работать, она еще слишком нежная.

Нам нужно только немного фарса.После изучения внешнего интерфейса мы все знаем, как попасть в точку останова, напрямую расширить исходный код, добавить условную точку останова и ввестиfalseПросто игнорируйте эту ошибку и дайте ей пройти гладко.

17

Сейчас мы успешно настроили машину на автоматический ответ последнему пользователю.Красное сообщение об ошибке на консоли не влияет на наш автоматический ответ.Конечно,не буду тратить время на продолжение написания здесь.Я понимаю,что все мои одноклассники понимают, просто добавьте какую-то другую обработку, то есть, например, если вы добавите таймер, вы можете наблюдать за тем, как робот разговаривает сам с собой, и добавить суждение id, чтобы отвечать только другим пользователям, которые не отвечают вам.

16

В некоторых серых отраслях эта технология очень популярна, например лайки Weibo, горячие комментарии управления поиском, купоны Taobao в пакетах, массовые мгновенные убийства и т. д., конечно, все может быть передано различным военно-морским силам роботов для завершения этих как правило, они не будут реализованы на стороне клиента, они будут перемещены на сервер, и будет предыстория, с которой нужно разобраться...

Сказав так много, давайте просто использовать это чисто в технической области.В конце концов, я не интересуюсь другими областями.Я видел у некоторых людей наггеты, гитхаб, блоги и другие фанаты, рейтинги, представления и чтения по некоторым техническим резюме. Их много, здесь мы можем делать трюки, здесь мы еще подчеркнем, что это только для технологии, я не буду использовать Nuggets в качестве примера, давайте использовать Github в качестве примера, например, наш объем отправки на Github действительно может изменить время период, объем и количество произвольно.

15

Например, очень интересно выглядит эта классическая запись подчинения.Некоторые разработчики медленно используют реальные представления для нескольких стеков, но это может быть легко искусственным.На самом деле идея реализации очень проста, и она напрямую передается интерфейсная технология. Аналогично приведенному выше коду.

Сначала каждыйcommitПо сути, это все равно, что отправлять комментарии к прямому эфиру только что: поскольку это было реализовано с помощью технологии клиентского интерфейса, давайте изменим наш вкус и воспользуемся технологией клиентского интерфейса, чтобы расширить идею.

Обычно мы используем этот командный метод для отправки кода в репозиторий Github, который также предоставляется на официальном сайте Github:

git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/wscats/test.git
git push -u origin main

Этот метод отправки будет основан на текущем местном времени, поэтому, если вы не хотите менять какой-либо код, вы можете просто и грубо изменить системное время, а затем выполнить указанную выше команду.Этот метод подходит для новичков, которые пропускают отправки и хотите компенсировать некоторые отправки. Чтобы нарисовать соответствующий шаблон:

14

Однако, как разработчик с определенной фронтенд-технологией, я точно не хочу использовать этот метод, он слишком неэффективен, мне приходится работать с визуальным интерфейсом каждый раз, как я могу это вынести.

Затем мы можем использовать node для достижения следующего: чтобы выполнять команды git в пакетном режиме на сервере, мы можем использоватьchild_processДля тех, кто знаком со сценариями оболочки, вы можете использовать оболочку для ее реализации напрямую.Мы используем метод exec, который может использовать подпроцесс для выполнения команд, кэшировать вывод подпроцесса и возвращать вывод подпроцесса как параметр функции обратного вызова.

const exec = require("child_process").exec;
module.exports = (cmd) => {
	return new Promise((resolve, reject) => {
		exec(cmd, function (error, stdout, stderr) {
			if (error) {
				console.log(error);
				reject(stderr);
			} else {
				resolve(stdout);
			}
		});
	});
};

Выставляем еще один интерфейс для написания кода, можем создать новыйmessage.txtфайл, записывать каждый фрагмент кода, самый простой и самый грубый - это напрямую генерировать случайное число или дату и записывать их в него, каждая запись представляет каждыйcommit, на более позднем этапе вы можете улучшить его, чтобы разрезать полный код на обычные блоки кода в соответствии с синтаксическим деревом AST и т. д., а затем прикреплять реальную запись отправки для каждой отправки кода.

const fs = require("fs");
module.exports = (message) => {
	return new Promise((resolve, reject) => {
		fs.appendFile("message.txt", `${message}\n`, (err) => {
			err ? reject() : resolve();
		});
	});
};

Последний - это основной код, самое главное здесь на самом делеgit commit -m "${commitTime}" --no-edit --date="${commitTime}"этот абзац,--dateПараметры могут быть изменены на другое время (если я правильно помню, самое раннее - с 1 января 1970 года по 19 января 2038 года), конкретная причина в том, что это диапазон временной метки, а я раньше не пробовал. И спустя столько времени заинтересованные студенты могут попробовать это сами.

const cmd = require("./cmd");
const file = require("./file");
let day = 10;
const random = (lower, upper) => {
	return Math.floor(Math.random() * (upper - lower + 1)) + lower;
};
const commit = async () => {
	const today = new Date();
	today.setTime(
		today.getTime() - 0 * 24 * 60 * 60 * 1000 - day * 24 * 60 * 60 * 1000
	);
	let commitTime = `${today.getFullYear()}.${
		today.getMonth() + 1
	}.${today.getDate()}`;
	if (today.getFullYear() > 2019) {
		return;
	}
	let commitNumber = random(1, 10);
	let dayNumber = random(1, 3);
	while (commitNumber) {
		await file(commitTime);
		await cmd("git status");
		await cmd("git add .");
		await cmd(`git commit -m "${commitTime}" --no-edit --date="${commitTime}"`);
		commitNumber--;
	}
	if (day >= 10) {
		day -= dayNumber;
		commit();
	} else {
		// await cmd('git push origin master');
	}
};
commit();

После того, как приведенный выше код будет успешно выполнен, он будет автоматически отправлен, а затем поможет вам заполнить его.Contributionsрасписание, которое намного эффективнее, чем ваши ручные изменения панели.

13

Для декоративных целей вы можете использовать случайную функцию для совершения производства в день, может быть случайным образом созданная поданная дневная операция, конечно, может быть случайная фиксация для отправки информации, такой доступ Тьюринга к роботу, упомянутому выше, может быть достигнут. Отправка информации самому себе, конечно , я должен немного пожертвовать, взять свой собственный Github, сделать мышь правильно, однокурсники, чтобы тщательно развлечь, хотя бы узнать, что последний раз играл в сетке, сетка не удаляет это смущает, как удалить эти решетки, на самом деле , больше, чем составляют знания Git, чтобы понять суть, не начинайте говорить, положите его после того, как эффект реализации конкретного Github я могу пойти и посмотреть.

12

Тогда реализация кода здесь может сказать нам, что много раз при чтении технических статей не просто смотреть на поверхностные количественные данные, такие как некоторые чтения, лайки и отправки, являются только частью нашей ссылки, больше нужно смотреть на контент, представленный автор качество.

Я поискал на Github, и там еще много такого рода наворотов.Есть много реализаций открытого исходного кода.Каждый может сослаться на него.Как программист,вы можете использовать его для развлечения каждый день.Помните,не используйте это обманывать людей..

11

Приведенный выше пример остановится в конце, его применение на самом деле очень широкое, например, ранжирование в различных рейтингах, вы должны тщательно рассмотреть множество списков, и обычным пользователям может быть трудно использовать эту технологию.Еще много времени , я продолжу это, или то же самое, мы используем техническое сообщество для проведения экспериментов, мы используем рейтинг плагинов Microsoft VSCode для проведения экспериментов, изначально хотели использовать Weibo или Nuggets для проведения экспериментов, но подумайте об этом. Может быть негатив последствия.Чтобы говорить о боевых искусствах, мы все еще используем техническое сообщество, чтобы быть чистым и не слишком утилитарным.

10

Это все плагины, которые обеспечивают удобство для наших разработчиков.Этот список по сути является популярным списком и имеет определенное справочное значение, но мы должны анализировать его более рационально, потому что может быть своего рода отставание от списка в минутах». "толкает.

Давайте на этот раз попробуем и передний технологический клиент, и сервер, возможно ли это, мы пытаемся помочь нам увеличить объем загрузки подключаемого модуля, мы обнаружили, что на веб-странице есть кнопка загрузки, поэтому описанная выше технология достаточно реализована, идея очень проста.

9

Найдите код узла за кнопкой, а затем запустите загрузку в соответствии с частотой.Эта загрузка полностью имитирует основную операцию человека на стороне клиента, затем загрузка успешно выдаст запрос и будет полностью записана в фоновом режиме, и затем финальное обновление представлено сумме загрузки внутри.

8

Конечно, этот метод прост и груб и позволяет быстро достичь цели, но есть ли что-нибудь более быстрое и эффективное, чем этот метод? Ответ однозначно да, и решений много-много.Для конкретной ссылки на этот плагин решения и исходники написаны в нем.

7

После исполнения в течение суток попадет в первый эшелон загрузок.Конечно, можно напрямую наполнить и выйти в первый эшелон загрузок, но для развлечения этого достаточно.Если только на первое место, то будет нарушать технологию, если это слишком много. Первоначальная цель предоставления плагина - предоставить услуги большему количеству разработчиков. Молодым людям все еще нужно говорить о боевых искусствах. Я экспериментировал с некоторыми плагинами и обнаружил, что ограничений нет. .По моему наблюдению,большинство топовых Плагины все официальные плагины, а часть загрузок немного тонковата.Вот еще надеюсь,что Майкрософт исправит эту уязвимость в будущем.Так же как и отечественный Hbuilder,плагины могут загружаться только после привязки учетной записи.

Здесь я, кстати, расскажу о принципе, потому что плагин поддерживает загрузку на стороне клиента в дополнение к загрузке на веб-странице, поэтому мы можем смоделировать весь процесс загрузки, пока мы отслеживаем загрузку на стороне клиента. , а затем выполнить его в цикле, немного похожем на трубу, чистящую похвалу Taobao. То же самое, но эти входы в общие коммерческие проекты будут охраняться, и выполнить эти сценарии для вас не так просто.

6

Здесь он может быть очень гибким.Вы можете использовать интерфейсную технологию для динамического выполнения загрузки, или вы можете перехватить запрос на загрузку, чтобы отправить его в цикле, чтобы обмануть сервер.То есть мы можем подделать заголовок и тело запроса запрос на стороне узла, а затем отправить его на прош.сервер.

Небольшая вариация этой схемы может использоваться для перебора (wifi, пароль сервера), атак «человек посередине» и т.д.

6.1

В онлайн-мире такие люди запускают эти скрипты для сканирования уязвимостей каждый день, а затем подделывают запросы для достижения своих целей.Мой сервер часто посещают эти люди, что неудобно.

Конечно, помимо node, есть много инструментов, которые могут реализовать эту возможность, и мы не будем перечислять их все здесь, мы анализируем только область фронтенда.

5

Так зачем нам иногда нужно так много проверок для входа и регистрации?恶势力Сопротивляйтесь, для некоторых списков, таких как горячие поиски и горячие обзоры, мы можем использовать их в качестве справочных, и мы не можем быть чрезмерно суеверными.

Кстати, независимо от того, мобильный это телефон или компьютер, на самом деле существует множество способов приложений и плагинов для мониторинга системы.Так же, как и вышеперечисленные плагины, лучше использовать стабильный источник кода насколько это возможно, потому что они могут легко управлять системой локально, например, использовать простой код для контроля ввода с клавиатуры, легко читать и записывать локальные файлы и т. д. Код иногда даже прост, он может быть далеко от нас, а может быть очень близко от нас.

4

Точно так же, как следующий простой код, это будет ужасный код в неподходящем сценарии.С некоторыми средствами он может незаметно войти в вашу систему, а затем записать каждый бит вашего ввода, включая введенный пароль, привычки ввода, привычки грамматики, распределение функциональных слов и реальных слов, общих слов и способности организации языка и т. д., с некоторыми скрытыми отчетами, может точно анализировать ваших пользователей, если пользователи вводят достаточно, он будет лучше вас понимать, потому что каждый вырос в уникальной среде и эпоха. Влияние этой среды на язык пользователя очень далеко идущее. Как и Цао Сюэцин и Гао Э, два автора «Мечты о красных особняках» ушли, но драгоценной литературы, оставленной после анализа данных, достаточно. Докажите, что эта книга имеет разный стиль до и после.

const inputs = document.querySelectorAll("input");
[].forEach.call(inputs, (input) => {
	input.addEventListener("input", (e) => {
		console.log(e.target);
	});
});

Эти恶意代码Он может быть имплантирован в ваш компьютер с помощью плагинов и т. д., различными способами, такими как оболочки, «цветные» руководства по веб-сайтам, модифицированные магией коттеджные системы или браузеры и т. д.

3

Технология - это обоюдоострый меч, и ее суть должна быть хорошей. Когда я был ребенком, я читал классику трех символов. Самое впечатляющее предложение состоит в том, что в начале человека природа по своей природе хороша. Я также думаю, что в начале технологии суть тоже хороша.Другими словами, другими словами, первоначальное намерение технологии состоит в том, чтобы принести пользу пользователям, а не потерю.

2

Я очень рад копать и изучать ценность и удовольствие от технологий. В последнее время мне нравится писать несколько простых скриптов в WeChat, чтобы автоматически отвечать друзьям и семье. Может быть, доброе утро и спокойной ночи согревают, когда я вдали от работы.

Напомните пожилым людям регулярно есть и спать и вовремя поздравить друзей с днем ​​​​рождения. Другая сторона по-прежнему очень счастлива. Вот некоторые из ключевых кодов в нем. Конечно, вы можете дать ему больше функций самостоятельно.

setInterval(function () {
	$(".edit_area").html("微信需要发送的文字");
	$(".edit_area").trigger($.Event("keydown", { keyCode: 13, ctrlKey: true }));
	$(".btn_send").click();
}, 3000);

Конечно, как программист, у вас также должно быть жизненное стремление. Жизнь рабочего-мигранта похожа. Найдите время, чтобы увидеть прекрасный мир, и помогите мне с купонами. Ха-ха, пусть браузер поможет мне сделать некоторые вещи. автоматически, Миру программиста может быть суждено быть таким обычным 😁

1

let y = 0;
let num = 0;
let imgArr = [];
setInterval(() => {
	let imgs = document.querySelectorAll("img");
	let length = imgs.length;
	if (num !== length) {
		num = length;
		imgArr = imgs;
		console.log(length, imgArr);
	}
	y = y + 1;
	scrollTo(0, y);
}, 1);

Я надеюсь, что в будущем у меня будет больше времени для написания более интересного кода Открытый исходный код — это непросто, и я дорожу им.

наконец

Все вышеперечисленные коды на самом деле очень просты по своей сути.Они предназначены исключительно для обмена и общения, и предназначены только для развлечения.Если есть какие-либо недостатки, пожалуйста, потерпите меня.

На самом деле во многих сценах нам предстоит решить множество барьеров, таких как идентификационный код, поведение пользователя и анализ цепочки вызовов, трояны и другие имплантаты, если будет предоставлена ​​возможность позже найти время, чтобы написать о них, как разработчик, мы должны иметь обязательства и осведомленность, пользовательские операции на каждом входе в хорошие отношения и предупредить пользователя.

0

Конечно, удовольствие от технологий заключается в том, чтобы исследовать, а не делать зло Наконец, я прикрепляю свое любимое маленькое пианино, чтобы повеселиться с вами:🎹 https://github.com/Wscats/piano

Прошлые статьи можно найти здесь:🔖 https://github.com/Wscats/articles

Ваша поддержка (Star и Fork) — самая большая мотивация для меня двигаться вперед~

Спасибо за музыку и программу! Салют всем вам, кто боролся996/007Кодер, музыка еще никого не подводила, как поет в песне Leehom Wang:

Если мир слишком опасен, только музыка безопаснее всего, унеси меня в сон, пусть лирика сбудется! -- "Наша песня"