Сейчас на форуме: bartolomeo, -Sanchez-, morgot, sashalogout (+5 невидимых)

 eXeL@B —› Софт, инструменты —› GHIDRA software reverse engineering (SRE) suite of tools
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >>
Посл.ответ Сообщение


Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 06 марта 2019 04:20 · Поправил: DimitarSerg
· Личное сообщение · #1



A software reverse engineering (SRE) suite of tools developed by NSA's Research Directorate in support of the Cybersecurity mission

It helps analyze malicious code and malware like viruses, and can give cybersecurity professionals a better understanding of potential vulnerabilities in their networks and systems.


GHIDRA 9.1.1 released !
--> Changelog <--
--> Download <--
--> GHIDRA Sources [github] <--

--> CheatSheet: <--

--> Презентация с RSA <--

--> Twitter от имени гидры: <--
--> Онлайн курсы: <--
--> Документация по API <--

--> Daenerys <-- is an interop framework that allows you to run IDAPython scripts under Ghidra and Ghidra scripts under IDA Pro with little to no modifications.
--> FindCrypt - Ghidra Edition <--
Using --> OOAnalyzer <--<-- to Reverse Engineer Object Oriented Code with Ghidra
--> GhidraX64Dbg <--:
Code:
  1. * Extract annotations from Ghidra into an X32/X64 dbg database
  2. * Extension containing a Ghidra script to export annotations from Ghidra to an x32dbg/x64dbg database.
--> An Abstract Interpretation-Based Deobfuscation <--
Cisco Talos is releasing two new tools for IDA Pro: --> Ghidraaas <-- and --> GhIDA <-- :
Code:
  1. GhIDA is an IDA Pro plugin that integrates the Ghidra decompiler in the IDA workflow, giving users the ability to rename and highlight symbols and improved navigation and comments. GhIDA assists the reverse-engineering process by decompiling x86 and x64 PE and ELF binary functions, using either a local installation of Ghidra, or Ghidraaas ( Ghidra as a Service) — a simple docker container that exposes the Ghidra decompiler through REST APIs
Automating --> Ghidra <--: writing a script to find banned functions
--> Канал гидры на youtube: <--
Список видео на канале:
Code:
  1. 1. Ghidra quickstart & tutorial: Solving a simple crackme
  2. 2. Reverse engineering with #Ghidra: Breaking an embedded firmware encryption scheme
  3. 3. Reversing WannaCry Part 1 in Ghidra
--> Software Reverse Engineering with Ghidra (Video tutors) <--
Code:
  1.     Software Reverse Engineering with Ghidra -- Setup and installation
  2.     Software Reverse Engineering with Ghidra -- How to import files and get started
  3.     Software Reverse Engineering with Ghidra -- Creating Structures
  4.     Software Reverse Engineering with Ghidra -- Creating Arrays and Changing Function Signatures
  5.     Software Reverse Engineering with Ghidra -- C++ Classes Part 1, Part 2,  Part 3
  6.     Software Reverse Engineering with Ghidra -- C++ Classes Stack and Global Classes

--> GHIDRA | Reverse Engineering a PWN Challenge <--

--> Модернизация GHIDRA. Загрузчик для ромов Sega Mega Drive <--
--> Хакер - Ghidra vs crackme. Обкатываем конкурента IDA Pro на примере решения хитрой крэкми с VM <--
--> Reverse Engineering Gootkit with Ghidra Part I <--
--> A few Ghidra tips for IDA users, part 0 - automatic comments for API call parameter <--
--> Implementing a New CPU Architectures <--
--> Toshiba MeP-c4 for Ghidra <--
Ghidra --> utilities <--for analyzing firmware

-----
ds


| Сообщение посчитали полезным: SReg, sefkrd, CyberGod, Vnv, Gideon Vi, cppasm, mak, v00doo, Rio, Orlyonok, sergio12, kp0m, memadm, Hugo Chaves, DICI BF, HandMill


Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 28 апреля 2019 22:06
· Личное сообщение · #2

sergeu пишет:
Power Architecture

Набор инструкций PowerPC гидра из коробки поддерживает.
sergeu пишет:
Кстати как гидра работает с Variable length encoding (VLE), allowing mixed 16-bit and 32-bit ins

ppc_64_isa_vle_be.slaspec ("PowerISA-VLE-64-32addr")
ppc_64_isa_altivec_vle_be.slaspec ("PowerISA-VLE-Altivec-64-32addr")
Посмотри это ли.
sergeu пишет:
Да и есть опыт работы с хитрыми процессорами фрескале с переключаемыми банками кода и епрома? Вобще возможно ли реализавать это для плагина гидры?

Все, что не потянет сам движок sleigh, можно закостылить плагином-анализером. (например для расстановки delay slot'ов в зависимости от msb следующей инструкции недавно делал плугин, на движке этого сделать нельзя, получилось) Так что потенциально поддерживает что угодно. Регистрируешься как AnalyzerType.INSTRUCTION_ANALYZER, подкручиваешь значение в контексте, дизасмишь заново (Disassembler.getDisassembler'ом, чтоб эвент не создавало еще один).

-----
2 оттенка серого


| Сообщение посчитали полезным: sergeu

Ранг: 6.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 апреля 2019 22:31
· Личное сообщение · #3

f13nd Спасибо. Не обращал на эти позиции.
В принципе автопоиска нету, но есть вариант самому обозначить секцию кода или данных. Да команды как из даташита или 32 или 16 битные идут. Попробуем конечно проверить качество дизасма тестом своего кода для начала. Чтобы видеть где что размечается в коде. Потому как адреса расположения памяти и кода не нашёл на этот проц.




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 28 апреля 2019 22:39
· Личное сообщение · #4

sergeu пишет:
Попробуем конечно проверить качество дизасма тестом своего кода для начала.

Даже в худшем варианте, если придется свой дизасм делать, 140 всего форматов инструкций. После тренировки за пару вечеров управишься В плане анализа динамической адресации ида сольет гидре всухую. Я уже полностью на гидру перешел и доволен.

-----
2 оттенка серого




Ранг: 6.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 апреля 2019 22:49 · Поправил: sergeu
· Личное сообщение · #5

Научится бы плагины ваять как под копирку,много есть интересных процов которые хотелось бы добавить. Особенно из за псевдоси. На мой взгляд за ней будущее, хоть пока она и сыровата.
Кстати есть ли по ней статейки, ну там как типа глянуть дерево вызывов функций ну и прочие мелочи?
Кстати ида так и не открыла данный проц. Ну или есть какие то фичи неочевидные, ну или очевидные только разработчику ида.




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 28 апреля 2019 23:03
· Личное сообщение · #6

Есть справочник по апи \docs\GhidraAPI_javadoc.zip и немного по движку \docs\languages\ Примеры полезно в самих исходниках искать. Туториал с картинками как эклипс настроить где-то выше в теме был.

-----
2 оттенка серого





Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 30 апреля 2019 11:37 · Поправил: f13nd
· Личное сообщение · #7

Думал может я чего поломал, распаковал обе версии начисто, проверил - точно. Похоже началось... Опенсурсники снесли важный функционал в версии 9.0.2 (аналог additional load) И радость была бы неполной, если бы PointerDataType() корректно обрабатывался в ByteMappedBlock.

ЗЫ: насчет функционала был неправ, а баг действительно баг.

-----
2 оттенка серого





Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 08 мая 2019 09:08
· Личное сообщение · #8

Плагин для пакетной замены адресных пространств в референсах. Для профилактики артрита. --> Link <--

Берет выделение из code viewer'а, либо подставляет максимальный/минимальный адрес адресного пространства. В гидре можно создавать любое количество адресных пространств (через add memory block - overlay в memory map, либо file - add to program с галкой overlay) адреса в которых могут совпадать с другими. Полезно, если в одно и то же место помещаются разные данные/код, в иде из-за этого получается каша из референсов, в которую можно загрузить только что-то одно.

-----
2 оттенка серого


| Сообщение посчитали полезным: sergeu, plutos, mak, dma, DICI BF

Ранг: 6.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 08 мая 2019 09:46
· Личное сообщение · #9

А проц какой либо из серии фрискале не освоил? Или это ещё и в других процах такая фича есть?




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 08 мая 2019 17:59
· Личное сообщение · #10

sergeu пишет:
А проц какой либо из серии фрискале не освоил?

Интересовали в основном tricore,sh,m32r, их освоил. Это не фича проца, может иногда пригодиться где угодно, поэтому и выложил

-----
2 оттенка серого





Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 10 мая 2019 23:22
· Личное сообщение · #11

Three Heads are Better Than One: --> Mastering Ghidra <--- Alexei Bulazel, Jeremy Blackthorne - INFILTRATE 2019

75% of this presentation was live tutorials, so watching the video is best the way to experience it.

-----
Give me a HANDLE and I will move the Earth.


| Сообщение посчитали полезным: bartolomeo


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 19 мая 2019 06:00 · Поправил: plutos
· Личное сообщение · #12

--> Dragon Dance <--is a plugin for Ghidra to visualize and manipulate the binary code coverage data.

Пока этот plugin поддерживает Dynamorio and Intel Pin binary instrumentation tools.
Смотрится симпатично.

-----
Give me a HANDLE and I will move the Earth.


| Сообщение посчитали полезным: dma, mak

Ранг: -12.6 (нарушитель), 11thx
Активность: 0.050.03
Статус: Участник

Создано: 19 мая 2019 08:27 · Поправил: dma
· Личное сообщение · #13

Какие-то "фишки" чем-то напоминающие отладчики, потихоньку начинют внедряться в гидру. То ли еще будет...



Ранг: 6.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 19 мая 2019 14:36
· Личное сообщение · #14

f13nd пишет:
Декомпиль очень просто устроен. В \Ghidra\Processors\<name>\data\languages\ есть *.slaspec и *.sinc файлы иполученные из них промежуточные *.sla,


А поподробнее возможно? я так понял для создания плагина под нужный проц необходимо только эти два файла отредактировать? Потому как посмотрел на некоторые исходники там только эти файлы из папки дата и больше ничего.




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 19 мая 2019 16:28
· Личное сообщение · #15

sergeu пишет:
А поподробнее возможно?

Скачай эклипс с ant'ом, установи в него Extensions\Eclipse\GhidraDev\GhidraDev-2.0.0.zip (help-install new software вроде). В эклипсе появится пункт меню GhidraDev, GhidraDev -> New -> Ghidra module project, галки все можешь снять. В c:\Users\<username>\eclipse-workspace\<имя проекта>\data\languages будет шаблон процессорного модуля, затаскиваешь файл c:\Users\<username>\eclipse-workspace\<имя проекта>\data\build.xml в еклипс, правой кнопкой по нему -> Run As -> Ant build сборка .sla файлов. Сам модуль в *.slaspec, в котором могут быть подключены *.sinc в качестве инклудов. *.ldefs - файл-манифест, где подмодули описаны (которые в меню при выборе процессорного модуля), *.pspec - специфичные для подмодуля параметры: ip-регистр, группы регистров, адреса системных регистров и области памяти, которые надо объявить при создании проекта этим профилем. *.cspec - директивы для декомпиля. Таким образом все файлы кроме .sla редактируются руками, *.sla компилится из *.slaspec и *.sinc антом.

Писать как *.slaspec/*.sinc устроены и как работают долго, но скорей всего сам разберешься.

Ну и если плагины будешь делать, класс Plugin основной, Analyzer - для различных костылей, в нем можно выбить высокий приоритет, чтоб не мешать другим анализаторам, Loader, Filesystem, Exporter - не особенно нужные.

-----
2 оттенка серого


| Сообщение посчитали полезным: sergeu, plutos

Ранг: 7.1 (гость)
Активность: 0.020
Статус: Участник

Создано: 23 мая 2019 12:52
· Личное сообщение · #16

Итаг... Хотя я так себе реверсер (ну для меня это сопутствующий скил), но мени есть, что сказать =)
Закончил проектик по реверсу на гидре. Могу сказать, что лично МЕНЯ оно боле-менее устроило. Есть странности с декомпилем - в одной функе оно проебало else ветку..., на некоторых функах странно работает с переменными, хотя в асме очевидно (ну тут уже приводили баги по декомпилю), не распознает коллинг конвеншоны - но тут не минус скорее, менять очень все удобно. Да! Я работаю только на интеле (32/64 бита) и только винда и почти всегда виндовый компилер смотрится (иногда кланг).

Очень порадовала тема с проектом. Те есть несколько версий дллок - засунул в проект и работаешь, а не открываешь идб (если еще и забыл куда положил, то караул). Ну это такое.

НО! Что меня сцуко просто убило и я вот хз кто виноват - гидра или сам рантайм джавы (та которая опен), это глюки с гуем. Те 2 монитора, перетащил на другой дисплей - в окне гидры начинается тайл-шоу отрисовки гуя, те кусками рисует, то не рисует. И так на всех диалогах тоже. Но иногда может и час норм работать, закономерности не выявил (да и не старался). Если кто знает в чем дело - плиз не держите в себе (линукс не предлагать, там я только сетевое пилю)

Еще не ясно с графиком выхода версий. Те хз, когда след версию выкатят (9_0_3), те какие тикеты блочат итд (хотя ясно что у них есть своя разработка внутренняя и она вот влияет по тикетам).

Все бобра!




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 мая 2019 13:08 · Поправил: f13nd
· Личное сообщение · #17

superakira пишет:
в одной функе оно проебало else ветку

Следи за аргументами и значением на выходе. Если гидра почует unreachable code (такой детектор мусора) - уберет этот код из декомпиля (за это отвечает галка eliminate unreachable code, но ей лучше быть включенной, так гидра подметает лишние фреймы п-кода, которые неизбежно образуются при дизасме инструкций с условными переходами внутри). Так что следи за прототипом функции.

ЗЫ: кстати обо всех выброшенных ветках гидра в начале листинга в декомпиле сигнализирует.

-----
2 оттенка серого





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 23 мая 2019 16:21 · Поправил: difexacaw
· Личное сообщение · #18

Я немного подумал, обобщил все текущие задачи и последние проблемы и сложности. Все темы и всё сводится к двум проблемным задачам - построить cfg(те накопить инструкции) и главная сформировать DFG. Ранее это было не особо нужно, так как например все подряд темы по протекторам я не трогал.

Собственно какие для этого есть инструменты, сабж может строить графы данных ?

Накопление инструкций это второстепенная задача, это можно сделать в динамике и статике, но на выхлопе д-граф будет не завесить от источника потока инструкций. Судя по всему задача не проста.

Короче говоря есть ли мотор, который на основе cfg строит dfg пригодный для обработки ?

-----
vx




Ранг: -12.6 (нарушитель), 11thx
Активность: 0.050.03
Статус: Участник

Создано: 23 мая 2019 21:19
· Личное сообщение · #19

superakira пишет:
Хотя я так себе реверсер


Ну, это смотря с какого ника с какой точки зрения на вас посмотреть. Если с позиции специалиста ядерщика из Могилева, то все верно, а если с моей точки зрения, то вот если бы "снять вам коньки", то все форумчане (за исключением одного ) пришли бы к выводу, что таких специалистов еще поискать нужно.


P.S. Есть хороший анекдот. Сборная России по футболу! Снимайте коньки, мы вас узнали!...



Ранг: 397.0 (мудрец), 179thx
Активность: 0.170.1
Статус: Участник

Создано: 23 мая 2019 22:00 · Поправил: BfoX
· Личное сообщение · #20

вышла Ghidra v9.0.4 --> (PUBLIC_20190516) <--

для тех, у кого --> Ошибка <--403

-----
...или ты работаешь хорошо, или ты работаешь много...


| Сообщение посчитали полезным: mak, plutos, DimitarSerg


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 31 мая 2019 02:05
· Личное сообщение · #21

Implementing a New CPU Architecture for --> Ghidra<--

Toshiba MeP-c4 for --> Ghidra <--

-----
Give me a HANDLE and I will move the Earth.


| Сообщение посчитали полезным: DimitarSerg, mak


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 07 июня 2019 23:42
· Личное сообщение · #22

Ghidra --> utilities <--for analyzing firmware

Various modules for Ghidra to assist with PC firmware reverse-engineering.
This was accepted as a coreboot project for GSoC 2019.

-----
Give me a HANDLE and I will move the Earth.




Ранг: 7.1 (гость)
Активность: 0.020
Статус: Участник

Создано: 17 июня 2019 12:43
· Личное сообщение · #23

На счет бага с гуем. Спасло добавление
VMARGS=-Dsun.java2d.noddraw=true
VMARGS=-Dsun.java2d.d3d=false
в launch.properties
Невозбранно спер из тикета с гитхаба, народ уже сталкивался.

Есть еще баг, может кто решал - иногда при смене раскладки она не меняется, те был русский ввод, поменя на английский - не меняется, тайпается все равно русский.

Странности с декомпилем.

TEST dword ptr [ESI + 0x8],IMAGE_DOS_HEADER_10000000 = 00 00 00 10

те замена в асме неким сгенерированным представлением (понятно что константа)

но вот в декомпиле

if ((param_1[2] & 0x10000000) == 0) { <-- те тут не поменял.. можно ли как-то синхронизировать?

Добавлено спустя 3 часа
Хотя конструкции типа

ulonglong LdrLoadDll(wchar_t *param_1,uint *param_2,ulonglong *******param_3,ulonglong ****param_4) // <--- откуда он нарожал стоко указателей... =(

{
uint uVar1;
ulonglong uVar2;
wchar_t *pwVar3;
ulonglong *******pppppppuVar4; // <-- wtf
wchar_t *pwVar5;
ulonglong *****local_res8;
undefined4 uVar6;
ulonglong ******local_28 [2]; // <-- wtf

Вгоняют меня в уныние... =( Может я галку где не поставил хитрожопую...



Ранг: 3.4 (гость), 1thx
Активность: 0.040
Статус: Участник

Создано: 21 июня 2019 22:36
· Личное сообщение · #24

f13nd пишет:
Разбор динамической адресации (по-моему для 8051 не очень принципиально) лучше. Декомпилер в псевдокод есть

поставил версию 9.0.4-PUBLIC посмотреть на псевдокод 8051, но пишет ошибка not found decompiler.exe -- а у Вас работает?




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 21 июня 2019 23:22
· Личное сообщение · #25

PhilXe пишет:
not found decompiler.exe

Скорей всего речь об \Ghidra\Features\Decompiler\os\win64\decompile.exe, файл есть, декомпилер в 8051 тоже работает.

-----
2 оттенка серого




Ранг: 3.4 (гость), 1thx
Активность: 0.040
Статус: Участник

Создано: 21 июня 2019 23:47 · Поправил: PhilXe
· Личное сообщение · #26

f13nd пишет:
речь об \Ghidra\Features\Decompiler\os\win64\decompile.exe, файл есть, декомпилер в 8051 тоже работает

файл такой имеется, но декомпилятор не работает -- может это быть из-за того, что я запустил Гидру в 32-битной ОС ?

P.S.
сделал копию папки win64 и переименовал ее в win32 -- ошибка исчезла, но в окне декомпилятора вместо текста появилась объясняющая "подсказка"
"C:\ghidra_9.0.4_PUBLIC_20190516\ghidra_9.0.4\Ghidra\Features\Decompiler\os\win32\decompile.exe":
CreateProcess error=216, This version of %1 is not compatible with the version of Windows
you're running. Check your computer's system information to see whether you need a x86
(32-bit) or x64 (64-bit) version of the program, and then contact the software publisher

Интересно, а возможно ли из исходников собрать под 32-битную ОС или возни будет больше с отладкой и быстрее поставить 64-битную ОС?




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 21 июня 2019 23:54 · Поправил: f13nd
· Личное сообщение · #27

PhilXe пишет:
я запустил Гидру в 32-битной ОС ?

Очевидно да, х86 версии там нету.

Добавлено спустя 5 минут
PhilXe пишет:
а возможно ли из исходников собрать под 32-битную ОС

А ты ознакомься с перечнем того, что надо для этого установить и как настроить --> Link <--, учти, что сразу ничего не собирается, тем более вероятно х86 там даже не предусмотрен в проекте.

-----
2 оттенка серого




Ранг: 3.4 (гость), 1thx
Активность: 0.040
Статус: Участник

Создано: 22 июня 2019 00:28
· Личное сообщение · #28

f13nd пишет:
тем более вероятно х86 там даже не предусмотрен в проекте

прислушался к вашему авторитетному мнению и забросил эту затею, запустил Гидру в 64-битной виртуалке -- декомпилятор запустился, но генерируемый им код не очень вдохновил с первого взгляда, буду смотреть дальше




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 21 июля 2019 02:49 · Поправил: plutos
· Личное сообщение · #29

Using --> OOAnalyzer <-- to Reverse Engineer Object Oriented Code with Ghidra

Code:
  1. Object-oriented programs continue to pose many challenges for reverse engineers and malware analysts. 
  2. C++ classes tend to result in complex arrangements of assembly instructions and sophisticated data 
  3. structures that are hard to analyze at the machine code level.
  4.  We've long sought to simplify the process of reverse engineering object-oriented code by creating tools,
  5. such as OOAnalyzer, which automatically recovers C++-style classes from executables.


Download the Pharos Binary Analysis Framework in --> GitHub<--

-----
Give me a HANDLE and I will move the Earth.





Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 25 июля 2019 10:11
· Личное сообщение · #30

sergeu
В иде 7.2 таки добавили vle (он был в 7.0, просто не включался сегментным регистром). Гидра не поддерживает весь набор инструкций для SPC5746R например, ида тоже, но там вроде как всего у одной инструкции неизвестный формат замечен. Если еще не сделал модуль для гидры можешь попробовать.

-----
2 оттенка серого


| Сообщение посчитали полезным: sergeu

Ранг: 102.0 (ветеран), 18thx
Активность: 0.070.02
Статус: Участник

Создано: 06 августа 2019 18:01
· Личное сообщение · #31

Как и PhilXe сделал попытку запустить Гидру в 32-битной ОС:
Гидра установилась, запустилась, открылось её главное окно - Браузер кода,
затем она дизассемблировала исследуемую программу, привела таблицы функций,
символов и типов.
Но правая панель, в которой должен быть декомпилированный текст, осталась пустой.
Ответственный за эту панель файл decompile.exe работает только для 64-битной ОС.


<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >>
 eXeL@B —› Софт, инструменты —› GHIDRA software reverse engineering (SRE) suite of tools
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати