Цитата
Идея отличная, но я ее уже проходил
А возможно ли заменить сертификат, который прописан в j2me_domain_registry.sm?
Таким образом получим свою подпись и доверенный сертификат ..
![]() |
![]() |
![]() |
![]() |
![]() |
Здравствуйте, гость ( Вход | Регистрация ) |
![]() ФС под e798. |
GLuka |
![]() |
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Регистрация: 1.9.2005 Пользователь №: 50 281 Модель телефона: e398 Прошивка: 43R Рейтинг: 0 ![]() |
Цитата Идея отличная, но я ее уже проходил А возможно ли заменить сертификат, который прописан в j2me_domain_registry.sm? Таким образом получим свою подпись и доверенный сертификат .. |
angryzes |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 17.8.2005 Пользователь №: 48 919 Модель телефона: e398 [e1] Прошивка: E1 Рейтинг: 26 ![]() |
Хм, а для чего нужен файл //a/ROOT_CERTS ?
|
Inlined |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 91 Регистрация: 5.9.2005 Из: Санкт-Петербург Пользователь №: 50 635 Модель телефона: E398, DEFY Рейтинг: 73.5 ![]() |
Цитата А возможно ли заменить сертификат, который прописан в j2me_domain_registry.sm? Таким образом получим свою подпись и доверенный сертификат .. Это зависит от того, как связан j2me_domain_registry.sm и сертификат. Ведь формат j2me_domain_registry.sm нигде не описан. Из того, что я смотрел, там примерно так: заголовок 10-12 байт, 256 байт SHA1 подпись, далее идут DN сертификатов и некие данные по очереди. Если сделать сертификат с таким же точно (символ в символ) DN, то можно попробовать. Но! Скорее всего в domain_registry лежит какой-то ключ из сертификата, иначы все было бы просто. [OFF]У меня есть domain_registry файл, в котором указываются права на неподписанные мидлеты (специальный DN='untrusted_domain'). Это файл из телефона, залоченного на Сингуляр. Там вообще у неподписанные мидлетов почти нет прав, даже на выход сеть. Так что нам еще повезло, пользователи Сингуляр вообще обречены. Поэтому теоритически можно где-то найти такой domain_registry, где у неподписанных мидлетов есть больше прав. Быть может в какой-то бето-прошивке. [/OFF] P.S. Чтобы загрузить в телефон сертификат, он должен быть в DER форме (расширение .crt). И кроме того, к нему нужно добавить 2 байта в начале 00 03 или 00 01 (идентификаторы - можно ли его отключить или нет). Цитата Хм, а для чего нужен файл //a/ROOT_CERTS ? Сертификатов два типа - на Яву и на сайты. В этом файле - сертификаты для сайтов (IMHO). |
MKolm |
![]() |
|
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 62 Регистрация: 29.1.2005 Пользователь №: 36 084 Модель телефона: L9 Прошивка: 05R Рейтинг: 4.5 ![]() |
Посмотрите, будет ли работать этот мидлет
| |
angryzes |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 17.8.2005 Пользователь №: 48 919 Модель телефона: e398 [e1] Прошивка: E1 Рейтинг: 26 ![]() |
Цитата(Inlined @ Понедельник, 19 Сентября 2005, 15:46) Сертификатов два типа - на Яву и на сайты. В этом файле - сертификаты для сайтов (IMHO). А что тогда в папке ssl ? Походу это чтото еще |
Inlined |
![]() |
|
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 91 Регистрация: 5.9.2005 Из: Санкт-Петербург Пользователь №: 50 635 Модель телефона: E398, DEFY Рейтинг: 73.5 ![]() |
lochy, или кто нибудь еще с 1ER, попробуйте запустить этот мидлет, это обновленная версия. Он не должен вылетать, как прошлый. Запускать нужно "Меню>Permissions". Если не вылетает, а пишет список разрешений, пришлите сюда .pat файл от него.
| |
Maximca |
![]() |
|
![]() flexer ![]() ![]() Группа: Пользователи Сообщений: 99 Регистрация: 21.6.2005 Из: Yaroslavl Пользователь №: 44 658 Модель телефона: E398 Прошивка: Е790 Рейтинг: 111.5 ![]() |
Inlined, все работает , я даже напишу что он пишет в Меню>Permissions:
HTTP:Yes/Ask HTTPS:Yes/Ask SMS:Yes SMS.send:Yes/Ask -"- -"- -"- MMS.Recu:Yes Так вот он доступ к файловой системе!!!!
| |
Oleg Vasilyev |
![]() |
Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 67 Регистрация: 11.3.2005 Из: Россия, Рязань Пользователь №: 38 581 Модель телефона: e398 Прошивка: R373_G_0E.30.49R Рейтинг: 0 ![]() |
Ну когда же мы увидим это на деле? Когда? Если заимеем доступ к ФС то чихать я хотел на этот итюнс
|
GLuka |
![]() |
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Регистрация: 1.9.2005 Пользователь №: 50 281 Модель телефона: e398 Прошивка: 43R Рейтинг: 0 ![]() |
file.write - no
file read - no .. Нэту доступа |
Sl_1 |
![]() |
|
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 44 Регистрация: 20.6.2005 Пользователь №: 44 545 Модель телефона: Motorola E398 Прошивка: R373_G_0E.30.6FR Рейтинг: 0 ![]() |
Выкладываю файл pat.
| |
Inlined |
![]() |
|
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 91 Регистрация: 5.9.2005 Из: Санкт-Петербург Пользователь №: 50 635 Модель телефона: E398, DEFY Рейтинг: 73.5 ![]() |
Ок, двух pat-ов хватит, тем более, что они одинаковые.
А теперь попробуйте заменить вот этим pat-ом тот, что был. Ничего не обещаю, но по идее разрешения должны измениться (должно быть больше "Yes" или "Yes/Ask"). Хорошо бы сюда список этих разрешений после замены pat-а, прямо из лога Midway-я, чтобы не набирать их руками. И еще вопрос. На 1ER можно включить в меню Java пункт Switching to Debug: [Usb]. У вас включен он?
| |
angryzes |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 17.8.2005 Пользователь №: 48 919 Модель телефона: e398 [e1] Прошивка: E1 Рейтинг: 26 ![]() |
Цитата(Inlined @ Вторник, 20 Сентября 2005, 11:20) Ок, двух pat-ов хватит, тем более, что они одинаковые. А теперь попробуйте заменить вот этим pat-ом тот, что был. Ничего не обещаю, но по идее разрешения должны измениться (должно быть больше "Yes" или "Yes/Ask"). Хорошо бы сюда список этих разрешений после замены pat-а, прямо из лога Midway-я, чтобы не набирать их руками. И еще вопрос. На 1ER можно включить в меню Java пункт Switching to Debug: [Usb]. У вас включен он? Подменить пат никак не выйдет, по 100 раз уже меняли. |
Sl_1 |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 44 Регистрация: 20.6.2005 Пользователь №: 44 545 Модель телефона: Motorola E398 Прошивка: R373_G_0E.30.6FR Рейтинг: 0 ![]() |
Не идет, вот и все.
|
Inlined |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 91 Регистрация: 5.9.2005 Из: Санкт-Петербург Пользователь №: 50 635 Модель телефона: E398, DEFY Рейтинг: 73.5 ![]() |
Цитата Не идет, вот и все. Что значит "не идет"? Мидлет не запускается? |
GLuka |
![]() |
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Регистрация: 1.9.2005 Пользователь №: 50 281 Модель телефона: e398 Прошивка: 43R Рейтинг: 0 ![]() |
Не будет он работать..
(если интересно - после замены пата пишет - приложение просрочено ..) Приколы с патом на этой платформе не прокатят.. Кстати, а в чем собственно идея заключалась, если не секрет ?? |
Freeman |
![]() |
![]() \(o_O)/ ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 473 Регистрация: 23.2.2005 Из: Ярославль Пользователь №: 37 500 Модель телефона: нокла 5320 Прошивка: 4.0.3 Рейтинг: 149 ![]() |
Inlined
Включается работает в меню-пермиссионс очень много всего написано |
GLuka |
![]() |
![]() Новичок ![]() Группа: Пользователи Сообщений: 17 Регистрация: 1.9.2005 Пользователь №: 50 281 Модель телефона: e398 Прошивка: 43R Рейтинг: 0 ![]() |
Цитата Включается работает А пат файл заменил ??? Цитата нет То-то и оно.. Замени :D |
Freeman |
![]() |
![]() \(o_O)/ ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 473 Регистрация: 23.2.2005 Из: Ярославль Пользователь №: 37 500 Модель телефона: нокла 5320 Прошивка: 4.0.3 Рейтинг: 149 ![]() |
нет ещё
|
Sl_1 |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 44 Регистрация: 20.6.2005 Пользователь №: 44 545 Модель телефона: Motorola E398 Прошивка: R373_G_0E.30.6FR Рейтинг: 0 ![]() |
После замены pat файла мидлет запустился но данные выдаваемые им не изменились.
|
Freeman |
![]() |
![]() \(o_O)/ ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 473 Регистрация: 23.2.2005 Из: Ярославль Пользователь №: 37 500 Модель телефона: нокла 5320 Прошивка: 4.0.3 Рейтинг: 149 ![]() |
заменил пат - пишет что приложение просрочено
|
Inlined |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 91 Регистрация: 5.9.2005 Из: Санкт-Петербург Пользователь №: 50 635 Модель телефона: E398, DEFY Рейтинг: 73.5 ![]() |
Цитата Кстати, а в чем собственно идея заключалась, если не секрет ?? Ну, ввиду отсутствия других идей, была идея проверить средствами Явы разрешения, попробовать изменить .pat файл. Из темы, что что-то надо делать. Я вот, например, пока эти проблемы не решатся, не буду переходить на R373 :) |
VANDAL1 |
![]() |
Ветеран ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 426 Регистрация: 24.10.2004 Из: Москвы Пользователь №: 17 976 Модель телефона: htc pharos 3470 Прошивка: the one Рейтинг: 177 ![]() |
много упускаешь! да это минус пока, но все таки...
|
Maximca |
![]() |
![]() flexer ![]() ![]() Группа: Пользователи Сообщений: 99 Регистрация: 21.6.2005 Из: Yaroslavl Пользователь №: 44 658 Модель телефона: E398 Прошивка: Е790 Рейтинг: 111.5 ![]() |
Inlined, вот не поленился, может поможет:
До замены pat: HTTP: Yes/Ask HTTPS: Yes/Ask SMS: Yes SMS.Send: Yes/Ask SMS.Recv: Yes CBS: Yes CBS.Recv: Yes RMS.Share: No PUSH.Reg: Yes/Ask UDP.Open: Yes/Ask UDP.Lstn: Yes/Ask TCP.Open: Yes/Ask TCP.Lstn: Yes/Ask TCP.Lstn: No SSL: Yes/Ask COMM: Yes/Ask File.Read: No File.Write: No PBOOK.Read: No PBOOK.Write: No VIDEO.Snap: No AUDIO.Rec: No RMS.Share: No vMID.Rsdnt: No vREM.Ctrl: No JRS75.FILE.Rd.: No JRS75.FILE.Wr: No JRS75.FILE.Drm: No JRS75.PIM.CLRd: No JRS75.PIM.CLWr: No JRS75.PIM.ELRd: No JRS75.PIM.ELWr: No SMSAccess.Rd: No SMSAccess.Wr: No MMS: Yes MMS.Send: Yes/Ask MMS.Recv: Yes После замены pat: Приложение истекло. Проверьте время и дату в «Исходных установках» |
grafmoto |
![]() |
![]() ЯваМотоКодер ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 2 003 Регистрация: 15.10.2004 Из: Северодвинск Пользователь №: 16 752 Модель телефона: iPhone 3Gs Прошивка: iOS 6.1.3 Рейтинг: 703 ![]() |
|
Inlined |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 91 Регистрация: 5.9.2005 Из: Санкт-Петербург Пользователь №: 50 635 Модель телефона: E398, DEFY Рейтинг: 73.5 ![]() |
Ладно, с pat-ом разобрались, переходим дальше, к J2MEST.
По сравнению с R372 каждая запись о мидлете стала больше на 48 байтов (708 байт вместо 660). Если глянуть на запись, видно, что появились 2 хэша по 20 байт. Первый расположен по смещению 0x48, второй - 0x84. Как оказалось, второй хэш - это SHA1 хэш jar-файла. Служит он, видимо, для того, чтобы телефон проверял, не изменили ли мы jar файл самостоятельно. Проверяем: Код openssl.exe dgst -sha1 j2me0.jar SHA1(j2me0.jar)= 84d3e4bfad2936072fed2d1d4c25838a7d85621b совпадает с тем, что написано в J2MEST!! Остается узнать, что такое первый хэш, из чего он вычисляется (видимо, jad+pat?). Если мы это узнаем, то, вероятно, сможем изменять pat/jad и генерировать свои хэши для подстановки в J2MEST. Хорошо бы проверить, как изменяется J2MEST файл при ручном изменении java-разрешений через телефон. При этом должен меняться pat-файл, а следовательно и хэш в J2MEST. |
xeros |
![]() |
Новичок ![]() Группа: Пользователи Сообщений: 13 Регистрация: 5.9.2005 Из: Poland Пользователь №: 50 594 Модель телефона: E1000 Прошивка: R26LD_U_83.39.27I Рейтинг: 0 ![]() |
Sorry for English, but I don't speak Russian.
Did anyone try to take a look at iTunes? Maybe just replace the .pat file from iTunes and put: MIDlet-Permissions: javax.microedition.io.Connector.file.read,javax.microedition.io.Connector.file.write in manifest file would be enough to make it work (without signing)? Btw. the signing idea look great - it could help with iTunes signing after modification (time/limit cracking) :-) I think that could be usefull: ROKR E1 Technical Manual - there is an information about midlet security with permissions and midlet signing. |
angryzes |
![]() |
|
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 17.8.2005 Пользователь №: 48 919 Модель телефона: e398 [e1] Прошивка: E1 Рейтинг: 26 ![]() |
Цитата(Inlined @ Среда, 21 Сентября 2005, 11:08) Хорошо бы проверить, как изменяется J2MEST файл при ручном изменении java-разрешений через телефон. При этом должен меняться pat-файл, а следовательно и хэш в J2MEST. Лови вот, поменял права через телефон, сделал бинарный патч и пропатчил файл забитый еденицами hex 31 - че поменялось можно увидеть сравнивая файлы diff/template и diff/template_patched
| |
Going2 |
![]() |
Новичок ![]() Группа: Пользователи Сообщений: 11 Регистрация: 15.7.2005 Из: Саратов Пользователь №: 46 237 Модель телефона: e398 -->E1 iTunes Прошивка: 30.6FR Рейтинг: 0 ![]() |
Народ че вымучаетесь ?
пишите mp3 проигрователь и подписывайте у моторолы его . Цитата NOTE: JSR 179, JSR 75, Motorola Location, Motorola Phonebook, Motorola FileSystem, Motorola DRM API - Midlets that use these APIs will run fine on the SDK emulators. However, they will not run on the actual device unless the midlet obtained the midlet signing capabilities. This capability can be requested through the following Motorola business initiative - Innovate на сколько я понимаю это можно сделать. |
Inlined |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 91 Регистрация: 5.9.2005 Из: Санкт-Петербург Пользователь №: 50 635 Модель телефона: E398, DEFY Рейтинг: 73.5 ![]() |
angryzes,
Цитата Лови вот, поменял права через телефон, сделал... Отлично, это как раз то, что нужно. Сравнение говорит о том, что поменялись как раз 20 байт с 000013A4 по 000013B7 (это первый хэш) и еще число по 000013DB (видимо, это какой-то счетчик). Это подтверждает мою догадку, что телефон пересчитывает первый хэш при смене pat. Когда мы меняем сами pat, но не меняем хэш в J2MEST на правильный, телефон пишет, что приложение просрочено. Если бы мы сами знали, из чего рассчитать первый хэш... но у меня пока нет догадок, все идеи закончились. Явно то, что он не считается только по pat файлу, т.к. если pat-ы одинаковые, у них должен быть одинаковый хэш, но это не так - в J2MEST разные хэши в таких случаях. Значит телефон подмешивает что-то еще. Теперь хорошо бы проверить вот что (речь о первом хэше, со вторым все ясно): а) будет ли создаваться новый хэш, если менять себе разрешения, а потом возвращать их на место? (т.е. будут ли одинаковые хэши для одинаковых по содержанию pat-файлов, но сделанных через послед. редактирование) б) разный ли хэш, если ставить мидлет: 1) в этот же слот; 2) в другой слот (в другое место в J2MEST файле) в) разный ли хэш, если ставить мидлет с немного другим jad-ом (например, с измененным на букву Vendor-ом) |
heyjoe |
![]() |
Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 69 Регистрация: 17.2.2005 Пользователь №: 37 122 Модель телефона: Motorola E398 Прошивка: R373_G_0E.30.1ER Рейтинг: 1 ![]() |
а если он расчитывает с учётом времени (в секундах GMT) например?
![]() |
widowmaker |
![]() |
Новичок ![]() Группа: Пользователи Сообщений: 16 Регистрация: 20.12.2004 Пользователь №: 28 550 Модель телефона: E398 Прошивка: R373_G_0E.30.42R Рейтинг: 0 ![]() |
heyjoe, Если расчитывает то в формате UNIX time, то есть к-во секунд с начала эпохи (1 января 1970 года). Получить такое число секунд очень просто, в PHP есть заметельная функция strtotime().
|
angryzes |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 17.8.2005 Пользователь №: 48 919 Модель телефона: e398 [e1] Прошивка: E1 Рейтинг: 26 ![]() |
СРОЧНО!!! Нужен хелп j2me программиста !!! Походу есть один очень похожий на правду вариант!
Требуется собрать приложение ipc1v2.zip из этой ветки с названием главного класса : Код MIDlet-1: SlideShow, /SlideShow/res/slideshow.png, SlideShow.SlideShow У меня сейчас в телефоне стоит приложение с доступом к ФС, ставил поверху слайдшоу хитрым образом, просто нужен стартовый класс с тем же названием |
Osta |
![]() |
Freestyler ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Легенды MotoFan.Ru Сообщений: 10 329 Регистрация: 20.7.2004 Пользователь №: 8 235 Модель телефона: Moto Прошивка: *#9999# Настроение: Все невыспавшиеся в следующей жизни будут котами Рейтинг: 4362 ![]() |
|
grafmoto |
![]() |
![]() ЯваМотоКодер ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 2 003 Регистрация: 15.10.2004 Из: Северодвинск Пользователь №: 16 752 Модель телефона: iPhone 3Gs Прошивка: iOS 6.1.3 Рейтинг: 703 ![]() |
angryzes,
и такой вариант (с подменой главного класса) уже кто-то делал, вроде Osta еще до открытия мотофаном pat'а я что-то не понял: я что ответ 16 минут писал? Сообщение отредактировал grafmoto - 22.9.2005, 9:38 |
angryzes |
![]() |
|
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 17.8.2005 Пользователь №: 48 919 Модель телефона: e398 [e1] Прошивка: E1 Рейтинг: 26 ![]() |
| |
angryzes |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 17.8.2005 Пользователь №: 48 919 Модель телефона: e398 [e1] Прошивка: E1 Рейтинг: 26 ![]() |
Цитата(grafmoto @ Четверг, 22 Сентября 2005, 11:34) angryzes, и такой вариант (с подменой главного класса) уже кто-то делал, вроде Osta еще до открытия мотофаном pat'а Тут не просто подмена класса, тут подмена всего джара + правка хэша в j2mest - осталось лишь имя главного класса сделать таким же, как прописано в j2mest |
Inlined |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 91 Регистрация: 5.9.2005 Из: Санкт-Петербург Пользователь №: 50 635 Модель телефона: E398, DEFY Рейтинг: 73.5 ![]() |
angryzes,
а разве заменить в J2MEST имя класса не получается? Он в слоте по оффсету 0xB9, заканчивается на байт 0. Пробовал? ВАЖНО Тем, кто будет компилить - удалите эти строчки из java класса, иначе не class не соберется: Код import com.jblend.media.control.RecordControlImpl; import com.jblend.util.Properties; import com.jblend.util.SystemProperties; |
grafmoto |
![]() |
![]() ЯваМотоКодер ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Почётные мотофаны Сообщений: 2 003 Регистрация: 15.10.2004 Из: Северодвинск Пользователь №: 16 752 Модель телефона: iPhone 3Gs Прошивка: iOS 6.1.3 Рейтинг: 703 ![]() |
Цитата(angryzes @ Четверг, 22 Сентября 2005, 14:08) Тут не просто подмена класса, тут подмена всего джара + правка хэша в j2mest - осталось лишь имя главного класса сделать таким же, как прописано в j2mest да почитайте внимательней ветку по менеджеру, там как раз в j2mest и подменяли имя класса Цитата(Inlined @ Четверг, 22 Сентября 2005, 14:17) а тогда не откомпилишь правьте InternalCheckProcess.class javabyte'ом ! заменяете все InternalCheckProcess на нужное и естестно новый класс в папку /SlideShow/ запихать нужно |
angryzes |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 60 Регистрация: 17.8.2005 Пользователь №: 48 919 Модель телефона: e398 [e1] Прошивка: E1 Рейтинг: 26 ![]() |
Запустил ! Сама прога все показывает NO - но это потому, что я все закоментарил видимо нужное; Inlined - почему бы тебе самому не собрать свою прогу то ?
|
Inlined |
![]() |
![]() Интересующийся ![]() ![]() Группа: Пользователи Сообщений: 91 Регистрация: 5.9.2005 Из: Санкт-Петербург Пользователь №: 50 635 Модель телефона: E398, DEFY Рейтинг: 73.5 ![]() |
angryzes,
я щас на работе, у меня тут нет компилятора, может быть поставлю позже. Вторая версия IPC использует упрощенный способ получения свойств разрешений, через Midlet.CheckPermission(), а эта функция не всегда дает точный ответ. Более точный метод из jblend.security, который был в IPCv1 у вас на 1ER не работает :( А как тебе удалось ее запустить? Менял класс в J2MEST? |
![]() ![]() |
Текстовая версия | Сейчас: 28.7.2025, 11:14 |
Форум живёт: