Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - Awl

Страницы: [1]
1
Дело было вечером, делать было нечего.

Здравствуйте, сегодня я хотел бы рассказать про генерацию паролей в играх: Konami Wai Wai World, Wai Wai World 2: SOS!! Paseri Jou, Moai-Kun и Mystical ninja starring Goemon.

Konami Wai Wai World

Теория

Пароль состоит из 14 позиций, каждая позиция состоит из 5 битов, итого 14*5= 70 битов. Эти биты сохраняют большое количество игровой информации, которую я опишу в битовой структуре.

Сырой пароль

1 позиция: C0, Vg0, Vr0, Tg0, Tr0
2 позиция: C1, P0, Ar0, Cl0, H0
3 позиция: C2, Sw0, Gw0, Lw0, Kmw0
4 позиция: C3, S0, G0, L0, Km0
5 позиция: C4, K3, K2, K1, K0
6 позиция: C5, SB0, FB0, GK0, MkK0
7 позиция: C6, A3, A2, A1, A0
8 позиция: C7, R1, R0, C7, C6
9 позиция: C0, U40, U30, U20, U10
10 позиция: C1, KKw0, Mw0, Mkw0, Fw0
11 позиция: C2, KK0, M0, Mk0, F0
12 позиция: C3, A9, A8, ?0, ?0
13 позиция: C4, U50, X0, MB0, KKB0
14 позиция: C5, A7, A6, A5, A4

Обозначения

Vg - № патронов (0-1) в двоичной СС у Vic Viper.

Патроны Vic Viper
0Начальные
1Лазер

Vr - ракеты у Vic Viper.
Tg - № патронов (0-1) в двоичной СС у Twin Bee.

Патроны Twin Bee
0Начальные
1Овальные

Tr - кулаки у Twin Bee.
P - увеличение силы всех персонажей (бонус из Gradius).
Ar - увеличение стойкости всех персонажей (броня).
Cl - плащ.
H - дополнительная жизнь (онигири).
Km - Конамимен.
L - Конами леди.
G - Гоемон.
S - Саймон.
F - Фума.
Mk - Майки.
M - Моаи.
KK - Кинг Конг.
w - дополнительное оружие.
K - количество ключей (0-10) в двоичной СС.
A - количество боеприпасов (0-1000) в двоичной СС.
GK - собран ключ на локации Гоемона.
SB - убит босс и собран ключ на локации Саймона.
MkK - собран ключ на локации Майки.
FB - убит босс на локации Фумы.
MB - убит босс и собран ключ на локации Моаи.
KKB - убит босс и собран ключ на локации Кинг Конга.
X - убит финальный босс и на локациях нет: бонусов (сердечки, ракеты, зелье), дополнительного оружия, ключей, двигающихся и проваливающихся платформ.
R - random (0-3) в двоичной СС.
U - неиспользуемые биты (хотя, я точно не уверен).
? = 0.
C - контрольная сумма.

Контрольная сумма

C = (сумма позиций с 1 по 7) + (сумма позиций с 9 по 14)

Условия работоспособности пароля
  • Дополнительное оружие можно активировать, если есть соответствующий персонаж
  • Улучшения для Twin Bee и Vic Viper можно активировать, если есть все персонажи
  • Количество ключей = 2 + SB0 + FB0 + GK0 + MkK0 + KKB0 + MB0 + X0 + U50 - Km0 - L0 - F0 - S0 - G0 - Mk0 - M0 - KK0

Шифрование

Шифрование происходит по этой формуле:

x позиция XOR Ch[(x-1) + ((Random XOR 3) *4)], где x = 1-14.
(Ch[(x-1) + ((Random XOR 3) *4)]) - данной операцией мы получаем индекс Ch. На основе индекса, нужно получить значение и подставить его в формулу.

Ch = [0,0,18,17,3,1,0,0,17,0,0,1,1,3,0,17,0,1,3,3,17,0,2,2,1,2]

Потом происходит второй этап шифрования:

Нечётные позицииЧётные позиции
+0+14

Кодирование

アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン


Wai Wai World 2: SOS!! Paseri Jou

Теория

Пароль представляет собой таблицу, состоящую из 6 столбцов и 4 строк. Столбец условно обозначим как одну позицию, и в итоге, пароль состоит из 6 позиций. Каждая позиция может принимать значения от 0 до 4.

Сырой пароль

1 позиция: 4 - S2 - S0 - 1P1 - 2P1
2 позиция: 1P1, S3
3 позиция: 1P0, S2
4 позиция: 2P1, S1
5 позиция: 2P0, S0
6 позиция: 4 - S3 - S1 - 1P0 - 2P0

Обозначения

S - № уровня (1-14) в двоичной СС.

Уровень
11
22
33-1
43-2
54
65
76-1
86-2
97
108-1
118-2
128-3
139-1
149-2

1P и 2P - № дополнительных персонажей (0-3) в двоичной СС для первого и второго игроков соответственно.

Дополнительные персонажи
0Гоемон, Упа, Саймон
1Гоемон, Билл, Фума
2Упа, Фума, Саймон
3Упа, Саймон, Билл

Кодирование

Числовые значения позиций переводятся в соответствующее количество кубов.


Moai-Kun

Теория

Пароль состоит из 6 позиций, каждая позиция состоит из 4 битов, итого 6*4= 24 бита. Пароль сохраняет определённые уровни и random.

Сырой пароль

1 позиция: C5, R11, R10, L3
2 позиция: C4, R21, R20, L2
3 позиция: C3, R31, R30, L1
4 позиция: C2, R41, R40, L0
5 позиция: C1, R51, R50, C6
6 позиция: C0, R61, R60, C7

Обозначения

L - № уровня (0-15) в двоичной СС.
Уровень = № уровня * 4 + 1; № уровня>13 даёт глючные уровни.
R(1-6) - random(1-6) (0-3) в двоичной СС.
C - контрольная сумма.

Контрольная сумма

C = № уровня * 17

Условие работоспособности пароля

Сумма всех шести рандомов mod 4 = 0.

Кодирование

0123456789ABCDEF


Mystical ninja starring Goemon

Теория

Пароль состоит из 14 позиций, каждая позиция состоит из 4 битов, итого 14*4= 56 битов. Эти биты сохраняют большое количество игровой информации, которую я опишу в битовой структуре.

Сырой пароль

1 позиция: S3, S2, S1, S0
2 позиция: L7, L6, L5, L4
3 позиция: U10, Sk0, E0, G0
4 позиция: L3, L2, L1, L0
5 позиция: Cs0, P0, Bm0, B0
6 позиция: Sh23, Sh22, Sh21, Sh20
7 позиция: U20, Skw0, Ew0, Gw0
8 позиция: M23, M22, M21, M20
9 позиция: M13, M12, M11, M10
10 позиция: M43, M42, M41, M40
11 позиция: M33, M32, M31, M30
12 позиция: Sh13, Sh12, Sh11, Sh10
13 позиция: C23, C22, C21, C20
14 позиция: C13, C12, C11, C10

Обозначения

S - № уровня (0-4) в двоичной СС.

Уровень
0Karakuri castle
1The Demon cave
2The Black Ship Skull
3The Skull, once again
4Skeleton island

L - жизни (1-255) в двоичной СС.
Если жизней>127, то игра приравняет их количество к 0.
U - неиспользуемые биты.
G - Гоемон.
E - Эбисумару.
Sk - Саскэ.
Примечание:
0 - персонаж есть.
1 - персонажа нет.
w - улучшено оружие персонажа.
B - бамбуковая трубка.
Bm - бомба.
P - пропуск на Black Ship Skull.
Cs - ракушка.
Sh1 - количество единиц сюрикенов (0-15) в двоичной СС.
Sh2 - количество десятков сюрикенов (0-15) в двоичной СС.
M1 - количество десятков денег (0-15) в двоичной СС.
M2 - количество сотен денег (0-15) в двоичной СС.
M3 - количество тысяч денег (0-15) в двоичной СС.
M4 - количество десятков тысяч денег (0-15) в двоичной СС.
C(1-2) - контрольная сумма (1-2).

Контрольная сумма

C1 = ((S3 + S2+  S1+  S0 + L7 + L6 + L5 + L4) * 6) mod 16
C2 = ((сумма позиций с 1 по 12) + ((сумма чётных позиций) div 16)) mod 16

Условие работоспособности пароля

C1 OR C2 ≠ 0

Кодирование



Удачи, спасибо за прочтение!

2
Дело было вечером, делать было нечего.

Недавно я начал проходить NES'овских Metal Gear'ов. Про первую часть я был много наслышан: где я только не находил описание взлома системы паролей для этой игры (даже в моей книге кодов было всё расписано). Потом перешёл на вторую часть и ничего про неё не нашёл (кроме парочки полезных паролей на GameFaqs). Когда я разобрался с системой паролей, то я очень сильно удивился, ведь система почти точно такая же, как и в Castlevania II: Simon's Quest. Но Castlevania II кто только не взламывал, а Snake's Revenge - никто. Вот я и решил исправить эту несправедливость, и хочу представить Вам описание системы генерации.

Теория

Пароль состоит из 30 позиций, каждая позиция состоит из 5 битов, итого 30*5= 150 битов. Эти биты сохраняют большое количество игровой информации, которую я опишу в битовой структуре.

Сырой пароль

  1 позиция: OT0, Ms0, M0, G0, F0 
  2 позиция: Rt0, S0, SG0, MG0, HG0   
  3 позиция: An0, U10, U20, U30, U40 
  4 позиция: TG0, U50, U60, CM0, E0 
  5 позиция: A0, C80, C70, C60, C50
  6 позиция: X0, C40, C30, C20, C10
  7 позиция: PA0, BP0, OL0, NS0, AV0
  8 позиция: B0, Bt0, DM0, HM0, SB0
  9 позиция: P130, Rn7, Rn6, Rn5, Rn4
10 позиция: P100, Rn3, Rn2, Rn1, Rn0
11 позиция: P70, CR7, CR6, CR5, CR4
12 позиция: P60, CR3, CR2, CR1, CR0
13 позиция: P50, H7, H6, H5, H4
14 позиция: P40, H3, H2, H1, H0
15 позиция: P30, MC0, BB0, P160, P170
16 позиция: P10, T0, J0, Gr0, RM0
17 позиция: Cm7, U70, P150, P140, P120
18 позиция: Cm6, P110, P90, P80, P20
19 позиция: Cm5, W60, W40, W50, W80
20 позиция: Cm4, W70, W30, W20, W10
21 позиция: Cm3, U80, U90, U100, U110
22 позиция: Cm2, U120, U130, U140, U150
23 позиция: Cm1, L7, L6, L5, L4
24 позиция: Cm0, L3, L2, L1, L0
25 позиция: U160, C7, C6, C5, C4
26 позиция: U170, C3, C2, C1, C0
27 позиция: U180, C15, C14, C13, C12
28 позиция: U190, C11, C10, C9, C8
29 позиция: U200, R23, R22, R21, R20
30 позиция: U210, R13, R12, R11, R10

Обозначения

OT - Oxygen tank.
Ms - Missile.
M - Mine.
G - Grenade.
F - Flare.
Rt - Food.
S - Silencer.
SG - ShotGun.
MG - MachineGun.
HG - HandGun.
An - Antidote.
U(1-21) - неиспользуемые биты (хотя, я точно не уверен).
TG - Truth gas.
CM - Claymor mine.
E - Explosive.
A - Antenna.
C(1-8) - Card(1-8).
X - X-Ray lens.
PA -Power armor.
BP - Back pack.
OL - Optic lens.
NS - Night site.
AV - Armor vest.
B - Battery.
Bt - Boots.
DM - Detecter mine.
HM - Hidden mike.
SB - Smoke bomb.
P(1-17) - спасены пленники (1-17).
Rn - Rank((1-256)-1) в двоичной СС.
CR - счётчик ранга (0-255) в двоичной СС.
Н -  № кат-сцены (0-255) в двоичной СС.
MC - играет музыка с базы Metal Gear 2.
BB - Big Boss убит.
T - танк уничтожен.
J - John Turner spy убит.
Gr - 3 гренадера убиты.
RM - 5 робонаёмников уничтожены.
Cm - № лагеря (0-255) в двоичной СС.
W - допрошен враг (1-8).
L - № уровня (0-255) в двоичной СС.

Локация
0Джунгли
11 здание
2Корабль
31/2 лагерь
4Перед поездом
5Перед кораблём
62 лагерь (битва с танком)
72 здание
85 здание
9База Metal Gear 2
10Битва с Metal Gear 2
11-255Glitch

