Найти - Пользователи
Полная версия: Новички вперед!!!
Начало » Python для новичков » Новички вперед!!!
1
Gray_Cardinal
Есть код на питоне, который после запуска портит файлы, тоесть меняет хекс код файла.
После этого некоторые программы не могут прочитать его, так как автор кода специально предусмотрел целевые программы, на которых должно запускаться а на других нет. Так вот, можете те ли вы написать обратный процесс к этому коду?


#! /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
FishHook
Gray_Cardinal. По правилам код нужно оформлять соответствующим образом.
odnochlen
Насколько я понял эту абракадабру, там перезаписывается часть файла -> без знания формата восстановить их не получится.

З.Ы. Не много ли ты постов насоздавал?

http://python.su/forum/post/90852/
http://python.su/forum/post/90850/
http://python.su/forum/post/90860/
Gray_Cardinal
Без знания форматов? Да там всего один формат .w3x
Gray_Cardinal
FishHook
Gray_Cardinal. По правилам код нужно оформлять соответствующим образом.
Тебя это как то мешает? Если не можешь так и скажи.
fongostev
Gray_Cardinal
Тебя это как то мешает?
К твоему сведению Python программу без знания отступов восстановить тот еще геморрой. Так что, так как экстрасенсов тут традиционно нет, будь добр оформляй код по-человечески
odnochlen
Gray_Cardinal, ты пришел на форум и решил попросить помощи. Ты хочешь, чтобы люди на тебя потратили свое время. Для того, чтобы это время тратилось оптимально, даже в правилах прописано требование оформлять код в тегах.

В первый раз по незнанию это можно простить, но спорить на эту тему абсолютно не стоит.

Gray_Cardinal
Без знания форматов? Да там всего один формат .w3x
Без его знания.

А вообще в чем проблема сравнить оригинальный и защищенный файл? Без знания формата дальше все равно не пойдешь.
cutwater
Gray_Cardinal
Тебя это как то мешает? Если не можешь так и скажи.

Забанить же!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB