www.allods2.com http://archive.allods2.eu/forum/ |
|
Тотальные взломы логов http://archive.allods2.eu/forum/viewtopic.php?f=37&t=536 |
Страница 1 из 2 |
Автор: | petRUShka [ 22 сен 2008, 00:01 ] |
Заголовок сообщения: | Re: Тотальные взломы логов |
Надо сделать какое-нить логгирование IP в кабинетах. Заходы в кабинет с IP, создание логов, создание ЛК и т.п. Этот IP ни на один лог не зареган? Ещё вроде же есть sql-инъекции, которые позволяют поиметь доступ к данным БД на чтение? |
Автор: | petRUShka [ 22 сен 2008, 00:58 ] |
Заголовок сообщения: | Re: Тотальные взломы логов |
1) Надо сделать опрос разных групп полутанного населения и понять, открывали ли они архив Иглеза. Стоит ли у них firewall и какой. 2) Надо понять какое количество логов было полутано у каждого этих людей. Если ровно 1 из всех логов игрока, то тогда скорее всего взлом, кража ветки реестра аллодерской и выцепление логина оттуда. Если полутаны все логи у большинства, то надо думать. 3) Все удаленные персонажи сохраняются в отдельную папку, и их можно восстановить. Вручную охренеем, только если автоматом. Надо научиться запихивать в контейнер .lgn файл-персонажа .a2c, мне кажется, что это не сложная задача. Если сумеем, то можно пихнуть в кабинет кнопку "восстановление удаленных персонажей" 4) Если это взлом посредством левых ссылок, то надо тогда сделать объявление на эту тему, где обличим подлеца, и обелим себя. |
Автор: | NEO_AG [ 22 сен 2008, 10:50 ] |
Заголовок сообщения: | Re: Тотальные взломы логов |
Снимите на всякий случай все доступы с 93.92.202.29, меня там щас нет, так что комп не безопасен, к тому же через неделю этот ип у него все равно отберут. |
Автор: | NEO_AG [ 23 сен 2008, 16:48 ] |
Заголовок сообщения: | Re: Тотальные взломы логов |
viewtopic.php?f=19&t=550 Проверьте плз, такие вещи нельзя оставлять без внимания. |
Автор: | petRUShka [ 23 сен 2008, 18:11 ] |
Заголовок сообщения: | Re: Тотальные взломы логов |
проверили. там не то. |
Автор: | NEO_AG [ 24 сен 2008, 18:25 ] |
Заголовок сообщения: | Re: Тотальные взломы логов |
Боюсь, что я тоже не шарю ( |
Автор: | NEO_AG [ 24 сен 2008, 19:50 ] |
Заголовок сообщения: | Re: Тотальные взломы логов |
Помнится, очень удобный был скриптик, позволял просматривать статы, одежду и пак любого перса в реальном времени через статус. Только перлов плодил столько, что комп вис напрочь. Хотя не на 100% уверен, что это по его вине. |
Автор: | petRUShka [ 24 сен 2008, 20:37 ] |
Заголовок сообщения: | Re: Тотальные взломы логов |
Почитал первый файл. Внес в него комментарии. Вроде все ясно: Код: #!/usr/bin/perl
# Функция readi считывает 4 байта как единое число sub readi($) { my $f = shift; my $a= 0; my $b=0; my $c=0; my $d=0; read($f, $a, 1); read($f, $b, 1); read($f, $c, 1); read($f, $d, 1); return ord($a) | (ord($b) << 8) | (ord($c) << 16) | (ord($d) << 24); } # имя файла - первый аргумент коммандной строки $fn = shift; #значение по умолчанию if (!$fn) { $fn = "test.lgn"; } open(C, $fn) || die "Can't open character file: $!!\n"; #Работаем с открытым файлом *.lgn в бинароном режиме binmode(C); # id1 - второй аргумент коммандной строки $id1 = shift; # id2 - третий аргумент коммандной строки $id2 = shift; #значение по умолчанию if (!$id1 && !$id2) { $id1 = 0xFE72C55B; $id2 = 0; } #видимо, по адресу 0x104 в файле .lgn находится количество .a2c файлов seek(C, 0x104, 0); my $c = readi(C); $found = 0; #print("$c characters total\n"); #цикл перебирает подряд идущие id1,id2 персонажей с логина и сравнивает id1,id2 с теми, что были даны в качестве аргументов коммандной строки for ($i = 0; $i < $c; ++$i) { $i1 = readi(C); $i2 = readi(C); #Переводим числа в соответствующий 16_ти ричный формат $i1h = sprintf("0x%.8X",$i1); $i2h = sprintf("0x%.8X",$i2); $id1h = sprintf("0x%.8X",$id1); $id2h = sprintf("0x%.8X",$id2); # print("$id1h, $id2h -- $i1h, $i2h $i,$c\n"); if (($i1 == $id1) && ($i2 == $id2)) { $found = 1; last; } } if (!$found) { die "Character ($id1, $id2) not found!\n"; } #по адресу 0x188 находятся данные о смещениях относительно 0x234 и размерах файлов a2c соответствующих персонажей seek(C, 0x188, 0); $offs = 0x234; #в каждом блоке по 4 байта хранится информация о том, сколько занимает a2c с текущим порядковым номером for ($j = 0; $j < $i; ++$j) { $offs += readi(C); } #итого к 0x234 прибавили размеры всех предыдущих персонажей - это получилось $offs - смещение относительно начала файла - тут начинается .a2c. Считаем в $sz размер a2c файла, который отвечает нашим id1, id2 $sz = readi(C); seek(C, $offs, 0); read(C, $buf, $sz); binmode(STDOUT); print STDOUT $buf; |
Автор: | petRUShka [ 24 сен 2008, 20:55 ] |
Заголовок сообщения: | Re: Тотальные взломы логов |
Итого, резюме: 1) Все данные находятся в 4_ех байтных блоках (word, int) 2) В блоке со смещением 0x104 находится число .a2c-файлов (файлов-персонажей) 3) В последующих блоках находятся id персонажей (id 8_ми байтный, поделен на два блока по 4 байта id1 и id2) 4) В блоке со смещением 0x188 находится размер файла .a2c первого персонажа в логине. В последующих блоках находятся размеры соответствующих персонажей (порядок тотже, что и в пункте 3) 5) Начиная с блока 0x234 в файле .lgn хранятся файлы-персонажей последовательно один за одним. Что бы получить адрес, по которому хранится персонаж № N надо к 0x234 прибавить размеры всех персонажей (можно получить в пункте 4) с 1_го по (N-1). |
Автор: | petRUShka [ 26 сен 2008, 03:35 ] |
Заголовок сообщения: | Re: Тотальные взломы логов |
Вопрос решили, надо выводить как беззнаковое целое. printf ("%u", id1) |
Страница 1 из 2 | Часовой пояс: UTC + 4 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |