Сохранение сейвов игр и прог : Прошивкокопательство : Форум

Страница 1 из 5: [1] 2 3 4 5 »

 Zormax:
11.05.06, 17:50
 Если кому-то интересно и есть возможность, попробуйте вытащить из тела сейвы каких нить игр, после очистить данные игры и потом заново закинуть вытащенный сейв...

Директория с сейвами:
tpa/system/java/db/
Файлы с расширением .d
графика я заметил лежит в файлах с окончанием bab + цифра.

В последней версии мини оперы есть возможность сохранять картинки в RMS, попробуйте вынуть сейв оперы и вынуть из сейва картинку например с помощью проги:
http://supertrubka.org/modules/mydownloads/showfile.php?lid=83

 anonymous:
12.05.06, 18:03
 А можно ли эту папку засунуть в прочее--java, так было бы намного удобнее.
Я бы сам покопался в прошивке через winhex, но там надо какие-то пробелы оставлять лишние и т.д.

 Zormax:
12.05.06, 18:31
 Pharaon
Пробуй так, ищи hex-данные:
Код:
2F007400700061002F007000720065007300650074002F00730079007300740065006D002F006A006100760061 


Там увидишь:
/tpa/preset/system/java

Меняй на:
Код:
2F007400700061002F0075007300650072002F006F0074006800650072002F006A006100760061006400620000

что эквивалентно:
/tpa/user/other/javadb

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

Проексперементируй...

 anonymous:
13.05.06, 13:54
 Подредактировал прошивку, залил... В папке прочее появилась папка javadb,
в ней папка settings, в settings файл javaprofile. При загрузке java
на телефон в javadb создаёться папка sec с некоторым файлом, при удалении
которого приложение перестаёт запускаться. После первого запуска приложения
в javadb создаются папки db и verif с некоторыми файлами, при удалении
которых настройки java приложения сбрасываются.
Попробовал настроить цвета интерфейса Opera mini, затем копировал на комп все
файлы из папок db и verif, после удалив их на телефоне. Настройки opera mini
вернулись в первоначальное состояние. Копировал обратно файлы (правда, в папку
verif MFE копировать категорически отказался), настройки восстановились такими,
какими делал их я :-D
Получается, патч работает!

 Zormax:
13.05.06, 16:25
 Pharaon
Здорово! Респект тебе за экспериментаторство!

Да, забыл добавить, если не трудно еще так попробуй:
Значит поменяй настройки оперы, слей сейв.
Потом удалил оперу, поставь заново, залей тот сейв, подхватит ли этот сохраненый сейв после переустановки мидлета, вот в чем воспрос...

 anonymous:
16.05.06, 20:53
 mobilefree
Наконец-то время появилоь попробовать! Новости неутешительные... Я пробовал заливать файлы и только в db, потом и в db, и в sec, и в verif. Не хочет пахать и всё!

 Zormax:
16.05.06, 21:29
 Pharaon
А вот это плохо и в принципе я предсказывал, т.к. имя файла *.d генерится из каких-то временных параметров...
Раз программа поставлена с нуля, значит файл *.d уже с другим именем...

Спасибо за время, что нашел на проверку.

 anonymous:
17.05.06, 06:52
 В общем, попробывал и я эту фишку - идея неплохая и очень даже полезная, но не все так просто...
Итак, мои наблюдения:
Имя для файла *.d (да и вообще всех временных файлов) можно почерпнуть из файла suites.dat (в папке /tpa/preset/system/oaf/applist/ - если стоит патч на яву, то соответствено в папке прочее\java\applist\). Имя это генерируется особым способом, но все-таки постоянное (по крайней мере для одного телефона). Перед тем как поставить патч слил временные файлы и удалил всю яву, затем после перепрошивки попытался восстановить настройки - в некоторых играх все восстановилось четко, с другими, в частности Jimm и OperaMini, не все так гладко.
На примере Оперы попытаюсь объяснить в чем подвох:
После того, как мы установили ява-приложение, а главное, пользовались им, в папке tpa/system/java/db/ появляются временные файлы\файлы конфигурации. Для Оперы это будет выглядеть примерно так:
j4f70657c6584324f706524077bab0.d
j4f70657c6584324f706524077bab1.d
j4f70657c6584324f706524077bab2.d
j4f70657c6584324f706524077bab3.d
....................................................
В первом файле хранятся настройки приложения и сведения о последующих файлах (...bab1.d, ...bab2.d и т.д.), во втором могут быть набранные адреса в интернете и история, в третьем - информация о закладках и т.д. Почему могут быть? Потому что, например, когда мы вводим в Опере какой-нибудь адрес - он сохраняется в файл ...bab1.d, но если тот уже существует, то записывается в файл со следующим номером (начало имени j4f70657c6584324f706524077bab общее для всех файлов конфигурации Оперы, для других приложений, использующих несколько файлов для сохранения своих настроек аналогично - дальше идет порядковый номер). Поэтому нельзя сказать, что например адреса будут строго в файле с конкретным названием - придется просмотреть все файлы (через блокнот или Hex-редактор). И вот если мы нашли в каком файле лежат те же адреса и заменили его на файл с предидущими, то все пучком (по крайней мере в Опере точно)! Возникает вопрос: "А почему бы не заменить все файлы разом?" Но тут не все так просто: в первый по порядку файл видимо записывается еще какая-то информация (возможно дата создания или еще какая уникальная на время сохранения или запуска приложения характеристика). И настройки в этом случае не воспринимаются, а создаются новые, причем с номерами далее по поядку или предыдущие, если свободны.

