Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2013, 23:54
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,737

Вопрос о скрипте
Доброго времени суток.
В сети я нашел скрипт для одной браузерной игры, но не знаю можно его использовать или нет.
Вот код скрипта:
// ==UserScript==
// @name        ***
// @namespace   Arena 
// @include     [url]http://*[/url]
// @version     1
// ==/UserScript==
/*
	[url]http://***.info/[/url]
*/
var all_meta = document.getElementsByTagName('meta');
var this_tiwar = false;
for (var i = 0; i < all_meta.length; i++) {
	if (all_meta[i].name == 'keywords') {
		if (all_meta[i].content == '***') {
			this_tiwar = true;
		};
	};
};
var this_arena = false;
var nexus = document.createElement('script');
if (window.location.href.split('/')[3] == 'arena') {
	this_arena = true;
};
if (this_tiwar && this_arena) {
	var mana_num = parseInt(document.getElementsByClassName('head')[0].innerHTML.split(' ')[8].substr(0, 4).match(/\d+/));
	var health_num = parseInt(document.getElementsByClassName('head')[0].innerHTML.split(' ')[3].substr(0, 4).match(/\d+/));
	var title = document.getElementsByTagName('title')[0].innerHTML;
	var loc = localStorage;
	var atak = 1;
	var wait = 400;
	if (loc.getItem('atak')) {
		atak = loc.getItem('atak');
	} else {
		loc.setItem('atak', '1');
	}; if (loc.getItem('wait')) {
		wait = loc.getItem('wait');
	} else {
		loc.setItem('wait', '400');
	};
	atak = parseInt(atak) - 1;
	atak = parseInt(atak);
	document.getElementsByClassName('main')[0].innerHTML += '<div class="line"></div><a href="javascript://" style="display:block;padding:3px 5px;background:rgba(255,255,255,0.1);" id="script_setting">Настройки<span style="float:right;">Открыть</span></a><div style="background:rgba(255,255,255,0.1);padding:2px 4px;display:none;" id="nexus_script_footer_setting"></div>';
	document.getElementById('script_setting').addEventListener('click', function () {
		if (document.getElementById('nexus_script_footer_setting').style.display == 'none') {
			this.getElementsByTagName('span')[0].innerHTML = 'Закрыть';
			this.style.borderBottom = 'solid 1px #666';
			document.getElementById('nexus_script_footer_setting').style.display = ''
		} else {
			this.getElementsByTagName('span')[0].innerHTML = 'Открыть';
			this.style.borderBottom = 'none';
			document.getElementById('nexus_script_footer_setting').style.display = 'none'
		};
	}, false);
	document.getElementById('nexus_script_footer_setting').innerHTML = '<div style="padding:2px 0px;">Арена. Атаковать №:<span style="float:right;" id="arena_atk"><a href="javascript://" style="padding:0px 2px;">1</a> <a href="javascript://" style="padding:0px 2px;">2</a> <a href="javascript://" style="padding:0px 2px;">3</a></span></div>';
	document.getElementById('nexus_script_footer_setting').innerHTML += '<div style="padding:2px 0px;">Арена. Без маны ждать:<span style="float:right;" id="arena_wait"><input type="text" value="' + wait + '" maxlength="5" size="5" style="background:none;border:none;color:#595;font-weight:bold;"/> <a href="javascript://">Сохранить</a></span></div>';
	document.getElementById('arena_atk').getElementsByTagName('a')[atak].style.color = '#5F5';
	nexus.type = 'text/javascript';
	document.getElementById('arena_atk').getElementsByTagName('a')[0].addEventListener('click', function () {
		loc.setItem('atak', '1');
		this.style.color = '#5F5';
		document.getElementById('arena_atk').getElementsByTagName('a')[1].style.color = 'rgb(244, 208, 110)';
		document.getElementById('arena_atk').getElementsByTagName('a')[2].style.color = 'rgb(244, 208, 110)';
	}, false);
	document.getElementById('arena_atk').getElementsByTagName('a')[1].addEventListener('click', function () {
		loc.setItem('atak', '2');
		this.style.color = '#5F5';
		document.getElementById('arena_atk').getElementsByTagName('a')[0].style.color = 'rgb(244, 208, 110)';
		document.getElementById('arena_atk').getElementsByTagName('a')[2].style.color = 'rgb(244, 208, 110)';
	}, false);
	document.getElementById('arena_atk').getElementsByTagName('a')[2].addEventListener('click', function () {
		loc.setItem('atak', '3');
		this.style.color = '#5F5';
		document.getElementById('arena_atk').getElementsByTagName('a')[0].style.color = 'rgb(244, 208, 110)';
		document.getElementById('arena_atk').getElementsByTagName('a')[1].style.color = 'rgb(244, 208, 110)';
	}, false);
	document.getElementById('arena_wait').getElementsByTagName('a')[0].addEventListener('click', function () {
		loc.setItem('wait', '' + this.parentNode.getElementsByTagName('input')[0].value);
		this.parentNode.getElementsByTagName('input')[0].setAttribute('maxlength', '9');
		this.parentNode.getElementsByTagName('input')[0].size = '9';
		this.parentNode.getElementsByTagName('input')[0].value = 'Сохранено';
		setTimeout(function () {
			document.getElementById('arena_wait').getElementsByTagName('input')[0].size = '5';
			document.getElementById('arena_wait').getElementsByTagName('input')[0].setAttribute('maxlength', '5');
			document.getElementById('arena_wait').getElementsByTagName('input')[0].value = loc.getItem('wait');
		}, 3000);
	}, false);
	nexus.src = 'http://tiwar.info/js/js.js';
	var label = document.getElementsByClassName('label');
	if (label[0].innerHTML == 'Новый бой') atak = atak + 1;

	function attack() {
		if (document.getElementsByClassName('error')[0] != undefined || mana_num < 50) {
			document.getElementsByClassName('head')[0].innerHTML += '<br>Страница будет обновленна через <span id="timer">' + wait + '</span>';
			document.body.appendChild(nexus);

			function timer(num) {
				if (!num) {
					var num = document.getElementById('timer').innerHTML;
				};
				if (num > 0) {
					var sec = num;
					var min = sec / 60;
					min = '' + min + '';
					min = min.split('.')[0];
					sec = sec / 60;
					sec = sec.toFixed(2);
					sec = sec.split('.')[1];
					sec = 60 / 100 * sec;
					sec = sec.toFixed();
					if (parseInt(sec) < 10) {
						sec = '0' + sec;
					};
					if (parseInt(min) < 10) {
						min = '0' + min;
					};
					num = num - 1;
					setTimeout(function () {
						timer(num)
					}, 1000);
					document.getElementById('timer').innerHTML = min + '<i>мин</i> ' + sec + '<i>сек</i>';
					document.getElementsByTagName('title')[0].innerHTML = min + ':' + sec + 'сек. | ' + title;
				} else {
					label[atak].click();
				};
			};
			setTimeout(timer, 1000);
		} else {
			label[atak].click();
		};
	};
	attack();
};


Вод код файла js.js:
document.getElementsByClassName('player')[0].innerHTML+='<li><a href="http://***.info/" target="_blank"><img src="http://***.info/favicon.ico" style="width:12px;height:12px;"/>***.info</a></li>';


Чтобы это не выглядело, как реклама я заменил url звездочками.

Скажите, этот скрипт ворует какие-либо данные?
Всем заранее огромное спасибо.

Последний раз редактировалось Nexus, 21.08.2013 в 00:20.
Ответить с цитированием
  #2 (permalink)  
Старый 21.08.2013, 00:17
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Nexus
Скажите, этот скрипт ворует какие-либо данные?
Да, этот код ворует пароль от почты и при наличии - код от сейфа.
Ответить с цитированием
  #3 (permalink)  
Старый 21.08.2013, 00:19
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,737

danik.js, я оценил Вашу шутку, а теперь можно серьезный ответ?
Ответить с цитированием
  #4 (permalink)  
Старый 21.08.2013, 00:30
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Nexus, какое место в скрипте тебе кажется подозрительным и какие данные ты боишься потерять?
Ответить с цитированием
  #5 (permalink)  
Старый 21.08.2013, 00:43
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,737

danik.js, я слышал, что скрипт "ворует" логин и пароль от аккаунта, их я и боюсь потерять.
Скрипт не большой, поэтому я опубликовал его код здесь в надежде, что кто-нибудь не испугается этого объема и просмотрит его полностью, сказав может ли быть этот скрипт опасным или нет.
Ответить с цитированием
  #6 (permalink)  
Старый 21.08.2013, 11:39
Профессор
Отправить личное сообщение для Vampir3 Посмотреть профиль Найти все сообщения от Vampir3
 
Регистрация: 06.12.2011
Сообщений: 172

бот чтоли для какой–то игры?)
не вижу ничего подозрительного
Ответить с цитированием
  #7 (permalink)  
Старый 21.08.2013, 14:41
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,737

Vampir3, ботом это не назвать, так как он работает только на одной локации.
Спасибо за просмотр кода скрипта.
Может быть кто-нибудь еще подтвердит слова Vampir3 или опровергнет их?
Ответить с цитированием
  #8 (permalink)  
Старый 22.08.2013, 00:35
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от Nexus
Скажите, этот скрипт ворует какие-либо данные?
бегло просмотрел, тоже ничего подозрительного не нашел.
Ответить с цитированием
  #9 (permalink)  
Старый 22.08.2013, 20:30
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,737

Яростный Меч, благодарю
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
Ссылки в скрипте Cloud Zoom onuvidelsolnce Events/DOM/Window 1 25.04.2012 19:24
Вопрос по each() и перебору строк таблицы battrack jQuery 1 09.02.2012 14:30
вопрос про возможности JS для рисования и анимации macdack Библиотеки/Тулкиты/Фреймворки 3 15.07.2011 00:13
Теоретический вопрос. gods33 (X)HTML/CSS 10 16.12.2010 23:49