САБЖ!Сосбственно давайте создадим ФМ !Для начала надо обсудить что нам надо для этого!Насколько мне известно нужна цифровая подпись моторолы и API!
C001eR
МОТОМОЗГ!!! В Сименсах есть, а в Моторах нету ФМ! Не порядок!
Тогда думайте как получить доступ из мидлета к файловой системе.
надо стибрить эту подпись у FOTOFANPACK'а, ведь он имеет доступ к ФС
Крак прав! Слейте этот мидлет с трубы и декомпилируйте его
Вот высылаю фотофанпак!Файл менеджер это рулез!Кстати может с его помощью с картой памяти тел общятся будет ?(как проект)
Присоединённые файлы
j2me2.rar ( 92.3кб )
Кол-во скачиваний: 1095
CR@CK
0vZ
Не всё так просто, подпись для каждого приложения своя, в ней содержатся данные о приложении которое ею подписано. В принципе у меня есть описание алгоритмов подписи RSA и SHA1, но именно знание этих алгоритмов подсказывает мне проблематичность "подделки" электронной подписи
Все данные о приложении......
А какие именно? Может просто "подделаться" под стандартное приложение?
OvZ мысль говорит! Можно прикинуться FotoFunPack'ом и получить доступ к файловой системе. НО! Есть вопрос: Имеет ли ФотоФанПак полный достук к ФЛ, или только в Картинки?
Вся эта "мимикрия" - лишь тренировка для пальцев рук. Уже сколько писали, про эти цифровые подписи, а народ ну никак не занимается поиском на форуме:
1) для мотороловских мидлетов годится только сертификат от Моторолы. НИКТО СЕРТИФИКАТЫ КРОМЕ МОТОРОЛЫ НЕ ВЫДАЁТ.
2) RSA & SHA1 - алгоритмы ХЕШИРОВАНИЯ. Кто не знает - из хешированного пароля/сертификата/данных НЕВОЗМОЖНО получить исходные данные БЕЗ второго КЛЮЧА (у владельца сертификата).
3) "подделаться" под стандартное приложение: вставка "чужой" подписи, вставка "чужого" кода в сертифицированное приложение и т.п. НЕ ПРОКАТИТ. Проверено.
4) Единственный реально-доступный способ получить сертификат - обратиться в Моторолу (учите English - по-русски даже резюме не принимают). Обидно, блин - может я ваще не буду юзать ФС и зап.книжку - просто охота "поиграть" с ФС на телефоне пару недель.
5) если кто-то и подрубит сертификат - не думаю, что он сунет его в Сеть. Если он попадёт (а он попадёт 100%) в вирмейкерские руки, то владельцу сертификата кто-то что-то оторвёт (в лучшем случае не продлят сертификат).
max.wiz
Мы уже обсуждали эту тему в
http://motofan.ru/index.php?showtopic=4782
Посмотри мое последнее сообщение там
Если сертификаты в двух разных прогах одинаковые то скорее всего он подойдет и к третьему - нужно просто проверить. А файловый апи описан в DG для новых моделей вэшек 550 и т.п.
fguy
Никто и не спорит, что сертификаты разные - они одинаковые, точнее это один и тот же сертификат выданный Моторолой "самой же себе". Схема сертификации такова:
1) Сертификат - выдаётся моторолой какому-либо лицу на определённый срок. Сертификаты для мидлетов хранятся в виде cer-файлов на телефоне в папке /a/mobile/certs/.../kjava.
2) Электронная подпись (SHA1/RSA) - хэш сертификата + доп. данных.
Дешифровка подписи приложения:
1) Сертификат указанный в подписи должен совпадать с каким-либо в телефоне (пока есть только один).
2) Хэш JAR-файла (SHA1/RSA) напоминает CRC, только включающий в себя не только данные из JAR-файла, но и сертификат поставщика + ключ поставщика. Принципы и тонкости SHA1/RSA - ищие в сети, доки на эту тему - гектары.
Проблема заключается не в том, чтобы найти сертификат (его можно и из тела слить), а в том - чтобы сгенерировать верную электронную подпись (SHA1/RSA) на основе этого сертификата + JAR-файла мидлета.
Эй разработчики фм ! Пишите если будут новости (пр0гресс) ! Вот почитайте на досуге!
Присоединённые файлы
DG_C650_v1_2.rar ( 234.96кб )
Кол-во скачиваний: 539
Я лично уже потратил около 8 часов для выковыривания сертиф. из "Camera for T720i"
CR@CK Аналогично,я сомневаюсь что подпись можно подделать !
Предложение из области фантастики....
А если "вделать" нужные функции в рабочий мидлет? (напр., тот же МотоФанПак).
Суть: декомпиляция, дописывание СВОИХ функций, старые оставляем практически без изменений, компилируем обратно.
0vZ Там может CRC джара подсчитыватся, иначе просто не логично, болшой провтык со стороны Моторолы ![]()
ФотоФан Пак юзает кактой специфик Апи, или создает файлы пользуясб МИДП-2.0 ?
Вот например у Сименс-апи ненадо сертификата, правда доступ к файл-системе возможен только на том же уровне где мидлет находится, тоесть в родной папке мидлета....
Ectar
Вроде бы Connector.open("file:///..."), выхов которого закрывается для нелицензированных мидлетов (какой-то Exception вроде кидает)
JenFA
Надо проверить, но это будет не скоро, тут мне родственнички Винду подковырнули, теперь она как ивалид, метр идет - 3 ползет....
Мне кажется проверка идёт здесь
| Цитата |
| package com.sun.midp.ssl; import java.io.IOException; import java.util.Vector; import javax.microedition.pki.CertificateException; // Referenced classes of package com.sun.midp.ssl: // X509Certificate, CryptoException, RSAPublicKey, MessageDigest, // RandomData, Record, Session, Utils, // SSLStreamConnection, KeyBuilder, Cipher, Key, // CertStore class Handshake { private X509Certificate parseChain(byte abyte0[], int i, int j, CertStore certstore) throws IOException, CertificateException { Vector vector = new Vector(); if(certstore == null) throw new IllegalArgumentException("no trusted certificate store given"); int k; for(; i < j - 3; i += k) { k = ((abyte0[i++] & 0xff) << 16) + ((abyte0[i++] & 0xff) << 8) + (abyte0[i++] & 0xff); if(k < 0 || k + i > abyte0.length) throw new IOException("SSL certificate length too long"); vector.addElement(X509Certificate.generateCertificate(abyte0, i, k)); } X509Certificate.verifyChain(vector, -1, 2, certstore); return (X509Certificate)vector.elementAt(0); } Handshake(String s, int i, Record record) { rnd = null; cSession = null; sSessionId = null; crand = null; srand = null; gotCertReq = 0; preMaster = null; master = null; eKey = null; sCert = null; ourMD5 = null; ourSHA = null; start = 0; nextMsgStart = 0; cnt = 0; peerHost = new String(s); peerPort = i; rec = record; eKey = null; gotCertReq = 0; start = 0; cnt = 0; try { ourMD5 = MessageDigest.getInstance((byte)1, false); ourSHA = MessageDigest.getInstance((byte)2, false); rnd = RandomData.getInstance((byte)2); } catch(CryptoException cryptoexception) { throw new RuntimeException(cryptoexception.getMessage()); } } private int getNextMsg(byte byte0) throws IOException { if(cnt == 0) { rec.rdRec(true, (byte)22); if(rec.plainTextLength < 4) throw new IOException("getNextMsg refill failed"); cnt = rec.plainTextLength; nextMsgStart = 0; } if(rec.inputData[nextMsgStart] == byte0) { int i = ((rec.inputData[nextMsgStart + 1] & 0xff) << 16) + ((rec.inputData[nextMsgStart + 2] & 0xff) << 8) + (rec.inputData[nextMsgStart + 3] & 0xff) + 4; if(cnt < i) { throw new IOException("Refill got short msg c=" + cnt + " l=" + i); } else { start = nextMsgStart; nextMsgStart += i; cnt -= i; return i; } } else { return -1; } } private void sndHello3() throws IOException { cSession = Session.get(peerHost, peerPort); int i = cSession != null ? cSession.id.length : 0; byte abyte0[] = new byte[39 + i + SUITES_AND_COMP.length]; int j = 0; abyte0[j++] = 1; int k = abyte0.length - 4; abyte0[j++] = (byte)(k >>> 16); abyte0[j++] = (byte)(k >>> 8); abyte0[j++] = (byte)(k & 0xff); abyte0[j++] = (byte)(ver >>> 4); abyte0[j++] = (byte)(ver & 0xf); crand = new byte[32]; rnd.generateData(crand, (short)0, (short)32); System.arraycopy(crand, 0, abyte0, j, crand.length); j += crand.length; abyte0[j++] = (byte)(i & 0xff); if(cSession != null) { System.arraycopy(cSession.id, 0, abyte0, j, cSession.id.length); j += cSession.id.length; } System.arraycopy(SUITES_AND_COMP, 0, abyte0, j, SUITES_AND_COMP.length); ourMD5.update(abyte0, 0, abyte0.length); ourSHA.update(abyte0, 0, abyte0.length); rec.wrRec((byte)22, abyte0, 0, abyte0.length); } private int rcvSrvrHello() throws IOException { int i = getNextMsg((byte)2); int j = start + 4; int k = start + i; if(i < 42) return -1; if(rec.inputData[start + j++] != ver >>> 4 || rec.inputData[start + j++] != (ver & 0xf)) return -1; srand = new byte[32]; System.arraycopy(rec.inputData, j, srand, 0, 32); j += 32; int l = rec.inputData[j++] & 0xff; if(l != 0) { if(k < j + l) return -1; sSessionId = new byte[l]; System.arraycopy(rec.inputData, j, sSessionId, 0, l); j += l; } j++; negSuite = rec.inputData[j++]; if(negSuite != 5 && negSuite != 4 && negSuite != 3 && rec.inputData[j++] != 0) { return -1; } else { ourMD5.update(rec.inputData, start, i); ourSHA.update(rec.inputData, start, i); negSuiteName = suiteNames[negSuite]; Utils.logln((byte)1, "Negotiated " + negSuiteName); return 0; } } private int rcvCert() throws IOException { int i = getNextMsg((byte)11); int j = start + i; if(i < 7) return -1; int k = start + 4; int l = 0; l = ((rec.inputData[k++] & 0xff) << 16) + ((rec.inputData[k++] & 0xff) << 8) + (rec.inputData[k++] & 0xff); if(k + l > j) { return -1; } else { sCert = parseChain(rec.inputData, k, j, SSLStreamConnection.getTrustedCertStore()); ourMD5.update(rec.inputData, start, i); ourSHA.update(rec.inputData, start, i); return 0; } } private int rcvSrvrKeyExch() throws IOException { int i = getNextMsg((byte)12); int j = start + 4; int k = start + i; RSAPublicKey rsapublickey = (RSAPublicKey)sCert.getPublicKey(); int l = sCert.getKeyUsage(); if(i == -1) { eKey = rsapublickey; if(l != -1 && (l & 4) != 4) { Utils.logln((byte)4, "The keyEncipherment was bit is set in server certificate key usage extension."); throw new CertificateException(sCert, (byte)10); } else { return 0; } } if(k < j + 4) return -1; int i1 = ((rec.inputData[j++] & 0xff) << 16) + (rec.inputData[j++] & 0xff); if(k < j + i1 + 2) return -1; try { if(i1 == 65 && rec.inputData[j] == 0) { eKey = (RSAPublicKey)KeyBuilder.buildKey((byte)1, (short)512, false); eKey.setModulus(rec.inputData, (short)(j + 1), (short)64); } else { eKey = (RSAPublicKey)KeyBuilder.buildKey((byte)1, (short)(i1 << 3), false); eKey.setModulus(rec.inputData, (short)j, (short)i1); } j += i1; i1 = ((rec.inputData[j++] & 0xff) << 16) + (rec.inputData[j++] & 0xff); if(k < j + i1) return -1; eKey.setExponent(rec.inputData, (short)j, (short)i1); } catch(CryptoException cryptoexception) { return -1; } j += i1; int j1 = j; i1 = ((rec.inputData[j++] & 0xff) << 16) + (rec.inputData[j++] & 0xff); if(k < j + i1) return -1; byte abyte0[] = new byte[i1]; System.arraycopy(rec.inputData, j, abyte0, 0, abyte0.length); j += i1; if(k != j) return -1; byte abyte1[] = new byte[36]; try { MessageDigest messagedigest = MessageDigest.getInstance((byte)1, false); messagedigest.update(crand, 0, crand.length); messagedigest.update(srand, 0, srand.length); messagedigest.doFinal(rec.inputData, 4, j1 - 4, abyte1, 0); messagedigest = MessageDigest.getInstance((byte)2, false); messagedigest.update(crand, 0, crand.length); messagedigest.update(srand, 0, srand.length); messagedigest.doFinal(rec.inputData, 4, j1 - 4, abyte1, 16); } catch(Exception exception) { throw new RuntimeException("No MD5 or SHA"); } try { Cipher cipher = Cipher.getInstance((byte)2, false); cipher.init(rsapublickey, (byte)2); byte abyte2[] = new byte[rsapublickey.getSize() >>> 3]; int k1 = cipher.doFinal(abyte0, 0, abyte0.length, abyte2, 0); if(!Utils.byteMatch(abyte2, 0, abyte1, 0, abyte1.length)) { Utils.logln((byte)4, "RSA params failed verification"); return -1; } } catch(Exception exception1) { throw new IOException("RSA decryption caught " + exception1); } ourMD5.update(rec.inputData, start, i); ourSHA.update(rec.inputData, start, i); return 0; } private int rcvCertReq() throws IOException { int i = getNextMsg((byte)13); if(i == -1) { return 0; } else { gotCertReq = 1; ourMD5.update(rec.inputData, start, i); ourSHA.update(rec.inputData, start, i); return 0; } } private int rcvSrvrHelloDone() throws IOException { int i = getNextMsg((byte)14); if(i != 4) { return -1; } else { ourMD5.update(rec.inputData, start, i); ourSHA.update(rec.inputData, start, i); return 0; } } private void sndKeyExch() throws IOException { if(gotCertReq == 1) { rec.alert((byte)2, (byte)41); throw new IOException("No client cert"); } preMaster = new byte[48]; rnd.generateData(preMaster, (short)0, (short)48); preMaster[0] = (byte)(ver >>> 4); preMaster[1] = (byte)(ver & 0xf); int i = eKey.getSize() >>> 3; byte abyte0[] = new byte[4 + i]; int j = 0; abyte0[j++] = 16; abyte0[j++] = (byte)(i >>> 16); abyte0[j++] = (byte)(i >>> 8); abyte0[j++] = (byte)(i & 0xff); try { Cipher cipher = Cipher.getInstance((byte)2, false); cipher.init(eKey, (byte)1); int k = cipher.doFinal(preMaster, 0, 48, abyte0, j); if(k != i) throw new IOException("RSA result too short"); } catch(Exception exception) { throw new IOException("premaster encryption caught " + exception); } ourMD5.update(abyte0, 0, abyte0.length); ourSHA.update(abyte0, 0, abyte0.length); rec.wrRec((byte)22, abyte0, 0, abyte0.length); } private void mkMaster() throws IOException { byte abyte0[][] = { { 65 }, { 66, 66 }, { 67, 67, 67 } }; MessageDigest messagedigest = null; MessageDigest messagedigest1 = null; byte abyte1[] = new byte[preMaster.length + crand.length + srand.length]; System.arraycopy(preMaster, 0, abyte1, 0, preMaster.length); System.arraycopy(crand, 0, abyte1, preMaster.length, crand.length); System.arraycopy(srand, 0, abyte1, preMaster.length + crand.length, srand.length); try { messagedigest = MessageDigest.getInstance((byte)1, false); messagedigest1 = MessageDigest.getInstance((byte)2, false); } catch(Exception exception) { throw new IOException("No MD5 or SHA"); } master = new byte[48]; for(int i = 0; i < 3; i++) { messagedigest.update(preMaster, 0, preMaster.length); messagedigest1.update(abyte0[i], 0, abyte0[i].length); byte abyte2[] = new byte[20]; messagedigest1.doFinal(abyte1, 0, abyte1.length, abyte2, 0); messagedigest.doFinal(abyte2, 0, abyte2.length, master, i << 4); } } private void sndChangeCipher() throws IOException { byte abyte0[] = new byte[1]; abyte0[0] = 1; rec.wrRec((byte)20, abyte0, 0, 1); } private byte[] computeFinished(byte byte0) throws IOException { byte abyte0[][] = { { 83, 82, 86, 82 }, { 67, 76, 78, 84 } }; byte abyte1[] = new byte[36]; Object obj = null; try { MessageDigest messagedigest = (MessageDigest)ourMD5.clone(); messagedigest.update(abyte0[byte0], 0, 4); messagedigest.update(master, 0, master.length); byte abyte2[] = new byte[16]; messagedigest.doFinal(Record.PAD1, 0, 48, abyte2, 0); messagedigest.update(master, 0, master.length); messagedigest.update(Record.PAD2, 0, 48); messagedigest.doFinal(abyte2, 0, 16, abyte1, 0); messagedigest = (MessageDigest)ourSHA.clone(); messagedigest.update(abyte0[byte0], 0, 4); messagedigest.update(master, 0, master.length); abyte2 = new byte[20]; messagedigest.doFinal(Record.PAD1, 0, 40, abyte2, 0); messagedigest.update(master, 0, master.length); messagedigest.update(Record.PAD2, 0, 40); messagedigest.doFinal(abyte2, 0, 20, abyte1, 16); return abyte1; } catch(Exception exception) { throw new IOException("MessageDigest not cloneable"); } } private void sndFinished() throws IOException { byte abyte0[] = new byte[40]; System.arraycopy(FINISH_PREFIX, 0, abyte0, 0, 4); System.arraycopy(computeFinished(role), 0, abyte0, 4, 36); ourMD5.update(abyte0, 0, abyte0.length); ourSHA.update(abyte0, 0, abyte0.length); rec.wrRec((byte)22, abyte0, 0, abyte0.length); } private int rcvChangeCipher() throws IOException { if(cnt != 0) { Utils.logln((byte)4, "Unread handshake mesg in store"); return -1; } rec.rdRec(true, (byte)20); return rec.inputData != null && rec.inputData.length == 1 && rec.inputData[0] == 1 ? 0 : -1; } private int rcvFinished() throws IOException { int i = getNextMsg((byte)20); if(i != 40) return -1; byte abyte0[] = computeFinished((byte)(1 - role)); if(!Utils.byteMatch(rec.inputData, start + 4, abyte0, 0, abyte0.length)) { return -1; } else { ourMD5.update(rec.inputData, start, i); ourSHA.update(rec.inputData, start, i); return 0; } } void doHandShake(byte byte0) throws IOException { long l = System.currentTimeMillis(); int i = 0; ver = 48; role = byte0; boolean flag = false; sndHello3(); if(rcvSrvrHello() < 0) complain("Bad ServerHello"); if(sSessionId == null || cSession == null || sSessionId.length != cSession.id.length || !Utils.byteMatch(sSessionId, 0, cSession.id, 0, sSessionId.length)) { try { i = rcvCert(); } catch(CertificateException certificateexception) { complain(certificateexception); } if(i < 0) complain("Corrupt server certificate message"); try { i = rcvSrvrKeyExch(); } catch(CertificateException certificateexception1) { complain(certificateexception1); } if(i < 0) complain("Bad ServerKeyExchange"); rcvCertReq(); if(rcvSrvrHelloDone() < 0) complain("Bad ServerHelloDone"); sndKeyExch(); mkMaster(); try { rec.init(crand, srand, negSuite, master); } catch(Exception exception) { complain("Record.init() caught " + exception); } sndChangeCipher(); sndFinished(); if(rcvChangeCipher() < 0) complain("Bad ChangeCipherSpec"); if(rcvFinished() < 0) complain("Bad Finished"); } else { master = cSession.master; sCert = cSession.cert; try { rec.init(crand, srand, negSuite, master); } catch(Exception exception1) { complain("Record.init() caught " + exception1); } if(rcvChangeCipher() < 0) complain("Bad ChangeCipherSpec"); if(rcvFinished() < 0) complain("Bad Finished"); sndChangeCipher(); sndFinished(); } Session.add(peerHost, peerPort, sSessionId, master, sCert); if(preMaster != null) { for(int j = 0; j < preMaster.length; j++) preMaster[j] = 0; } for(int k = 0; k < master.length; k++) master[k] = 0; } private void complain(String s) throws IOException { complain(new IOException(s)); } private void complain(IOException ioexception) throws IOException { rec.alert((byte)2, (byte)40); if(sSessionId != null) Session.del(peerHost, peerPort, sSessionId); break MISSING_BLOCK_LABEL_39; Exception exception; exception; throw ioexception; } static final byte ARCFOUR_128_SHA = 5; static final byte ARCFOUR_128_MD5 = 4; static final byte ARCFOUR_40_MD5 = 3; private static final byte SUITES_AND_COMP[] = { 0, 6, 0, 5, 0, 4, 0, 3, 1, 0 }; private static String suiteNames[] = { "", "", "", "TLS_RSA_EXPORT_WITH_RC4_40_MD5", "TLS_RSA_WITH_RC4_128_MD5", "TLS_RSA_WITH_RC4_128_SHA" }; private static final byte HDR_SIZE = 4; private static final byte HELLO_REQ = 0; private static final byte C_HELLO = 1; private static final byte S_HELLO = 2; private static final byte CERT = 11; private static final byte S_KEYEXCH = 12; private static final byte CERT_REQ = 13; private static final byte S_DONE = 14; private static final byte CERT_VRFY = 15; private static final byte C_KEYEXCH = 16; private static final byte FINISH = 20; private static final byte MD5_SIZE = 16; private static final byte SHA_SIZE = 20; private static final byte FINISH_PREFIX[] = { 20, 0, 0, 36 }; private Record rec; private String peerHost; private int peerPort; private RandomData rnd; private Session cSession; private byte sSessionId[]; private byte crand[]; private byte srand[]; private byte ver; private byte role; byte negSuite; String negSuiteName; private byte gotCertReq; private byte preMaster[]; private byte master[]; private RSAPublicKey eKey; X509Certificate sCert; private MessageDigest ourMD5; private MessageDigest ourSHA; private int start; private int nextMsgStart; private int cnt; } |
Osta
А что это за код? Откуда взял?
| Цитата (JenFA @ 23.12.2004 - 18:37) |
| Osta А что это за код? Откуда взял? |
ААААААААААА супер и прогресс (модераторы ногами не бить) в состав ява врилесс тулкит входит несколько ява приложений! Одно из них подобие фм ! так вот я его скомпилировал и добавил в джад пожпись отффп ! и он заработал!! правда файлы не показывает а только диск(а) и место на нем!!!!!!!!!!!
ВОт лови ! ТЕстил на с650й!
Присоединённые файлы
________.rar ( 19.54кб )
Кол-во скачиваний: 265
2 4inut
не ставится!, пишет нет сертификата
SECMGR_verifyMidletSecurity: suiteId = 13766144, suiteToUpdateId = 0
SECMGR_verifyMidletSecurity: invalid signature!
4inut сделай фото и кинь сюда , что у тебя показывает,
если ты нас не кружишь ![]()
4inut
Что за Ява Вирлес Тулкит в котором ты энто нашел, какой версии? Под мотороловким sdk41ga выдает "Unable to load class javax/microedition/io/file/FileConnection"
Такс !!! эта штука, что ты надыбал, юзает JSR-000075 PDA Optional Packages for the J2ME Platform, что то мне подсказывает, что в наших моторах энтого нету, и в эмуляторе тоже, интересно как это у тебя оно пашет, эта фигня появилась только в J2ME Wireless Toolkit 2.2, у меня 2.1 дома, там этих пекеджей нету...
Давай разбиратся !!
Дока по JSR-000075 - http://jcp.org/en/jsr/detail?id=75
2 4inut
ещё раз попробовал, ты наверное как раз с удалёными сертификатами и выложил, потому что при заливке пишет: "нет сертификата маршрута", если так то кинь "рабочий"
Gopher
При заливке у меня показывается сертификат, и спрашивает Инсталировать с таким сертификатом,
Пoтом происходит Даунлоад, после даунлоада, при Инсталлировании выдает "Authentication Error, Application Not Installed"...
4inut
Я конечно всё понимаю, но как ты умудрился запустить на теле мидлет, использующий неподдерживаемое телефоном API? Причём я говорю не только о javax.microedition.file.*, которого в моторах отродясь не было, но и о javax.microedition.pim.*, которого тоже нигде нет
Ещё и забив левый сертификат
Ещё и настоичиво Developer Guide постил... хотя бы сам почитал бы его... не весь, хотя бы список поддерживаемого API
А то весь топик переполошил, типа у меня этот мидлет запустился
Лучше бы чего-то конструктивное предложил ![]()
P.S. Классы, которые технически не могут запустится на теле из этого мидлета:
example.fc.FileBrowser (использует отсутствуещее API javax.microedition.io.file.*)
example.pim.ItemDisplayScreen (использует отсутствуещее API javax.microedition.pim.*)
К тому же ещё и неправильная подпись мидлета ![]()
P.P.S. А у тебя нет, случайно, взломщика интернета и прошивки для бесплатных звонков ? А то я обыскался уже.
Насчёт сертификатов у меня на компе их всего два : от SlideShow и FFP_C650_F_ENITESFRDE_VER_1.0.22
SlideShow
MIDlet-Certificate-1-1:MIID3TCCAsWgAwIBAgIBBTANBgkqhkiG9w0BAQUFADB/ MQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxFTATBgNVBAcTDExpYmVydHl2aWxsZTEVMBMG
A1UEChMMTW90b3JvbGEgSW5jMQwwCgYDVQQLEwNQQ1MxITAfBgNVBAMTGE1hbnVmYWN0dXJlciBEb21h
aW4gNDAtMTAeFw0wMzA4MjEwNzAwMDBaFw0wODA4MjEwNzAwMDBaMIGHMQswCQYDVQQGEwJVUzERMA8G
A1UECBMISWxsaW5vaXMxFTATBgNVBAcTDExpYmVydHl2aWxsZTEVMBMGA1UEChMMTW90b3JvbGEgSW5j
MQwwCgYDVQQLEwNQQ1MxKTAnBgNVBAMTIFBDUyBNb3RvY29kZXIgU2lnbmluZyBLZXkgNDAtMS0xMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyw56nP0BLRd++nk9E/+K7gXfoOhcK4I7Emd0PGCPFhw1GY/lc0T0dhKW9X807aPQOk+Aum/ YWOpEt5XcybSJcjGlbkpby83dJNvAqwjZAhS1omczJATm8ebepeuieNUFi4ggp+uOhfaWenTwu8Ww+15
NG9h23WUHPD2uTmdJTMwthaHGXKGbOjJiXHdtUYcP7EYzyGVCx7E0TdURHZ9aiewHfd8Z+Jr2hD3yncw
J+CqHQoNh1woUzqwocs0I48eeLdZlWlz0N6vA4EAahNKsdcdQnhxYcjvJ3xMLJalKfm2l6oGgUFbFgpg
zwjGIZ7zXIOSy/g04QAR252g9NZPWBQIDAQABo1swWTARBglghkgBhvhCAQEEBAMCBBAwDgYDVR0PAQH/ BAQDAgeAMB8GA1UdIwQYMBaAFHx6RyE3TGq6OTDCwtbxnZFjolMuMBMGA1UdJQQMMAoGCCsGAQUFBwMD
MA0GCSqGSIb3DQEBBQUAA4IBAQCO/jcXNVjYl78vKVpYawV7U007w44+gphyYSby8gaX9BqGwgDEbdB0lwlRfxnBFfl/LSg0hykotekVEVzMEugx9MBvIdHcuiX0wdmVJ/ SBOB8DHqBMEWSSOvzAakQtYK3RmNk+CDVTYiuki3pQjsh+UX7RMfvrVIO8lsgSFXU+DBDEhu+7RXclPx
dxJs0pVPiQZc/Y7/b23v6WYWIKdfDb48UDv9R9br84Wwu2SW2JLfyhOXdVY5NS0uSJsCq7fhMTqkTcm197wWqQ/wC4oYJrlHUhAHLy9ykcmjldFw/Jjm0U0H7o72CV7U+MHKLMbImNK0DZZS/X0T8HNM9UMy+f
MIDlet-Jar-RSA- SHA1:itLVOMiI+1kDHz+0rKPJGhuL3uMJJBbbKdoQGnBL+UhDHuD6u9iblkNcMSzbxTWqXnBxp5+QB4F
MPLq187mytLNHb2vai3dAY4i5VKTREu+T9I19Y9CvLSB6NfqbGCDfXrl+pxgomrmaqkaWckG5bcn6Q5t
KbOtLyRi093kXfIw8MH9qvRXQkYuMjs/e0I+6BFyKz72uZ/ ovlwp5ZzK66OLlQtFZ+wQV4sY7dRpaNz5GcsKwFyZla75tmWTBFALaBz3O0LXp0veisbvhL3IDldXfx9
SHyqtKY5ujJEws6aGtbs5K95WT7ZL+7kJZUBYz9PbZY7L+PW3JO4L632r1Xw==
FotoFunPack2
MIDlet-Jar-RSA- SHA1:CZQy9hvNj1BEG9hErZqS4Hqht4XVVOoEM6sIZf8rPX3xFdaIc1okObPZwueHyDHK8tkl8qAVtt3
mMkMpNso0AtAAjuleW3h+mfMdYc9SwtHfOzKoESA5+9DNkIjoi1QJuYDsuJP/ k8iUesTA9Ugx5JGg5BOFzvvwtWNs3afebfxkbvAK7vGOnOyVeW9Ehk9wT859x2m4EHOzXNka+3EHYqC1
LWAAJyAEmPBwb0W/ Ct7PQwWHJ5+kBVVBkTkO8SDWfkiphJkeFG63f2VSdylxU8FomooUh2cPBE3gaEnCz5a75yqdB1XUk40k
SS19iVY/t61O5w/FTJ4d+SVMRwtUWw==
MIDlet-Certificate-1-1:MIID3TCCAsWgAwIBAgIBBTANBgkqhkiG9w0BAQUFADB/ MQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxFTATBgNVBAcTDExpYmVydHl2aWxsZTEVMBMG
A1UEChMMTW90b3JvbGEgSW5jMQwwCgYDVQQLEwNQQ1MxITAfBgNVBAMTGE1hbnVmYWN0dXJlciBEb21h
aW4gNDAtMTAeFw0wMzA4MjEwNzAwMDBaFw0wODA4MjEwNzAwMDBaMIGHMQswCQYDVQQGEwJVUzERMA8G
A1UECBMISWxsaW5vaXMxFTATBgNVBAcTDExpYmVydHl2aWxsZTEVMBMGA1UEChMMTW90b3JvbGEgSW5j
MQwwCgYDVQQLEwNQQ1MxKTAnBgNVBAMTIFBDUyBNb3RvY29kZXIgU2lnbmluZyBLZXkgNDAtMS0xMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyw56nP0BLRd++nk9E/+K7gXfoOhcK4I7Emd0PGCPFhw1GY/lc0T0dhKW9X807aPQOk+Aum/ YWOpEt5XcybSJcjGlbkpby83dJNvAqwjZAhS1omczJATm8ebepeuieNUFi4ggp+uOhfaWenTwu8Ww+15
NG9h23WUHPD2uTmdJTMwthaHGXKGbOjJiXHdtUYcP7EYzyGVCx7E0TdURHZ9aiewHfd8Z+Jr2hD3yncw
J+CqHQoNh1woUzqwocs0I48eeLdZlWlz0N6vA4EAahNKsdcdQnhxYcjvJ3xMLJalKfm2l6oGgUFbFgpg
zwjGIZ7zXIOSy/g04QAR252g9NZPWBQIDAQABo1swWTARBglghkgBhvhCAQEEBAMCBBAwDgYDVR0PAQH/ BAQDAgeAMB8GA1UdIwQYMBaAFHx6RyE3TGq6OTDCwtbxnZFjolMuMBMGA1UdJQQMMAoGCCsGAQUFBwMD
MA0GCSqGSIb3DQEBBQUAA4IBAQCO/jcXNVjYl78vKVpYawV7U007w44+gphyYSby8gaX9BqGwgDEbdB0lwlRfxnBFfl/LSg0hykotekVEVzMEugx9MBvIdHcuiX0wdmVJ/ SBOB8DHqBMEWSSOvzAakQtYK3RmNk+CDVTYiuki3pQjsh+UX7RMfvrVIO8lsgSFXU+DBDEhu+7RXclPx
dxJs0pVPiQZc/Y7/b23v6WYWIKdfDb48UDv9R9br84Wwu2SW2JLfyhOXdVY5NS0uSJsCq7fhMTqkTcm197wWqQ/wC4oYJrlHUhAHLy9ykcmjldFw/Jjm0U0H7o72CV7U+MHKLMbImNK0DZZS/X0T8HNM9UMy+f
Кажется не совпадает лишь MIDlet-Jar-RSA-SHA1 , а MIDlet-Certificate-1- одинаковые
Также слова MIDlet-Jar-RSA в моём компьютере были обнаружены в файле R365_G_0B.D2.23R_PDS004_LP002E_DRM0001_JPJAVA_G_0B_C650_06_05_54R_SE8402BXXU1117_1FFCG1.smg и PKITrust.html (из lib\midpapi20\com\sun\midp\dev , его прикреплю к сообщению, он на англ. , а у меня нет переводчика )
У кого есть ещё сертификаты ? и будет ли реагировать мидлет на переделанный и всунутый в его jar проверочный (на мой взгляд) класс SecureInstaller.class (его тоже кинул в прикрепление)
И ещё вопрос чем посмотреть файлы с телефона *.crt
Присоединённые файлы
SecureInstaller.rar ( 9.3кб )
Кол-во скачиваний: 76
| Цитата |
| Что за Ява Вирлес Тулкит в котором ты энто нашел, какой версии? Под мотороловким sdk41ga выдает "Unable to load class javax/microedition/io/file/FileConnection" |
| Цитата |
| Кажется не совпадает лишь MIDlet-Jar-RSA-SHA1 , а MIDlet-Certificate-1- одинаковые |
max.wiz
Нет. файловое API у моторол лежит здесь com.motorola.io.*
А javax.microedition.io.file.* у них нет-с. (см. Developer's guide for Motorola C650 стр. 94 - File System Access API)
Для работы с файлами надо подрубить:
javax.microedition.io.* (здесь Connector)
com.motorola.io.* (здесь FileConnection)
P.S. 4inut Спасибо, прошивку нашёл, скачал, поставил. Работает! ЗАодно появились стерео-динамики и поддержка T-Flash, и SD-card. Большое спасибо
max.wiz,
Я правильно понимаю так что АПИ для доступа к файловой системе документировано, но для того чтобы мидлет получал доступ к ФС нужен сертификат для мидлета? То есть типа операционка телефона смотрит - ага, полезли в ФС, проверимка - а есть ли у мидлета, подписан ли он сертификатом? Если подписан правильно - мидлет получает доступ, не подписан - не получает.
Где-то на форуме сказано что сертификат можно купить. То есть компания, которая хочет разрабатывать такие вещи - как-бы вступает в ряды сертифицированных разработчиков для Моторол, платит за это деньги, и получает всё что нужно.
Если так - то всё это дохляк. Хотя-бы потому что врядле найдётся на форуме человек который сможет заплатить думаю весьма немаленькую сумму за всё это.
Выход один - украсть где-то сертификат (с секретным ключом) уже выданный кому-то. Но поскольку эта идея неосуществима - всё накрывается медным тазом.
Фенита ля комедиа.
4inut,
А ты сфоткал то, что тебя просили ? ![]()
Crusader,
Да при чем тут сертификат, если в Виртуальная машина телефона не знает таких класов, даже если есть сертификат, получищ эксепшин при вызове класа !!!
Ectar,
мы говорили в ОБЩЕМ за саму идею доступа к ФС из жабы, а не за конкретный случайный случай с какой-то мобилой. Вполне возможно у кого-то что-то запустилось ислючительно из-за того что в телефон кто-то впендюрил прошивку для этого телефона не предназначенную, да так что тел с новой прошивкой работает. Это ЕДИНСТВЕННОЕ пояснение.
Кто сможет изменить кое-что в одном мидлете?
Просьба откликнуться.
Конкретно есть 2 класса для работы , но нужен "нулевой" прописанный в jad , который запустит те два.
MIDlet-1: Hyper Calc 1, /icons/icon.png, MIDlet1
MIDlet-2: Hyper Calc 2, /icons/icon.png, MIDlet2
больше трех мотор Vxxx не берет
1-й параметр строка которая будет показана
3-й имя класса в жаре
Прописать это в манифест
Crusader,
А тогда что толку говорить, если проверить не начем
Странно, что у неза за прошивка, если ни у кого больше не получаетя запустить..... набы что бы товарисч рааасказал по подробней о прошивке, и самое главное версии ЖВМ
fguy,
Точно больше 2х не берет ? Надо бы проверить... я раньше не пробовал
Osta,
Те 2 класса это законченые мидлеты или просто себе отдельные классы ?
fguy, Спасибо, хорошо. Но не подходит.
Т.е. есть jar . в нем 2 classa - Rec и Voice
есть jad в нём MIDlet-1: Rec,/icon.png,Rec
А нужно jar - в нем 3 classa Rec, Voice, TTT
jad в нём MIDlet-1: TTT,/icon.png,TTT
И чтобы запустился ![]()
Ectar, законченые мидлеты
Ectar
Классы есть, просто у моторол файловое API находится здесь:
com.motorola.io.*
и телефон их видит без сертификата... тока не даёт ни к чему обращаться...
Crusader
А переть кажется бесполезно. Нужно же ещё и подпись посчитать...
Osta
В смысле запустить из мидлета мидлет?
JenFA,
Нет все проще.
Нужен почти пустой стартовый класс прописанный в jad
с определённым названием (к примеру TTT)
затем должны работать остальные два (сейчас они и без него работают)
Ну пусть он просто запустит класс Rec
Osta
Берешь и запускаешь
Я не пониаю в чём проблема
Да, помогите мне сделать 3 класс
Ситуация изначальная
есть jar - файл в нём 2 класса
voice и Rec
лежат по пути com.mot.j2me.midlets.
в манифесте прописано MIDlet-1: Voice,/icon.png,com.mot.j2me.midlets.voice
Всё работает прекрасно но
Мне абсолютно необходимо чтобы
в манифесте было прописано MIDlet-1: ТТТ,/icon.png,com.ТТТ
а в jar находился класс TTT
Это не моя прихоть - нужно делу Мотофанов
PS буду завтра.
JenFA,
Может я чтото провтыкиваю, почему в Motorola_SDK_v4.1_for_J2ME этих классов нету ?
Osta,
Ты классы даш? для вызова классов нужо знать параметры конструкторов....
да и сами класы нужны чтобы скомпилить...
Ectar
Куда ж их дать - не прикрепляются на мотофан (перестройка видать не закончена)
Напиши мне я тебе скину.
Osta
>> в манифесте было прописано MIDlet-1: ТТТ,/icon.png,com.ТТТ
>> а в jar находился класс TTT
класс ТТТ должен находиться в каталоге com, а в нем уже ТТТ
вообще положение класса задается ключевым словом Package
Я запаковывал 3 TombRaider-a в один jar и мне пришлось перекомпилить каждую серию с новым package чтобы разложить все по своим каталогам внутри jar-a и все работало
В моторе Vxxx ограничение на 3 приложения в Jar
Ectar
Ну этого и я не знаю
Я знаю, что com.motorola.io.* в теле быть должны (смотри Developer Guide хоть от той же C650, а javax.microedition.io.file.* там быть точно не должно)
JenFA,
Я тут вдруг озадачился после того как ФотоФанПак мне записал мое твоериние среди Картинок, что скажешь может все таки есть, но без сертификата те классы тупо не видны (не возможно их создать).....
Ectar
Фотофанпак использует com.motorola.io.FileConnection. Только что посмотрел. Так что com.motorola.io.* в телефоне есть.
Открытие файла там происходит так:
FileConnection fileconnection = (FileConnection)Connector.open("file://" + s);
JenFA,
Я так и понял, странно, почему тогда тот фойл браузер что из WTK22 на телефоне не пашет ? Даже не запускается !?
И в Мотороловском SDK 4.1 этих классов нету ?
Ectar,
потому-что файл-менеджер из WTK использует другое API.
Из WTK:
javax.microedition.io.file.*
FotoFunPack:
com.motorola.io.*
JenFA,
А что это за com.motorola.io.*, чтото свое моторолоское?
Где скачать такое апи ?
Osta,
Бухха-ха... Обломс
java.lang.SecurityException: Only the application management software can instantiate a MIDlet.
java.lang.SecurityException: Only the application management software can instantiate a MIDlet.
at javax.microedition.midlet.MIDlet.<init>(+30)
at com.mot.j2me.midlets.voicerec.VoiceRec.<init>(+4)
at SlideShow.startApp(+8)
at javax.microedition.midlet.MIDlet.startAppWrap(+18)
at javax.microedition.midlet.MIDlet.systemResume(+52)
at javax.microedition.midlet.MIDletEventThread.receiveEvent(+177)
at com.jblend.micro.event.AbstractEventThread.fireEvent(+54)
at com.jblend.micro.event.AbstractEventThread.run(+42)
надо сорсы com.mot.j2me.midlets.voicerec.VoiceRec, чтобы сделать его просто классом и убрать отуда митлетство, но не факт что можно так
Ectar
Что такое сорсы ? и что ты сделал в чём облом
Вот мотороловское апи со следующими классами
Factory.class; FunLight.class; FunLightException.class; Region.class; Region_Blank.class; Region_Impl.class; FileConnection.class; FileSystemEvent.class; FileSystemEventImpl.class; FileSystemListener.class; FileSystemRegistry.class; Dialer.class; DialerEvent.class; DialerListener.class;
Отправлю тебе на мыло здесь не прикрепляется
Osta,
Исходники, вообщем в J2ME мидлет не может вызывать мидлет, запрещено.
Я подумал может переделать его и сделать из него простой клас, исходники имеют расширение .java
Ectar, не может - так не может.
Тогда давай по-порядку:
1.Зачем в jade пишется имя класса
2.Как классы между собой обмениваются вычислениями или результатами
3.Можно ли впихнуть весь текст из двух классов в один
4. Как переименовать класс
Гм... ничего, если я вклинюсь в ваш диалог ;?)
SVK, Добро пожаловать
Ты сможешь сделать всё что изложил выше?
Хороший ответ "через стэк" - как через стэйк под пиво
А чего делать-то?!? Я с MotoFunPack (или как его там) не работал. Нужно посмотреть какие возможности предоставляет он без подписи, если никаких, то имхо: на текущем базисе все дальнейшие попытки безсмысленны.
P.S. И чего тебе не нравится в моём ответе :?)
P.P.S. ктоньть может выложить свежие доки от моторолы? а то у меня они старые и неполные ;( заодно и сам MotoFunPack.
2Osta: Получил voicerec. А это рабочий вариант? Если да, то для сборки нам не хватает как минимум: com.motorola.io.FileConnection (сорри, если повторяю уже ранее высказанную кем-то мысль). На крайняк, его можно будет подогнать для сборки собственного приложения на основе вызовов его функционала имеющимися приложениями.
SVK, Вариант рабочий кажись(но сам понимаешь на моторе он не работает)
com.motorola.io.FileConnection можно взять T-Troll прав в папке lib или могу скинуть тебе.
собственное приложение нужно будет если преодолеем сертифик. политику Моторолы
Пока мне нужен мидлет MIDlet-1: SlideShow, /SlideShow/res/slideshow.png, SlideShow.SlideShow
Osta,
И мне тоже подгони бо у меня их нету, может они появились только в "SDK v4.3 for J2ME" , у меня 4.1
Ectar, я же классы
FileConnection.class;
FileSystemEvent.class;
FileSystemEventImpl.class;
FileSystemListener.class;
FileSystemRegistry.class;
и др. тебе на мыло скинул или доки нужны? (Motorola SDK for J2ME Users Guide.pdf хватит ?)
SVK, этот мидлет на эмуле М.3 работает
но из-за сертификата нельзя проверить на теле.
Сертификат мне кажется можно преодолеть (на 99% уверенность).
просто сделате как я прошу- MIDlet-1: SlideShow, /SlideShow/res/slideshow.png, SlideShow.SlideShow.
Osta,
Так я не получил, потому и спрашивал.... закин плз еще раз, а доки - кажется в той доке нету об этих классах
Ectar,
Выслал повтор
а доки глянь здесь http://developers.sun.com/techtopics/mobility/apis/articles/fileconnection.html
Товарищи извините за
но это вообще реально сделать, всмысле есть шанс что вы сделаете это? и как много времени на это дело уйдет???
Osta,
Стоп-стоп, там доки по javax.microedition.io.*, а нам надо по com.motorola.io.* так шо не катит, кстати Сановские у меня есть....
DereK,
voicerecs.zip ( 5.41кб )
Кол-во скачиваний: 2022 SVK,
но это же диктофон, а не ФМ
=))))) (так держать, он не меньше фм нужен =)
-----
на теле запускается, только при нажатии record - происходит короткая вибрация и "якобы" запись прекращается
А возможно создание ФМ с функцией пересылки файлов по Bluetooth? А на Email?
2 SamCrew,
понимаешь, тут доступ к диску получить проблема.....хотя на сколько я знаю блутуф если и будет нормальный ФМ, то скорее всего труда не составит добавить
Ребята так у кого есть дока по com.motorola.io.* ? Дайте мне !!!!
Ectar,
Developer Guide для С650 (где-то в этой теме постили, странице на 2-3). В крайнем случае ищи его на www.motocoder.com
Мда , SVK спасибо огромное
теперь уверенность выросла до 99,5%.
Но, мидлет вроде нерабочий как дикт-н
на EmulatorM.3 пишет,а
на EmulatorA.1 не пишет.
У меня такое предположение,что
создатель мидлета Регрессор
что-то в нём не доделал.
SVK сможешь ли класс слайдшоу
прикрутить к ещё одному мидлету (если "да" то возьми здесь
_http://motofan.ru/board/index.php?act=Attach&type=post&id=1504)
Тоесть просьба та же MIDlet-1: SlideShow, /SlideShow/res/slideshow.png, SlideShow.SlideShow
По большому счёту мне нужен мидлет
который должен иметь доступ к телу моторолы
на любом уровне или дергает микрофон (как в первом случае)
или камеру (как в этом что сейчас тебя прошу)
или просто мидлет который должен открыть
файл с а/мобиле/саунд под названием 1.mp3
тоесть проверить сможем ли мы побороть политику
Моторолы.
Единственное условие нужен мидлет
который 100% должен работать на теле
(в случае с дикто-м - сам мидлет кажись сырой, но сдвиг конкретный)
Может ещё кто присоединится ?
2 Osta,
JenFA,
Понял, спасибо, я просто думал, что оно есть в ДевГайде от 300-600, там нету
Gopher, and All
Нужен мидлет с классом SlideShow в папке SlideShow,
который хочет иметь доступ к ФС моторолы
В манифесте должна быть прописана строка
MIDlet-1: SlideShow, , SlideShow.SlideShow.
SVK добавишь во второй мидлет класс ?
А по-честному сертификат в Мотороле никак нельзя попросить?
Mr.Adsw, конечно можно просить, но за деньги
(последнее сообщение было около 1500$ + ещё что-то)
SVK,
Я тебя очень внимательно слушаю.
Через бат у меня не компилится
Я переписал твой класс
import MobilographyMIDlet;
public class SlideShow extends MobilographyMIDlet
{
public SlideShow()
{
}
}
Но J2ME Wireless говорит что 1 эрор "extends MobilographyMIDlet"
Мне не надо собирать его - нужен только 1 класс SlideShow
Будет жаль если всё прекратится
цели уж больно хороши.
2 Osta,
в этом деле мало осведомлён, но если разьясните, проги дадите, то готов помочь, фм нужен!(в личку пиши или zikos@list.ru)
2Osta: Выше, я говорил про MotoFunPack(или как его там)...
Вообщем - нате (что, как, зачем - незнаю):
Присоединённые файлы
voicerecs.zip ( 48.36кб )
Кол-во скачиваний: 146
2 SVK,
а что это вообще такое? =) (я так понял с камерой связано)
примечание: в проге ни одна из кнопок не пашет
SVK, все хорошо только
MIDlet-1: SlideShow, /SlideShow/res/slideshow.png, SlideShow.SlideShow
Если просто положить класс SlideShow в папку SlideShow то не работает.
Пожалуйста сделай
_60_CAMERA_T722I_2_0_23.rar ( 45.05кб )
Кол-во скачиваний: 46SVK,
Жаль.
Ты не думай, что я просто так прошу тебя
сделать то или иное. Я сам много пробую.
А здесь размещаю просьбы только на то, что у меня
не получается после нескольких попыток.
Так как я однозначно не напишу мидлет,
которому потребуется доступ к ФС,
то прошу черкануть его здесь.
Условия просты :
Первый (или единственный) класс (запускной) SlideShow в папке SlideShow.
Что он должен сделать ? Что угодно
- открыть файл 1.mp3 из папки a/mobile/sound
- открыть файл 1.jpeg из папки a/mobile/pics
- ...или что-то что мы не можем (пока) из-за серт-та.
Всем спасибо,жду.
Заранее спасибо.
2 алл
А зачем вы диктофон выкладывали нерабочий? (точнее не пишуший)
4inut,
Чтобы ты попробовал и сказал, что диктофон не пашет.
Кто сможет переписать код
убрать jpg чтобы показывало все файлы
вот из этого куска
Osta,
попробуй просто убрать строчку
Подскажите пожалуйста,
как изменить строку в классе
с помощью XVI32
Ситуация такая:
в классе строка O = "a/mobile/picture/";
а надо O = "a/";
открываю класс через XVI32
через поиск не находит строку полностью,
но находит a/mobile/picture/
если забить стоку mobile/picture/ нолями
то в классе получается O = "a/\000\000\000\000\000";
если забить стоку mobile/picture/ не нолями, а 20
то в классе получается O = "a/ " ;
,на что ругается уже телефон.
Если удалить в XVI32 строку mobile/picture/ или сделать
реплейс с a/mobile/picture/ на а/ идёт наверное
смещение и DJ Java Decompiler даже не открывает класс.
Дак как же отредактировать чтобы было O = "a/";
Osta,
а если вот так
все нолями или 20, а в конце a/
Osta,
Ковырять Хекс-эдитором - это не вариант, надо декомпилить и менять строку !
Prusa,
не катит если 20 то
Народ, а вообще доступ к микрофону джава-мидлет получить может? А то тут возникла идея гитарный тюнер на джаве сделать... было бы оччень в пользу, ибо нормальный железный тюнер косарь с лишним стоит..
Может есть смысл залить в тело свои сертификаты? Никто с форматом *.crt не разбирался?
В теле есть два сертификата на яву:
motman.crt - Manufacturer Domain (максимальный доступ)
mot3rd.crt - 3rd Party Domain (доступ с разрешение пользователя)
Очевидно, что файл сертификата состоит из 2 частей - заголовка и тела.
Заголовок очень легко определить, сравнив motman и mot3rd в hex - редакторе, они почти одинаковы.
Конец заголовка - 82 01 01 00
Заголовки у motman и у mot3rd отличаются текстом (в motman - Manufacturer domain, в mot3rd - Trusted 3rd party domain) и байтами - offset - 0, байт 2 - motman - 03, mot3rd - 01, и offset 00, byte 09 - motman - 91, mot3rd - BB.
Эти байты, видимо, указывают на уровень доступа.
С телом ещё не разбирался, там какой-то бред идёт
Если его удалить и залить серт в тело, то оно его видит, как мотороловский, но не понимает название (Имя - unnamed)
JenFA, можешь не разбираться пока с сертификатами.
Выход мною найден. Нужна работа с Java.
Что есть у меня сейчас :
мидлет показывает либо png из папки картинок либо 3gp из другой папки
или впрочем любой файл с расширением из 3 букв из папки по определенному
количеству знаков.
Если переделать чтобы показывал любое расширение из любой папки-
всё файл-менеджер готов
Предлагаю сотрудничество.
Osta, как это ты сделал??
Osta,
Поделись с народом технологией. Другие смогут поковырять фитчу... И мечта сбудется....
А пока-что я думаю об остальных возможностях, которые даёт доступ к Manufacturer Domain и мучаю сертификаты
Узнал значение байта offset 00 byte 1 (motman-01, mot3rd-03), он отвечает за возможность отключения серта (замок слева от имени серта, 01-нельзя, 03-можно)
2 Osta,
Кинь сюда нароботки свои пожалуйста
Я готов сотрудничать! Только нужны твои наработки!!!
Osta
Я то не отказываюсь, просто хочецца и сертификаты помучать. Кинь файлы на мыло (jenfa@mail.ru), плиз
2 all ну че комуть кинули на мыло, если да то мне перешлите плиз cs155@mail.ru
2 Osta,
2 JenFA,
Тебе Osta скинул на мыло? Если да перешли пожалуйста мне!
4inut
Ничего не кинул
И пропал ещё куда-то....
2JenFA,
Мне тоже не скинул, он же в онлайне в личку ему напишите, мне он не отвечает =(
Прошу прощения - кончился интернет
(представляю что обо мне подумали
когда я вывалился из топика)
Сейчас работаю через Укртелеком,
но почту не отправляют.
Ничего страшного- все файлы есть на Мотофане.
(правда долго искал- поиск оставляет желать лучшего)
Тоесть что мы сейчас имеем :
подписать сертификатом
java-приложения требующего доступ
к внутренним папкам и файлам телефона - это уже не проблема.
Недалёкая реальность - менеджер файлов (это опробывал - работает прототип), аудио-видео-плейер, DJ-миксер, слайдер-фотошоп фотографий и т.п.
Доступ к микрофону (диктофон, транслятор разговора в интернет по GPRS, и т.п. ?)
или к камере (скоростная экспресс-съёмка, псевдовидео, реальное видео, и т.п. ?)
- уверенность 50/50.
Но нужен человек который перепишет код.
С чем я работаю - декомпилированный мидлет http://motofan.ru/board/index.php?act=Attach&type=post&id=1490 от моторолы
Что он делает :
в таком виде - перебирает файлы из папки "a/mobile/picture/" если jpg то выводит в список
Я действую только с помощью xvi32 - сам измененный класс у меня не компилится ![]()
если изменить слово jpg на png выводит все png в список
если изменить слова
O = "a/mobile/picture/"; на
O = "a/mobile/video/b/"; а слово jpg на 3GP то выводит все 3GP из папки a/mobile/video/b/ в список
Нужно решить задачу - создать типа цикла перебора по всем папкам (строка O = "a/mobile/picture/")
и убрать проверку на конкретный тип файла (строка ...compareTo("./") == 0 || as[j1].compareTo("../") == 0 || s1.compareTo("jpg") != 0) )
Перебор по всем папкам есть в http://motofan.ru/board/index.php?act=Attach&type=post&id=1478).
2 Osta, Да, думали не очень хорошо, надеюсь ты не икал?;)Слайд шоу скачал, щя разберемся...
2 Osta,
А ты чем Декомпилировал?
А че то мой DJ не пашет!!!
Усе скачал заново, сейчас займусь slideshow
ftp://ftp.mpi-sb.mpg.de/pub/simtelnet/win95/java/djdec377.zip
2 Osta,
Короче я разобрал слайдшоу и плеер е398, о результатах тогда утром!
Osta
Можешь точнее описать последовтаельность действий? Только я поменял jpg на gif, тело стало ругаться на ошибку при проверке!
2ALL
Плиз, помучайте кто-то формат сертификатов X.509 PKI (RFC 2459) и алгоритм шифровки EMSA PKCS v1.5 (RFC 2437, http://grouper.ieee.org/groups/1363/P1363a/contributions/PKCS_1_Encoding_Method.doc), я уже сделал самопальный сертификат, который понимает тело, отсалось только подписать JAR, с помошью EMSA PKCS v1.5! Если у кого-нить есть софт для кодирования в EMSA, дайте, плиз.
Так что, ни у кого нет софта, чтобы зашифровать 40 символов с помощью PKCS#1 v1.5? Плохо... Это пока-что всё, что мешает мне подписать JAR левым сертификатом
SVK
Ну, ты меня понял
Я имею ввиду, подписать jar чтобы он проверился этим сертификатом ![]()
Почему уязвимости? Просто подписать мидлет под сертификат, который залил в тело я. Пока юзер не зальёт .crt файл в тело, не включит его в меню "Защита телефона", ничего не получится
Вот тебе и уязвимость.
OFFTOP: так чё способ обхода хвалёных сертификатов найден???
Gopher, не обхода, а выдачи сертификата самому себе, но нужна софтина для шифрования по EMSA PKCS#1 v1.5 (им шифруется подпись JAR), как сделать незашифрованную подпись JAR, я знаю, но от неё толку - 0.
нашел прогу для кодировани и декодирования по EMSA
но для декодинга нужен ключ!!!
можешь взять у меня на http://prusa.fromru.com/Crypt/SetupEzEncryptionN.zip
Prusa
Знаю, ключ надо самому придумать
Любой ![]()
Дай линку, буду мучать.
Опять Вы за сертификаты ![]()
Всё таки просьба направить свои действия на переписание класса.
Чтобы не сомневались в моих словах - вот выкладываю инструкцию
по тому, что Вы опять ищете (она зашифрована и я в тот же день выложу пароль
как будет сделан класс под ФМ).
Просто довертесь - через неделю или меньше у Нас будет ФМ,
если его кто-то просто напишет. А затем.......
Знал бы я Java.........
Присоединённые файлы
11111.rar ( 3.34кб )
Кол-во скачиваний: 44
osta_atso
Я тебя и спрашиваю, как этот класс переписывать и чем? Я не понял и пошёл мучать серты. Я поменял в SlideShow.class jpg на gif и теперь он не проходит проверку.
osta_atso,
че то не понял про ник
какой пароль на архив
Prusa, кинь ссылку на прогу для шифрования в EMSA, плиз
JenFA,
http://prusa.fromru.com/Crypt/SetupEzEncryptionN.zip
Osta,
Начал ломать выложенный ранее тобой запароленный архив...
Ничего сложного, только у мну после изменения содержимого файлов в JAR, а следовательно и самого JAR, тело начинает ругатся на ошибку проверки. Это из-за незнания твоего секрета? Зачем его утаивать?
Osta, если тебе не сложно, выложи свои файлы motman.crt и mot3rd.crt. (/a/mobile/certs/root/x509/kjava/motman.crt (mot3rd.crt)
Prusa, это не EMSA PKCS, это BlowFish
Из readme.txt:
Oktan, да что толку, ведь там нет ФМ мидлета.
ты там найдешь только доказательство возможности
доступа к нутрям Моторол поддерживающих Java.
Что тебе это даст в этом топике ?
Хотя понимаю начало революции против Моторолы
2 JenFA,
лови
Присоединённые файлы
kjava.rar ( 1.57кб )
Кол-во скачиваний: 56
JenFA, вот мои
Присоединённые файлы
proby.rar ( 1.84кб )
Кол-во скачиваний: 44
Osta, просто мне это доказательство и надо! Ты что, добиваешься совпадения SHA1 - хешей? Каким образом?
Gopher, Osta Спасибо.
JenFA, но зачем ? Ведь все просят написать ФМ.
Пожалуйста.
Osta, так ты скажи как его писать? Вообще не тестируя? Зачем нам "революция против Моторолы?". Скажи как получить доступ к Manufacturer Domain и все будут довольны! Зачем тебе эти запароленные архивы и прочее?
Osta
Хотя бы выложи рабочий модифицированный SlideShow!
P.S. Всё-таки, как ты несовпадение хэшей обходишь???
Osta,
Детский сад....
Osta
То есть всё, чем ты можешь помочь - это запароленный архив? Ну так сразу и скажи.
JenFA, не делай из меня цел...чку.
Исследуя несправедливое сертифицирование
от Моторолы я заметил,что после установки
мотороловского подписанного мидлета (М_П_М)
файл J2MEST в папке Kjava заимел строку с
указанием главного запускного класса.
Затем выяснил, что телефону не нужен jad файл
(следовательно и размер jara после установки не играет роли).
Затем наглый ход замена М_П_М своим мидлетом
И всё заработало ! Сумбурно ?
Ход действий:
1. Устанавливаем М_П_М, например Слайдшоу
(можно скачать для этого же дела Фотофан и мп3плейер )
2. Через p2kman видим, что он установился под именем j2me0.jar
3.Удаляем его , j2me0.jad и j2me0.rms (если включали его до этого)
4. Загружаем свой мидлет с запускным файлом SlideShow. SlideShow под
именем j2me0.jar
5. Меняем его атрибут на «4» (хотя может и не надо).
Всё, при запуске Слайдшоу мы запустим свой мидлет с правами М_П_М !
Так я 20.01.05 получил список png файлов, а затем и любых файлов из
телефона с расширением из 3 знаков.
Я благодарен SVK что он делал запускные классы для этих экспериментов.
Прикрепляю файлы для первой пробы.
В архиве настоящий Слайдшоу и переделанные два j2me0.jar (у меня установился под "0"
если у вас под "3" или "8" переименуйте в j2me3.jar или j2me8.jar и т.д. по аналогии)
Ставите оригинал, заменяете на j2me0.jar из папки pgn_v_picture,
кидаете png-шек в папку "картинки", смотрите как он теперь запустится .
Если замените на на j2me0.jar из папки 3gp_v_b - создайте в папке
"video" категорию "b" переместите в неё свои фильмы в 3gp и тоже мидлет
считает их.
Что и требовалось доказать. Попробуйте на других моделях Моторол
С уважением, OSTA.
PS сколько времени потребовалось бы на ломку пароля
"UhDHuD6u9iblkNcMSzbxTWqXnBxp5UhDHuD6u9iblkNcMSzbxTWqXnBxp5" ?
__
Присоединённые файлы
read.rar ( 130.13кб )
Кол-во скачиваний: 107
Osta
Спасибо! Но я нашёл более элегантный способ! Ты меня всё - таки натолкнул на решение ![]()
(см. вложенный файл j2me1.pat)
Он отвечает за права доступа мидлета. Заливаешь мидлет (любой), узнаешь его номер (х) переименовываешь файл в j2meX.pat, заливаешь в /a/mobile/kjava/ и всё! Мидлет получает привелегии Manufacturer Domain (полный доступ)
!
Не забудте телефон перезагрузить ![]()
Для теста - вложенный мидлет SecurityTest. Играет мелодию из файловой системы (путь вводите сами "file://a/mobile/...") или из JAR (там есть мидюха - a.mid : "resource:/a.mid")
P.S. Security Test имеет кучу багов
но главное он делает - играет мелодию (midi, mp3, amr)
P.P.S. Надо прогу накатать типа p2kJavaPermission
Присоединённые файлы
SecurityTest.rar ( 4.12кб )
Кол-во скачиваний: 79
JenFA, ну чтож, я очень рад что и такой способ есть.
Я знал, что ты тоже BEST.
Мы теперь точно порвём моторолу :-)
Все писать вкустные мидлеты !
JenFA подскажи почему у меня компилятор
не находит классы файлконнектор хотя я их ему
ложу во все папки и проекта и в корень.
Так Регрессор компилит Java диктофон , а у меня такая фигня.
ps У меня не скачивается SecurityTest.rar
в принципе я понял что там написано, но хотелось бы
поглазеть.
Я просто сделал небольшую солянку из нескольких виртуальных машин...
Потому как просто подсунуть классы действительно не получилось... ![]()
Однако диктофон не работает - плеер с путем capture://audio не создается -
вываливается с ошибкой... Ну и соответственно в файл ничего не попадает... ![]()
2 JenFA,
Такс.
Очень рад, что все идет именно так.
Давайте определимся с названием и структурой.
Предлагаю название самой идеи, например, как сказал JenFA, p2kJavaPermission как раздел.
А внутри него все приложения, которые будут разрабатываться на базе идеи.
Жду ваших предложений.
JenFA,
Osta,
ну-ка объясните правильно ли я понял:
подменой jar можно добиться что любой мидлет будет иметь доступ к файловой системе?
Prusa, Да или подменой j2meX.pat ,который создаётся
при установке М_П_М, но я думаю и не только к ФС, а и к
составляющим телефона (микрофон,камера,ЮСБ....).
Тут или Regressor добьёт доступ или надо
искать М_П_М с правами доступа к этим вещам.
palach, может как-то покруче ?
ALL на других моделях эти способы мимикрии работают ?
Osta,
на самом деле в pat-файле, описывающем доступ, просто нужные байты устанавливаются в 1 - если есть доступ туда-то, или в 0, если доступа нет.
осталось определить, какие байты что активируют. не надо даже другой pat заливать, просто скачиваешь, ставишь нужный байт - заливаешь обратно.
постараюсь накопать в прошивке - как виртуальная машина pat файл обрабатывает...
Сижу, читаю... Jav'у не знаю... Но мне это все чертовски нравится.
Т.к. создание ФМ уже не за горами... Есть несколько идей по поводу.
1. Нужно ограничить доступ к определенным файлам, удаление которых повлечет частичную или полную неработоспособнось. Если нарвится свобода, то хотя бы выдавать предупреждение.
2. Визуальную часть можно подсмотреть у ФМ на WinMob2003. Есть древо папок и просмотр фалов в отдельных папках.
3. Нужно сопоставить однотипным файлам соответствующие иконки: музыке - музыку, картинкам - картинки.
4. Думаю, поддержка англицкого будет не лишняя.
5. Аплетом скорее всего будут пользоваться и дилетанты, поэтому названия устройств хранения можно сделать более понятными для простого обывателя: Telephone Memory, Memory Card...
6. Без изменения атрибутов фалов ФМ - не ФМ.
7. Было бы не плохо сделать развернутую инфу о файле: имя, размер, дата создания, атрибуты и т.д.
8. Для полной интеграции с телефоном неплохо было бы сделать цветовые схемы для ФМ.
9. Можно научит ФМ проигрываь музыку, смотреть видео и картинки. Но тогда это уже будет Multimedia File Manager.
10. Нужна адаптация для телефонов с/без карт памяти и маленьким/большим дисплеем.
11. А если и диктофон будет... Так, ну это я уже замечтался... :)
Уже очень давно у меня была идея, но тогда мне все кричали что это не возможно, чуствую сейчас "Истина где-то рядом", мне всегда хотелось чтобы просматривать фотки можно было не только в формате 128*96, но и приближать их типа zoom при просмотре, на джостик можно было бы назначить движение картинки, те стобы разглядеть более мелкие детали которые теряются при уменьшении реального размера самим телефоном.
Vilko, ну это вообще cool
повключать все доступы и клонировать patы по количеству приложений!
Oktan, согласен и видел вроде все эти фишки с атрибутами
даже автора песни и др. теги читает плейер
с/без карточки тоже /а/ /в/
диктофон тоже вот-вот будет (он мне больше нужен
сейчас прототип Регрессора у меня показывает 395с возможной записи )
OFF не сломал пароль ?
ALL на других моделях эти способы мимикрии работают ?
Osta
Товрищи! Вы рулите однозначно!
Никто не пробовал еще к BT достучаться через таким образом похаканный
мидлет?
UncleRus
Поставь себе этот мидлет и скажи, что он выведет. Это я насчёт bluetooth.
Присоединённые файлы
listports.rar ( 1.25кб )
Кол-во скачиваний: 70
Ну мужики вы даете , СУПЕР !!!
Загрузил filemanager.jar в в600 работает . А что за папочка skins ?
xx-xx-xx, какие каталоги у тебя видны из ФМ напрямую? (Не с помощью "Задать папку")
JenFA,
попробуй этот PAT
посмотри разрешения мидлета на который его поставишь.
Присоединённые файлы
j2me20.rar ( 217байт )
Кол-во скачиваний: 68
JenFA, FileConnection, а как организовано считывание по всем папкам в мп3плейере ?
С учётом того, как его надо ставить, то это уже не дилетанты )))
Ну Bezols, организует для них прогу http://84.252.140.16/board/index.php?showtopic=9323&hl=
Палач на дворе 21век - социальный инжиниринг
я бы не глянул даже на проект с таким названием :-)
mobile
-audio
--vavr
-video
-picture
--папки которые я создал
-temp
--eopu
-mib
--cache
--cookies
--pcf
--offline
--gen
-system
-mms
--mmstemplate
-mixedmedia
-licenses
-partial
-settings
-email
-cert
--root
---x509
----ssl
----kjava
-ringtone
-kjava
-skins
насчёт bluetooth мидлет выдал COM0
Prusa, а я как раз планировал забить эти адреса FF - ками
тот pat, что я выкладывал, он тоже не совсем родной ![]()
Но результат меня явно удивил ))) ЗАПИСЬ МУЛТИМЕДИА??????????
Кстати, паралельно я стал догадыватся о структуре pat - каждый байт - видимо, одно разрешение, а его - значение - список возможных параметров.
Сейчас по-быстрому, попробую capture://audio сделать!
xx-xx-xx, странно. У меня почему-то видны только
/a/
----mobile
-----------audio/*
-----------picture/*
-----------video/*
Osta, это видимо связано либо с С650 вообще, либо только с моей С650
JenFA,
про папки, у меня отображается как и у тя
xx-xx-xx
Значит, таким образом с блютус работать не выйдет ![]()
Prusa
А если через "Задать папку" открыть какую-то невидимую, например /a/mobile/kjava/ ?
P.S. createPlayer() failed (при Запись мултимедиа - Разрешить
)
JenFA,
Prusa, у тебя получалось что-то сделать с Записью мултимедиа? Я даже не понимаю, что он подразумевает под этим пунктом, т.к. при Всегда Запрашивать он на createPlayer("capture://audio") даже не выводит запрос на доступ ![]()
2 Prusa,
2 JenFA,
Gopher, а кто их знает? Пока что единственная идея - записать в программу список всех папок на p2k телефонах, чтобы она при каждом запуске проверяла каждую папку из этого списка на существование...
Osta, у меня mp3 плеера даже нет, то есть есть, но я не помню где ![]()
А прогу я писал сам, с нуля.
JenFA, http://motofan.ru/board/index.php?act=Attach&type=post&id=1478 работает и на с650 но для здорового экрана (и там что-то было о системных и скрытых атрибутах)
Кстати после перепрошивки на 23 появляется новая папка
я понимаю, что мелочь но всё-же учитывать мелочи лучше сразу.
off а кинь все те файлы сюда в "файлы" временно ,у меня не дружит
закачик с народом , pls
Osta
Вот все файлы:
http://www.rl.odessa.ua/9m/hp/all.rar
тут ещё лежит j2me20.pat - интересный pat файл от Prusa, включает опции доступа к "Запись мултимедиа", правда, звук так записать и не получилось
Насчёт прав доступа под названием "Запись мултимедиа" (ну все покоя не дают!) думаю следующее:
Существует неизвестное API, которое находится здесь - com.motorola.extensions.*, что в него входит, мне неизвестно
Есть подозрение, что это АPI может писать звук ![]()
Единственный известный класс оттуда - com.motorola.extensions.ScalableJPGImage используют и SlideShow и FotoFunPack, он позволяет динамический изменять размер JPG картинок. Сегодня разберусь с его функциями и напишу класс-заглушку, чтобы можно было использовать его в своих программах.
Остаётся вопрос - какие ещё классы входят в это API? Если у вас есть какие-то мидлеты, сделанные Motorola, плиз декомпильните их и проверьте использование неизвестных API ![]()
P.S. Прочёл топик сначала, нашёл мессагу про вирус-мейкеров. Люди, что же мы наделали?
Круто, ФМ работает!
Еще бы он мог просматривать файлы, хотя бы текст, вообще тогда бы улет!
Люди!!! Я в этом полный лох, но я вам памятник поставить готов
МОЛОДЦЫ ТАК ДЕРЖАТЬ!
Как вариант можно попробовать выдрать класс com.motorola.extensions из прошивки
телефона а декомпилировать его... Чем собственно щас и занимаюсь...
Там интересные строчки попадаются...
И кстати это судя по всему просто класс с подсобными функциями...
Там ipToString встречается и прочая лабуда... Но зато в прошивке есть упоминание о классе
com/jblend/media/content/capture
JenFA,
по поводу пата надо после установки его в тело, вручную установить все разрешения.
по ходу ты был прав что там стоят значения каждого из разрешения.
у меня правда запись тоже не заработала (пробовал на стандартом MMADEMO из WTK).
еще вопросик: влияет ли установка MIDP 2.0 в jad и manifest на что-либо?
про listport у меня показывает COM0 и больше ничего, хотя пробовал и с включенным bluetooth и с выключенным. Можт там другие функции?
Regressor,
я тоже об этом думал, пробовал найти классы в прошиве. но ничего не получилось.
надо Vilko попросить чтоб покопался на досуге.
Может поможет ,
В PhoneBook3D в Разрешениях кроме данные пользоват. , есть еще сетевые настр-ки -> сообщения.
xx-xx-xx,
с патом кот я выкладывал тоже это есть
Имел бы соотвектствующие права, всем бы памятники при жизни поставил!!! ФМ Пашет! Поковыряю, расскажу как на Е398 это пашет.
Таксь...
ФМ показал файлики в корне и папку mobile, в mobile - audio, picture, video - внутри этих папок мои файлики. Задал папку /b/ - ФМ показал всю структуру на карте памяти. Свойства файликов на карте не показались - нет доступа. При задании других папок в памяти телефона, ФМ показал все.
Класс все работает. Молодцы.
А случаем нельзя скрутить ФМ, плейер и слайдшоу вместе? Вот была бы МегаРульСофтина. В Мотороле подавились бы уж точно.
2 Artist,
ну микс всегда вроде хуже, чем поотдельности
, да и места больше занимать будет, мож кому просто ФМ или плеер нужен....
Gopher,
Мысль как раз в том, что бы был предпросмотр для тех кто плохо знает файловую структуру.
Мне лично не надо, я и так понимаю что удалять из мультимедиа можно, а что нет. Тем более что давно все уже грохнуто.
2 JenFA,
может размер лучше в кб показывать?
2 Artist,
я думаю надо сделать несколько профилей(ну типа эксперт, новичок...), чтоб если например кто то и так знающий ф.систему мог работать там со всеми файлыми, новичку же системные файлы закрываются....ну а просмотр, ты прав действительно надо...
Gopher, сейчас проблема - заставить FileConnection эти системные файлы увидеть
Насчёт размера в КБ - это же ещё не файловый менеджер, а мидлет для тестирования функций файловой системы.
P.S. Тут прямо и мысля назрела. MP3 плеер использует базу /a/mobile/audio/mp3player.mdb. Из неё он берёт список mp3 (не знаю где, скорее всего в теле, а карту каждый раз перечитывает)... идея такая - пусть p2ktools, например при чтении списка файлов создавала какой-нить /a/filelist со списком файлов на теле?
Ладно, шутка... Хотя у меня других идей по поводу получения списка системных файлов нет ![]()
1. Сделал класс-заглушку для com.motorola.extensions.ScalableJPGImage, теперь его можно использовать в своих программах.
2. Обновил заглушки для фалового API, теперь они корректно ставят аттрибуты.
3. FileConnection.list() вообще не видит файлы с аттрибутом "Скрытый". Судя по всему, именно из-за этого не видны некоторые (почти все
) каталоги ![]()
Вообще с атрибутами лажа какая-то. При попытке снять аттрибут "Запись" с файла, мидлет вылетает с IOException, а после установки аттрибута "Скрытый" вообще перестаёт видеть этот файл ![]()
Prusa
Установка MIDP-2.0 в jad вроде только говорит устройству при установке, что мидлет будет использовать midp20, а тел уже сам решит, что с ним делать. А покопаться таки надо, ибо не зря же "Запись мултимедиа" в прошиве есть.
-----------------
Теперь файлы в архиве:
1.filemanager.jad (jar) - file manager, который (пытается) ставит атрибуты. Не забудте поставить pat.
2.photomanager.jad (jar) - тестовый мидлет для ScalableJPGImage. Сделан для несчастных людей, вроде меня, которые хотят нормально смотреть фотки на телефоне (в 320x240, 640x480 не выходит из-за нехватки heap
, думаю как это обойти... ) Изменять размер картинки - 3,9, двигать - 2,4,6,8. И тут про pat не забудте.
3. Классы - заглушки для файлового API (com.motorola.io.*)
4. Класс - заглушка для ScalableJPGImage (com.motorola.extensions.ScalableJPGImage)
Присоединённые файлы
archive.rar ( 20.51кб )
Кол-во скачиваний: 164
2 JenFA,
Gopher, надо pat - файл залить, посмотри сверху по теме, он даёт полный доступ к функциям файловой системы, без него можно только читать список файлов.
У меня ,к примеру , все работает без установки "pat". И удаляет и смотрит....и так же видит три каталога.
Может в прошивке дело - (09R)?
leomitrich
Однако... Найди в теме файл SecurityTest.jad (jar) и попробуй проиграть какую-нибудь MP3 из файловой системы. Скажешь о результатах.
P.S. SecurityTest есть в этом архиве - www.rl.odessa.ua/9m/hp/all.rar
JenFA
photomanager png и gif тоже открывает, двигает, просто не увеличивает
Osta, знаю, и не должен ибо класс называется ScalableJPGImage
А как JPG? Увеличивает?
P.S. Всегда хотел нормально фотки на телефоне смотреть, а то пока до компа доберешься ![]()
P.P.S. Сейчас качаю Motorola SDK for J2ME 4.4 , посмотрю, что там нового...
P.P.P.S.(оффтоп) Почитал предидущие мессаги. Появился вопрос - у Укртелекома инет есть???
JenFA
Увеличивает ещё как.
, ну да ScalableJPGImage , но картинки в др. форматах
тоже гонять по экрану прикольно.
Со звуком глухо пока ? Кстати Мотор может и караоке
читать из kar файлов.
OFF А в Одессе нет ? или ты не пробывал
у нас в Кривбассе тел. 4930555 логин ukrtel пароль ukrtel
Да все круто ,ну может быть можно видео во весь экран...???
JenFA, в новой версии filemanager
1. Не заходит в пустые папки skins,ringtone и т.д. выдает ошибку java.lang.NullPointerException:null:ocurred at ListFiles , предыдущий filemanager заходил .
2. Переименовать не переименовывает .
photomanager - Супер ![]()
JenFA,
Странная вещь: SecurityTest как с патом, так и без него выдает:
Program Flow Error
javax.microedition.media.MediaException: createPlayer() failed. : createPlayer() failed.
И MP3 плеер от E398 не пашет :-(
Newlap, скорее всего, неправильно задал путь к файлу, например для Mp3 - файла test.mp3 в категории MP3 надо задать следующий путь: file://a/mobile/audio/MP3/test.mp3
xx-xx-xx, NullPointerException исправил (вроде бы
) Кстати, у мну тоже видит пустую папку video, к чему бы это? Переименовывать не должен, там этой функции нету (точнее, уже есть
) P.S. photomanager прикрутил к ФМ, теперь можно открывать jpg, jpeg, png, gif.
leomitrich,
Чё-то я политику моторолы не понимаю... что, без серта можно файлы сносить?
Osta, у kar - файлов формат тот-же, что и миди, у них просто один канал берётся под текст.
Сделал временное решение для невидимых папок - в jar-е лежит файл hiddendirs.lst, туда я записал список папок для c650, мидлет берёт список сначала из FileConnection потом из файла, папки взятые из файла, отображаются полупрозрачной иконкой.
При этом строка
/a/mobile/certs/root/x509/ssl
автоматически добавляет и /a/ и /a/mobile/ и /a/mobile/certs/ (и т.д.), то есть их добавлять не обязательно.
Постараюсь сделать плеер для музыкальных файлов.
newА у 3gp, вроде, родное разрешение - 128x96.
Присоединённые файлы
filemanager.rar ( 17.12кб )
Кол-во скачиваний: 313
JenFA
Пустые папки так и выдают NullPointerException , пака видео тоже (она пустая).
Переименовать работает
(Большущие тебе за это спасибо
, зделай еще плиз копирование )
Нашёл sun-овские доки по MMAPI, в которых написано как можно получить свойства мултимедийного API в телефоне.
Написал небольшой мидлет, который выводит эти свойства.
Итак, что же мы видим на С650?
supports.audio.capture: false
supports.video.capture: false
supports.recording: false![]()
Ой, забыл файл прикрепить
Присоединённые файлы
mmapiprops.rar ( 1.58кб )
Кол-во скачиваний: 48
Черт , проверьте это на других Моторах
У нас стоит http://bf.monis.ch/prog/java/midp/midp-2-mmapi/overview-summary.html это от него зависит ?
Я англ не знаю :-( глянь ещё http://216.239.59.104/search?q=cache:2VNd-Ufb_20J:developers.sun.com/techtopics/mobility/apis/articles/fileconnection.html+fc.exists()&hl=ru о
ФС вроде
Osta, он самый. MMAPI v1.1
Из спецификации:
Optionality for Implementation. The API offers a wide range of features for different purposes. Design of the API allows implementations that can't provide real support for all the features to leave some of them unimplemented.
А у меня вообще не получается запустить Filemenager. пишет ошибка приложения. Может кто даст полную инструкцию по установке?
SamCrew
Подключи телефон к MIDWay, включи в midway "Debug log", запусти на телефоне мидлет и скопируй debug log сюда.
ООО!!!Ура!!! дождался.Спасибо вам!!! Жаль мидведь не работает прийдется ручками
JenFA
Попробовал точно как в примере - создал категорию MP3, закинул туда файл test.mp3, ввел строку как написано - эффект тот же. У меня еще не работает MP3Player от Е398, который точно работает на С650, писали. А поскольку файловая система практически идентична, логично предположить, что он должен работать и на Vx00 серии...
Странно но у меня не работает photomanager или как его там. Pat залил, запускаю фотомэнаджер, жму кнопку открыть, вибираю фотку, и вылетаю из приложения с сообщением Application error ..че за?
4inut
Подключи телефон к MIDway, включи в MIDway Debug log, потом запусти photomanager, добейся Application error и скинь сюда debug log.
P.S. Попробуй воспользоватся просмоторщиком картинок из filemanager (там тот-же просмоторщик, что и в photomanager, но немного изменённый)
Заново залил паты, заработал фотоманаджер, прога просто супер =))
2 JenFA,
Слушай кто-то говорил про доступ к камере, и запись видео. Но как?! Ведь когда сворачиваеш приложение и входиш в камеру, телефон вырубает яву, то же самое и mp3+java, video+java как с этим быть???
2 JenFA,
А нельзя сделать мидлет, который будет снмать скриншоты с экрана?
2JenFA:
А где можно скачать этот ФМ ?
2JenFA,
А если получится получить доступ к камере? Какие это сулит возможности? Запись видео, увеличение разрешения камеры ( по аналогии со смартфонами там одип пиксел пополам делят =)) ?
4inut
Скачай мидлет mmapiprops.rar из моего предидущего поста и полюбуйся на
video.capture.supported: false
2 JenFA,
Ок полюбовался, пусть теперь это закачают себе владельцы е398 или v3, посмотрим, что у них напишет!
JenFA,
слушай можно попросить тебя в последнюю версию ФМ внести в меню пункт - Переключится на Карту памяти - программно просто перйти к /b/ ...заранее спасибо...
и еще - так реально лазить по папкам в ФМ а открывать их "системой", т.е. стандартными средствами телефона???
p.s. на E398 тоже выдало video.capture.support:false Хотя прошивали же E398 прошивкой от v620 и он снимал видео, наверное тут идет дело о возможности Явы а не телефона вообще....
Побаловался менеджером, у меня он ничего кроме навигации по каталогам больше не делает (удалять я ничего не пытался).
Вот какие мессаги он пишет при разных действиях:
1) при нажатии на файле (пробовал на: TXT, GIF, WAV, MID. По ходу он на всех спотыкается) джойстиком aka Enter, выдаёт следующее:
java.lang.SecurityException
Access is denied.: Access is denied.: ocurred at readFileFully
2) при просмотре свойств файлов (тоже на любом по ходу):
java.lang.SecurityException
Access is denied.: Access is denied.: ocurred at showProperties
3) при входе в пустую папку:
java.lang.NullPointerException: null: ocurred at ListFiles
Ещё запускал mmapiprops.jar, он выдал одни false-ы и null-ы.
Тело и прошка под ником (ничего не перешивал).
Добавлено:
Неплохо было бы ещё прилепить функции копирование и перемещения и поддержки флешки. А также сортировку по имени.
Есть ещё маленькая просьба: можно ли сделать прокрутку длинных имён файлов по типу "бегущая строка" (если кому не нравится, то можно сделать это опциональным).
JenFA,
А можно в photomanager побольше зум сделать.....???
Да и как там насчет полноэкранного видео 128х128...
еще было бы неплохо реализовать поворот для проигрывания видео и в E398
Вот иконки директорий и файлов.
Всуньте их, и у меня есть предложение :
Левую софт-клавишу - удалить
Правую просмотр ! (скоро же будет просмотр и правка)
Если можно, кинь исходники на АСЮ (в визитке) !
Присоединённые файлы
file_manager_icons.rar ( 14.6кб )
Кол-во скачиваний: 59
2Acid Demon,
Какие исходники? фм"а??? Скачай себе java dj decompiler и смотри эти "исходники" =)))))) LOL!
где его скачать ?
2Acid Demon,
URL http://www.siemens-sl45.net/download/soft/SetupDJ.exe
А скомпилить как ?
Acid Demon,
Так же как и обычную яву
Извините, а куда нужно пат файлы заливать. А ещё в архивах выложеных лежат файлы с расширением class их то куда заливать? Помогите разобратся пожалуйста. Зарание спасибо!!!
2 Yarik650,
Заливаеш фм или фотомэнэджер в тел, п2ктулсом (или чем други) заходшь в папку kjava, если фм там называется j2me0 , то береш пат из архива переименовываеш в j2me0, удаляеш оригинальный пат из тела, и заливаеш этот! понял?
4inut,
Спасибо что обьяснил уже все работает. Вроде где-то писали что не все папки видны дык у меня все показывает и файлы всередине тоже. Молодцы ребята!!!
2 Yarik650,
???? У тя какой то телефон суперский; И все файлы показывает и 3d phone Book запускает
у меня вопрос? а почему он на флэшке что-то видит, что-то нет, и еще, чет я не понял про обзор картинок
Ciber SLasH
Залей pat - файл
DereK, само собой, о возможностях явы ![]()
new, photomanager увеличивает до 320x240, на больших разрешениях кончается память (пытался сделать с 640х480). Дело в том, что распакованный JPG 640x480 весит
640x480x24/8/1024 = 900 kb
Память для Java - 800 - тело мидлета - переменные ![]()
Разрешение 3gp - 128x96, смысла нет %(
Sufy
filemanager.rar ( 31.19кб )
Кол-во скачиваний: 158Acid Demon
motoclasses.rar ( 1.84кб )
Кол-во скачиваний: 40О!!! Вот ето я и ждал!!!ВСЕ мечта сбылась
когда копирование будет ?
JenFA,
А можно ли сделать, чтобы выбор диска происходил при запуске, а в корне каждого устройства был выход (..) в выбор устройства хранения.
ФМ заработал, при запуске СекуритиТеста с патом от ФМ аплет выдал следующее:
javax.microedition.media.MediaException: start failed. : start failed.
Кто-нить, выложите pat от мотороловского плейера, хочу поэксперементировать...
Все супер, осталось сделать - Cut, copy, paste....
ну а мп3 когда нить будет ФМ проигрывать???
а картинки он смотрит??? (сорри не могу просто именно сейчас новую версию залить...)
и еще теоретический вопрос, вохможно сделать 3gp плеер, подобный стандартному но с возможномтью перемотки, это очень актуально для владельцев E398, т.к. хочется фильмы на теле и клипы длинные нормально смотреть...если при просмотре позвонят, приходится начинать сначала...
ФМ заработал, при запуске СекуритиТеста с патом от ФМ аплет выдал следующее:
javax.microedition.media.MediaException: start failed. : start failed.
Кто-нить, выложите pat от мотороловского плейера, хочу поэксперементировать...
Oktan
Сделал. Теперь, если в телефоне более одного устройства хранения (вставлена флешка), то добавляются эти функции.
DereK
FileManager.rar ( 23.92кб )
Кол-во скачиваний: 129Добавьте мои иконки ! Лежат в стр 16
JenFA, стукнись ко мне в асю ! На счет иконок !
Какая у тебя ася ?
Acid Demon, см. подпись. 8193085.
КТО СЕГОДНЯ БУДЕТ ЕЩЁ ЗДЕСЬ ? я уже 20 мин сижу - ни одного сообщения !
Acid Demon пожалуйста поспокойней.
не плоди сообщения , лучше редактируй одно.
JenFA их потом перечитывает.
JenFA,
Бааальшое спасибо! Теперь намного легче блукать по файловым дебрям.
А можно ли осуществить просмотр ASCII-файлы, не имеющие расширение?
Еще было бы неплохо перед просмотром джипега выбирать процент масштабирования картинки, а то зум работает с некоторой задержкой.
Oktan
Он читает, но только те, к которым может получить доступ. (Так уж получилось, что в ФС мотора почти все файлы без расширения - защищены
). Попробуй залить какой-нить файл без расширения и попробуй открыть...
Acid Demon
Тебя прозрачность выставлять учили?
Ладно, вот FM с твоими иконками...
Присоединённые файлы
FileManager.rar ( 34.06кб )
Кол-во скачиваний: 120
JenFa
слышь, только я запускаю новую версию проги -
пишет
java.lang.Excption:javax.microedition.rms.
RecordStoreException :
com.jblend.rms.FileNotFoundException occured at
HiddenFilesHandler.getHiddenFiles :
javax.microedition.rms.
RecordStoreException: com.jblend.rms.
FileNotFoundException occured at
HiddenFilesHandler.
getHiddenFiles : ocurred at ListFiles
JenFA,
Кроме иконок ничё нового там нету7 ???
Acid Demon
Попробуй удалить файл j2meX.rms, где Х - номер мидлета.
Santehnik
нет
чуваки, че мне делать... в версии, которая весила 14 кб всё было OK
JenFa, у тебя ася вырублена !
RMS файла там нету !
С файловым менеджером все ОК! Только когда захожу в пустую папку, какая-то надпись появляется и назад не могу выйти. А в 3Д книге не могу сделать запись на телефон. В мидвее пишется:
AMS: 37, 3
VB: inside JkDeviceStopBacklightFlash()
VB: inside vb_SendMsgToSynergy()VB: inside vb_SendMsgToSynergy()AMS: 79, -127
AMS: 75, 147644
AMS: 62
DATAFLOW: 1
AMS: 17
А на телефоне ошибка приложения.
А в остальном все отлично.
Залил этот ФМ просматриваються все папки, не только аудио, видео и пикчер. 3gp, mp3, jpg удаляет без проблем, др. не пробовал, но вот фотосы не просматривает.
Выдаёт
java.lang.
SecurityException.:
Access is denied.:
Access is denied.:
ocurred at
readFileFully
Я так понимаю нет доступа для чтения.
Мидлет лил через MIDway, радной пат заменил на тот что был приклеен здесь, точнее на j2me20.pat, соответственно заменив 20 на нужный.
В чём может быть касяк?
NetCrash,
Нужен pat другой. Тот, который ты залил - это версия для записи мультмедии.
Вот с этим у меня все работает.
Присоединённые файлы
j2me1.pat ( 1.14кб )
Кол-во скачиваний: 84
Может, попросим palacha забабахать раздельчик в Разработчиках? ФМ уже фунциклирует - есть, что показать.
Но вернусь к нашим баранам... ФМ с новыми иконкими не установился - Неверный файл.
JenFA
А поддержка просмотра текстовых файлов будет? Очень хочется...
Newlap,
По аське узнал у JenFA, что будет завтра МР3.
Oktan,
Давно пора. Palach, рульная прога - пора ребят в разработчики.
От аси далеко и два дня не мог писать в форум. Глюки забодали.
2Oktan,
Я у нового фм с иконками джад новый сделал прогой Jadgen, становился , работает.
Oktan спасибо!
поставил последний мененджер, до этого у меня был самый ранний, который даже флешку не видел....
картинки смотрит супер, но есть несколько вопросов....
сразу говорю у меня E398
было бы классно если бы была возможность повернуть картинку горизонтально, т.к. картинки с фотика нормально не посмотришь...это было бы просто супер, если это воможно, нафиг тогда вообще Slide Show... еще по идее сам телефон (а не ФМ) не может просматривать картинки больше 640 на 480, просто у меня у друга S65 и он мне часто по блютузу фотки сбрасывает а просматреть мне их не удавалось (фотки 1280x960), просто красный крестик на белом фоне и все. При поптке смотреть такую картинку в ФМ прога вылетает, надо бы это исправить, сделай чтоб просто ошибка вылетала (ну окошко) что картинка больще 640 на 480 и ее нельзя посмотреть...
ну и желательно сделать чтоб при просмотре картинка сразу подстраивалась под дисплей (у E398 это 176x220)...зум довольно тормозной
ну и немного обидно что анимированные картинки ФМ не смотрит
по сравнению с ранними версиями прога стала более медленная, довольно долго открывает каталоги с большим числом файлов, я понимаю что это не исправишь, но хотя бы всякую графику надо свести к минимуму...
желательно сделать чтоб при переименовании файла в графе "В" (ну т.е. в то что переименовать) автоматически уже было ".*" (т.е. исходно расширение)...
и еще возможно многие с моей просьбой не согласятся, но это экономит время...
сделай чтобы при выборе устройства хранения (ну в самом начале)
чтоб Телефон это был не "/a/" , а "/a/mobile/" - все равно в корневом каталоге почти никто не лазиет!а если кому и надо зайдут через ".."
ну и флешка точно надо чтоб не "/b/", а "/b/mobile" - потому что коневой каталог флешки ничего не имеет кроме этого каталога, конечно если туда никто ниче не качал...
Ахтунг! ФМ не оказался чувствителен к регистру расширения! Он открывает *.jpg, но не открывает *.JPG. Прошу исправить.
Чтобы ускорить наФигацию, предлагаю сделать дерево папок, клацнешь на папку и попадаешь в обычный режим. При этом в меню должен быть пунк "Дерево папок", клацнув по которому возвращаешься к дереву папок.
FileManager.rar ( 53.04кб )
Кол-во скачиваний: 261JenFA
Залил, все работает. Thanks ! Папок видит больше чем P2K проги. Например в папке audio есть подпапка vavr с vr файлами. Надо бы удалить ![]()
Что дальше ? Проигрывание 3gp ? Доступ к камере еще не получил ? Было бы неплохо сделать съемку псевдовидео - один за другим jpg быстро щелкать, чтобы потом в видеофайл на компе соединить ... Это возможно ?
2 Rider_J,
Зачем на компе? Прям на телефон в 3gp зашивать!
2JenFA,
А если в папку скинс залить скины! Эффект какой нибудь будет?
4inut
2 Rider_J,
А еще ранее говорилось, что фм на яве работать не будет, так как не сертификата...
Так что, насчет моторольских телефонов на 100 % ни в чем уверенным быть нельзя
JenFA
Еще одно предложение - просмотр файлов неизвестного форматакак текст - наверно будет интересно (Например читать книги не через ридер)
4inut
Добавился глюк, например полазил допустим по папкам флешки потом тебе нужно в телефон, начинаешь подниматься "выше" по папкам, а когда доходишь до последнего верхнего уровня "Диск" вылетает ошибка, дисков не видно!!!спасает Выбрать Диск (меню - 8)
проверил мп3 миди и амр - все отлично - перемотка (кстати она мотает по процентам штоли???не по секундам??), стоп, пауза, громкость - все работает.только ИМХО нужно чтоб громкость сразу 100 процентов была!
Копирование проверил работает (с тела на флешка), а вот вырезать не работает! (выделяю файл - меню - вырезать - сменить диск - ищу папку - вставить - никакого эффекта, ни удалился где был, не вставился где нужно!), кстати прикольно было б в процентах писать на сколько файл скопировался!
попрежнему Когда фотку большого разрешения (бльше чем может тел) открываешь - сразу вылет проги
ну и плюс хотел бы все фичи которые я уже называл сделать! А так просто чудесно!
4inut,
ну тут ты не прав. Сертификат всегда купить можно, если уж ну никак не получается его бесплатно заполучить, а новые возможности явы не купишь, если данная версии явы в телефоне не поддерживает запись видео и фотканье, то все!!!
и идея с щелканьем jpg тоже фигня, кому это нафиг надо? вообще камера нафиг не нужна, а тут еще так извращаться, имхо JenFA только время потеряет занимаясь этим, а ведь заметьте никто его время не ценит!!!
Оппа!
МР3 не играет, выдает
Exception occured
java.lang.Exception: javax.microedition.media.MediaException: createPlayer() failed. at AudioPlayerUI.
prepareFile : javax.microedition.media.MediaException: createPlayer() failed. at AudioPlayerUI.
prepareFile : occured at initializing AudioPlayerUI
Может из-за того, что файлы большие слишком?
Newlap,
наверное слшеом наигрался!!! попробуй выключить и включить тел - должно заработать!
а ты pat кстати заливал?
JenFA,
Надо WinAmp подставить !
Блин, Отцы! даже не ожидал что такое сделают! Это даже могло бы заменить родную смотрелку картинок если бы:
Jpegи не показывались их уменьшенными вариантами. Гиф отлично показывает.
Можно было в режиме просмотра листать файлы.
ну... ещё масштабирование было бы ваще идеально
и мп3 плеер если бы:
Отключалась подсветка.
Шаг изменения громкости можно больше сделать.
ну и листинг файлов тоже...
И ещё... почему то с флэшки в папке audio показал первые 5 файлов
и все
всего их там 12.
DereK
Заливал...
Не помогло... А mp3 плеер от e398 тоже не работает. Может дело во флексе или в прошивке?
png не смотрит
а по поводу винампа так давайте Мп3 плеер переделаем
JenFA добавь в джар
Background: True
FlipInsensitive: True
Ето чтоб ФМ держать в бекграунде !
Кстати тут выше было очень верное замечания о том что Gif сразу 1:1 показывает, а jpg нет...
Oktan,
По поводу клона Тотала - глупо. я об этом думал, как только увидл первую версию ФМ! а потом понял - два таба (окна) нужны тем кто активно работает с файловой системой, постоянно чтото копирует, переписывает, переименовывает,ищет по дате и т.д. нам же простым смертным в телефоне это ну никак не нужно, только эргономику уменьшит, а реальной пользы нет. Согласись? Ты вообще че нить часто с флешки на тело копируешь или на оборот...
меня единтсвенное пугает только вопрос по блютузу, ведь в C650 блютуза нет, поэтому JenFA может не захочет делать поддерджку этой фичи, а очень бы хотелось, ведь через ФМ копировать файлы друганам по блютузу - благое дело...
вообще привожу список того что хочется лично мне (JenFA ответь что хоть теоретически ты можешь осуществить):
1. Поворот картинок на 90 градусов
2. Поддержка видео в ФМ (а особенно перемотка эта самая моя горячая просьба) + поворот видео на 90 градусов (ну это не желание а уже мечты)
3. Исправление всех глюков на настоящий момент (вырезать, корневой каталог Диски и т.д.)
4. Хочу чтобы все левые папки и файлы не отображались. Можно вообще строго сделать, чтоб в каталоге audio видны были только - mp3, midi, amr и т.д. в pictures - gif, jpeg, png, bmp , в видео - mp4, 3gp, а из папок оставить только audio,video,pictures и kjava...
5. поддержка блютуза
6. чтоб память телефона (при выборе диска ) была /a/mobile/ а не /a/ и флешка не /b/ а /b/mobile/
7. в будующем когда ФМ будет доделан хочется чтоб была прога смотрелка doc и xls файлов (тогда моторам вообще равных нет!) тоже с поворотом на 90 ![]()
а вообще надо скидываться и покупать JenFA E398
А никто не думает о своб. времени JenFA ? Возьмить исходники и допишите !!!!!!!
2 DereK,
2 Oktan,
ействительно для тотола экран маловат...., тогда уж проводник лучше ))))
Насчет доступа к камере, может из этого мидлета удастся стырить механизм..
Присоединённые файлы
Mobilography.rar ( 61.03кб )
Кол-во скачиваний: 63
Gopher,
По оперативным данным из аськи, JenFa завтра порадует нас исправлением глюков и добавлением дерева каталогов.
А вот ,что хотелось бы - при просмотре txt файла чтобы можно было перейти в редактирование (типа блокнота). Набитый текст из rms доставать замучаешься, а тут бы файл сбросил и все....
2 Oktan,
Gopher,
да уже в кб...
насчет исправления глюков - руль...блин хоть бы еще добавил чтоб телефон это /a/mobile/ а флеш - /b/mobile/ а не /a/ и /b/ соответственнр
p.s. я наверное уже достал этой просьбой
2 JenFA:
посмотри список теоретических желаний на странице 20 плиз и ответь что реализуемо...
2 JenFA:
надо создать еще одно приложение:
запускаешь его, оно ищет pat ФМ и заменяет его нужным (с правами доступа)
что б не переписавыть каждый раз pat ФМ руками при обновлении версии
:-) ГЫ
JenFA
При просмотре Png - выдает Ошибка приложения
Текстовые файлы не просматривает , после выбора тхт файла нечего не происходит (после этого не работает переименовать, удалить)
Mid,mp3 - выдает Exception occured
java.lang.Exception: javax.microedition.media.MediaException: createPlayer() failed. at AudioPlayerUI.
prepareFile : javax.microedition.media.MediaException: createPlayer() failed. at AudioPlayerUI.
prepareFile : occured at initializing AudioPlayerUI
Если у файла расширение MID не отображает иконку с нотой
Такие файлы как mma_ucp не переименовывает .
С пустыми папками теперь все ОК
xx-xx-xx
Значит не у меня одного такой глюк с аудио. А у тебя MP3 плеер от E398 работает?
а можно создать пат что бы и доступ к файлам и конект в инет
2grafmoto,
Не выйдет, чтоб заменить пат нужен доступ к фс, а для доступа к фс нужен пат...
Вот он круговорот мотора в природе..
new,
А коннект в сеть и так есть! Jimm же без пата работает!