C - контрольная сумма.
R1 - random1 (0-15) в двоичной СС.
R2 - random2 (0-8) в двоичной СС.


Назначение битов

  • Счётчик ранга сохраняет значение, на основе которого, персонажу присуждается новый ранг.
    Счётчик изменяется:
    • каждый спасённый пленник прибавляет 1 (исключение: пленники 16 и 17)
    • каждый допрошенный враг прибавляет 1
    • после прохождения корабля, значение счётчика (какое бы то ни было) приравнивается 9.
  • Количество боеприпасов и вещей из инвентаря зависит от ранга

    РангHGMGSGMsGCMMFERtTGAnOT
    1252555525221110
    2505077757573131
    375751010107107104242
    4100100151515101210126263
    5125125202020121515157374
    61501502222221520202093106

    Если ранг больше 6, то игра начнёт выдавать глюки (не всегда).
  • Кат-сцена
    0Вертолёт (нормально работает только в джунглях)
    1-255Нет

    А если....

  • Бит, который отвечает за смерть John Turner, будет работать, если L≠4,
  • Cm отвечает за лагерь.
    L=3 и Cm = 0-7, то 1 лагерь.
    L=3 и Cm =8-255, то 2 лагерь.
    На другие локации эти биты не влияют.

Расположение пленников:

1 - Джунгли; 2 раза наверх от первой развилки.
2 - Джунгли; наверх - влево - наверх от места, где спрятан глушитель.
3 - 1 здание; 1 этаж; влево - вниз - влево от лифта.
4 - 1 здание; 1 этаж; вправо - вниз - вправо от лифта.
5 - Корабль; рубка; наверх от входа в рубку.
6 - 1 лагерь; справа от помещения, в котором лежат ракеты с консервами.
7 - Поезд; 4 вагон; первая дверь, считая от входа.
8 - 2 лагерь; помещение, которое расположено рядом с первой стеной, которую надо уничтожить взрывчаткой.
9 - 2 лагерь; вправо - вниз от развилки на которой расположены камни.
10 - 3 здание; подвал (-1 этаж); вниз - влево - вниз от комнаты, в которой лежит 6 карта и антидот.
11 - 4 здание; подвал (-1 этаж); влево - вниз - влево (по зигзагообразной дороге) от лифта.
12 - 5 здание; подвал (-1 этаж); вправо (до стены) - вниз - влево от лифта.
13 - 5 здание; подвал (-1 этаж)/после туннеля с баррикадами; влево - вниз - влево от комнаты, в которой лежат гранаты.
14 - 5 здание; 1 этаж/после туннеля с баррикадами; вниз - влево от комнаты, в которой лежит взрывчатка.
15 - 5 здание; 1 этаж/после туннеля с баррикадами; после комнаты с консервами.
16 (Nick Myer) - 5 здание; 2 этаж; влево - вниз - вправо - вниз от лифта.
17 (Jennifer) - 5 здание; 3 этаж; после комнаты с Big Boss'ом.


Расположение врагов, которых надо допросить:

1 - 1 здание; 1 этаж; 2 раза наверх от комнаты, в которой лежит 2 карта.
2 - 1 здание; подвал (-1 этаж); 2 раза вниз (по правой дороге) - влево от лифта.
3 - Корабль; рубка; наверх - вправо от комнаты, в которой лежат гранаты.
4 - Поезд; 4 вагон; третья дверь, считая от входа.
5 - 3 здание; подвал (-1 этаж); вниз - 2 раза влево от комнаты, в которой лежит 6 карта и антидот.
6 - 5 здание; 1 этаж; справа от колонны.
7 - 5 здание; подвал (-1 этаж)/после туннеля с баррикадами; вниз от лифта.
8 - 5 здание; 1 этаж/после туннеля с баррикадами; вниз - 2 раза вправо от комнаты, в которой лежит взрывчатка.


Контрольная сумма

C = Ms0, M0, G0, F0, S0, SG0, MG0, HG0
    + U10, U20, U30, U40, U50, U60, CM0, E0 
    + C80, C70, C60, C50, C40, C30, C20, C10 
    + BP0, OL0, NS0, AV0, Bt0, DM0, HM0, SB0 
    + Rn7, Rn6, Rn5, Rn4, Rn3, Rn2, Rn1, Rn0 
    + CR7, CR6, CR5, CR4, CR3, CR2, CR1, CR0 
    + H7, H6, H5, H4, H3, H2, H1, H0 
    + MC0, BB0, P160, P170, T0, J0, Gr0, RM0 
    + U70, P150, P140, P120, P110, P90, P80, P20 
    + W60, W40, W50, W80, W70, W30, W20, W10 
    + U80, U90, U100, U110, U120, U130, U140, U150 
    + L7, L6, L5, L4, L3, L2, L1, L0
    + OT0, Rt0, An0, TG0, A0, X0, PA0, B0
    + P130, P100, P70, P60, P50, P40, P30, P10
    + Cm7, Cm6, Cm5, Cm4, Cm3, Cm2, Cm1, Cm0


Шифрование

Шифрование происходит по этой формуле:

x позиция XOR Ch[Random1 + (x-1)], где x = 1-28.
(Ch[Random1 + (x-1)]) - данной операцией мы получаем индекс Ch. На основе индекса, нужно получить значение и подставить его в формулу.

Ch = [30,12,7,17,5,21,28,9,0,18,25,1,16,10,3,26,31,17,24,0,3,5,28,21,0,24,16,4,21,1,4,19,25,0,28,14,9,18,24,15,21,16,31]

Потом происходит второй этап шифрования:

Random21-28 позиции
0 или 8+0
1 или 7+1
2 или 6+2
3 или 5+3
4+4


Кодирование

US/EU: 0123456789BDGHJKLMNPQRTVWXYZ!(!!)?. #%―'

Удачи, спасибо за прочтение!

