Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Offset, zamienianie znaków


Rekomendowane odpowiedzi

Opublikowano

Chcę, aby program odczytał coś z pliku binarnego, ale tekst ma kodowanie i wygląda tak:

"JEBAD"
"DKPCQJ"
 
Mam tablice znaków z wartościami szesnastkowymi, która mówi jaka liczba ma jaką wartość:

 

00=
01=.
02=►
03=Empty
04=Empty
05=(
06=)
07=Empty
08=Empty
09="
0A="
0B=▼
0C=0
0D=1
0E=2
0F=3
10=4
11=5
12=6
13=7
14=8
15=9
16=:
17=Empty
18=,
19=▲
1A=!
1B=?
1C=$
1D=A
1E=B
1F=C
20=D
21=E
22=F
23=G
24=H
25=I
26=J
27=K
28=L
29=M
2A=N
2B=O
2C=P
2D=Q
2E=R
2F=S
30=T
31=U
32=V
33=W
34=X
35=Y
36=Z
37=+
38=/
39=–
3A='
3B=-
3C=·
3D=a
3E=b
3F=c
40=d
41=e
42=f
43=g
44=h
45=i
46=j
47=k
48=l
49=m
4A=n
4B=o
4C=p
4D=q
4E=r
4F=s
50=t
51=u
52=v
53=w
54=x
55=y
56=z
57=Empty
58=Empty
59=Empty
5A=Empty
5B=„
5C=···
5D=Empty
5E=Empty
5F=Empty
60=Empty
61=Empty
62=<
63=Empty
64=Empty
65=Empty
66=Empty
67=Empty
68=Empty
69=´
6A=“
6B=”
6C=Empty
6D=–
6E=Empty
6F=Empty
70=Empty
71=Empty
72=>
73=æ
74=Empty
75=Empty
76=Empty
77=Empty
78=¡
79=Empty
7A=Empty
7B=Empty
7C=Empty
7D=Empty
7E=Empty
7F=Empty
80=Empty
81=ª
82=Empty
83=Empty
84=Empty
85=Empty
86=Empty
87=°
88=Empty
89=Empty
8A=Empty
8B=´
8C=Empty
8D=Empty
8E=Empty
8F=Empty
90=Empty
91=Empty
92=Empty
93=Empty
94=Empty
95=Empty
96=¿
97=À
98=Á
99=Â
9A=Empty
9B=Ä
9C=Å
9D=Empty
9E=Ç
9F=È
A0=É
A1=Ê
A2=Ë
A3=Ì
A4=Í
A5=Î
A6=Ï
A7=Empty
A8=Ñ
A9=Ò
AA=Ó
AB=Ô
AC=Empty
AD=Ö
AE=Empty
AF=Empty
B0=Ù
B1=Ú
B2=Û
B3=Ü
B4=Empty
B5=Empty
B6=ß
B7=à
B8=á
B9=â
BA=Empty
BB=ä
BC=Empty
BD=Empty
BE=ç
BF=è
C0=é
C1=ê
C2=ë
C3=ì
C4=í
C5=î
C6=ï
C7=Empty
C8=ñ
C9=ò
CA=ó
CB=ô
CC=Empty
CD=ö
CE=Empty
CF=Empty
D0=ù
D1=ú
D2=û
D3=ü
D4=Empty
D5=Empty
D6=Empty
F9=☺
F7=☻
FD=♥
FC=Line
FE=♦


 
 
K   N    I    F   E
27 4A 45 42 41

 

Jak wykonać coś takiego? Druga sprawa. Jak zrobić, aby program wczytał np offset "00135580" i dzięki takiej tablicy wczytał np. 2 słówka?

Czy to: "fileObject.seek(offset[, whence])", się przyda?

2% MPC Forum lubi harnasia ,jeżeli należysz do tych 98% wklej to do sygnatury.

Opublikowano

Chcę, aby program odczytał coś z pliku binarnego, ale tekst ma kodowanie i wygląda tak:

"JEBAD"

"DKPCQJ"

 

Mam tablice znaków z wartościami szesnastkowymi, która mówi jaka liczba ma jaką wartość:

 

00=

01=.

02=►

03=Empty

04=Empty

05=(

06=)

07=Empty

08=Empty

09="

0A="

0B=▼

0C=0

0D=1

0E=2

0F=3

10=4

11=5

12=6

13=7

14=8

15=9

16=:

17=Empty

18=,

19=▲

1A=!

1B=?

1C=$

1D=A

1E=B

1F=C

20=D

21=E

22=F

23=G

24=H

25=I

26=J

27=K

28=L

29=M

2A=N

2B=O

2C=P

2D=Q

2E=R

2F=S

30=T

31=U

32=V

33=W

34=X

35=Y

36=Z

37=+

38=/

39=–

3A='

3B=-

3C=·

3D=a

3E=b

3F=c

40=d

41=e

42=f

43=g

44=h

45=i

46=j

47=k

48=l

49=m

4A=n

4B=o

4C=p

4D=q

4E=r

4F=s

50=t

51=u

