Expand and refine software catalog
This commit is contained in:
@@ -50,11 +50,12 @@ description: Описание категории на русском языке.
|
||||
Markdown.
|
||||
6. `homepage` — необязательный URL домашней страницы.
|
||||
7. `source` — необязательный URL исходного кода.
|
||||
8. `author` — необязательное имя автора или название организации-разработчика.
|
||||
9. `screenshots` — обязательный массив путей; используй `[]`, если изображений
|
||||
8. `forum` — необязательный URL темы программы на форуме.
|
||||
9. `author` — необязательное имя автора или название организации-разработчика.
|
||||
10. `screenshots` — обязательный массив путей; используй `[]`, если изображений
|
||||
нет.
|
||||
10. `versions` — обязательный непустой массив версий.
|
||||
11. `additional_files` — необязательный массив файлов, не привязанных к версии.
|
||||
11. `versions` — обязательный непустой массив версий.
|
||||
12. `additional_files` — необязательный массив файлов, не привязанных к версии.
|
||||
|
||||
Новые версии добавляй в начало `versions`, от новых к старым. Каждая версия
|
||||
имеет такой вид:
|
||||
@@ -87,6 +88,11 @@ description: Описание категории на русском языке.
|
||||
SHA-256 не добавляй в индекс программы: они хранятся только в автоматически
|
||||
создаваемом `catalog/files.yaml`.
|
||||
|
||||
`description` файла добавляй только для существенной информации: отличия от
|
||||
других вариантов, особого назначения или дополнительных материалов в архиве.
|
||||
Не повторяй в нём название программы, номер версии, имя файла или тип
|
||||
«программа», «дистрибутив», «исполняемый файл».
|
||||
|
||||
### Короткое описание
|
||||
|
||||
`summary` выводится рядом с названием программы в списке категории. Напиши
|
||||
@@ -109,12 +115,17 @@ additional_files:
|
||||
|
||||
- Названия категорий, описания программ, версий и файлов пиши на русском языке.
|
||||
Официальные названия продуктов и технологий не переводи.
|
||||
- Если доступно авторское описание, сохраняй его лексику, тон, порядок мыслей и
|
||||
характерные формулировки. Не переписывай текст в нейтральном справочном стиле
|
||||
и не заменяй авторские термины своими. Исправляй только оформление Markdown,
|
||||
явные опечатки и очевидные грамматические ошибки.
|
||||
- Сохраняй полноту исходного описания. Не сокращай перечень возможностей до
|
||||
общего пересказа и не удаляй значимые технические подробности.
|
||||
- Содержимое каждого `description` интерпретируется как Markdown. Для длинного
|
||||
описания со списком используй литеральный блок `|-` и Markdown-списки; для
|
||||
обычного абзаца, перенесённого на несколько строк, используй `>-`. Не вставляй
|
||||
HTML-разметку.
|
||||
- Каждый пункт Markdown-списка начинай с заглавной буквы.
|
||||
- Не выдумывай даты, ссылки, возможности или платформы. Неизвестное
|
||||
необязательное поле лучше не добавлять.
|
||||
- Сначала пытайся определить версию по странице, имени файла, README и
|
||||
@@ -134,8 +145,13 @@ additional_files:
|
||||
- Дистрибутивы и отдельные исполняемые файлы храни в ZIP, совместимом со
|
||||
встроенным распаковщиком Windows XP: методы Store или Deflate, без шифрования
|
||||
и Zip64. Не добавляй RAR, 7z и незапакованные EXE.
|
||||
- При перепаковке сохраняй имена, содержимое и время изменения файлов внутри
|
||||
архива.
|
||||
- RAR, 7z, ZIP и отдельные EXE перепаковывай только командой
|
||||
`pnpm repack-archive <путь>`. Она создаёт рядом проверенный ZIP и сохраняет
|
||||
имена, содержимое и время изменения файлов. По умолчанию исходник остаётся;
|
||||
`--replace` используй только когда его нужно удалить после успешной проверки.
|
||||
Для другого пути назначения используй `--output <путь>`.
|
||||
- После перепаковки замени путь в `index.yaml` и выполни
|
||||
`pnpm fill-metadata`, чтобы обновить `catalog/files.yaml`.
|
||||
- Архивы должны проходить через Git LFS согласно `.gitattributes`. Остальные
|
||||
файлы хранятся в обычном Git.
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ description: |-
|
||||
Полное описание в Markdown.
|
||||
homepage: https://example.org
|
||||
source: https://github.com/example/project
|
||||
forum: https://example.org/forum/topic
|
||||
author: Автор
|
||||
screenshots:
|
||||
- img/screenshot.png
|
||||
@@ -78,9 +79,12 @@ additional_files:
|
||||
pnpm install
|
||||
pnpm fill-metadata
|
||||
pnpm fill-metadata:check
|
||||
pnpm repack-archive path/to/archive.rar
|
||||
pnpm tree
|
||||
pnpm typecheck
|
||||
```
|
||||
|
||||
`fill-metadata` пересобирает `catalog/files.yaml`. `tree` принимает путь и флаги
|
||||
`--paths`, `--versions`.
|
||||
`--paths`, `--versions`. `repack-archive` создаёт совместимый с Windows XP ZIP и
|
||||
проверяет содержимое и timestamps; флаг `--replace` удаляет исходник только
|
||||
после успешной проверки.
|
||||
|
||||
Binary file not shown.
@@ -1,30 +1,41 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: ArmDebugger
|
||||
summary: Отладчик ARM/Thumb-кода для телефонов Siemens 65/70/75-й серии.
|
||||
summary: Дебаггер для телефонов Siemens 65/70/75-й серии.
|
||||
description: |-
|
||||
Отладчик для телефонов Siemens 65/70/75-й серии.
|
||||
|
||||
Возможности:
|
||||
- автоматическая генерация CGSN-патча по слитому фулфлешу;
|
||||
- просмотр содержимого памяти телефона в HEX-дампе;
|
||||
- ARM/Thumb-дизассемблер с inline-ассемблером;
|
||||
- пошаговая трассировка программы или процесса;
|
||||
- установка точек мониторинга на любой адрес флеш-памяти и на запись в
|
||||
диапазон RAM;
|
||||
- редактирование памяти, в том числе флеш-области, с использованием замещения
|
||||
flash-страниц;
|
||||
- поиск байтов, строк и ссылок в памяти;
|
||||
- интеграция с Keil ARM Tools;
|
||||
- дамп памяти в файл, вызов функций flash с параметрами и hex/bin/dec
|
||||
калькулятор.
|
||||
- Автоматическая генерация CGSN-патча по слитому фулфлешу
|
||||
- Просмотр содержимого памяти телефона в HEX-дампе
|
||||
- ARM/Thumb дизассемблер с inline-ассемблером
|
||||
- Пошаговая трассировка программы или процесса
|
||||
- Установка точек мониторинга на любой адрес флеш-памяти и на запись в
|
||||
диапазон RAM
|
||||
- Возможность редактирования памяти, в том числе флеш-области (используется
|
||||
замещение flash-страниц)
|
||||
- Поиск байтов/строк в памяти, ссылок
|
||||
- Интеграция с Keil ARM tools
|
||||
- Дополнительные функции: дамп памяти в файл, вызов функций flash с
|
||||
параметрами, hex/bin/dec калькулятор
|
||||
|
||||
[Инструкция по работе с ArmDebugger](/docs/reverse-engineering/arm-debugger).
|
||||
homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html
|
||||
forum: https://web.archive.org/web/20160806060433/http://forum.allsiemens.com/viewtopic.php?t=20735
|
||||
author: Chaos
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "0.7.9m2"
|
||||
released: "2012-04-07"
|
||||
description: >-
|
||||
Модификация Dimadze для BenQ-Siemens: работа с MallocAddress, мониторинг
|
||||
внешней и виртуальной RAM, дополнительные паттерны Nucleus и подсветка
|
||||
указателей.
|
||||
files:
|
||||
- path: files/ArmDebugger-079m2.zip
|
||||
platform: win32
|
||||
- version: "0.7.9"
|
||||
released: "2006-12-28"
|
||||
files:
|
||||
- path: files/ArmDebugger-079.zip
|
||||
description: Отладчик, краткое руководство и примеры для Keil ARM Tools
|
||||
description: В комплекте краткое руководство и примеры для Keil ARM Tools
|
||||
platform: win32
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,16 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: ATCGSN.Debug
|
||||
summary: Дебаггер телефонов Siemens на платформе EGOLD через AT+CGSN.
|
||||
description: >-
|
||||
Дебаггер для чтения и изменения памяти работающего телефона Siemens на
|
||||
платформе EGOLD через расширенную команду AT+CGSN и установленный в прошивку
|
||||
патч.
|
||||
homepage: https://web.archive.org/web/20050901015815/http://alexsid.antex.ru/index.php?main=techinfo.php
|
||||
author: ACiD[mrp]
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "1.2.0.0"
|
||||
files:
|
||||
- path: files/ATCGSN.Debug-1.2.0.0.zip
|
||||
platform: win32
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: CGSN Debugger
|
||||
summary: Дебаггер телефонов Siemens на платформе EGOLD через патч AT+CGSN.
|
||||
description: |-
|
||||
Дебаггер для работы с внутренней памятью RAM, ROM и Flash телефонов Siemens
|
||||
на платформе EGOLD через соответствующую версию патча AT+CGSN.
|
||||
|
||||
- Чтение участка памяти в файл;
|
||||
- Запись и заполнение памяти;
|
||||
- Поиск данных в пределах сегмента;
|
||||
- Мониторинг выбранного участка памяти;
|
||||
- Вызов процедуры по заданному адресу с установкой значений регистров.
|
||||
homepage: https://web.archive.org/web/20050901015815/http://alexsid.antex.ru/index.php?main=techinfo.php
|
||||
author: KonstanT
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "1.3"
|
||||
files:
|
||||
- path: files/CGSN-Debugger-1.3.zip
|
||||
platform: win32
|
||||
Binary file not shown.
@@ -0,0 +1,16 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: Siemens Debugger
|
||||
summary: Дебаггер телефонов Siemens на платформе EGOLD через BFB Mode.
|
||||
description: >-
|
||||
Дебаггер для телефонов Siemens на платформе EGOLD с открытым BFB. Для работы
|
||||
требуется патч, открывающий BFB Mode и отключающий проверку CRC; примеры
|
||||
патчей для разных моделей входят в комплект.
|
||||
homepage: https://web.archive.org/web/20050901015815/http://alexsid.antex.ru/index.php?main=techinfo.php
|
||||
author: ACiD[mrp]
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "1.7.2.16"
|
||||
files:
|
||||
- path: files/SiemensDebugger-1.7.2.16.zip
|
||||
platform: win32
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,58 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: Smelter
|
||||
summary: "Исследователь FullFlash телефонов Siemens: EEPROM, ленгпак, меню и ресурсы прошивки."
|
||||
description: |-
|
||||
Эта программа предназначена для исследования фуллфлеша телефона. Она
|
||||
вытаскивает из фф информацию о еепромах, ленгпаке, меню, картинках, мелодиях,
|
||||
файлах и многом другом, после чего показывает их в удобном виде. Программа
|
||||
заточена под 55-ю серию, но, по идее, должна грамотно работать и с
|
||||
фуллфлешами других телефонов. Изначально предназначена для флешекопателей, но
|
||||
может быть полезна и неискушенным пользователям.
|
||||
|
||||
Возможности:
|
||||
|
||||
- Вывод найденной в фф информации;
|
||||
- Просмотр, загрузка и выгрузка блоков EEPROM, расшифровка содержимого
|
||||
отдельных блоков, создание резервных копий и определение IMEI;
|
||||
- Просмотр и редактирование ленгпака, загрузка и сохранение всего ленгпака или
|
||||
его области;
|
||||
- Исследование системы меню и поиск точек входа элементов;
|
||||
- Просмотр и выгрузка картинок из фф;
|
||||
- Просмотр, прослушивание, загрузка и выгрузка мелодий;
|
||||
- Просмотр содержимого флекс-мемори и выгрузка файлов;
|
||||
- Графический просмотр фф по блокам;
|
||||
- Просмотр адресной книги x45–x65;
|
||||
- Поиск байт с маской и выравниванием, поиск текста;
|
||||
- Создание VKP-патча из изменений фф и запуск V_Klay;
|
||||
- Сохранение списков в текстовый формат и IDC-файлы для IDA, поиск по спискам
|
||||
и интеграция с WinHex или HexWorkshop;
|
||||
- Мультиязычный интерфейс;
|
||||
- Просмотр фф, стандартный калькулятор Windows и отдельный Calc166;
|
||||
- Поиск стандартных функций по заданным в ini-файле сигнатурам;
|
||||
- Генерация стандартных патчей по заданным в ini-файле сигнатурам;
|
||||
- Нахождение бут-ключей и создание лоадера для V_Klay;
|
||||
- Брут-форсовый поиск PhoneID;
|
||||
- Поиск мастер-кодов для разлочки;
|
||||
- Включение дополнительных менюшек в WinSwup;
|
||||
- Создание сертификатов и подписывание мидлетов без Java;
|
||||
- Дизарм, МикроАсм, работа с библиотекой функций и скриптами;
|
||||
- Проверка и стрипание эльфов.
|
||||
|
||||
Для корректной работы программы необходимы OCX-компоненты из комплекта OCX
|
||||
Control, размещённого в дополнительных файлах.
|
||||
homepage: https://web.archive.org/web/20130401035858/https://avkiev.kiev.ua/Siemens/Smelter/Smelter_ru.htm
|
||||
author: avkiev
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "9.65"
|
||||
released: "2008-04-20"
|
||||
files:
|
||||
- path: files/smelter-9.65.zip
|
||||
description: В комплекте базы, скрипты и документация
|
||||
platform: win32
|
||||
additional_files:
|
||||
- path: files/smelter-language-files.zip
|
||||
description: Языковые файлы для перевода интерфейса
|
||||
- path: files/ocx-control-1.1.zip
|
||||
description: Обязательные библиотеки ActiveX и OCX Control 1.1 для их регистрации
|
||||
@@ -2,9 +2,7 @@ format: 1
|
||||
type: program
|
||||
name: WSFF
|
||||
summary: Программа для анализа и распаковки сервисных прошивок Siemens WinSwup.
|
||||
description: |-
|
||||
Утилита для анализа структуры и распаковки баз сервисных прошивок Siemens
|
||||
WinSwup.
|
||||
description: Программа для анализа и распаковки WinSwup-баз.
|
||||
homepage: https://web.archive.org/web/20130825050857/http://papuas.allsiemens.com/
|
||||
author: Papuas
|
||||
screenshots: []
|
||||
@@ -13,5 +11,4 @@ versions:
|
||||
released: "2006-02-10"
|
||||
files:
|
||||
- path: files/WSFF4.zip
|
||||
description: Программа WSFF4
|
||||
platform: win32
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
format: 1
|
||||
type: category
|
||||
name: Моддинг
|
||||
description: Изменение интерфейса и ресурсов прошивок телефонов.
|
||||
Binary file not shown.
@@ -0,0 +1,37 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: LayoutMe
|
||||
summary: Редактор клавиатурных раскладок в FullFlash телефонов Siemens.
|
||||
description: |-
|
||||
Данная программа предназначена для редактирования клавиатурных раскладок
|
||||
телефонов Siemens. Программа позволяет избавиться от надоедливых каракулей в
|
||||
конце символьных последовательностей, русифицировать раскладки, а также
|
||||
создавать экзотические раскладки вида АБЦ2ABC и тому подобных.
|
||||
|
||||
Возможности:
|
||||
|
||||
- Редактирование раскладки в фуллфлеше;
|
||||
- Загрузка и выгрузка раскладки в автономный файл `*.lay`;
|
||||
- Сохранение изменённого фуллфлеша или патча VKP;
|
||||
- Интеграция с V_Klay;
|
||||
- Поддержка WAP-раскладки;
|
||||
- Русификация ввода во встроенном mail-клиенте с использованием KOI-8;
|
||||
- Контроль количества используемых и доступных символов;
|
||||
- Автоопределение модели и версии прошивки.
|
||||
|
||||
Поддерживаемые прошивки: C45_3803, C45_5001, ME45_2803, ME45_3003,
|
||||
S45i_0403, SL45_5601, 2118_3108, A50_1091, A50_1105, A50_1191, A50_1201,
|
||||
MT50_1791, M50_1791, M50_1991, A55_0901, C55_2491, M55_1002, M55_1091,
|
||||
M55_1191, M55_1192, M55_9191, S55_2091, S55_9191, SL55_1491, SL55_1691,
|
||||
A52_0701, A60_1095, C60_2391, C60_2591, C60_2691, C60_2791, MC60_1095,
|
||||
CF62_0791 и CF62_1191.
|
||||
homepage: https://web.archive.org/web/20130401035858/http://avkiev.kiev.ua/Siemens/LayoutMe/LayoutMe.htm
|
||||
author: avkiev
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "2.59"
|
||||
released: "2004-10-27"
|
||||
files:
|
||||
- path: files/layoutme-2.59.zip
|
||||
description: В комплекте документация и типовые раскладки X45/X55
|
||||
platform: win32
|
||||
@@ -1,24 +0,0 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: FFPatch
|
||||
summary: Программа для сравнения образов FullFlash и работы с патчами VKP.
|
||||
description: |-
|
||||
Программа для сравнения двух файлов fullflash, сохранения найденных отличий
|
||||
в виде патча VKP и поиска уже установленных патчей в образе flash-памяти.
|
||||
|
||||
Возможности:
|
||||
- сравнение оригинального и текущего fullflash;
|
||||
- формирование файла различий в формате VKP;
|
||||
- поиск одного или нескольких патчей VKP в fullflash;
|
||||
- добавление патчей отдельными файлами или целым каталогом;
|
||||
- исключение заданных диапазонов адресов из поиска и сравнения;
|
||||
- сохранение настроек фильтрации адресов.
|
||||
homepage: https://web.archive.org/web/20130813164842/http://vi-soft.com.ua/
|
||||
author: Александр Яблочкин
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "0.4.2"
|
||||
files:
|
||||
- path: files/ffpatch.zip
|
||||
description: Программа FFPatch и руководство пользователя
|
||||
platform: win32
|
||||
@@ -1,22 +0,0 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: FilesComparer
|
||||
summary: Программа для побайтового сравнения файлов и образов FullFlash.
|
||||
description: |-
|
||||
Программа для сравнения файлов и образов flash-памяти.
|
||||
|
||||
Возможности:
|
||||
- сравнение файлов одинакового и разного размера;
|
||||
- ограничение сравнения начальным и конечным адресами;
|
||||
- передача параметров через командную строку;
|
||||
- выравнивание результатов по байтам;
|
||||
- работа под DOS и Windows.
|
||||
homepage: https://web.archive.org/web/20130813164842/http://vi-soft.com.ua/
|
||||
author: SaiNT
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "1.2"
|
||||
files:
|
||||
- path: files/fc_v1.2.zip
|
||||
description: Программа FilesComparer 1.2
|
||||
platform: win32
|
||||
@@ -1,21 +0,0 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: Hex2VKP
|
||||
summary: Конвертер Intel HEX в формат патчей VKP для V_KLay.
|
||||
description: |-
|
||||
Консольный конвертер из формата Intel HEX в формат патчей VKP программы
|
||||
V_KLay.
|
||||
|
||||
Intel HEX применяется для загрузки данных в микроконтроллеры и может быть
|
||||
создан компиляторами для C166, включая Keil и Tasking C. Hex2VKP преобразует
|
||||
результат компиляции в патч VKP для последующей записи через V_KLay. Ключ
|
||||
`-F` создаёт секцию отмены патча `UNDO PATCH`.
|
||||
homepage: https://web.archive.org/web/20130813164842/http://vi-soft.com.ua/
|
||||
author: Redkin
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "0.1a"
|
||||
files:
|
||||
- path: files/hex2vkp.zip
|
||||
description: Программа Hex2VKP, исходный код, настройки и руководство
|
||||
platform: win32
|
||||
@@ -1,4 +0,0 @@
|
||||
format: 1
|
||||
type: category
|
||||
name: Патчинг
|
||||
description: Сравнение прошивок, поиск изменений и создание патчей VKP.
|
||||
@@ -0,0 +1,17 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: FFPatch
|
||||
summary: Программа для сравнения образов FullFlash и работы с патчами VKP.
|
||||
description: >-
|
||||
Для Windows. Сравнивает 2 файла (fullflash), результат сравнения можно
|
||||
сохранять в виде vkp-файла. Также при помощи этой программы можно производить
|
||||
поиск установленных патчей в файле фуллфлеша.
|
||||
homepage: https://web.archive.org/web/20130813164842/http://vi-soft.com.ua/
|
||||
author: Александр Яблочкин
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "0.4.2"
|
||||
files:
|
||||
- path: files/ffpatch.zip
|
||||
description: В комплекте руководство пользователя
|
||||
platform: win32
|
||||
@@ -0,0 +1,18 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: FilesComparer
|
||||
summary: Программа для побайтового сравнения файлов и образов FullFlash.
|
||||
description: >-
|
||||
Для DOS. Сравниватель файлов/флешей может сравнивать не только равные по
|
||||
размеру файлы, но и неравные, а также выполнять сравнение с начального по
|
||||
конечный адреса, которые задает сам пользователь. Параметры можно задавать из
|
||||
командной строки. Возможность выравнивания результатов по байтам. Под DOS &
|
||||
Windows.
|
||||
homepage: https://web.archive.org/web/20130813164842/http://vi-soft.com.ua/
|
||||
author: SaiNT
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "1.2"
|
||||
files:
|
||||
- path: files/fc_v1.2.zip
|
||||
platform: win32
|
||||
@@ -0,0 +1,23 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: Hex2VKP
|
||||
summary: Конвертер Intel HEX в формат патчей VKP для V_KLay.
|
||||
description: |-
|
||||
Для Windows, с консольным интерфейсом. Hex2VKP — конвертер из Intel HEX
|
||||
формата в формат программы V_Klay — .VKP.
|
||||
|
||||
HEX (.H86) — это формат от фирмы Intel, специально предназначенный для
|
||||
загрузки данных в микроконтроллеры. Многие компиляторы для C166 (в том числе
|
||||
Keil и Tasking C) умеют выдавать результаты в этом формате. Таким образом,
|
||||
заливка патчей в телефон становится проще. Все, что вам остается сделать
|
||||
после компиляции патча, — это сконвертировать его данным тулом в формат .VKP и
|
||||
залить в телефон программой V_KLay.
|
||||
homepage: https://web.archive.org/web/20130813164842/http://vi-soft.com.ua/
|
||||
author: Redkin
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "0.1a"
|
||||
files:
|
||||
- path: files/hex2vkp.zip
|
||||
description: В комплекте исходный код, настройки и руководство
|
||||
platform: win32
|
||||
@@ -0,0 +1,4 @@
|
||||
format: 1
|
||||
type: category
|
||||
name: Утилиты
|
||||
description: Сравнение и анализ прошивок, поиск функций и создание патчей VKP.
|
||||
+4
-5
@@ -3,12 +3,11 @@ type: program
|
||||
name: SLFC
|
||||
summary: Консольная программа для сравнения образов FullFlash и создания VKP-патчей.
|
||||
description: |-
|
||||
Консольная программа для сравнения двух файлов fullflash и создания патча в
|
||||
формате VKP.
|
||||
Для Windows, с консольным интерфейсом. Сравнивает 2 файла (fullflash),
|
||||
результат сравнения можно сохранять в виде vkp-файла.
|
||||
|
||||
Совпадающие байты можно учитывать по правилу: если их не больше трёх, они
|
||||
включаются в патч; более длинная совпадающая последовательность считается
|
||||
окончанием блока изменений.
|
||||
Совпадающие байты можно обойти так: если их `<=3`, то включать в патч, если
|
||||
больше, тогда уже считать, что блок изменений закончился.
|
||||
homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html
|
||||
author: Chaos
|
||||
screenshots: []
|
||||
@@ -3,7 +3,8 @@ type: program
|
||||
name: PL-2303 Driver (Patched)
|
||||
summary: Модифицированный драйвер дата-кабелей PL-2303 с поддержкой скорости до 1625000 бит/с.
|
||||
description: >-
|
||||
Модифицированный Chaos драйвер для дата-кабелей на чипсете Prolific PL-2303. В отличие от штатного драйвера он позволяет флешерам обмениваться данными с телефоном на скорости до 1625000 бит/с.
|
||||
Пропатченный драйвер для дата-кабелей на чипсете Prolific PL-2303,
|
||||
позволяющий работать с флешером на скорости 1625000 бит/с.
|
||||
homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html
|
||||
author: Prolific Technology Inc.; модификация — Chaos
|
||||
screenshots: []
|
||||
@@ -11,5 +12,4 @@ versions:
|
||||
- version: "2.0.5.26"
|
||||
files:
|
||||
- path: files/PL-2303_patched.zip
|
||||
description: Драйвер PL-2303 с поддержкой скорости до 1625000 бит/с
|
||||
platform: win32
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
format: 1
|
||||
type: category
|
||||
name: Эксплореры
|
||||
order: -15
|
||||
description: Программы для управления содержимым телефонов с компьютера.
|
||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
@@ -0,0 +1,58 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: SiMoCo
|
||||
summary: Управление данными и функциями телефонов Siemens с компьютера.
|
||||
description: |-
|
||||
SiMoCo (Siemens Mobile Control, прежнее название — Sx45CZ) предназначена для
|
||||
управления мобильными телефонами Siemens с компьютера. Поддерживаются S25,
|
||||
C35(i), M35, S35(i), SL42(i), SL45(i), C45, S45(i), ME45, M50, MT50, C55,
|
||||
S55, SL55, M55, A60, C60, MC60, CF62, C65, M65, CX65, S65, CX70, C75, CX75,
|
||||
M75 и S75. Телефон подключается кабелем к последовательному порту или через
|
||||
ИК-порт, создающий виртуальный COM-порт.
|
||||
|
||||
Возможности программы:
|
||||
|
||||
- Просмотр технической информации о телефоне.
|
||||
- Управление вызовами, громкостью, мелодией, вибровызовом, звуком,
|
||||
блокировкой клавиатуры и громкой связью.
|
||||
- Отображение номера входящего вызова, приём и отклонение вызова.
|
||||
- Просмотр и редактирование телефонных книг SIM и телефона, адресной книги,
|
||||
печать, резервное копирование и восстановление, перенос записей мышью,
|
||||
импорт и экспорт vCard.
|
||||
- Создание и отправка SMS с выбором кодировки, срока действия, отчёта о
|
||||
доставке и режима Flash SMS; длинные сообщения до пяти SMS.
|
||||
- Групповая отправка SMS и сохранение групп получателей.
|
||||
- Просмотр и редактирование SMS на SIM-карте и в памяти телефона.
|
||||
- Отправка и приём EMS: составных сообщений, изображений, анимаций и звуков,
|
||||
в том числе на телефонах без встроенной поддержки EMS.
|
||||
- Автоматическое архивирование принятых и отправленных SMS, экспорт в CSV и
|
||||
сохранение текста сообщений в файл.
|
||||
- Уведомления о новых SMS отдельным окном или значком в области уведомлений.
|
||||
- Доступ к FlexMemory и передача файлов между телефоном и компьютером.
|
||||
- Просмотр и редактирование органайзера и календаря.
|
||||
- Поддержка национальных символов в SMS, телефонных книгах, адресной книге и
|
||||
органайзере с использованием UCS-2 и UTF-8.
|
||||
- Просмотр доступных и предпочтительных сетей, сведений об операторах и
|
||||
редактирование списка предпочтительных сетей.
|
||||
- Загрузка логотипов и заставок из BMP- и GIF-файлов, а также редактор
|
||||
логотипов.
|
||||
- Загрузка мелодий из MIDI-файлов и редактор мелодий iMelody с сохранением в
|
||||
TXT, iMelody или MIDI.
|
||||
- Настройка переадресации и запретов вызовов.
|
||||
- Синхронизация даты и времени телефона с компьютером.
|
||||
- Отправка DTMF-сигналов и строк.
|
||||
- Дистанционное управление телефоном через AT+CKPD.
|
||||
- Активация сервисного меню телефона.
|
||||
- Просмотр обмена между программой и телефоном и ручной ввод AT-команд в
|
||||
окне терминала.
|
||||
homepage: https://web.archive.org/web/20070513090023/http://www.mysiemens.cz/ms/simoco/
|
||||
forum: https://www.siemensmania.cz/forum/viewtopic.php?t=1018
|
||||
author: Ing. Pavel Cibulka
|
||||
screenshots:
|
||||
- img/simoco.jpg
|
||||
versions:
|
||||
- version: "2.2.9"
|
||||
released: "2007-04-30"
|
||||
files:
|
||||
- path: files/SiMoCo-2.2.9.zip
|
||||
platform: win32
|
||||
+47
-5
@@ -3,27 +3,54 @@ files:
|
||||
development/debugging/armdebugger/files/ArmDebugger-079.zip:
|
||||
size: 537898
|
||||
sha256: f5f098523b4920387ac1fdceb6225bc7b2c9669fdf80199467061375cefcae43
|
||||
development/debugging/armdebugger/files/ArmDebugger-079m2.zip:
|
||||
size: 539301
|
||||
sha256: 1f02c880d1631a3d56938c962019c494fb7c50effabdf85095a316a84c310b9c
|
||||
development/debugging/atcgsn-debug/files/ATCGSN.Debug-1.2.0.0.zip:
|
||||
size: 368471
|
||||
sha256: 745857e73e9dc6632b9586840fbe0e706230dfa9016c7cba4c7bc574de5463b8
|
||||
development/debugging/cgsn-debugger/files/CGSN-Debugger-1.3.zip:
|
||||
size: 387740
|
||||
sha256: d9e849b4968d69f1352c8eb80b1593c84abf6ed8c091c188408bcc292f1eab95
|
||||
development/debugging/siemens-debugger/files/SiemensDebugger-1.7.2.16.zip:
|
||||
size: 442087
|
||||
sha256: 46893fd85a864b5fd163c5a55677b544adbe1e376dd5c57058e51f8608958e8d
|
||||
development/firmware/smelter/files/ocx-control-1.1.zip:
|
||||
size: 1070964
|
||||
sha256: 926cc3c943ec030395840c69642a6c280226d011e8fbc8802cd30698e9f057b0
|
||||
development/firmware/smelter/files/smelter-9.65.zip:
|
||||
size: 508512
|
||||
sha256: 91dc68718aead4dd21b7c6e14d9960d45c892e079d0fb543deb99761f5e2959a
|
||||
development/firmware/smelter/files/smelter-language-files.zip:
|
||||
size: 55580
|
||||
sha256: 3f8d51d6670baa57668faf770d23ffd280c7b99b6e609790ad44fb7d8bfaece1
|
||||
development/firmware/wsff/files/WSFF4.zip:
|
||||
size: 161402
|
||||
sha256: 0bd7fc9324dc8c2c37dde7136761a4be75818fca5a4db53738868a1bae732a17
|
||||
development/patching/ffpatch/files/ffpatch.zip:
|
||||
development/modding/layoutme/files/layoutme-2.59.zip:
|
||||
size: 41012
|
||||
sha256: 4c4bd6dfe0f4afdb0f54a806c7027502834120e9d7067ac9279bfed5ae4cb82a
|
||||
development/utilities/ffpatch/files/ffpatch.zip:
|
||||
size: 86130
|
||||
sha256: 6f78952f0711c2f5f5c5c3d41ec3710704c86ba059cf2349cbcc15e1ac7997ff
|
||||
development/patching/filescomparer/files/fc_v1.2.zip:
|
||||
development/utilities/filescomparer/files/fc_v1.2.zip:
|
||||
size: 7634
|
||||
sha256: 2410c09137f78dbd6fb661d78bfe1c666ce67aaea1b87078f2327a0ca686e1bd
|
||||
development/patching/hex2vkp/files/hex2vkp.zip:
|
||||
development/utilities/hex2vkp/files/hex2vkp.zip:
|
||||
size: 50300
|
||||
sha256: 10149c6770337551f18f5ff948acf9e3fbd025fca3e97a1f0f1cab9702301786
|
||||
development/patching/slfc/files/slfc-chaos.zip:
|
||||
development/utilities/slfc/files/slfc-chaos.zip:
|
||||
size: 29659
|
||||
sha256: 079b74cdb678a8b3da9be62416a8d49df912790c54f6eb4979e0bae53252fea7
|
||||
development/patching/slfc/files/slfc-vi-soft.zip:
|
||||
development/utilities/slfc/files/slfc-vi-soft.zip:
|
||||
size: 29837
|
||||
sha256: 418b3e9e75cabf8d8c70fc02e472231468433b130144d61ad97e036bfcbeb4b6
|
||||
drivers/pl-2303/files/PL-2303_patched.zip:
|
||||
size: 245989
|
||||
sha256: 95ed927523632540cf2368827c40658c6e6a713d247eb695b0303980fedabf69
|
||||
explorers/simoco/files/SiMoCo-2.2.9.zip:
|
||||
size: 1064761
|
||||
sha256: 289a26e6f137447fafdaadf03ad83c25e01199254010adaa13b4dbc506335456
|
||||
flashers/v-klay/files/v_klay_setup_v2152.zip:
|
||||
size: 2329199
|
||||
sha256: ff564a3eeecee306b1ccc4cb0e6e9385f9dd9a6cc9d48bfbba36faf4d35182a3
|
||||
@@ -54,9 +81,18 @@ files:
|
||||
service/joker/files/JokerV0295.zip:
|
||||
size: 205801
|
||||
sha256: 338408da0cb9d48b4243a58a8bca0b4a4acf97e9753b06a90291b7e5832fa5f5
|
||||
service/joker/files/JokerV0343.zip:
|
||||
size: 214581
|
||||
sha256: 13bdf3358c965a173dc3dcb51fa08d8dc453d73a34665821ff3090c1ccb17c1e
|
||||
service/siemens-eeprom-tool/files/SiemensEEPROMtool315.zip:
|
||||
size: 135787
|
||||
sha256: 574799e79a0653eaa28a539371fff4592833eba2f8728967b0c84daf7cfd6dd8
|
||||
service/siemens-eeprom-tool/files/SiemensEEPROMtool315plus.zip:
|
||||
size: 76842
|
||||
sha256: d782a805d2d03c991d48ab909de669d45e331f12e806153f21708191bb1e566e
|
||||
service/swrite-map-r65/files/SWriteMapR65-1.04.zip:
|
||||
size: 1342392
|
||||
sha256: 7959f1b1a0d2ddd76cc7b15793978eacd716e8bc085ef9425fc9ada2ff0fef1a
|
||||
service/winswup/files/winswup-0.91-pre1.zip:
|
||||
size: 392129
|
||||
sha256: 49cae8b5b1c27ffa90106ae3480d3e3af7e7593fa65a5e02cb64cc11375e64a9
|
||||
@@ -240,6 +276,12 @@ files:
|
||||
service/x65-papua-utils/files/x65PapuaUtilsV111c_rus.zip:
|
||||
size: 622911
|
||||
sha256: 692002231f2af62ecf053d41c714302fd24c1895b7c839cc3ad9d3440dce47df
|
||||
utilities/fardes/files/fardes-1.63-des-2.67.zip:
|
||||
size: 213941
|
||||
sha256: 7517fa47a8890317550f259c46625489febfb0e5a4d59bd1bfee5974131b6151
|
||||
utilities/fardes/files/fardes-1.63-des-3.0.0.zip:
|
||||
size: 214248
|
||||
sha256: d9a284e84804226237c5e582c036bcb73bd28360d1038cb5a3b8f11d27c92d4a
|
||||
utilities/midletsigner/files/JRE131L.zip:
|
||||
size: 714574
|
||||
sha256: 491630231a390b9460fae0411d967484d7efa5a35ec7ec89e21f7cadf082c9c9
|
||||
|
||||
@@ -3,23 +3,31 @@ type: program
|
||||
name: V_KLay
|
||||
summary: Флешер и VKP-патчер для телефонов Siemens с редактором раскладки клавиатуры.
|
||||
description: |-
|
||||
Патчер, флешер и редактор раскладки клавиатуры для мобильных телефонов
|
||||
Siemens.
|
||||
Программа для применения патчей, чтения/записи Флеш и изменения раскладки
|
||||
клавиатуры мобильных телефонов Siemens.
|
||||
|
||||
Возможности:
|
||||
- чтение и запись flash-памяти телефона;
|
||||
- установка и отмена патчей в формате VKP;
|
||||
- изменение раскладки клавиатуры;
|
||||
- подключение через Password Boot, Chaos BootPatch, Bootcore bug, Patched
|
||||
bootcore и Test point;
|
||||
- работа с телефоном без выключения в режиме online, если модель и прошивка
|
||||
поддерживают такой способ;
|
||||
- многоязычный интерфейс, включая русский и украинский языки.
|
||||
|
||||
Версия 3.3 поддерживает Siemens 1168, 2118, 2128, 3118, 3618, 6618, 6688,
|
||||
A35, A36, A40, A50, A52, A55, A60, A65, C30, C35, C45, C55, C60, C65,
|
||||
CF62, CX65, M35, M50, M55, M65, MC60, ME45, MT50, S35, S40, S45, S55,
|
||||
S65, SL42, SL45, SL55, SL65 и SX1.
|
||||
- Применение и отмена патчей VKP с проверкой старых данных;
|
||||
- Создание, открытие, редактирование и сохранение патчей VKP;
|
||||
- Поиск и замена в тексте патча;
|
||||
- Чтение и запись памяти телефона;
|
||||
- Сохранение прочитанных данных в файл и загрузка данных из файла;
|
||||
- Работа со всем фуллфлешем, отдельными областями памяти и EEPROM;
|
||||
- Применение патчей непосредственно к телефону или к файлу Флеш;
|
||||
- Чтение, редактирование и запись раскладки клавиатуры;
|
||||
- Загрузка и сохранение раскладок в файлах VKL;
|
||||
- Работа с загрузчиками VKD;
|
||||
- Автоматическое распознавание патчей, раскладок и файлов Флеш, переданных в
|
||||
командной строке;
|
||||
- Управление применением и отменой патчей из командной строки;
|
||||
- Подключение через Password boot, Chaos BootPatch, Bootcore bug, Patched
|
||||
bootcore и Test point;
|
||||
- Работа с телефоном без выключения в режиме online;
|
||||
- Мультиязычный интерфейс.
|
||||
|
||||
Поддержка конкретного телефона определяется наличием подходящего загрузчика
|
||||
VKD.
|
||||
homepage: https://web.archive.org/web/20130813164842/http://vi-soft.com.ua/
|
||||
author: ValeraVi (Валерий Вишняк)
|
||||
screenshots: []
|
||||
@@ -28,29 +36,25 @@ versions:
|
||||
status: current
|
||||
files:
|
||||
- path: files/v_klay_setup.zip
|
||||
description: Установочный пакет V_KLay 3.3
|
||||
platform: win32
|
||||
- version: "2.7.2"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/v_klay_setup_v272.zip
|
||||
description: Установочный пакет V_KLay 2.7.2
|
||||
platform: win32
|
||||
- version: "2.5"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/v_klay_setup_v25.zip
|
||||
description: Установочный пакет V_KLay 2.5
|
||||
platform: win32
|
||||
- version: "2.1.12"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/v_klay_update_v2112.zip
|
||||
description: Обновление до V_KLay 2.1.12
|
||||
platform: win32
|
||||
- version: "2.1.5.2"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/v_klay_setup_v2152.zip
|
||||
description: Англоязычный установочный пакет V_KLay 2.1.5.2
|
||||
description: Англоязычная версия
|
||||
platform: win32
|
||||
|
||||
@@ -3,15 +3,14 @@ type: program
|
||||
name: x65flasher
|
||||
summary: Программа для чтения и записи flash-памяти телефонов Siemens 65–75-й серии.
|
||||
description: |-
|
||||
Флешер для телефонов Siemens 65–75-й серии и мидлеты для поиска boot-ключей.
|
||||
Флешер для телефонов 65-75-й серии + мидлет для поиска boot-ключей.
|
||||
|
||||
Возможности:
|
||||
- чтение и запись flash-памяти телефона;
|
||||
- резервное копирование и восстановление как всего fullflash, так и отдельных
|
||||
частей: файловой системы, прошивки и EEPROM;
|
||||
- просмотр карты flash-памяти;
|
||||
- работа на скорости от 57600 до 1600000 бит/с;
|
||||
- генерация загрузчиков для V_Klay.
|
||||
- Чтение и запись flash-памяти телефона
|
||||
- Бэкап и восстановление как всего fullflash, так и отдельных частей
|
||||
(файловой системы, прошивки, EEPROM)
|
||||
- Просмотр карты flash-памяти
|
||||
- Работа на скорости от 57600 до 1600000 бит/с
|
||||
- Генерация лоадеров для V_Klay
|
||||
homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html
|
||||
author: Chaos
|
||||
screenshots: []
|
||||
@@ -20,7 +19,7 @@ versions:
|
||||
released: "2006-12-06"
|
||||
files:
|
||||
- path: files/x65flasher-2103.zip
|
||||
description: Флешер, документация и вспомогательные мидлеты
|
||||
description: В комплекте документация и вспомогательные мидлеты
|
||||
platform: win32
|
||||
additional_files:
|
||||
- path: files/px75v1.zip
|
||||
|
||||
Binary file not shown.
@@ -3,33 +3,30 @@ type: program
|
||||
name: Joker
|
||||
summary: Сервисная программа для диагностики и восстановления телефонов Siemens на платформе EGOLD.
|
||||
description: |-
|
||||
Сервисная программа для восстановления программных неисправностей телефонов
|
||||
Siemens на платформе EGOLD с помощью обычного кабеля с минимальными
|
||||
доработками. Поддерживаются A50–A75, AX72/AX75, C55/C56/C60, CF62/CF110,
|
||||
M55, MC60, S55/S56, SL55, SX1 и совместимые модели.
|
||||
Это программа для работы с моделями на EGOLD-платформе: A50, A51, A52, A55,
|
||||
A56, A57, A60, A62, A65, A70, A75, AX72, AX75, C55, C56, C60, CF62, CF110,
|
||||
M55, MC60, S55, S56, SL55, SX1 и аналогичными.
|
||||
|
||||
Возможности:
|
||||
- чтение информации о телефоне и работа в режимах BFB и Service mode;
|
||||
- чтение и запись FullFlash и отдельных flash-сегментов;
|
||||
- резервное копирование и восстановление EEPROM и секретных блоков;
|
||||
- вычисление и сохранение SKEY, BKEY, ESN, HASH и мастер-кодов;
|
||||
- пересчёт ключей после записи FullFlash от другого аппарата;
|
||||
- подготовка BCORE, устранение Freeze и дефрагментация EEPROM;
|
||||
- автоматическое определение flash-памяти и контроль CRC при операциях записи.
|
||||
Данная программа создаётся для восстановления всех софт-неисправностей
|
||||
телефонов Siemens на EGOLD-платформе с помощью простого кабеля с минимальными
|
||||
доработками в комплекте с Siemens EEPROM Tool.
|
||||
|
||||
Перед записью автор рекомендует обязательно сохранить ESN, HASH и полный
|
||||
FullFlash рабочего телефона. Программа создавалась как экспериментальный
|
||||
ремонтный инструмент; часть операций требует TestPoint.
|
||||
homepage: https://web.archive.org/web/20130825050857/http://papuas.allsiemens.com/Joker.htm
|
||||
Все методы и т. д. только в режиме теста. Если Вы испортите свой телефон —
|
||||
это Ваша проблемка!
|
||||
homepage: https://web.archive.org/web/20071011012321/http://papuas.allsiemens.com/Joker.htm
|
||||
author: Papuas
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "0.3.4.3"
|
||||
status: current
|
||||
files:
|
||||
- path: files/JokerV0343.zip
|
||||
platform: win32
|
||||
- version: "0.2.9.5"
|
||||
status: archived
|
||||
released: "2005-11-25"
|
||||
files:
|
||||
- path: files/JokerV0295.zip
|
||||
description: Исполняемая программа Joker 0.2.9.5
|
||||
platform: win32
|
||||
additional_files:
|
||||
- path: files/JokerSorceV0341.zip
|
||||
|
||||
Binary file not shown.
@@ -6,16 +6,19 @@ description: |-
|
||||
Редактор файлов EEPROM телефонов Siemens. Используется совместно с
|
||||
x65PapuaUtils и Joker для восстановления программно неисправных аппаратов,
|
||||
работы с резервными копиями блоков EEPROM и исправления их содержимого.
|
||||
|
||||
Номер `3.01.0005` получен из ресурса версии исполняемого файла; имя исходного
|
||||
архива — `SiemensEEPROMtool315plus.rar`.
|
||||
homepage: https://web.archive.org/web/20130825050857/http://papuas.allsiemens.com/
|
||||
author: Skylord
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "3.01.0005"
|
||||
released: "2004-12-26"
|
||||
- version: "3.15"
|
||||
status: current
|
||||
released: "2004-11-02"
|
||||
files:
|
||||
- path: files/SiemensEEPROMtool315.zip
|
||||
platform: win32
|
||||
- version: "3.15+"
|
||||
status: current
|
||||
description: Модификация для EGOLD от Papuas.
|
||||
files:
|
||||
- path: files/SiemensEEPROMtool315plus.zip
|
||||
description: Программа Siemens EEPROM Tool
|
||||
platform: win32
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,18 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: SWriteMapR65
|
||||
summary: Сервисная программа Siemens для записи MAP-файлов в телефоны серии x75.
|
||||
description: |-
|
||||
Сервисная программа Siemens для записи стандартных и дельта-MAP-файлов в
|
||||
EEPROM телефонов серии x75. Работает с телефоном через COM-порт в BFB Mode;
|
||||
предусмотрены Factory Mode и Developer Mode.
|
||||
|
||||
В архив входит среда выполнения NI LabWindows/CVI, необходимая для запуска
|
||||
программы.
|
||||
author: Siemens
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "1.04"
|
||||
files:
|
||||
- path: files/SWriteMapR65-1.04.zip
|
||||
platform: win32
|
||||
@@ -3,10 +3,8 @@ type: program
|
||||
name: WinSwup
|
||||
summary: Официальная программа для прошивки телефонов Siemens с использованием файлов XBZ/XBI.
|
||||
description: |-
|
||||
Сервисная программа Siemens для обновления программного обеспечения
|
||||
телефонов. В каталоге представлены исполняемые комплекты и developer-пакеты
|
||||
с Update DLL, загрузчиками, библиотеками, заголовочными файлами, примерами и
|
||||
документацией.
|
||||
Официальная программа для прошивки телефонов Siemens. Пригодится для заливки
|
||||
прошивок XBI, XBZ и файловой системы XFS в телефон.
|
||||
author: Siemens AG
|
||||
screenshots: []
|
||||
versions:
|
||||
@@ -15,104 +13,101 @@ versions:
|
||||
released: "2006-05-08"
|
||||
files:
|
||||
- path: files/winswup-4.20.zip
|
||||
description: Полный developer-пакет WinSwup 4.20 с SDK, документацией и утилитами
|
||||
description: Developer-пакет с SDK, документацией и утилитами
|
||||
platform: win32
|
||||
- version: "4.14p3"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-4.14p3.zip
|
||||
description: Developer-пакет WinSwup 4.14p3 для SL75 Escada
|
||||
description: Developer-пакет для SL75 Escada
|
||||
platform: win32
|
||||
- version: "4.07"
|
||||
status: archived
|
||||
released: "2004-09-08"
|
||||
files:
|
||||
- path: files/winswup-4.07.zip
|
||||
description: Полный developer-пакет WinSwup 4.07 с SDK и документацией
|
||||
description: Developer-пакет с SDK и документацией
|
||||
platform: win32
|
||||
- version: "3.20"
|
||||
status: current
|
||||
files:
|
||||
- path: files/winswup-3.20.zip
|
||||
description: Прошивальщик для телефонов Siemens EGold и EGoldLite с поддержкой XBI, XBZ и XFS
|
||||
description: Для EGold и EGoldLite; поддерживаются XBI, XBZ и XFS
|
||||
platform: win32
|
||||
- version: "3.19"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-3.19.zip
|
||||
description: Полный developer-пакет WinSwup 3.19 для AL21
|
||||
description: Developer-пакет для AL21
|
||||
platform: win32
|
||||
- version: "3.17"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-3.17.zip
|
||||
description: Полный developer-пакет WinSwup 3.17 с SDK и документацией
|
||||
description: Developer-пакет с SDK и документацией
|
||||
platform: win32
|
||||
- version: "3.05"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-3.05.zip
|
||||
description: Полный предварительный пакет WinSwup 3.05 с SDK и документацией
|
||||
description: Предварительный developer-пакет с SDK и документацией
|
||||
platform: win32
|
||||
- version: "3.002"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-3.002.zip
|
||||
description: Компактный исполняемый комплект WinSwup 3.002
|
||||
platform: win32
|
||||
- version: "1.44"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-1.44.zip
|
||||
description: Полный developer-пакет WinSwup 1.44 с SDK
|
||||
description: Developer-пакет с SDK
|
||||
platform: win32
|
||||
- version: "1.40"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-1.40.zip
|
||||
description: Полный developer-пакет WinSwup 1.40 с SDK и документацией
|
||||
description: Developer-пакет с SDK и документацией
|
||||
platform: win32
|
||||
- version: "1.35"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-1.35.zip
|
||||
description: Исполняемый комплект WinSwup 1.35 с загрузчиком SGOLD
|
||||
description: В комплекте загрузчик SGOLD
|
||||
platform: win32
|
||||
- version: "1.34"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-1.34.zip
|
||||
description: Исполняемый комплект WinSwup 1.34
|
||||
platform: win32
|
||||
- version: "1.30"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-1.30.zip
|
||||
description: Полный developer-пакет WinSwup 1.30 с SDK
|
||||
description: Developer-пакет с SDK
|
||||
platform: win32
|
||||
- version: "1.28"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-1.28.zip
|
||||
description: Полный developer-пакет WinSwup 1.28 с SDK
|
||||
description: Developer-пакет с SDK
|
||||
platform: win32
|
||||
- version: "1.27"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-1.27.zip
|
||||
description: Полный developer-пакет WinSwup 1.27 с SDK
|
||||
description: Developer-пакет с SDK
|
||||
platform: win32
|
||||
- version: "1.23"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-1.23.zip
|
||||
description: Исполняемый комплект WinSwup 1.23
|
||||
platform: win32
|
||||
- version: "1.04"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-1.04.zip
|
||||
description: Комплект WinSwup 1.04 с пакетами WC3I 2001 и 2008
|
||||
description: В комплекте пакеты WC3I 2001 и 2008
|
||||
platform: win32
|
||||
- version: "0.98"
|
||||
status: archived
|
||||
@@ -128,16 +123,15 @@ versions:
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-0.97.zip
|
||||
description: Комплект WinSwup 0.97 «Alle Produkte» с исходным ZIP-пакетом
|
||||
description: Сборка «Alle Produkte» с исходным ZIP-пакетом
|
||||
platform: win32
|
||||
- version: "0.95"
|
||||
status: archived
|
||||
files:
|
||||
- path: files/winswup-0.95.zip
|
||||
description: Обычная сборка WinSwup 0.95
|
||||
platform: win32
|
||||
- path: files/winswup-0.95-amd32.zip
|
||||
description: Сборка WinSwup 0.95 с комплектом DLL AMD32
|
||||
description: В комплекте DLL AMD32
|
||||
platform: win32
|
||||
- version: "0.91"
|
||||
status: archived
|
||||
|
||||
@@ -3,26 +3,21 @@ type: program
|
||||
name: x65PapuaUtils
|
||||
summary: Сервисная программа для обслуживания телефонов Siemens на платформе SGOLD.
|
||||
description: |-
|
||||
Сервисная программа для телефонов Siemens на платформе SGOLD:
|
||||
моделей семейств R65, X65, X75 и X85, включая S65, S68, S75, SL65, SL75,
|
||||
M65, M75, ME75, CX65, CX70, CX75, C65, C72, C75 и их варианты.
|
||||
Это программа для работы с моделями на SGOLD-платформе: S7F, S7C, S75, S66,
|
||||
S6C, S6V, S65, S68, SK6C, SK6R, SK65, SL7F, SL7C, SL75, SL6C, SL6V, SL65,
|
||||
SP65, M75, ME75, M6C, M6V, M65, CX75, CX7D, CX7C, CX7I, CX70, CF76, CF75,
|
||||
C72V, C72, C7I, C7C, C7V, C75, C66, C6C, C6V, C65, CX66, CX6C, CX6V,
|
||||
CX65…
|
||||
|
||||
Возможности:
|
||||
- получение сведений о телефоне, ESN, HASH, SKEY и BootKey;
|
||||
- перевод телефона в сервисный режим и работа через загрузчики;
|
||||
- чтение и запись flash-памяти, создание полного бэкапа и восстановление BCORE;
|
||||
- чтение, сохранение и восстановление EEPROM, генерация и пересчёт секретных
|
||||
блоков и ключей;
|
||||
- создание загрузчиков для V_KLay;
|
||||
- преобразование FullFlash и отдельных сегментов в XBI и UserSwup, а также
|
||||
извлечение XBZ/XBZI из сервисных WinSwup;
|
||||
- тестирование RAM и шин ExtRAM/ROM, работа с камерой и проверка звука;
|
||||
- восстановление программно неисправных аппаратов с помощью обычного кабеля;
|
||||
для первой записи BCORE в полностью неработающий телефон требуется TestPoint.
|
||||
Большинство вариантов восстановления всех софт-неисправностей x65…x75 с
|
||||
помощью простого кабеля с минимальными доработками данная программа в
|
||||
комплекте с V_Klay и Siemens EEPROM Tool уже содержит.
|
||||
|
||||
Автор предупреждает, что методы и поддержка отдельных моделей носили
|
||||
экспериментальный характер. Перед операциями записи следует сохранить ESN,
|
||||
HASH и полный FullFlash исправного телефона.
|
||||
На полностью убитых телефонах первую запись BCORE производят с использованием
|
||||
ТП (Тест Поинт)!
|
||||
|
||||
Все методы и т. д. в режиме теста. Если Вы испортите свой телефон — это Ваша
|
||||
проблемка!
|
||||
homepage: https://web.archive.org/web/20130825050857/http://papuas.allsiemens.com/PapuaUtils.htm
|
||||
author: Papuas
|
||||
screenshots: []
|
||||
@@ -38,210 +33,181 @@ versions:
|
||||
description: Английская версия.
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV111b.zip
|
||||
description: Программа x65PapuaUtils 1.1.1b
|
||||
platform: win32
|
||||
- version: "0.7.9d"
|
||||
status: archived
|
||||
released: "2006-04-08"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV079d.zip
|
||||
description: Программа x65PapuaUtils 0.7.9d
|
||||
platform: win32
|
||||
- version: "0.7.8"
|
||||
status: archived
|
||||
released: "2006-03-16"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV078.zip
|
||||
description: Программа x65PapuaUtils 0.7.8
|
||||
platform: win32
|
||||
- version: "0.7.7"
|
||||
status: archived
|
||||
released: "2006-02-23"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV077.zip
|
||||
description: Программа x65PapuaUtils 0.7.7
|
||||
platform: win32
|
||||
- version: "0.7.6b"
|
||||
status: archived
|
||||
released: "2006-02-09"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV076b.zip
|
||||
description: Программа x65PapuaUtils 0.7.6b
|
||||
platform: win32
|
||||
- version: "0.7.5c"
|
||||
status: archived
|
||||
released: "2006-01-16"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV075.zip
|
||||
description: Программа x65PapuaUtils 0.7.5c
|
||||
platform: win32
|
||||
- version: "0.7.4"
|
||||
status: archived
|
||||
released: "2005-12-31"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV074.zip
|
||||
description: Программа x65PapuaUtils 0.7.4
|
||||
platform: win32
|
||||
- version: "0.7.0"
|
||||
status: archived
|
||||
released: "2005-12-17"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV070.zip
|
||||
description: Программа x65PapuaUtils 0.7.0
|
||||
platform: win32
|
||||
- version: "0.6.9"
|
||||
status: archived
|
||||
released: "2005-11-26"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV069.zip
|
||||
description: Программа x65PapuaUtils 0.6.9
|
||||
platform: win32
|
||||
- version: "0.6.8"
|
||||
status: archived
|
||||
released: "2005-11-18"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV068.zip
|
||||
description: Программа x65PapuaUtils 0.6.8
|
||||
platform: win32
|
||||
- version: "0.6.7c"
|
||||
status: archived
|
||||
released: "2005-11-13"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV067c.zip
|
||||
description: Программа x65PapuaUtils 0.6.7c
|
||||
platform: win32
|
||||
- version: "0.6.6b"
|
||||
status: archived
|
||||
released: "2005-10-14"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV066.zip
|
||||
description: Программа x65PapuaUtils 0.6.6b
|
||||
platform: win32
|
||||
- version: "0.6.5"
|
||||
status: archived
|
||||
released: "2005-10-11"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV065.zip
|
||||
description: Программа x65PapuaUtils 0.6.5
|
||||
platform: win32
|
||||
- version: "0.6.4"
|
||||
status: archived
|
||||
released: "2005-10-04"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV064.zip
|
||||
description: Программа x65PapuaUtils 0.6.4
|
||||
platform: win32
|
||||
- version: "0.6.2"
|
||||
status: archived
|
||||
released: "2005-10-02"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV062.zip
|
||||
description: Программа x65PapuaUtils 0.6.2
|
||||
platform: win32
|
||||
- version: "0.6.0"
|
||||
status: archived
|
||||
released: "2005-09-26"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV060.zip
|
||||
description: Программа x65PapuaUtils 0.6.0
|
||||
platform: win32
|
||||
- version: "0.5.6"
|
||||
status: archived
|
||||
released: "2005-09-22"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV056.zip
|
||||
description: Программа x65PapuaUtils 0.5.6
|
||||
platform: win32
|
||||
- version: "0.5.5"
|
||||
status: archived
|
||||
released: "2005-09-20"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV055.zip
|
||||
description: Программа x65PapuaUtils 0.5.5
|
||||
platform: win32
|
||||
- version: "0.5.4"
|
||||
status: archived
|
||||
released: "2005-09-19"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV054.zip
|
||||
description: Программа x65PapuaUtils 0.5.4
|
||||
platform: win32
|
||||
- version: "0.5.1"
|
||||
status: archived
|
||||
released: "2005-08-26"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV051.zip
|
||||
description: Программа x65PapuaUtils 0.5.1
|
||||
platform: win32
|
||||
- version: "0.5.0"
|
||||
status: archived
|
||||
released: "2005-08-16"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV050.zip
|
||||
description: Программа x65PapuaUtils 0.5.0
|
||||
platform: win32
|
||||
- version: "0.4.8a"
|
||||
status: archived
|
||||
released: "2005-07-19"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV048.zip
|
||||
description: Программа x65PapuaUtils 0.4.8a
|
||||
platform: win32
|
||||
- version: "0.4.7r"
|
||||
status: archived
|
||||
released: "2005-07-11"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV047.zip
|
||||
description: Программа x65PapuaUtils 0.4.7r
|
||||
platform: win32
|
||||
- version: "0.4.6"
|
||||
status: archived
|
||||
released: "2005-07-01"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV046.zip
|
||||
description: Программа x65PapuaUtils 0.4.6
|
||||
platform: win32
|
||||
- version: "0.4.5b"
|
||||
status: archived
|
||||
released: "2005-06-30"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV045.zip
|
||||
description: Программа x65PapuaUtils 0.4.5b
|
||||
platform: win32
|
||||
- version: "0.4.4a"
|
||||
status: archived
|
||||
released: "2005-06-24"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV044.zip
|
||||
description: Программа x65PapuaUtils 0.4.4a
|
||||
platform: win32
|
||||
- version: "0.4.3"
|
||||
status: archived
|
||||
released: "2005-06-19"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV043.zip
|
||||
description: Программа x65PapuaUtils 0.4.3
|
||||
platform: win32
|
||||
- version: "0.4.1g"
|
||||
status: archived
|
||||
released: "2005-06-07"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV041.zip
|
||||
description: Программа x65PapuaUtils 0.4.1g
|
||||
platform: win32
|
||||
- version: "0.3.8d"
|
||||
status: archived
|
||||
released: "2005-06-01"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV038.zip
|
||||
description: Программа x65PapuaUtils 0.3.8d
|
||||
platform: win32
|
||||
- version: "0.3.6"
|
||||
status: archived
|
||||
released: "2005-05-28"
|
||||
files:
|
||||
- path: files/x65PapuaUtilsV036.zip
|
||||
description: Программа x65PapuaUtils 0.3.6 и FAQ
|
||||
description: В комплекте FAQ
|
||||
platform: win32
|
||||
additional_files:
|
||||
- path: files/SWP3.zip
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,45 @@
|
||||
format: 1
|
||||
type: program
|
||||
name: FarDES
|
||||
summary: Плагин Far Manager для работы с флекс-памятью телефонов Siemens через DES.
|
||||
description: |-
|
||||
Компания Siemens написала замечательную программу Data Exchange Software
|
||||
(DES), которая позволяет видеть подключенный к компьютеру телефон как
|
||||
логический диск. Этот диск виден в Windows Explorer. А что же делать тем, кто
|
||||
так и не привык к Проводнику, кто предпочитает использовать лучший (имхо)
|
||||
файловый менеджер Far Manager? Ответ прост — использовать данный плагин.
|
||||
|
||||
Плагин использует движок DES. Таким образом, если у вас не работает DES, то и
|
||||
FarDES работать не будет. В Far содержимое флекс-памяти телефона показывается
|
||||
как отдельная файловая панель.
|
||||
|
||||
Возможности:
|
||||
|
||||
- Стандартные операции с файлами и каталогами;
|
||||
- Создание, просмотр и редактирование файлов в телефоне;
|
||||
- Работа с датами и атрибутами файлов;
|
||||
- Корректное удаление поддиректориев;
|
||||
- Вход в JAR-файл как в архив;
|
||||
- Работа с содержимым SMS-архива;
|
||||
- Проверка свободного места перед копированием;
|
||||
- Просмотр дополнительной информации из телефона;
|
||||
- Форматирование флекс-памяти;
|
||||
- Создание стандартной структуры каталогов;
|
||||
- Прогресс файловых операций и возможность прерывания по Esc.
|
||||
|
||||
Поддерживаются те же модели телефонов, что и DES: Siemens S45, ME45, SL45,
|
||||
M50, MT50, C55, S55, M55 и SL55. Для работы необходимы Far Manager 1.70 beta
|
||||
5 или выше, DES 2.67 либо DES 3.0.0 и Windows 98 или выше.
|
||||
homepage: https://web.archive.org/web/20130401035858/http://avkiev.kiev.ua/Siemens/FarDES/FarDES.htm
|
||||
author: avkiev
|
||||
screenshots: []
|
||||
versions:
|
||||
- version: "1.63"
|
||||
released: "2003-11-12"
|
||||
files:
|
||||
- path: files/fardes-1.63-des-2.67.zip
|
||||
description: Для DES 2.67 и DES 3.0.0 из SDS 1.0.0.40
|
||||
platform: win32
|
||||
- path: files/fardes-1.63-des-3.0.0.zip
|
||||
description: Для DES 3.0.0 из SDS 1.0.0.53 и выше
|
||||
platform: win32
|
||||
@@ -3,18 +3,24 @@ type: program
|
||||
name: MidletSigner
|
||||
summary: Программа для создания сертификатов и подписи Java-мидлетов на телефонах Siemens 65/75-й серии.
|
||||
description: |-
|
||||
Программа для самостоятельного создания сертификата и подписывания
|
||||
Java-мидлетов на телефонах Siemens 65-й и 75-й серий.
|
||||
Итак, для чего нужна эта программа?
|
||||
|
||||
Подписанный мидлет может работать без постоянных запросов подтверждения при
|
||||
чтении и записи файлов, выходе в интернет, отправке SMS и MMS, доступе к
|
||||
COM-порту, Bluetooth, адресной книге, органайзеру и мультимедийным функциям.
|
||||
Подпись также позволяет автоматически запускать мидлет по времени или
|
||||
событию.
|
||||
Вы наверняка заметили, что любой мидлет, обращающийся к файлам в памяти
|
||||
телефона или выходящий в интернет, каждый раз выдаёт надоедливые окошки
|
||||
«разрешить?..». Избавиться от них можно, снабдив мидлет цифровой подписью.
|
||||
Раньше это мог сделать только разработчик, обратившись в центр сертификации
|
||||
(который, понятное дело, хочет за это денежек :). Теперь же вы можете сами
|
||||
подписывать java-мидлеты.
|
||||
|
||||
Программа работает из командной строки с JAD- и JAR-файлами. Для работы
|
||||
требуется JRE версии 1.3 или новее. Для телефонов 65-й серии нужен OpenDisc
|
||||
2.0, а для телефонов 75-й серии в телефон должен быть введён SKEY.
|
||||
Кроме избавления от лишних вопросов, это даёт возможность (для разработчиков)
|
||||
запускать мидлет автоматически в нужное время или по событию (например,
|
||||
приход СМСки).
|
||||
|
||||
Что для этого нужно:
|
||||
|
||||
- JRE версии не меньше 1.3
|
||||
- Для 65-й серии — OpenDisc 2.0 от SiNgle
|
||||
- Для 75-й серии — в телефон должен быть введён SKEY
|
||||
homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html
|
||||
author: Chaos
|
||||
screenshots: []
|
||||
@@ -22,7 +28,7 @@ versions:
|
||||
- version: "5"
|
||||
files:
|
||||
- path: files/MidletSigner5.zip
|
||||
description: MidletSigner 5 с русским и английским руководствами
|
||||
description: В комплекте русское и английское руководства
|
||||
platform: java
|
||||
additional_files:
|
||||
- path: files/JRE131L.zip
|
||||
|
||||
@@ -3,10 +3,11 @@ type: program
|
||||
name: vmo2wav
|
||||
summary: Конвертер диктофонных записей Siemens SL45 из VMO в WAV.
|
||||
description: |-
|
||||
Консольный конвертер диктофонных записей Siemens SL45 из формата VMO в WAV.
|
||||
Программа-конвертер файлов диктофонных записей (VMO) в формат WAV. Запускается
|
||||
из командной строки (MS-DOS prompt, FAR, Windows Commander).
|
||||
|
||||
По умолчанию программа нормализует уровень сигнала. Нормализацию можно
|
||||
отключить параметром `-n`.
|
||||
По умолчанию программа нормализует (выравнивает) уровень сигнала. Эту функцию
|
||||
можно отключить, запуская vmo2wav с параметром `-n`.
|
||||
homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html
|
||||
author: Chaos
|
||||
screenshots: []
|
||||
@@ -14,5 +15,5 @@ versions:
|
||||
- version: "1.0"
|
||||
files:
|
||||
- path: files/vmo2wav.zip
|
||||
description: Конвертер vmo2wav и руководство пользователя
|
||||
description: В комплекте руководство пользователя
|
||||
platform: win32
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
"scripts": {
|
||||
"fill-metadata": "tsx scripts/fillMetadata.ts",
|
||||
"fill-metadata:check": "tsx scripts/fillMetadata.ts --check",
|
||||
"repack-archive": "tsx scripts/repackArchive.ts",
|
||||
"tree": "tsx scripts/printTree.ts",
|
||||
"typecheck": "tsc --noEmit"
|
||||
},
|
||||
|
||||
@@ -168,6 +168,9 @@
|
||||
"source": {
|
||||
"$ref": "#/$defs/url"
|
||||
},
|
||||
"forum": {
|
||||
"$ref": "#/$defs/url"
|
||||
},
|
||||
"author": {
|
||||
"$ref": "#/$defs/name"
|
||||
},
|
||||
|
||||
@@ -0,0 +1,308 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import { createHash } from "node:crypto";
|
||||
import { execFile } from "node:child_process";
|
||||
import { createReadStream } from "node:fs";
|
||||
import {
|
||||
constants,
|
||||
copyFile,
|
||||
lstat,
|
||||
mkdir,
|
||||
mkdtemp,
|
||||
readdir,
|
||||
rm,
|
||||
stat,
|
||||
} from "node:fs/promises";
|
||||
import { tmpdir } from "node:os";
|
||||
import path from "node:path";
|
||||
import process from "node:process";
|
||||
import { promisify } from "node:util";
|
||||
|
||||
type Options = {
|
||||
source: string;
|
||||
output: string;
|
||||
replace: boolean;
|
||||
};
|
||||
|
||||
type TreeEntry = {
|
||||
type: "directory" | "file";
|
||||
mtime100ns: bigint;
|
||||
size?: bigint;
|
||||
sha256?: string;
|
||||
};
|
||||
|
||||
const execFileAsync = promisify(execFile);
|
||||
const supportedExtensions = new Set([".7z", ".exe", ".rar", ".zip"]);
|
||||
|
||||
function usage(): void {
|
||||
console.log(`Usage: pnpm repack-archive [options] <archive-or-exe>
|
||||
|
||||
Creates a Windows XP-compatible ZIP next to the source file.
|
||||
|
||||
-o, --output <path> write to a specific ZIP path
|
||||
--replace delete the source after successful verification
|
||||
--help show this help message`);
|
||||
}
|
||||
|
||||
function parseArguments(args: string[]): Options {
|
||||
let output: string | undefined;
|
||||
let replace = false;
|
||||
const positional: string[] = [];
|
||||
|
||||
for (let index = 0; index < args.length; index += 1) {
|
||||
const argument = args[index];
|
||||
if (argument === "--help" || argument === "-h") {
|
||||
usage();
|
||||
process.exit(0);
|
||||
} else if (argument === "--replace") {
|
||||
replace = true;
|
||||
} else if (argument === "--output" || argument === "-o") {
|
||||
output = args[index + 1];
|
||||
if (output === undefined) {
|
||||
throw new Error(`${argument} requires a path`);
|
||||
}
|
||||
index += 1;
|
||||
} else if (argument.startsWith("-")) {
|
||||
throw new Error(`Unknown option: ${argument}`);
|
||||
} else {
|
||||
positional.push(argument);
|
||||
}
|
||||
}
|
||||
|
||||
if (positional.length !== 1) {
|
||||
throw new Error("Expected one archive or EXE path");
|
||||
}
|
||||
|
||||
const source = path.resolve(positional[0]);
|
||||
const extension = path.extname(source).toLowerCase();
|
||||
if (!supportedExtensions.has(extension)) {
|
||||
throw new Error(`Unsupported source type: ${extension || "no extension"}`);
|
||||
}
|
||||
|
||||
const destination = path.resolve(
|
||||
output ?? path.join(path.dirname(source), `${path.basename(source, extension)}.zip`),
|
||||
);
|
||||
if (path.extname(destination).toLowerCase() !== ".zip") {
|
||||
throw new Error("Output path must have the .zip extension");
|
||||
}
|
||||
if (source === destination) {
|
||||
throw new Error("Source and output paths are the same; use --output for ZIP input");
|
||||
}
|
||||
|
||||
return { source, output: destination, replace };
|
||||
}
|
||||
|
||||
async function run(
|
||||
command: string,
|
||||
args: string[],
|
||||
cwd?: string,
|
||||
): Promise<{ stdout: string; stderr: string }> {
|
||||
return execFileAsync(command, args, {
|
||||
cwd,
|
||||
encoding: "utf8",
|
||||
maxBuffer: 16 * 1024 * 1024,
|
||||
});
|
||||
}
|
||||
|
||||
async function sha256(filePath: string): Promise<string> {
|
||||
const hash = createHash("sha256");
|
||||
for await (const chunk of createReadStream(filePath)) {
|
||||
hash.update(chunk);
|
||||
}
|
||||
return hash.digest("hex");
|
||||
}
|
||||
|
||||
async function collectTree(root: string): Promise<Map<string, TreeEntry>> {
|
||||
const result = new Map<string, TreeEntry>();
|
||||
|
||||
async function visit(directory: string): Promise<void> {
|
||||
const entries = await readdir(directory, { withFileTypes: true });
|
||||
entries.sort((left, right) => left.name.localeCompare(right.name, "en"));
|
||||
|
||||
for (const entry of entries) {
|
||||
const absolutePath = path.join(directory, entry.name);
|
||||
const relativePath = path.relative(root, absolutePath).split(path.sep).join("/");
|
||||
const fileStat = await lstat(absolutePath, { bigint: true });
|
||||
const mtime100ns = fileStat.mtimeNs / 100n;
|
||||
|
||||
if (fileStat.isDirectory()) {
|
||||
result.set(relativePath, { type: "directory", mtime100ns });
|
||||
await visit(absolutePath);
|
||||
} else if (fileStat.isFile()) {
|
||||
result.set(relativePath, {
|
||||
type: "file",
|
||||
mtime100ns,
|
||||
size: fileStat.size,
|
||||
sha256: await sha256(absolutePath),
|
||||
});
|
||||
} else {
|
||||
throw new Error(`Unsupported special file: ${relativePath}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
await visit(root);
|
||||
return result;
|
||||
}
|
||||
|
||||
function compareTrees(
|
||||
original: Map<string, TreeEntry>,
|
||||
verified: Map<string, TreeEntry>,
|
||||
): void {
|
||||
if (original.size === 0) {
|
||||
throw new Error("Source contains no files or directories");
|
||||
}
|
||||
if (original.size !== verified.size) {
|
||||
throw new Error("ZIP contents differ from the source");
|
||||
}
|
||||
|
||||
for (const [entryPath, expected] of original) {
|
||||
const actual = verified.get(entryPath);
|
||||
if (actual === undefined) {
|
||||
throw new Error(`Missing entry after repacking: ${entryPath}`);
|
||||
}
|
||||
if (
|
||||
actual.type !== expected.type ||
|
||||
actual.mtime100ns !== expected.mtime100ns ||
|
||||
actual.size !== expected.size ||
|
||||
actual.sha256 !== expected.sha256
|
||||
) {
|
||||
throw new Error(`Entry differs after repacking: ${entryPath}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function validateCompatibility(zipPath: string): Promise<void> {
|
||||
const { stdout } = await run("zipinfo", ["-v", zipPath]);
|
||||
if (/zip64/i.test(stdout)) {
|
||||
throw new Error("Zip64 is not compatible with Windows XP Explorer");
|
||||
}
|
||||
|
||||
const versions = [...stdout.matchAll(
|
||||
/minimum software version required to extract:\s*([0-9.]+)/g,
|
||||
)];
|
||||
if (versions.some((match) => Number(match[1]) > 2)) {
|
||||
throw new Error("ZIP requires an extractor newer than version 2.0");
|
||||
}
|
||||
|
||||
const methods = [...stdout.matchAll(/compression method:\s*([^\r\n]+)/g)];
|
||||
if (
|
||||
methods.length === 0 ||
|
||||
methods.some((match) => !/^(deflated|none \(stored\))$/.test(match[1].trim()))
|
||||
) {
|
||||
throw new Error("ZIP uses a method other than Store or Deflate");
|
||||
}
|
||||
|
||||
const security = [...stdout.matchAll(/file security status:\s*([^\r\n]+)/g)];
|
||||
if (
|
||||
security.length === 0 ||
|
||||
security.some((match) => match[1].trim() !== "not encrypted")
|
||||
) {
|
||||
throw new Error("Encrypted ZIP entries are not allowed");
|
||||
}
|
||||
}
|
||||
|
||||
async function ensureOutputDoesNotExist(output: string): Promise<void> {
|
||||
try {
|
||||
await lstat(output);
|
||||
throw new Error(`Output already exists: ${output}`);
|
||||
} catch (error) {
|
||||
const code = error instanceof Error && "code" in error ? error.code : undefined;
|
||||
if (code !== "ENOENT") {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function main(): Promise<void> {
|
||||
const options = parseArguments(process.argv.slice(2));
|
||||
const sourceStat = await stat(options.source);
|
||||
if (!sourceStat.isFile()) {
|
||||
throw new Error(`Source is not a regular file: ${options.source}`);
|
||||
}
|
||||
await ensureOutputDoesNotExist(options.output);
|
||||
|
||||
const temporaryRoot = await mkdtemp(path.join(tmpdir(), "repack-archive-"));
|
||||
const originalDirectory = path.join(temporaryRoot, "original");
|
||||
const verifiedDirectory = path.join(temporaryRoot, "verified");
|
||||
const temporaryZip = path.join(temporaryRoot, "output.zip");
|
||||
await mkdir(originalDirectory);
|
||||
await mkdir(verifiedDirectory);
|
||||
|
||||
try {
|
||||
if (path.extname(options.source).toLowerCase() === ".exe") {
|
||||
await run("cp", ["-p", "--", options.source, originalDirectory]);
|
||||
} else {
|
||||
await run("7z", ["t", options.source, "-bso0", "-bsp0"]);
|
||||
await run("7z", [
|
||||
"x",
|
||||
options.source,
|
||||
"-y",
|
||||
`-o${originalDirectory}`,
|
||||
"-bso0",
|
||||
"-bsp0",
|
||||
]);
|
||||
}
|
||||
|
||||
const originalTree = await collectTree(originalDirectory);
|
||||
await run(
|
||||
"7z",
|
||||
[
|
||||
"a",
|
||||
"-tzip",
|
||||
"-mm=Deflate",
|
||||
"-mx=9",
|
||||
"-mtc=on",
|
||||
"-mtm=on",
|
||||
"-mta=on",
|
||||
temporaryZip,
|
||||
".",
|
||||
"-bso0",
|
||||
"-bsp0",
|
||||
],
|
||||
originalDirectory,
|
||||
);
|
||||
await run("touch", ["-r", options.source, temporaryZip]);
|
||||
await run("7z", ["t", temporaryZip, "-bso0", "-bsp0"]);
|
||||
await validateCompatibility(temporaryZip);
|
||||
|
||||
await run("7z", [
|
||||
"x",
|
||||
temporaryZip,
|
||||
"-y",
|
||||
`-o${verifiedDirectory}`,
|
||||
"-bso0",
|
||||
"-bsp0",
|
||||
]);
|
||||
compareTrees(originalTree, await collectTree(verifiedDirectory));
|
||||
|
||||
await mkdir(path.dirname(options.output), { recursive: true });
|
||||
try {
|
||||
await copyFile(temporaryZip, options.output, constants.COPYFILE_EXCL);
|
||||
await run("touch", ["-r", options.source, options.output]);
|
||||
} catch (error) {
|
||||
await rm(options.output, { force: true });
|
||||
throw error;
|
||||
}
|
||||
|
||||
if (options.replace) {
|
||||
await rm(options.source);
|
||||
}
|
||||
|
||||
console.log(`Created ${options.output}`);
|
||||
console.log("Verified contents, SHA-256, timestamps, and Windows XP compatibility.");
|
||||
if (options.replace) {
|
||||
console.log(`Removed ${options.source}`);
|
||||
}
|
||||
} finally {
|
||||
await rm(temporaryRoot, { recursive: true, force: true });
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
await main();
|
||||
} catch (error) {
|
||||
const message = error instanceof Error ? error.message : String(error);
|
||||
console.error(`Error: ${message}`);
|
||||
process.exitCode = 1;
|
||||
}
|
||||
Reference in New Issue
Block a user