3
Всем здравствуйте!
Недавно начал взламывать систему паролей в игре Castlevania Dracula X. Хоть я полность с алгоритмом генерации не разобрался, но всё таки смог выудить из игры все возможные пароли. Всего их 89 штук. Сначала я нашёл сайт (http://members.tripod.com/master_phred/games/cdx-passwords.html) в котором было представлено 69 паролей. Потом, на основе полученных данных, я доделал остальные 20 паролей. Почти все найденные пароли оказались труднодоступными. Например, я нашёл пароли на альтернативные уровни 4 и 5 с дополнительным оружием, хотя игра такой пароль выдать не может. Также добавил пароли на 5 уровень с хорошей концовкой (на сайте, пароли на 5 уровень с плохой и хорошей концовкой даны вперемешку).
Остались неясны назначения дублирующих паролей. В игре есть два пароля на уровень 4 (без дополнительного оружия) и два пароля на альтернативные 4 и 5 уровни (без дополнительного оружия).
Ну и в итоге, я решил выложить весь список паролей, вдруг это кому-нибудь понадобится.

* Castlevania Dracula X.rar (12.12 КБ - загружено 121 раз.)

4
Всем здравствуйте!
Мне нужна помощь. После проигрыша в игре мне выдали этот пароль:
 
179060-0
 
Вроде всё нормально, но в опциях ввода пароля нет символа, который записан в пятой позиции. Может кто-нибудь с этим сталкивался? Или может я чего-то не понимаю. :neznayu:
 
179062-1

Пора завязывать со взломом паролей. Уже игры начали вести себя как-то странно.

5
Дело было вечером, делать было нечего. Недавно я играл в контру на GB. После Hard'а я решил пройти сложность Maniac, но застрял на одном из уровней (жизей мало и continues равны нулю). Так и возникла идея взломать систему паролей.
 
Теория

Пароль состоит из 4 позиций и 18 битов. Эти биты сохраняют данные игровые параметры: 
  • текущий уровень (2-5)
  • сложность (Easy/Normal/Hard/Maniac)
  • количество жизней (0-7)
  • количество continues (0-3)
  • количество бомб (0-5)
  • оружие персонажа (Machine gun/Flamethrower/Homing gun/Spread gun/Crush gun)

Сырой пароль

Sum = C1,C0,D1,D0,G2,G1,G0,S2,S1,S0,Cn1,Cn0,B2,B1,B0,L2,L1,L0

Обозначения

D — номер сложности (0-3) в двоичной системе счисления.

НомерСложность
0Easy
1Normal
2Hard
3Maniac


G — номер пушки (0-4) в двоичной системе счисления.

НомерПушка
0Machine gun
1Flamethrower
2Homing gun
3Spread gun
4Crush gun


S — номер уровня (1-4) в двоичной системе счисления.

НомерУровень
12
23
34
45


Cn — количество continues (0-3) в двоичной системе счисления.
B — количество бомб (0-5) в двоичной системе счисления.
L — количество жизней (0-7) в двоичной системе счисления.
C (контрольная сумма) = количество активированных битов по mod 4.

Генерация пароля

После вычисления контрольной суммы, к Sum применяется операция XOR с числом 0xC1.
Потом полученная Sum записывается в позиции:

1 позиция = (((Sum div26)div 26)div 26) mod 26
2 позиция = ((Sum div26)div 26) mod 26
3 позиция = (Sum div26) mod 26
4 позиция = Sum mod 26

Кодирование

US/JP/EU: 1BCD2FGH3JKLMN4PQRST5VWXYZ

Удачи, спасибо за прочтение.

6
Дело было вечером, делать было нечего. Я играл в Metal storm на сложности Expert и очень сильно злился из-за нехватки жизней. Пройдя один из уровней, я увидел, что игра выдаёт мне пароль. Тут то и родилась мысль взломать систему паролей, и накрутить побольше жизней. Своими наработками в этом нелёгком деле я хотел бы с Вами поделиться.

Теория

Пароль состоит из 10 позиций, каждая позиция состоит из 5 битов, итого 10*5= 50 битов. Эти биты сохраняют данные игровые параметры:
  • текущий уровень ((1-1)—(7-1))
  • сложность (Normal/Expert)
  • количество жизней (0-127)
  • количество очков (0-1048575)
  • улучшения (пушка, щит, броня, огненый шар)

Сырой пароль

(L6,L5,L4,L3,L2) (H14,H13,H12,H11,H10) (H19,H18,H17,H16,H15) (S3,S2,S1,S0,A0) (C14,C13,C12,C11,C10) (C24,C23,C22,C21,C20) (H9,H8,H7,H6,H5) (G0,L1,L0,Sh0,F0) (H4,H3,H2,H1,H0) (R4,R3,R2,R1,R0)

Обозначения

L — номер жизней (0-127) в двоичной системе счисления.
H — количество очков (0-1048575) в двоичной системе счисления.
S — номер уровня (0-15) в двоичной системе счисления.

НомерУровеньСложность
01-1Normal
12-1Normal
23-1Normal
34-1Normal
45-1Normal
56-1Normal
67-1Normal
71-1Expert
82-1Expert
93-1Expert
104-1Expert
115-1Expert
126-1Expert
137-1Expert
141-1Normal
15Final bossNormal

A — броня.
G — номер пушки (0-1) в двоичной системе счисления.

НомерПушка
0Начальная
1Волновая

Sh — щит.
F — огненый шар (работает во время смены гравитации).
R — рандом (0-31) в двоичной системе счисления.

Жизни = (((H14∗64) + (H13∗96) + (H12∗112) + (H11∗120) + (H10∗124) + (H4∗64) + (H3∗96) + (H2∗112) + (H1∗120) + (H0∗124)) mod128 + номер жизней) mod128

C1 = (3 позиция + 4 позиция +7 позиция + 8 позиция) mod32
C2 = (1 позиция - 2 позиция - 9 позиция) mod32

После вычисления C1 и C2, нужно к начальному паролю прибавить макет, который зависит от рандома.

Рандом mod8Макет
09,22,30,19,22,22,6,16,5,0
125,1,0,20,6,16,0,4,26,0
228,21,29,18,22,21,4,21,28,0
317,7,13,31,11,20,17,8,10,0
418,1,30,9,22,27,12,12,0,0
50,11,31,6,1,27,21,22,6,0
621,2,16,18,21,15,14,20,19,0
70,10,10,3,22,25,10,30,3,0

Потом нужно к 1 и 5 позициям прибавить: (рандом div8)∗8
После этого ко всем позициям применяется операция: mod32

Кодирование

US: TSD8K970B1P!VNXC3M4♥QHZ5F2GRWJL6
JP: TED8K97UB1PYONXC3M4IAHZ5F2GRWJL6

Удачи, спасибо за прочтение, поздравляю всех Вас с наступающим Новым Годом!

Страницы: [1]