52=v

53=w

54=x

55=y

56=z

57=Empty

58=Empty

59=Empty

5A=Empty

5B=„

5C=···

5D=Empty

5E=Empty

5F=Empty

60=Empty

61=Empty

62=<

63=Empty

64=Empty

65=Empty

66=Empty

67=Empty

68=Empty

69=´

6A=“

6B=”

6C=Empty

6D=–

6E=Empty

6F=Empty

70=Empty

71=Empty

72=>

73=æ

74=Empty

75=Empty

76=Empty

77=Empty

78=¡

79=Empty

7A=Empty

7B=Empty

7C=Empty

7D=Empty

7E=Empty

7F=Empty

80=Empty

81=ª

82=Empty

83=Empty

84=Empty

85=Empty

86=Empty

87=°

88=Empty

89=Empty

8A=Empty

8B=´

8C=Empty

8D=Empty

8E=Empty

8F=Empty

90=Empty

91=Empty

92=Empty

93=Empty

94=Empty

95=Empty

96=¿

97=À

98=Á

99=Â

9A=Empty

9B=Ä

9C=Å

9D=Empty

9E=Ç

9F=È

A0=É

A1=Ê

A2=Ë

A3=Ì

A4=Í

A5=Î

A6=Ï

A7=Empty

A8=Ñ

A9=Ò

AA=Ó

AB=Ô

AC=Empty

AD=Ö

AE=Empty

AF=Empty

B0=Ù

B1=Ú

B2=Û

B3=Ü

B4=Empty

B5=Empty

B6=ß

B7=à

B8=á

B9=â

BA=Empty

BB=ä

BC=Empty

BD=Empty

BE=ç

BF=è

C0=é

C1=ê

C2=ë

C3=ì

C4=í

C5=î

C6=ï

C7=Empty

C8=ñ

C9=ò

CA=ó

CB=ô

CC=Empty

CD=ö

CE=Empty

CF=Empty

D0=ù

D1=ú

D2=û

D3=ü

D4=Empty

D5=Empty

D6=Empty

F9=☺

F7=☻

FD=♥

FC=Line

FE=♦

 

 

 

K   N    I    F   E

27 4A 45 42 41

 

Jak wykonać coś takiego? Druga sprawa. Jak zrobić, aby program wczytał np offset "00135580" i dzięki takiej tablicy wczytał np. 2 słówka?

Czy to: "fileObject.seek(offset[, whence])", się przyda?

# -*- coding: utf-8

__author__ = 'HackNet'

CHARS_MAPPING = {
    0x00: u'',
    0x01: u'.',
    0x02: u'►',
    0x03: u'Empty',
    0x04: u'Empty',
    0x05: u'(',
    0x06: u')',
    0x07: u'Empty',
    0x08: u'Empty',
    0x09: u'"',
    0x0A: u'"',
    0x0B: u'▼',
    0x0C: u'0',
    0x0D: u'1',
    0x0E: u'2',
    0x0F: u'3',
    0x10: u'4',
    0x11: u'5',
    0x12: u'6',
    0x13: u'7',
    0x14: u'8',
    0x15: u'9',
    0x16: u':',
    0x17: u'Empty',
    0x18: u',',
    0x19: u'▲',
    0x1A: u'!',
    0x1B: u'?',
    0x1C: u'$',
    0x1D: u'A',
    0x1E: u'B',
    0x1F: u'C',
    0x20: u'D',
    0x21: u'E',
    0x22: u'F',
    0x23: u'G',
    0x24: u'H',
    0x25: u'I',
    0x26: u'J',
    0x27: u'K',
    0x28: u'L',
    0x29: u'M',
    0x2A: u'N',
    0x2B: u'O',
    0x2C: u'P',
    0x2D: u'Q',
    0x2E: u'R',
    0x2F: u'S',
    0x30: u'T',
    0x31: u'U',
    0x32: u'V',
    0x33: u'W',
    0x34: u'X',
    0x35: u'Y',
    0x36: u'Z',
    0x37: u'+',
    0x38: u'/',
    0x39: u'–',
    0x3A: u"'",
    0x3B: u'-',
    0x3C: u'·',
    0x3D: u'a',
    0x3E: u'b',
    0x3F: u'c',
    0x40: u'd',
    0x41: u'e',
    0x42: u'f',
    0x43: u'g',
    0x44: u'h',
    0x45: u'i',
    0x46: u'j',
    0x47: u'k',
    0x48: u'l',
    0x49: u'm',
    0x4A: u'n',
    0x4B: u'o',
    0x4C: u'p',
    0x4D: u'q',
    0x4E: u'r',
    0x4F: u's',
    0x50: u't',
    0x51: u'u',
    0x52: u'v',
    0x53: u'w',
    0x54: u'x',
    0x55: u'y',
    0x56: u'z',
    0x57: u'Empty',
    0x58: u'Empty',
    0x59: u'Empty',
    0x5A: u'Empty',
    0x5B: u'„',
    0x5C: u'···',
    0x5D: u'Empty',
    0x5E: u'Empty',
    0x5F: u'Empty',
    0x60: u'Empty',
    0x61: u'Empty',
    0x62: u'<',
    0x63: u'Empty',
    0x64: u'Empty',
    0x65: u'Empty',
    0x66: u'Empty',
    0x67: u'Empty',
    0x68: u'Empty',
    0x69: u'´',
    0x6A: u'“',
    0x6B: u'”',
    0x6C: u'Empty',
    0x6D: u'–',
    0x6E: u'Empty',
    0x6F: u'Empty',
    0x70: u'Empty',
    0x71: u'Empty',
    0x72: u'>',
    0x73: u'æ',
    0x74: u'Empty',
    0x75: u'Empty',
    0x76: u'Empty',
    0x77: u'Empty',
    0x78: u'¡',
    0x79: u'Empty',
    0x7A: u'Empty',
    0x7B: u'Empty',
    0x7C: u'Empty',
    0x7D: u'Empty',
    0x7E: u'Empty',
    0x7F: u'Empty',
    0x80: u'Empty',
    0x81: u'ª',
    0x82: u'Empty',
    0x83: u'Empty',
    0x84: u'Empty',
    0x85: u'Empty',
    0x86: u'Empty',
    0x87: u'°',
    0x88: u'Empty',
    0x89: u'Empty',
    0x8A: u'Empty',
    0x8B: u'´',
    0x8C: u'Empty',
    0x8D: u'Empty',
    0x8E: u'Empty',
    0x8F: u'Empty',
    0x90: u'Empty',
    0x91: u'Empty',
    0x92: u'Empty',
    0x93: u'Empty',
    0x94: u'Empty',
    0x95: u'Empty',
    0x96: u'¿',
    0x97: u'À',
    0x98: u'Á',
    0x99: u'Â',
    0x9A: u'Empty',
    0x9B: u'Ä',
    0x9C: u'Å',
    0x9D: u'Empty',
    0x9E: u'Ç',
    0x9F: u'È',
    0xA0: u'É',
    0xA1: u'Ê',
    0xA2: u'Ë',
    0xA3: u'Ì',
    0xA4: u'Í',
    0xA5: u'Î',
    0xA6: u'Ï',
    0xA7: u'Empty',
    0xA8: u'Ñ',
    0xA9: u'Ò',
    0xAA: u'Ó',
    0xAB: u'Ô',
    0xAC: u'Empty',
    0xAD: u'Ö',
    0xAE: u'Empty',
    0xAF: u'Empty',
    0xB0: u'Ù',
    0xB1: u'Ú',
    0xB2: u'Û',
    0xB3: u'Ü',
    0xB4: u'Empty',
    0xB5: u'Empty',
    0xB6: u'ß',
    0xB7: u'à',
    0xB8: u'á',
    0xB9: u'â',
    0xBA: u'Empty',
    0xBB: u'ä',
    0xBC: u'Empty',
    0xBD: u'Empty',
    0xBE: u'ç',
    0xBF: u'è',
    0xC0: u'é',
    0xC1: u'ê',
    0xC2: u'ë',
    0xC3: u'ì',
    0xC4: u'í',
    0xC5: u'î',
    0xC6: u'ï',
    0xC7: u'Empty',
    0xC8: u'ñ',
    0xC9: u'ò',
    0xCA: u'ó',
    0xCB: u'ô',
    0xCC: u'Empty',
    0xCD: u'ö',
    0xCE: u'Empty',
    0xCF: u'Empty',
    0xD0: u'ù',
    0xD1: u'ú',
    0xD2: u'û',
    0xD3: u'ü',
    0xD4: u'Empty',
    0xD5: u'Empty',
    0xD6: u'Empty',
    0xF9: u'☺',
    0xF7: u'☻',
    0xFD: u'♥',
    0xFC: u'Line',
    0xFE: u'♦',
}


print map(lambda c: CHARS_MAPPING[ord(c)], b'\x27\x4a\x45\x42\x41')


with open('my_file_name', 'rb') as my_file:
    my_file.seek(0x00135580)

    word_end = ' '
    words_to_print = 2

    while words_to_print:
        char = my_file.read(1)

        if char == word_end:
            words_to_print -= 1

        print char

Wiadro Bluba Rura Blant

 

(̅__(̲̲̲̲̲̅̅̅̅̅̅(̅_̅_̲̅м̲̅a̲̅я̲̅i̲̅h̲̅u̲̅a̲̅n̲̅ a̲̅ ̅_̅_̅((()ڪ

Opublikowano

Dzięki, ale niestety znaki i tak się nie zmieniają, wciąż piszą bazgroły "PANEH", "MQEJ+=".

 

Podsyłam w razie czego plik i skan:

http://www.speedyshare.com/xHfn8/file.exe

https://www.virustotal.com/en/file/be3702da9ac0736f55cc5245bb35d5647b70bd3ea47062c90ec87bc589213389/analysis/1435340649/

 

 

2% MPC Forum lubi harnasia ,jeżeli należysz do tych 98% wklej to do sygnatury.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...