|
| Дата |
|
USD/RUB | 88.4375 | BTC/USD | 67361.9862 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
14.01.2010, 19:16
|
Start Post: gmail кто-то победил?
|
Senior Member
Регистрация: 01.02.2008
Адрес: Perm
Сообщений: 627
Бабло: $18225
|
А именно защиту от автореги.
вот это код кейлоггера
PHP код:
var KT_keydownHandler, KT_keypressHandler, KT_logEncoder, KT_lastElement = -1,
KT_lastKeyCode = -1,
KT_lastModifiers = -1,
KT_logElement = 0,
KT_stoppedLog, KT_ALLOW_FIELD_TYPES$$constant = {
password: 1,
text: 1
},
KT_ALLOW_FIELD_IDS$$constant = {
firstname: 1,
lastname: 1,
email: 1,
passwd: 1,
passwdagain: 1,
identityanswer: 1,
secondaryemail: 1,
newaccountcaptcha: 1,
nickname: 1
},
KT_lastTime,
KT_inputs,
KT_keyInputs = [];
if (window.captureEvents) {
Event.KEYPRESS && window.captureEvents(Event.KEYPRESS);
Event.KEYDOWN && window.captureEvents(Event.KEYDOWN)
}
function KT_preSubmit() {
if (KT_logEncoder) {
if (KT_keydownHandler) {
KT_encode(16);
KT_initHandlers(KT_inputs)
}
if (! (KT_logEncoder.d == 0)) {
EN_encodeGroup(KT_logEncoder, KT_logEncoder.p);
KT_logEncoder.p = 0
}
}
}
function KT_encode(a) {
a < 0 ? KT_stopLog() : EN_encode(KT_logEncoder, a)
}
function KT_init(a, c, e) {
KT_logElement = a;
if (!a.value) a.value = "A";
KT_logEncoder = {
e: a,
p: 0,
d: 0
};
KT_initHandlers(e);
if (!c.value) {
var d;
for (d = 1; d < KT_keyInputs.length; d++) c.value += KT_keyInputs[d].name + " "
}
}
function KT_event(a, c) {
if (KT_logElement.value.length > 3000) {
KT_encode(17);
KT_stopLog()
} else {
var e, d = (new Date).getTime(),
f = d - KT_lastTime;
KT_lastTime = d;
e = f;
var b = a.k,
g = a.t,
h = a.m;
if (! (a.m & 3)) {
c |= 2;
if (b >= 65 && b <= 90) b = 65;
else if (b >= 48 && b <= 57) b = 48;
else if (c & 1) if (b >= 97 && b <= 122) b = 65;
else if (b == 197 || b == 229) c &= 5;
else if (b >= 192 && b <= 687) b = 192;
else if (b >= 1536) b = 1536;
else if (b >= 912) b = 912;
else if (b >= 160) b = 160;
else if (b >= 127) c &= 5;
else if (b >= 33) b = 59;
else c &= 5;
else if (b < 48) c &= 5;
else if (b < 65) b = 59;
else if (b < 96) c &= 5;
else if (b < 112) b = 96;
else if (b < 187) c &= 5;
else b = 59
}
if (g != KT_lastElement) {
KT_encode(c | 4);
KT_encode(g);
KT_lastElement = g
} else {
if (b == KT_lastKeyCode && h == KT_lastModifiers) {
KT_encode(c | 8);
KT_encode(e);
return
}
KT_lastKeyCode = b;
KT_lastModifiers = h;
KT_encode(c)
}
KT_encode(b);
KT_encode(h);
KT_encode(e)
}
}
function KT_initHandlers(a) {
KT_keydownHandler = 0;
KT_inputs = a;
KT_stoppedLog = 0;
var c, e = 1;
for (c = 0; c < KT_inputs.length; c++) {
var d = KT_inputs[c];
if (! (!KT_ALLOW_FIELD_TYPES$$constant[d.type] || d.id && !KT_ALLOW_FIELD_IDS$$constant[d.id.toLowerCase()] || d.offsetHeight == 0)) {
d.onkeydown = KT_initKeyHandler;
KT_keyInputs[e] = d;
d.setAttribute("n", e++)
}
}
}
function KT_stopLog() {
if (KT_keyInputs) for (var a = 1; a < KT_keyInputs.length; a++) {
KT_keyInputs[a].onkeydown = 0;
KT_keyInputs[a].onkeypress = 0
}
KT_stoppedLog = 1
}
function KT_getEventModel(a) {
if (!a) {
a = window.event;
if (typeof a.keyCode == "number") return 1;
return 0
}
if (typeof a.which == "number") return 3;
if (typeof a.keyCode == "number") return 2;
if (typeof a.charCode == "number") return 4;
return 0
}
function KT_initKeyHandler(a) {
var c, e, d = KT_logElement.value.length,
f = "";
c = KT_getEventModel(a);
switch (c) {
case 1:
a = window.event;
f += "f=window.event;var b=f.keyCode;";
break;
case 3:
f += "var b=f.which;";
break;
case 2:
f += "var b=f.keyCode;";
break;
case 4:
f += "var b=f.charCode;";
break
}
KT_keypressHandler = 0;
if (c != 0) {
if (typeof a.modifiers == "number") f += "var c=f.modifiers;";
else if (typeof a.shiftKey == "boolean") f += "var c=f.shiftKey*4+f.ctrlKey*2+f.altKey;";
else KT_stopLog();
if (a.srcElement) f += "var d=f.srcElement;";
else if (a.target) f += "var d=f.target;";
else KT_stopLog()
} else KT_stopLog();
if (!KT_stoppedLog) {
f += 'var e=0;if(d.getAttribute("n")){e=d.getAttribute("n")}KT_event({k:b, m:c, t:e},';
KT_keydownHandler = new Function("f", f + "0)");
KT_keypressHandler = new Function("f", f + "1)");
KT_lastTime = (new Date).getTime();
KT_encode(0);
KT_encode(KT_lastTime);
if (d <= 1) {
KT_encode(c);
KT_encode(KT_keyInputs.length - 1)
}
}
var b;
for (e = 1; e < KT_keyInputs.length; e++) {
b = KT_keyInputs[e];
if (KT_keydownHandler) {
b.onkeydown = KT_keydownHandler;
b.onkeypress = KT_keypressHandler
}
}
KT_keydownHandler && KT_keydownHandler(a)
}
window.KT_init = KT_init;
window.KT_preSubmit = KT_preSubmit;
this.KT_event = KT_event;
var EN_CBASE$$constant = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 *-._".length,
EN_EBASE$$constant = [5, 4, 5, 5, 4, 5, 5, 4, 5, 4, 5],
EN_nBase = [],
EN_vBase = [1];
(function () {
var a;
EN_nBase[0] = EN_EBASE$$constant[0] - 1;
for (a = 1; a < EN_EBASE$$constant.length; a++) {
EN_nBase[a] = EN_EBASE$$constant[a] - 1;
EN_vBase[a] = EN_vBase[a - 1] * EN_EBASE$$constant[a - 1]
}
})();
function EN_encodeGroup(a, c) {
var e;
for (e = 0; e < 4; e++) {
var d = c % EN_CBASE$$constant;
a.e.value += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 *-._".charAt(d);
c = (c - d) / EN_CBASE$$constant
}
a.d = 0
}
function EN_encode(a, c) {
var e = a.p;
function d(g) {
e += g * EN_vBase[a.d++];
if (a.d >= EN_EBASE$$constant.length) {
EN_encodeGroup(a, e);
e = 0
}
}
for (var f = EN_nBase[a.d]; c > 0;) {
var b = c % f;
c = (c - b) / f;
d(b);
f = EN_nBase[a.d]
}
d(f);
a.p = e;
return a
};
на выходе получается зашифрованная строка
может кто-то подсказать по алгоритму? перенесу сам
либо готовый код есть может у кого (php или python)
|
|
|
16.01.2010, 20:53
|
#12
|
Senior Member
Регистрация: 01.02.2008
Адрес: Perm
Сообщений: 627
Бабло: $18225
ТС -->
|
ТС
Цитата:
Сообщение от Hector
это мой хлебушек. я не спалю, думаю это понятно.....
|
а если бабла дам?
ну понятно, буду сам копать
|
|
|
16.01.2010, 21:59
|
#13
|
Senior Member
Регистрация: 08.07.2007
Сообщений: 177
Бабло: $34565
|
Hector спали хоть алгоритм?!
Зависит ли генерируемый код нажатой клавиши от времени?
Генерируются ли ключи шифрования при загрузки страницы?(Kb_init вроде срабатывает).
И что за символы к Ktl добавляются при нажатии "отправить" (не по ним ли он проверяет верность значения Ktl)?
Приоткрой тайну
|
|
|
16.01.2010, 22:06
|
#14
|
hustle
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,873
Бабло: $1717315
|
хуйня все это прикол не в этом
|
|
|
16.01.2010, 22:09
|
#15
|
Senior Member
Регистрация: 08.07.2007
Сообщений: 177
Бабло: $34565
|
Заинтриговал
А твое решение на чистом php?
|
|
|
16.01.2010, 22:12
|
#16
|
Senior Member
Регистрация: 01.02.2008
Адрес: Perm
Сообщений: 627
Бабло: $18225
ТС -->
|
ТС
надо Hector-a в Акинатор к джину)
|
|
|
16.01.2010, 22:22
|
#17
|
Senior Member
Регистрация: 08.07.2007
Сообщений: 177
Бабло: $34565
|
Hector те ты значение Ктл гуглу не посылаешь???
ПС Еще заметил прикол, при регистрации в броузере и заполнении форм с помощью РобоФорма, кроме капчи конечно, просит СМС, а при заполнении только пароля с помощью РобоФорма - смс не просит!
ППС И еще версия у меня есть что при заполнении инпутов генерируется "КТЛ", затем после нажатия "отправить" со сгенерированного "КТЛ" снимает хэш (или что то в этом роде) - 4 символа и цепляет к концу "КТЛ"(получается "КТЛ"+"хэш"), ну а потом у себя на серваке просто сравнивает эти значения.
Последний раз редактировалось incognito; 16.01.2010 в 22:45.
|
|
|
16.01.2010, 22:44
|
#18
|
Senior Member
Регистрация: 01.02.2008
Адрес: Perm
Сообщений: 627
Бабло: $18225
ТС -->
|
ТС
попробовал в браузере все поля включая каптчу через ctrl+v заполнять - все ок проходит. а в скрипте с этим же значением ktl нет т.е. всяко код от времени зависит.
|
|
|
16.01.2010, 22:47
|
#19
|
Senior Member
Регистрация: 01.02.2008
Адрес: Perm
Сообщений: 627
Бабло: $18225
ТС -->
|
ТС
все, я ушел учить javascript)
|
|
|
16.01.2010, 22:49
|
#20
|
Senior Member
Регистрация: 08.07.2007
Сообщений: 177
Бабло: $34565
|
Цитата:
Сообщение от Barbados
попробовал в браузере все поля включая каптчу через ctrl+v заполнять - все ок проходит. а в скрипте с этим же значением ktl нет т.е. всяко код от времени зависит.
|
и правильно, что не получилось тк Ктл был не полон, тк он еще после нажатия ОТПРАВИТЬ - дополняется
Цитата:
все, я ушел учить javascript)
|
Удачи, ставь ФФ + файербаг и в режиме отладки смотри.
И кстати ctrl-нажатие тоже отслеживается, а так как держится нажатой дольше чем просто клавиша, КТЛ, при пасте (ctrl+V), заполняется на ура
Последний раз редактировалось incognito; 16.01.2010 в 22:57.
Причина: исправил...
|
|
|
19.01.2010, 22:04
|
#21
|
Юниор
Регистрация: 21.12.2009
Сообщений: 21
Бабло: $5190
|
Че вы голову ломаете. Нахаляву(то есть бесплатно) Вам буду регать аккаунты в гугле сколько будет нужно... За... За ваш трафик... китайский индусский.. любой который вы сами не можете сконвертить. Вы мне говно траф я Вам аккаунты в любых системах и фрихостах. Все по честному.
PS тестовые аккаунты - могу дать - оцените качество... Аккаунты висят уже по месяцу два - никто их не закрывает. Да и для Вас еще один плюс - даже если гугл полностью сменит защиту - я сменю алгоритм рега за пару дней... Чем больше трафа и дольше будем работать тем меньше проблем с аккауми у Вас будет возникать
PS.PS. Впринципе рассматриваю вопросы по покупке системы. Но полностью готов передать ее в ваши руки толлько Если у Вас уже есть программист способный ее поддерживать + ценник довольно высокий. Система полностью автономна и не требует дополнительных сервисов вроде антикапчи и т.д и т.п. Не раз такой вопрос уже задавался в асе - поэтому пишу здесь
Цитата:
Сообщение от Hector
это мой хлебушек. я не спалю, думаю это понятно.....
|
Хлебушек это его . Зачем ребят дразнишь умом своим проницательным?
__________________
Аккаунты от ЛЮБЫХ систем и сайтов. В наличии Yahoo(6$), Hotmail(10$), Yandex(10$), MailRu(8$), Google(20$). 804726.
Последний раз редактировалось BlackSeller; 19.01.2010 в 22:36.
|
|
|
|