P.S. В зависимости от приложения, когда имеется только один файл конфигурации - его можно просто заменить и настройки восстановятся (может сработать не на всех). Если сейвы не зашифрованы, то можно их с легкостью подправить ;-)

[ Редактировано ArtLab в 17.5.06 07:01 ]

 gagaa:
20.05.06, 10:57
 А чем эти значения изменить?,ну чтоб ява в папке прочее была.винхексом пробывал.он их не находит.его версия 11

 anonymous:
20.05.06, 22:04
 Итак, путем проб и ошибок я почти разобрался в принципе образования и использования настроек ява-приложениями...
С позволения mobilefree обобщу все вышесказанное:

Оговорюсь сразу: подразумевается, что у вас стоят два патча - патч на яву (/tpa/preset/system/oaf/ -> /tpa/user/other/java) и патч на сейвы (tpa/system/java/db/ -> /tpa/user/other/java/db), таким образом в папке прочее должна быть папка java, а в ней помимо файлов *.jad и *.jar еще две - applist и db. Нужно это для того, чтобы необходимые файлы можно было вытащить обычным файлменеджером!

В папке db вложены четыре папки:

db
sec
settings
verif

Для нас представляют интерес только две: db и verif (в settings лежит файл javaprofile, в котором прописан интернет профиль, используемый ява-мидлетами; в папке sec лежит по файлу для каждого мидлета, причем все эти файлы совершенно одинаковы и имеют размер по 17 байт)

В папке verif тоже лежит по файлу для каждого мидлета и они тоже фиксированной длины (64 байта), однако они отличаются даже для одного и того же приложения, установленного в разное время (например, если удалить мидлет, а потом заново установить, то содержимое соответствующих им файлов в этой папке будет различным). Назначение этих файлов мне не совсем понятно, но все же при переносе старых настроек их желательно тоже заменять (кстати, так как эти файлы не имеют расширения, то при сохранении их через MyPhoneExplorer в качестве расширения дублируется имя файла и получается оно довольно длинным - порядка 29 знаков, поэтому при заливки обратно в телефон программа ругается и не хочет их копировать - будте внимательны)

В папке db, собственно, и находятся конфиги явы - файлы с расширением *.d либо *.r

Имена для файлов конфига (в папках db, sec и verif) образуются из имени ява-мидлета плюс, возможно, и еще из чего. Для сравнения:

j4f70657c6584324f706524077bab - имя для файла Opera_Mini.jar

j4f7065c242bd514f706524077bab - имя для файла Opera_Mini_1_20.jar

Причем, так как в папке db может быть несколько файлов для одного приложения, то к основному имени добавляется еще одна цифра - порядковый номер файлика.

Далее, в папке applist лежит еще один очень важный для нас файлик - suites.dat. Из него мы можем сопоставить имя файлов конфига и мидлета, которому они соответствуют. В нем же записана информация об именах файлов конфига (и их количестве на данный момент) для каждого приложения! И записана эта информация в неявном виде, т.е. ручками не подправишь... Это и составляет основную сложность для переноса сейвов!

Таким образом, если ява-приложение хранит все свои настройки в одном файле, то достаточно подменить соответствующие файлы в папках db и verif. Если таких файлов несколько (далее речь пойдет о файлах только в папке прочее\java\db\db, так как именно в ней хранятся файлы настроек), то все уже сложнее: может получиться, что в backup'е у нас файлов 5 для данного приложения, а в телефоне их всего 2, тогда простая замена существующих и дозапись нехватающих файлов не поможет - в лучшем случае настройки будут восстановлены наполовину, в худшем (если имя файла не соответствует содержимому) просто будут созданы файлы со "свободными порядковыми номерами"

Происходит это по двум причинам:
1) Когда приложение использует несколько файлов для хранения своих настроек - они (файлы настроек) не создаются все сразу, а по мере необходимости: например, в Опере... запустив в первый раз, мы воспользовались лишь поиском через Google и не вводили ни одного адреса - создается файлик с историей, затем мы ввели адрес - создается файлик с адресами и т.п. Вполне возможен и иной порядок: сначала адреса, потом история...
2) А ведь все в том же файле suites.dat прописано сколько файлов конфига должно быть и под какими номерами... Мы и сами можем нарушить порядок, например, имеется файлы с порядками 0 и 1, мы создали файлик с порядком 2, тогда когда придет время для создания следующего файла настроек, окажется, что "место" 2 уже занято и будет создан файл с порядком 3...

В этом случае можно заменять все файлы скопом - всю папку java (для всех приложений, установленных ранее), что не совсем удобно и рацианально. Либо, если все же количество файлов конфига в backup'е и телефоне совпадает (можно также попробовать уровнять количество пройдя один уровень или поставив какой-нибудь параметр настройках), то есть вероятность, что настройки лягут гладко. Либо самому определить, в каком файлике хранятся необходимые настройки (допустим, адреса для оперы - можно через блокнот просмотреть) и заменить именно его.

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

В заключение скажу лишь, что файлы в папках db и verif создаются только после первого запуска установленного ява-приложения.

P.S. Так как патч на сейвы в моем случае немного отличается от mobilefree (IMHO, лучше пусть все будет в одной папке), то значения

2F007400700061002F007000720065007300650074002F00730079007300740065006D002F006A006100760061

/tpa/system/java/db/
нужно менять на

2F007400700061002F0075007300650072002F006F0074006800650072002F006A006100760061002F00640062

/tpa/user/other/java/db
Страница 1 из 5: [1] 2 3 4 5 »

URL этой темы:
https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=170

© 2005-2018 supertrubka.org