Форум сайта python.su
-3
Есть код на питоне, который после запуска портит файлы, тоесть меняет хекс код файла.
После этого некоторые программы не могут прочитать его, так как автор кода специально предусмотрел целевые программы, на которых должно запускаться а на других нет. Так вот, можете те ли вы написать обратный процесс к этому коду?
#! /usr/bin/env python
def _p2(b):
if len(b)==1:
return chr(int(b +“0”,16)+1)
return chr(int(b + b,16)+1)
def _p1©:
a =
return _p2(a) + _p2(a) + _p2(a) + chr(ord(_p2(a))-1)
def protect(inmap,outmap=“”):
“”“Implement Spazzler's protection to inmap + ”.w3x“ as a new map outmap + ”.w3x“.
If outmap is omitted, it will default to inmap + ”_spaz“.
If outmap begins with a plus sign (+) it will append outmap to inmap.“”“
try:
mf = open(inmap + ”.w3x“,”rb“)
if outmap==”“:
outmap = inmap + ”_spaz”
if outmap==“+”:
outmap = inmap + outmap
elif outmap==“+”:
outmap = outmap + inmap
mi =
mf.close()
x = mi
c = _p1(x)
mo =
mo = “MPQ” + chr(0x1b) + chr(0x20) + chr(0x00) + chr(0x00) + chr(0x00) + x + chr(0x01) + chr(0x00) + x + c + x
mo = “BN3” + chr(0x1a) + chr(0x20) + chr(0x00) + chr(0x00) + chr(0x00) + x + chr(0x01) + chr(0x00) + x + c + x
mo = “MPQ” + chr(0x1a) + “SPAZZLER” + chr(0x01) + chr(0x00) + x + c + x
po = open(outmap + “.w3x”,“wb”)
for i in range(5):
po.write(mo)
po.close()
print “Map successfully Spazzled.”
except IOError:
print “”“File ‘”“” + inmap + “”“.w3x’ does not exist.”“”
Если интересно, кто разбирается, это относится к Warcraft 3 картам, тоесть я не могу зайти через программу чтобы посмотреть внутренности карты, но сама карта запускается через Warcraft 3.
Тоесть автор изменил хекс часть карты, так что программа не читает, а warcraft 3 читает.
Думаю у вас это не займет много времени, пару цифр поменять на нужную.
Если не можете помочь, напишите мне как разобраться в хекс числах, в целостности я не много разобрался с кодом, но изучать питон ради одного кода нет резона.
Работает она так, берет файл портит и даёт нам испорченный файл. Пожалуйста люди измените в коде что нить, чтоб брал испорченный файл и возвращал нам чистый.
Написан на питоне 2.6
Офлайн
568
Gray_Cardinal. По правилам код нужно оформлять соответствующим образом.
Офлайн
14
Насколько я понял эту абракадабру, там перезаписывается часть файла -> без знания формата восстановить их не получится.
З.Ы. Не много ли ты постов насоздавал?
http://python.su/forum/post/90852/
http://python.su/forum/post/90850/
http://python.su/forum/post/90860/
Отредактировано odnochlen (Июль 24, 2012 16:14:15)
Офлайн
-3
Без знания форматов? Да там всего один формат .w3x
Офлайн
-3
FishHookТебя это как то мешает? Если не можешь так и скажи.
Gray_Cardinal. По правилам код нужно оформлять соответствующим образом.
Отредактировано Gray_Cardinal (Июль 24, 2012 16:21:06)
Офлайн
4
Gray_CardinalК твоему сведению Python программу без знания отступов восстановить тот еще геморрой. Так что, так как экстрасенсов тут традиционно нет, будь добр оформляй код по-человечески
Тебя это как то мешает?
Офлайн
14
Gray_Cardinal, ты пришел на форум и решил попросить помощи. Ты хочешь, чтобы люди на тебя потратили свое время. Для того, чтобы это время тратилось оптимально, даже в правилах прописано требование оформлять код в тегах.
В первый раз по незнанию это можно простить, но спорить на эту тему абсолютно не стоит.
Gray_CardinalБез его знания.
Без знания форматов? Да там всего один формат .w3x
Отредактировано odnochlen (Июль 24, 2012 16:49:35)
Офлайн
19
Gray_Cardinal
Тебя это как то мешает? Если не можешь так и скажи.
Офлайн