провел небольшой анализ распакованных файлов реплеев.
В этих файлах содержаться сохраненные pickle данные их примерно(!) можно найти по сигнатуре 80 02
я решил читать файл со смещением один байт и пробовать загрузить pickle данные, чтобы найти все сохраненные таким образом объекты.
В этих файлах содержаться сохраненные pickle данные их примерно(!) можно найти по сигнатуре 80 02
я решил читать файл со смещением один байт и пробовать загрузить pickle данные, чтобы найти все сохраненные таким образом объекты.
import pickle
def unpickle(file):
f = open(file,'rb')
g = 0
seg = f.tell()
bb = f.read()
while bb != b'' :
seg += 1
f.seek(seg+1)
try:
o = pickle.loads(bb)
g += 1
print g, hex(int(seg)-2)
print o print "\n---------------------\n"
except:
pass
bb = f.read()
unpickle("unpack.wotreplay")
Этот python скрипт будет искать все pickle данные в файле.
про сигнатуру выше написано не совсем верно.def unpickle(file):
f = open(file,'rb')
g = 0
seg = f.tell()
bb = f.read()
while bb != b'' :
seg += 1
f.seek(seg+1)
try:
o = pickle.loads(bb)
g += 1
print g, hex(int(seg)-2)
print o print "\n---------------------\n"
except:
pass
bb = f.read()
unpickle("unpack.wotreplay")
http://world-of-tanks.livejournal.com/3902654.html
ОтветитьУдалить=) Всё ж давно написано. Сдается мне, что распарсит и обсчитает оно из распакованного файлика всё так же как и из старых не пакованных реплеев.
Разве что этот скрипт изначально не распарсивает _всю_ содержащуюся в реплее инфу. Но это уже другая тема.
А за алгоритм и ключик, спасибо. =) Думаю пригодится.
Речь идет совсем не о том чтобы разобрать текстовый JSON заголовок репелея, инфы по нему дофига.
УдалитьА вот реплея где МС1 ваншотом убивает мауса или иса7 я ещё не видел... пока не видел...
А я где-то упоминал про JSON заголовок? ;)
УдалитьТот скрипт парсит бинарный непакованный реплей, еси че =)
Сори тогда толком не посмотрел, действительно тот скрипт парсит сырой старый реплей файл... авторам зачет. Ты случаем не один из авторов?
УдалитьНе. Я не автор скрипта. Авторы - команда wotreplays.ru
УдалитьЯ автор http://world-of-tanks.livejournal.com/3076187.html
=)
Сейчас корпим с разработчиком WoTLogger'а над новой статой. Рандомно-клановой. =)
Если твой интерес к ковырянию ресурсов WoT не ограничен созданием реплея с нагибом мышки МС'ом и есть желание и время применить имеющиеся навыки на что-то более полезное - могу скинуть тебе приглашение на закрытый форум dev.p4f.biz =) Мы там гнездимся совместно со ctocopok, vkv и прочими wotreplays'ами.
Хотя последние типа уже бояре - и активность проявляют минимальную =)
привет! я хочу вытащить координаты танков(трэки) из файла реплеев, в pickle частях я ее не нашел. есть идеи как ее достать?
Удалитьпривет.
УдалитьРаспакованный реплей файл весит 3-4Мб
размер всех pickle объектов в файле около 100Кб
остальное - это насколько я понял данные для движка BigWorld(http://www.bigworldtech.com/ru/) на котором вообщем-то танки и работают. Если чего получится напиши плиз. можно в личку.