Форум   Статьи   Новости   Файлы   Bugtraq   Сниффер   Друзья   О Клубе
  , 16:04   #1
НЕ ПРОВЕРЕН
 
Регистрация: 18.02.2018
Сообщений: 1

Репутация: 0 / 0
Exclamation Нужна помощь в скрипте

Всем доброго времени суток.
Собственно у меня такая проблемка. Есть скрипт:
code:
var xhr = new XMLHttpRequest()
xhr.open('get', 'data/quiz1.js', true);
xhr.send(); // (1)
var d = xhr.response.substr(83);
var c = d.search(/;/);
eval(d.substr(0, c));


var dataInfo, dat = [], el = [], e = [], Cc, Dc, Ec, Fc, m = null, k = !0, p = !1;
//console.log('k p:', k, p);
function decodeTestInfo(stringInfo) {
	var a = stringInfo,
		c = Jc(a),
		c = (new hG(c)).FR(), 
		d = [], 
		e = 0, 
		f = 0, 
		h = 0, 
		i = 0, 
		l = -1;
	for (n = c.length; e < n;)
				(f = c[e]) ? 
					128 > f ? 
						(d[++l] = String.fromCharCode(f), ++e) : 
						191 < f && 224 > f ? 
							(h = c[e + 1], d[++l] = String.fromCharCode((f & 31) << 6 | h & 63), e += 2) : 
						(h = c[e + 1], i = c[e + 2], d[++l] = String.fromCharCode((f & 15) << 12 | (h & 63) << 6 | i & 63), e += 3) : 
					++e;
	dataInfo = JSON.parse(d.join(""));
}

function Jc(a, b) {
	Ic();
	c = b ? Fc: Dc;
	d = []; 
	
	for (var e = 0; e < a.length;) {
		var f = c[a.charAt(e++)];
		var h = e < a.length ? c[a.charAt(e)] : 0;
		++e;
		var i = e < a.length ? c[a.charAt(e)] : 0;
		++e;
		var l = e < a.length ? c[a.charAt(e)] : 0;
		++e;
		d.push(f << 2 | h >> 4);
		64 != i && (d.push(h << 4 & 240 | i >> 2), 64 != l && d.push(i << 6 & 192 | l))
	}
	return d
}
function Ic(a) {
	if (!Cc) {
		Cc = {};
		Dc = {};
		Ec = {};
		Fc = {};
		for (var a = 0; 65 > a; a++)
			Cc[a] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(a), 
			Dc[Cc[a]] = a, 
			Ec[a] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.".charAt(a), 
			Fc[Ec[a]] = a
	}
}
function g(a) {
		throw a;
	}
var hG = function() {
	function a() {
		g(Error("stream error"))
	}

	function b(a) {
		return "undefined" == typeof a
	}

	function c(b) {
		var c = 0,
			d = b[c++],
			e = b[c++];
		(-1 == d || -1 == e || 8 != (d & 15) || 0 != ((d << 8) + e) % 31 || e & 32) && a();
		this.mB = b;
		this.vo = c;
		this.Cr = this.Dr = this.Er = 0;
		this.zB = p;
		this.Qv = m
	}
	var d = [],
		e = [],
		f = [],
		h, i;
	(function() {
		var a = [],
			b, c = 2;
		for (b = 0; 8 > b; ++b) a.push(c), c += 1 << (b >> 1);
		for (b = 0; 3 > b; ++b) d.push(b + 16);
		for (b = 0; 7 >= b; ++b) d.push((8 - b) % 8), d.push(8 + b);
		for (b = 1; 3 > b; ++b) e.push(b);
		for (b = 0; 28 > b; ++b) {
			var h = b >> 1 << 16,
				c = b % 8,
				h = h + ((a[c] << (b -
					c) / 2) + 1);
			e.push(h)
		}
		for (b = 3; 7 > b; ++b) f.push(b);
		c = 7;
		for (b = 0; 24 > b; ++b) a = b >> 2, h = (a << 16) + c, c += 1 << a, f.push(h);
		for (b = 0; 3 > b; ++b) f.push(258)
	})();
	c.prototype.yB = function(a) {
		var b = this.Qv,
			c = b ? b.length : 0;
		if (a < c) return b;
		for (var d = 1024; d < a;) d <<= 1;
		a = Array(d);
		for (d = 0; d < c; ++d) a[d] = b[d];
		return this.Qv = a
	};
	c.prototype.FR = function() {
		for (; !this.zB;) this.TS();
		return this.Qv.slice(0, this.Cr)
	};
	c.prototype.zk = function(c) {
		for (var d = this.Er, e = this.Dr, f = this.mB, h = this.vo, i; d < c;) b(i = f[h++]) && a(), e |= i << d, d += 8;
		this.Dr = e >> c;
		this.Er =
			d - c;
		this.vo = h;
		return e & (1 << c) - 1
	};
	c.prototype.MB = function(c) {
		var d = c[0],
			e = c[1];
		c = this.Er;
		for (var f = this.Dr, h = this.mB, i = this.vo; c < e;) {
			var y;
			b(y = h[i++]) && a();
			f |= y << c;
			c += 8
		}
		e = d[f & (1 << e) - 1];
		d = e >> 16;
		e &= 65535;
		(0 == c || c < d || 0 == d) && a();
		this.Dr = f >> d;
		this.Er = c - d;
		this.vo = i;
		return e
	};
	c.prototype.Or = function(a) {
		for (var b = a.length, c = 0, d = 0; d < b; ++d) a[d] > c && (c = a[d]);
		for (var e = 1 << c, f = Array(e), h = 1, i = 0, J = 2; h <= c; ++h, i <<= 1, J <<= 1)
			for (var H = 0; H < b; ++H)
				if (a[H] == h) {
					for (var I = 0, U = i, d = 0; d < h; ++d) I = I << 1 | U & 1, U >>= 1;
					for (d = I; d < e; d += J) f[d] =
						h << 16 | H;
					++i
				}
		return [f, c]
	};
	c.prototype.TS = function() {
		function c(a, b, d, e, f) {
			for (a = a.zk(d) + e; 0 < a--;) b[z++] = f
		}
		var n = this.zk(3);
		n & 1 && (this.zB = k);
		n >>= 1;
		if (0 == n) {
			var q = this.mB,
				r = this.vo,
				t;
			b(t = q[r++]) && a();
			var w = t;
			b(t = q[r++]) && a();
			w |= t << 8;
			b(t = q[r++]) && a();
			n = t;
			b(t = q[r++]) && a();
			(n | t << 8) != (~w & 65535) && a();
			this.Er = this.Dr = 0;
			t = this.Cr;
			n = this.yB(t + w);
			this.Cr = w = t + w;
			for (var y = t; y < w; ++y) {
				if (b(t = q[r++])) {
					this.zB = k;
					break
				}
				n[y] = t
			}
			this.vo = r
		} else {
			if (1 == n) {
				if (!h) {
					for (var q = Array(288), z = 0; 143 >= z; ++z) q[z] = 8;
					for (; 255 >= z; ++z) q[z] =
						9;
					for (; 279 >= z; ++z) q[z] = 7;
					for (; 287 >= z; ++z) q[z] = 8;
					h = this.Or(q);
					n = Array(31);
					for (z = 0; 32 > z; ++z) n[z] = 5;
					i = this.Or(n);
					i[0][15] = 0;
					i[0][31] = 0
				}
				r = h;
				t = i
			} else if (2 == n) {
				n = this.zk(5) + 257;
				t = this.zk(5) + 1;
				r = this.zk(4) + 4;
				q = Array(d.length);
				for (z = 0; z < r;) q[d[z++]] = this.zk(3);
				r = this.Or(q);
				z = q = 0;
				t = n + t;
				for (w = Array(t); z < t;) y = this.MB(r), 16 == y ? c(this, w, 2, 3, q) : 17 == y ? c(this, w, 3, 3, q = 0) : 18 == y ? c(this, w, 7, 11, q = 0) : w[z++] = q = y;
				r = this.Or(w.slice(0, n));
				t = this.Or(w.slice(n, t))
			} else a();
			w = (n = this.Qv) ? n.length : 0;
			for (y = this.Cr;;) {
				var J = this.MB(r);
				if (256 > J) y + 1 >= w && (n = this.yB(y + 1), w = n.length), n[y++] = J;
				else {
					if (256 == J) {
						this.Cr = y;
						break
					}
					var J = J - 257,
						J = f[J],
						H = J >> 16;
					0 < H && (H = this.zk(H));
					q = (J & 65535) + H;
					J = this.MB(t);
					J = e[J];
					H = J >> 16;
					0 < H && (H = this.zk(H));
					J = (J & 65535) + H;
					y + q >= w && (n = this.yB(y + q), w = n.length);
					for (H = 0; H < q; ++H, ++y) n[y] = n[y - J]
				}
			}
		}
	};
	return c
}();
decodeTestInfo(quizInfo);


for(var i = 0, d = dataInfo.q; i < dataInfo.q.length; i++) {
	el[i] = document.createElement("div");
	el[i].innerHTML = d[i].d;
	dat[i] = {t: el[i].innerText, a : []};
	
	d[i].a.forEach(function(a, j) {
		if(a.c) {
			e[j] = document.createElement("div");
			e[j].innerHTML = a.t;
			dat[i].a[j] = e[j].innerText;
		}
	});
}

function get() {
	var t = document.querySelector('.text').innerText;
	console.clear();
	dat.forEach(function(d, i){
		if(d.t.trim() == t.trim().replace("\n", "")) // replace(/\s+/g , '')
			d.a.forEach(function(a) {
				console.log(a, "\n");
			});
	});
}

document.addEventListener("click", get);
console.clear();
С помощь которого можно проходить на одном из сайтов СДО(система дистанционного обучения)
темы, во ттаким образом:
IMAGE http://preview.ibb.co/dwywT7/1.png

Но, на другом сайте, с такой же системой тестов, не работает этот код:
IMAGE http://preview.ibb.co/gcELo7/2.png

Я не шарю, поэтому обращаюсь к грамотным людям с эти вопросом :-)
Кто сможет решить этот вопрос?
 
Пользователь вне форума    
Наши Спонсоры
 

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Срочно нужна помощь в написании winlock-сайта VVZEL Предлагаем работу 0 19.10.2015 16:12
RMS - Нужна помощь Atomik Софт для Windows 1 01.09.2015 17:25
Нужна помощь програмиста для настройки tor, i2p, privoxy на Ubuntu Demon_74 Предлагаем работу 0 02.07.2015 10:14
Нужна помощь по перехвату пакетов в интернете (слежение за сервером) r.m.bikov Уязвимости и защита 6 11.02.2013 11:46
[Проблема] Нужна помощь с определением сайта gerEisenheim Уязвимости и защита 2 19.07.2011 09:42



Часовой пояс GMT +2
Powered by vBulletin® 3.x.x Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Copyright © 2008 - 2013 «HPC» Реклама на сайте Правила Форума Пользовательское соглашение Работа на сайте
При копировании материалов ставьте ссылку на источник
Все материалы представлены только в ознакомительных целях, администрация за их использование ответственности не несет.