Easyelectronics.ru

Электроника для всех
Текущее время: 17 окт 2018, 01:56

Часовой пояс: UTC + 5 часов



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 130 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 31 май 2018, 14:46 
Заглядывает иногда

Зарегистрирован: 16 окт 2013, 20:15
Сообщения: 160
Откуда: Екатеринбург
vt340 писал(а):
Порфирий писал(а):
А организовать несанкционированный доступ к ОЗУ на F051 (подозреваю и на прочих F0), согласно уже упоминавшейся статье немецких ребят из института Фраунгофера - как два пальца об асфальт

Порфирий, да всё в порядке и с F0, и они сами там дальше честно пишут, что все эти экзерсисы фигня
Перед тем как загружать чувствительные данные в ram, программа должна проверить есть ли level 2, если нет, то поставить, если не может, то не загружать

Повторюсь, бутлоадер и level2 - несовместимые сущности. Автор выше упоминает про хранение прошивки в зашифрованном виде, значит, без бутлоадера не обойдись, значит, level2 идёт лесом.
Ткните, пожалуйста, носом в ту строчку в их статье, где сказано про эксерсиз и его фиговость. Мне удалось лишь прочесть данный абзац:
Цитата:
First, the readability of SRAM in RDP Level 1 emerges to a practical threat, as it often allows the reading of cryptographic material up to the whole firmware. Secondly, the stronger RDP Level 2 incorporates a design error, which significantly weakens the security concept and enables a security downgrade. Thirdly, the SWD hardware implementation contains a race-condition in RDP Level 1
that completely annuls device security and exposes the firmware to the attacker.

Т.е. заявление, как минимум, чуть более серьёзное, чем угроза пионера на летней полянке.
vt340 писал(а):
В level 1 дебаггер хоть и работает, но не дебажит, т.к. флеш отключается от процессора полностью и навсегда [до ресета], и всё что можно делать - это только посмертный дамп ram и регистров
Т.е. "методом cbs" можно только с грустью понаблюдать, как программа снова поставит level 2 [и естессно только до тех пор пока она его не поставит], помешать этому невозможно
См. выше


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 31 май 2018, 14:52 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 1329
Порфирий писал(а):
Повторюсь, бутлоадер и level2 - несовместимые сущности

level 2 отличается от level 1 только отключением дебаггера, бутлоадеры не только могут, но и должны работать в level 2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 31 май 2018, 14:56 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1082
On the other hand, Level 2 protection is irreversible (fuse). Once the RDP is set to Level 2, the RDP option byte and all the other option bytes are frozen and can non longer be modified. However, the user Flash content, with the exception of all the write-protected sectors (see Section 1.2: Write Protection), still can be updated under the control of the user code itself. An IAP (In Application Programming) bootloader code can be implemented in order to allow a firmware update of some sectors.

Как написано, при RDP Level 2 бутлоадер спокойно может работать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 31 май 2018, 15:03 
Заглядывает иногда

Зарегистрирован: 16 окт 2013, 20:15
Сообщения: 160
Откуда: Екатеринбург
vt340 писал(а):
Порфирий писал(а):
Повторюсь, бутлоадер и level2 - несовместимые сущности

level 2 отличается от level 1 только отключением дебаггера, бутлоадеры не только могут, но и должны работать в level 2

NStorm писал(а):
On the other hand, Level 2 protection is irreversible (fuse). Once the RDP is set to Level 2, the RDP option byte and all the other option bytes are frozen and can non longer be modified. However, the user Flash content, with the exception of all the write-protected sectors (see Section 1.2: Write Protection), still can be updated under the control of the user code itself. An IAP (In Application Programming) bootloader code can be implemented in order to allow a firmware update of some sectors.


С данными утверждениями я абсолютно согласен. Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 31 май 2018, 15:26 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 1329
Порфирий писал(а):
Ткните, пожалуйста, носом в ту строчку в их статье, где сказано про эксерсиз и его фиговость

3.2.4 Countermeasure: RDP Downgrade Detection

There exists no countermeasure to prevent a security
downgrade, since the issue persists in hardware. It is
up to the manufacturer to enhance the concept, e.g., by
using RDP Level 2 instead of 1 as default/fallback setting.

Nevertheless, the effects of an attack can be mitigated.
Upon startup, the firmware should immediately check,
whether the expected level of protection is still active.
This includes the “read protection level status” in the
FLASH OBR register as well as the option bytes themselves.
In case of a mismatch between the setting and the
expectation, the RDP Level 2 setting should be rewritten
to the option bytes, as this will restore missing charge in
the flash cells and re-enable security.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 31 май 2018, 15:30 
Заглядывает иногда

Зарегистрирован: 16 окт 2013, 20:15
Сообщения: 160
Откуда: Екатеринбург
vt340 писал(а):
Порфирий писал(а):
Ткните, пожалуйста, носом в ту строчку в их статье, где сказано про эксерсиз и его фиговость

3.2.4 Countermeasure: RDP Downgrade Detection

There exists no countermeasure to prevent a security
downgrade, since the issue persists in hardware. It is
up to the manufacturer to enhance the concept, e.g., by
using RDP Level 2 instead of 1 as default/fallback setting.

Nevertheless, the effects of an attack can be mitigated.
Upon startup, the firmware should immediately check,
whether the expected level of protection is still active.
This includes the “read protection level status” in the
FLASH OBR register as well as the option bytes themselves.
In case of a mismatch between the setting and the
expectation, the RDP Level 2 setting should be rewritten
to the option bytes, as this will restore missing charge in
the flash cells and re-enable security.

Это то самое, о чём Вы говорили несколько раз ранее, т.е. безусловная проверка RDP_Level на самом старте устройства с повышением RDP_Level до 2 в "неблагоприятном" случае. Это предлагаемая разумная мера защиты, но никак не их комментарий по поводу фиговости проведённых ими же "эксерсизов".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 31 май 2018, 15:49 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 1329
Инструкция для читателя научных статей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 31 май 2018, 16:03 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 2372
Че? Кто тут сказал, что бутлоадер и Level 2 - несовместимые вещи?? Блин, чуваки, харэ, ёпта, тормозите, тормозите, а то хуйню уже морозите, господа!
При level 2 отключается встроенный хардварный бутлоадер, который выбирается ножками boot или битами boot, но остается самописный софтовый бутлоадер (если он конечно был ранее написан самим погромистом) и разрешена запись во флеш, поэтому всё там прекрасно перешивается. Закрытие флеша на запись - это отдельная настройка, причем, закрывается по секторам.
Мануалы - в помощь! Порфирий, читайте маны, а не псевдонаучные статьи. А то как в анекдоте: "На сарае слово "хуй" написано, а там - дрова лежат".


Последний раз редактировалось BusMaster 31 май 2018, 16:07, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 31 май 2018, 16:06 
Заглядывает иногда

Зарегистрирован: 16 окт 2013, 20:15
Сообщения: 160
Откуда: Екатеринбург
BusMaster писал(а):
Че? Кто тут сказал, что бутлоадер и Level 2 - несовместимые вещи?? Блин, чуваки, харэ, ёпта, тормозите, а то хуйню уже морозите, господа!
При level 2 отключается встроенный хардварный бутлоадер, который выбирается ножками boot или битами boot, но остается самописный софтовый бутлоадер и разрешена запись во флеш, поэтому всё там прекрасно перешивается. Закрытие флеша на запись - это отдельная настройка, причем, закрывается по секторам.
Мануалы - в помощь! Порфирий, читайте маны, а не псевдонаучные статьи. А то как в анекдоте: "На сарае слово "хуй" написано, а там - дрова лежат".
Базару ноль - мой косяк. Не уточнил, о каком конкретно бутлоадере шла речь в букваре.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 02:35 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 26 мар 2012, 01:27
Сообщения: 156
Pingvin писал(а):
Бутлоадер с шифрованием.
Запретить запуск кода из RAM.
Запретить чтение из FLASH.
Сделать так, чтобы даже считанная прошивка на другом камне не работала - привязать код к UID камня.
UID хранить тоже зашифрованным.

Я вижу построение защиты схожим образом.
Но с добавлением доп. защит.
- множественная проверка RDP level 2 в разных кусках кода (включая прерывание по таймеру);
- расшифровка блока "экспериментальных данных" при помощи ключа привязанного к UID камня;
- нарушение режимов работы авторского алгоритма;

Прошивку придется компилить индивидуально для каждого МК.
Благо процесс можно автоматизировать скриптом.
Способа как получить снаружи UID камня не нашел, очевидно сначала придется залить временную прошивку для извлечения UID.

Даже если прошивку считают, ее еще потребуется расшифровать и реверснуть.
Поскольку защита будет построена динамический с привязкой к UID, любая деструкция "экспериментальных данных" или нарушение работы авторского алгоритма неизбежно приведут к некорректной функциональности прошивки.
Что для реверсера будет не явным т.к. сама прошивка будет работать без глюков, только результат ее работы будет не верным.

Интересно, насколько реально хацкеру добыть UID камня?

p.s. это далеко не концепт защиты, просто рассуждения на тему...

_________________
Все новое - хорошо забытое старое!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 07:20 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 2372
Ну хорошо, а саму полезную работу ваша прога выполнять будет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 08:14 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 3683
Откуда: Кемеровская область, Киселевск
У них времени over9000 и маленькая тележка, зачем им полезная работа.

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 13:16 
Старожил

Зарегистрирован: 23 мар 2017, 14:45
Сообщения: 3723
Интересно, хозяин дома вообще в курсе, что за присутствие нецензурной лексики ресурс может быть подвергнут репрессиям?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 13:32 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 2372
Дак какбе я исчо при регистрации читал правила форума:
Правила форума
...
*Материться у нас можно, но только как выражения широты души и эмоционального состояния....


А матерятся у нас и на ТВ. Вон, "В думе сидим без Дим"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 13:43 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1082
Кот495 писал(а):
Интересно, хозяин дома вообще в курсе, что за присутствие нецензурной лексики ресурс может быть подвергнут репрессиям?

Эт каким еще? Форум - не СМИ, не артист. А закона запрещающего материться в интернетах просто где попало нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 14:46 
Старожил

Зарегистрирован: 23 мар 2017, 14:45
Сообщения: 3723
Коллеги, ну все равно может не будем, а? Мы же все-таки образованные все люди, а не шпана какая подзаборная.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 16:13 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 2372
Да просто надоедает на работе вся эта вежливость да высокие манеры... в коллективе есть дамы, при дамах не поматеришься...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 17:28 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1082
alexparser писал(а):
Способа как получить снаружи UID камня не нашел, очевидно сначала придется залить временную прошивку для извлечения UID.

Делов то, считать с адреса. Вот 2 варианта:
Код:
$ openocd -f ~/openocd-stm32.cfg -c "init" -c "$target_name mdw 0x1FFFF7E8 3" -c "exit"
Open On-Chip Debugger 0.9.0 (2018-01-24-01:05)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Info : JLink SWD mode enabled
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
none separate
cortex_m reset_config sysresetreq
Info : J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Info : J-Link caps 0x88ea5833
Info : J-Link hw version 70000
Info : J-Link hw type J-Link
Info : J-Link max mem block 11288
Info : J-Link configuration
Info : USB-Address: 0x0
Info : Kickstart power on JTAG-pin 19: 0x1
Info : Vref = 3.300 TCK = 0 TDI = 0 TDO = 1 TMS = 0 SRST = 1 TRST = 1
Info : J-Link JTAG Interface ready
Info : clock speed 1000 kHz
Info : SWD IDCODE 0x1ba01477
Info : STM32F103C8T6.cpu: hardware has 6 breakpoints, 4 watchpoints
0x1ffff7e8: 066fff50 51538771 67152420

Код:
$ ./JLinkExe
SEGGER J-Link Commander V6.32c (Compiled May 11 2018 16:32:45)
DLL version V6.32c, compiled May 11 2018 16:32:39

Connecting to J-Link via USB...O.K.
...
J-Link>connect
Device>STM32F103C8
Please specify target interface:
  J) JTAG (Default)
  S) SWD
TIF>S
Specify target interface speed [kHz]. <Default>: 4000 kHz
Speed>
Device "STM32F103C8" selected.


Connecting to target via SWD
Found SW-DP with ID 0x1BA01477
Found SW-DP with ID 0x1BA01477
Scanning AP map to find all available APs
AP[1]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x14770011)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FF000
CPUID register: 0x411FC231. Implementer code: 0x41 (ARM)
Found Cortex-M3 r1p1, Little endian.

FPUnit: 6 code (BP) slots and 2 literal slots
CoreSight components:
ROMTbl[0] @ E00FF000
ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 001BB000 SCS
ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 001BB002 DWT
ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB003 FPB
ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 001BB001 ITM
ROMTbl[0][4]: E0040000, CID: B105900D, PID: 001BB923 TPIU-Lite
Cortex-M3 identified.
J-Link>mem32 0x1FFFF7E8,3
1FFFF7E8 = 066FFF50 51538771 67152420
J-Link>q

Адрес будет 0x1FFF7A10 для F4 к примеру.
Вывод OpenOCD очень легко запихнуть в Makefile, чтобы вообще на лету подсовывать chipid подключенного в данный момент МК куда надо в код, пересобирать и сразу шить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 18:10 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 26 мар 2012, 01:27
Сообщения: 156
BusMaster писал(а):
Ну хорошо, а саму полезную работу ваша прога выполнять будет?

Естественно!
Алгоритм не требователен к процессорным мощностям, например сейчас уже все тестится на Атмеге 20 МГц.
Так что ресурсов у нас более чем...
Жаль что раньше не приходилось работать с STM32 раньше, чудный камешек.
Что-то еще можете добавить по теме защиты?

_________________
Все новое - хорошо забытое старое!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 18:44 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1082
Я вам уже предложил довольно-таки интересный вариант - с детектированием вскрытия корпуса устройства. Это вполне себе рабочая мера, anti-tamper по-английски называется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 18:53 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 26 мар 2012, 01:27
Сообщения: 156
NStorm писал(а):
Делов то, считать с адреса.

Можно ли считать UID после того как прошивка залита с RDP level 2?

NStorm писал(а):
Я вам уже предложил довольно-таки интересный вариант - с детектированием вскрытия корпуса устройства. Это вполне себе рабочая мера, anti-tamper по-английски называется.

Как проводить сервисный ремонт устройства?
Корпус можно вскрыть так, что датчики на размыкание останутся в не разомкнутом состоянии.
Так себе вариант...

_________________
Все новое - хорошо забытое старое!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 18:55 
Старожил
Аватара пользователя

Зарегистрирован: 17 апр 2010, 08:38
Сообщения: 4851
Откуда: Усинск, республика Коми
alexparser писал(а):
NStorm писал(а):
Делов то, считать с адреса.

Можно ли считать UID после того как прошивка залита с RDP level 2?

NStorm писал(а):
Я вам уже предложил довольно-таки интересный вариант - с детектированием вскрытия корпуса устройства. Это вполне себе рабочая мера, anti-tamper по-английски называется.

Как проводить сервисный ремонт устройства?
Корпус можно вскрыть так, что датчики на размыкание останутся в не разомкнутом состоянии.
Так себе вариант...

Поставить фотоэлемент. Как попадет на него свет - значит корпус вскрыт.

_________________
хаос это непознанный порядок


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 19:00 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4987
(не 'хакер')
Программы разбирают или специальной приспособой (скрипт-программа &etc), либо расковыривают руками. Первое идет на стандартные механизмы "защиты", второе - на уникальные. Первый вариант лучше сразу опустить (понятно куда), а ручно разбор полетов всегда долгий. И, если он становится ОченьДолгим, то взлом теряет смысл. Можно применить, как ее, забыл - замену операторов. Вместо одних инструкций вставляются такие-же (аналогичные) с тем же действием. Например - inc eax - add eax,1 - xor ecx,ecx + inc ecx + add eax,ecx
В результате множества подмен, код немного вырастает в размере, но становится абсолютно нечитаем. Восстановить его "методом пристального прочтения" физически невозможно. Можно только воздействовать на контрольные точки входа и получать отклик. Итак, у вас есть "хрень", которую уже не понять, как работает. Остается лишь сделать ее неотлаживаемой - вынести =наружу= элемент, который выполняет сторонние действия, не поддающиеся элементарной логике. Что это будет за девайс - решайте сами. Если какой-то элемент защиты находится вне MCU, это очень сильно портит настроение тому, кто хочет сломать.
Так что, я бы предложил поставить внешний ключ и перестать играть в CPU ID/SN.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 19:01 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1082
alexparser писал(а):
Можно ли считать UID после того как прошивка залита с RDP level 2?

Нет. Дебаг ведь отключен, значит память читать нельзя. Только на level 1.

alexparser писал(а):
Как проводить сервисный ремонт устройства?
Корпус можно вскрыть так, что датчики на размыкание останутся в не разомкнутом состоянии.
Так себе вариант...

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как защитить программу на уровне чипа..?
СообщениеДобавлено: 01 июн 2018, 19:04 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1082
u37 писал(а):
(не 'хакер')
Можно применить, как ее, забыл - замену операторов. Вместо одних инструкций вставляются такие-же (аналогичные) с тем же действием. Например - inc eax - add eax,1 - xor ecx,ecx + inc ecx + add eax,ecx
В результате множества подмен, код немного вырастает в размере, но становится абсолютно нечитаем. Восстановить его "методом пристального прочтения" физически невозможно. Можно только воздействовать на

Это называется обфускацией. Только если цель защита от копирования ус-ва, а код не будет привязан к железу, то смысла в этом нет - будут копировать прошивку не разбираясь, если смогут её слить.
На самом деле по факту задачи ТС, RDP Level 2 с головой хватит. Чисто теоретическая научная статья - не значит, что кто-то на практике станет применять против ус-ва ТС. Слишком дорого это встанет.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 130 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB