Expand and refine software catalog

This commit is contained in:
2026-08-18 03:09:41 +03:00
parent 570fb54805
commit 5429755609
56 changed files with 909 additions and 247 deletions
+22 -6
View File
@@ -50,11 +50,12 @@ description: Описание категории на русском языке.
Markdown. Markdown.
6. `homepage` — необязательный URL домашней страницы. 6. `homepage` — необязательный URL домашней страницы.
7. `source` — необязательный URL исходного кода. 7. `source` — необязательный URL исходного кода.
8. `author` — необязательное имя автора или название организации-разработчика. 8. `forum` — необязательный URL темы программы на форуме.
9. `screenshots` — обязательный массив путей; используй `[]`, если изображений 9. `author`необязательное имя автора или название организации-разработчика.
10. `screenshots` — обязательный массив путей; используй `[]`, если изображений
нет. нет.
10. `versions` — обязательный непустой массив версий. 11. `versions` — обязательный непустой массив версий.
11. `additional_files` — необязательный массив файлов, не привязанных к версии. 12. `additional_files` — необязательный массив файлов, не привязанных к версии.
Новые версии добавляй в начало `versions`, от новых к старым. Каждая версия Новые версии добавляй в начало `versions`, от новых к старым. Каждая версия
имеет такой вид: имеет такой вид:
@@ -87,6 +88,11 @@ description: Описание категории на русском языке.
SHA-256 не добавляй в индекс программы: они хранятся только в автоматически SHA-256 не добавляй в индекс программы: они хранятся только в автоматически
создаваемом `catalog/files.yaml`. создаваемом `catalog/files.yaml`.
`description` файла добавляй только для существенной информации: отличия от
других вариантов, особого назначения или дополнительных материалов в архиве.
Не повторяй в нём название программы, номер версии, имя файла или тип
«программа», «дистрибутив», «исполняемый файл».
### Короткое описание ### Короткое описание
`summary` выводится рядом с названием программы в списке категории. Напиши `summary` выводится рядом с названием программы в списке категории. Напиши
@@ -109,12 +115,17 @@ additional_files:
- Названия категорий, описания программ, версий и файлов пиши на русском языке. - Названия категорий, описания программ, версий и файлов пиши на русском языке.
Официальные названия продуктов и технологий не переводи. Официальные названия продуктов и технологий не переводи.
- Если доступно авторское описание, сохраняй его лексику, тон, порядок мыслей и
характерные формулировки. Не переписывай текст в нейтральном справочном стиле
и не заменяй авторские термины своими. Исправляй только оформление Markdown,
явные опечатки и очевидные грамматические ошибки.
- Сохраняй полноту исходного описания. Не сокращай перечень возможностей до - Сохраняй полноту исходного описания. Не сокращай перечень возможностей до
общего пересказа и не удаляй значимые технические подробности. общего пересказа и не удаляй значимые технические подробности.
- Содержимое каждого `description` интерпретируется как Markdown. Для длинного - Содержимое каждого `description` интерпретируется как Markdown. Для длинного
описания со списком используй литеральный блок `|-` и Markdown-списки; для описания со списком используй литеральный блок `|-` и Markdown-списки; для
обычного абзаца, перенесённого на несколько строк, используй `>-`. Не вставляй обычного абзаца, перенесённого на несколько строк, используй `>-`. Не вставляй
HTML-разметку. HTML-разметку.
- Каждый пункт Markdown-списка начинай с заглавной буквы.
- Не выдумывай даты, ссылки, возможности или платформы. Неизвестное - Не выдумывай даты, ссылки, возможности или платформы. Неизвестное
необязательное поле лучше не добавлять. необязательное поле лучше не добавлять.
- Сначала пытайся определить версию по странице, имени файла, README и - Сначала пытайся определить версию по странице, имени файла, README и
@@ -134,8 +145,13 @@ additional_files:
- Дистрибутивы и отдельные исполняемые файлы храни в ZIP, совместимом со - Дистрибутивы и отдельные исполняемые файлы храни в ZIP, совместимом со
встроенным распаковщиком Windows XP: методы Store или Deflate, без шифрования встроенным распаковщиком Windows XP: методы Store или Deflate, без шифрования
и Zip64. Не добавляй RAR, 7z и незапакованные EXE. и 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 LFS согласно `.gitattributes`. Остальные
файлы хранятся в обычном Git. файлы хранятся в обычном Git.
+5 -1
View File
@@ -44,6 +44,7 @@ description: |-
Полное описание в Markdown. Полное описание в Markdown.
homepage: https://example.org homepage: https://example.org
source: https://github.com/example/project source: https://github.com/example/project
forum: https://example.org/forum/topic
author: Автор author: Автор
screenshots: screenshots:
- img/screenshot.png - img/screenshot.png
@@ -78,9 +79,12 @@ additional_files:
pnpm install pnpm install
pnpm fill-metadata pnpm fill-metadata
pnpm fill-metadata:check pnpm fill-metadata:check
pnpm repack-archive path/to/archive.rar
pnpm tree pnpm tree
pnpm typecheck pnpm typecheck
``` ```
`fill-metadata` пересобирает `catalog/files.yaml`. `tree` принимает путь и флаги `fill-metadata` пересобирает `catalog/files.yaml`. `tree` принимает путь и флаги
`--paths`, `--versions`. `--paths`, `--versions`. `repack-archive` создаёт совместимый с Windows XP ZIP и
проверяет содержимое и timestamps; флаг `--replace` удаляет исходник только
после успешной проверки.
@@ -1,30 +1,41 @@
format: 1 format: 1
type: program type: program
name: ArmDebugger name: ArmDebugger
summary: Отладчик ARM/Thumb-кода для телефонов Siemens 65/70/75-й серии. summary: Дебаггер для телефонов Siemens 65/70/75-й серии.
description: |- description: |-
Отладчик для телефонов Siemens 65/70/75-й серии. Отладчик для телефонов Siemens 65/70/75-й серии.
Возможности: - Автоматическая генерация CGSN-патча по слитому фулфлешу
- автоматическая генерация CGSN-патча по слитому фулфлешу; - Просмотр содержимого памяти телефона в HEX-дампе
- просмотр содержимого памяти телефона в HEX-дампе; - ARM/Thumb дизассемблер с inline-ассемблером
- ARM/Thumb-дизассемблер с inline-ассемблером; - Пошаговая трассировка программы или процесса
- пошаговая трассировка программы или процесса; - Установка точек мониторинга на любой адрес флеш-памяти и на запись в
- установка точек мониторинга на любой адрес флеш-памяти и на запись в диапазон RAM
диапазон RAM; - Возможность редактирования памяти, в том числе флеш-области (используется
- редактирование памяти, в том числе флеш-области, с использованием замещения замещение flash-страниц)
flash-страниц; - Поиск байтов/строк в памяти, ссылок
- поиск байтов, строк и ссылок в памяти; - Интеграция с Keil ARM tools
- интеграция с Keil ARM Tools; - Дополнительные функции: дамп памяти в файл, вызов функций flash с
- дамп памяти в файл, вызов функций flash с параметрами и hex/bin/dec параметрами, hex/bin/dec калькулятор
калькулятор.
[Инструкция по работе с ArmDebugger](/docs/reverse-engineering/arm-debugger).
homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html 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 author: Chaos
screenshots: [] screenshots: []
versions: 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" - version: "0.7.9"
released: "2006-12-28" released: "2006-12-28"
files: files:
- path: files/ArmDebugger-079.zip - path: files/ArmDebugger-079.zip
description: Отладчик, краткое руководство и примеры для Keil ARM Tools description: В комплекте краткое руководство и примеры для Keil ARM Tools
platform: win32 platform: win32
@@ -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
@@ -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
@@ -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
@@ -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 для их регистрации
+1 -4
View File
@@ -2,9 +2,7 @@ format: 1
type: program type: program
name: WSFF name: WSFF
summary: Программа для анализа и распаковки сервисных прошивок Siemens WinSwup. summary: Программа для анализа и распаковки сервисных прошивок Siemens WinSwup.
description: |- description: Программа для анализа и распаковки WinSwup-баз.
Утилита для анализа структуры и распаковки баз сервисных прошивок Siemens
WinSwup.
homepage: https://web.archive.org/web/20130825050857/http://papuas.allsiemens.com/ homepage: https://web.archive.org/web/20130825050857/http://papuas.allsiemens.com/
author: Papuas author: Papuas
screenshots: [] screenshots: []
@@ -13,5 +11,4 @@ versions:
released: "2006-02-10" released: "2006-02-10"
files: files:
- path: files/WSFF4.zip - path: files/WSFF4.zip
description: Программа WSFF4
platform: win32 platform: win32
+4
View File
@@ -0,0 +1,4 @@
format: 1
type: category
name: Моддинг
description: Изменение интерфейса и ресурсов прошивок телефонов.
@@ -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
-4
View File
@@ -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
+4
View File
@@ -0,0 +1,4 @@
format: 1
type: category
name: Утилиты
description: Сравнение и анализ прошивок, поиск функций и создание патчей VKP.
@@ -3,12 +3,11 @@ type: program
name: SLFC name: SLFC
summary: Консольная программа для сравнения образов FullFlash и создания VKP-патчей. summary: Консольная программа для сравнения образов FullFlash и создания VKP-патчей.
description: |- description: |-
Консольная программа для сравнения двух файлов fullflash и создания патча в Для Windows, с консольным интерфейсом. Сравнивает 2 файла (fullflash),
формате VKP. результат сравнения можно сохранять в виде vkp-файла.
Совпадающие байты можно учитывать по правилу: если их не больше трёх, они Совпадающие байты можно обойти так: если их `<=3`, то включать в патч, если
включаются в патч; более длинная совпадающая последовательность считается больше, тогда уже считать, что блок изменений закончился.
окончанием блока изменений.
homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html
author: Chaos author: Chaos
screenshots: [] screenshots: []
+2 -2
View File
@@ -3,7 +3,8 @@ type: program
name: PL-2303 Driver (Patched) name: PL-2303 Driver (Patched)
summary: Модифицированный драйвер дата-кабелей PL-2303 с поддержкой скорости до 1625000 бит/с. summary: Модифицированный драйвер дата-кабелей PL-2303 с поддержкой скорости до 1625000 бит/с.
description: >- description: >-
Модифицированный Chaos драйвер для дата-кабелей на чипсете Prolific PL-2303. В отличие от штатного драйвера он позволяет флешерам обмениваться данными с телефоном на скорости до 1625000 бит/с. Пропатченный драйвер для дата-кабелей на чипсете Prolific PL-2303,
позволяющий работать с флешером на скорости 1625000 бит/с.
homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html
author: Prolific Technology Inc.; модификация — Chaos author: Prolific Technology Inc.; модификация — Chaos
screenshots: [] screenshots: []
@@ -11,5 +12,4 @@ versions:
- version: "2.0.5.26" - version: "2.0.5.26"
files: files:
- path: files/PL-2303_patched.zip - path: files/PL-2303_patched.zip
description: Драйвер PL-2303 с поддержкой скорости до 1625000 бит/с
platform: win32 platform: win32
+5
View File
@@ -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

+58
View File
@@ -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
View File
@@ -3,27 +3,54 @@ files:
development/debugging/armdebugger/files/ArmDebugger-079.zip: development/debugging/armdebugger/files/ArmDebugger-079.zip:
size: 537898 size: 537898
sha256: f5f098523b4920387ac1fdceb6225bc7b2c9669fdf80199467061375cefcae43 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: development/firmware/wsff/files/WSFF4.zip:
size: 161402 size: 161402
sha256: 0bd7fc9324dc8c2c37dde7136761a4be75818fca5a4db53738868a1bae732a17 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 size: 86130
sha256: 6f78952f0711c2f5f5c5c3d41ec3710704c86ba059cf2349cbcc15e1ac7997ff sha256: 6f78952f0711c2f5f5c5c3d41ec3710704c86ba059cf2349cbcc15e1ac7997ff
development/patching/filescomparer/files/fc_v1.2.zip: development/utilities/filescomparer/files/fc_v1.2.zip:
size: 7634 size: 7634
sha256: 2410c09137f78dbd6fb661d78bfe1c666ce67aaea1b87078f2327a0ca686e1bd sha256: 2410c09137f78dbd6fb661d78bfe1c666ce67aaea1b87078f2327a0ca686e1bd
development/patching/hex2vkp/files/hex2vkp.zip: development/utilities/hex2vkp/files/hex2vkp.zip:
size: 50300 size: 50300
sha256: 10149c6770337551f18f5ff948acf9e3fbd025fca3e97a1f0f1cab9702301786 sha256: 10149c6770337551f18f5ff948acf9e3fbd025fca3e97a1f0f1cab9702301786
development/patching/slfc/files/slfc-chaos.zip: development/utilities/slfc/files/slfc-chaos.zip:
size: 29659 size: 29659
sha256: 079b74cdb678a8b3da9be62416a8d49df912790c54f6eb4979e0bae53252fea7 sha256: 079b74cdb678a8b3da9be62416a8d49df912790c54f6eb4979e0bae53252fea7
development/patching/slfc/files/slfc-vi-soft.zip: development/utilities/slfc/files/slfc-vi-soft.zip:
size: 29837 size: 29837
sha256: 418b3e9e75cabf8d8c70fc02e472231468433b130144d61ad97e036bfcbeb4b6 sha256: 418b3e9e75cabf8d8c70fc02e472231468433b130144d61ad97e036bfcbeb4b6
drivers/pl-2303/files/PL-2303_patched.zip: drivers/pl-2303/files/PL-2303_patched.zip:
size: 245989 size: 245989
sha256: 95ed927523632540cf2368827c40658c6e6a713d247eb695b0303980fedabf69 sha256: 95ed927523632540cf2368827c40658c6e6a713d247eb695b0303980fedabf69
explorers/simoco/files/SiMoCo-2.2.9.zip:
size: 1064761
sha256: 289a26e6f137447fafdaadf03ad83c25e01199254010adaa13b4dbc506335456
flashers/v-klay/files/v_klay_setup_v2152.zip: flashers/v-klay/files/v_klay_setup_v2152.zip:
size: 2329199 size: 2329199
sha256: ff564a3eeecee306b1ccc4cb0e6e9385f9dd9a6cc9d48bfbba36faf4d35182a3 sha256: ff564a3eeecee306b1ccc4cb0e6e9385f9dd9a6cc9d48bfbba36faf4d35182a3
@@ -54,9 +81,18 @@ files:
service/joker/files/JokerV0295.zip: service/joker/files/JokerV0295.zip:
size: 205801 size: 205801
sha256: 338408da0cb9d48b4243a58a8bca0b4a4acf97e9753b06a90291b7e5832fa5f5 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: service/siemens-eeprom-tool/files/SiemensEEPROMtool315plus.zip:
size: 76842 size: 76842
sha256: d782a805d2d03c991d48ab909de669d45e331f12e806153f21708191bb1e566e sha256: d782a805d2d03c991d48ab909de669d45e331f12e806153f21708191bb1e566e
service/swrite-map-r65/files/SWriteMapR65-1.04.zip:
size: 1342392
sha256: 7959f1b1a0d2ddd76cc7b15793978eacd716e8bc085ef9425fc9ada2ff0fef1a
service/winswup/files/winswup-0.91-pre1.zip: service/winswup/files/winswup-0.91-pre1.zip:
size: 392129 size: 392129
sha256: 49cae8b5b1c27ffa90106ae3480d3e3af7e7593fa65a5e02cb64cc11375e64a9 sha256: 49cae8b5b1c27ffa90106ae3480d3e3af7e7593fa65a5e02cb64cc11375e64a9
@@ -240,6 +276,12 @@ files:
service/x65-papua-utils/files/x65PapuaUtilsV111c_rus.zip: service/x65-papua-utils/files/x65PapuaUtilsV111c_rus.zip:
size: 622911 size: 622911
sha256: 692002231f2af62ecf053d41c714302fd24c1895b7c839cc3ad9d3440dce47df 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: utilities/midletsigner/files/JRE131L.zip:
size: 714574 size: 714574
sha256: 491630231a390b9460fae0411d967484d7efa5a35ec7ec89e21f7cadf082c9c9 sha256: 491630231a390b9460fae0411d967484d7efa5a35ec7ec89e21f7cadf082c9c9
+23 -19
View File
@@ -3,23 +3,31 @@ type: program
name: V_KLay name: V_KLay
summary: Флешер и VKP-патчер для телефонов Siemens с редактором раскладки клавиатуры. summary: Флешер и VKP-патчер для телефонов Siemens с редактором раскладки клавиатуры.
description: |- 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, - Применение и отмена патчей VKP с проверкой старых данных;
A35, A36, A40, A50, A52, A55, A60, A65, C30, C35, C45, C55, C60, C65, - Создание, открытие, редактирование и сохранение патчей VKP;
CF62, CX65, M35, M50, M55, M65, MC60, ME45, MT50, S35, S40, S45, S55, - Поиск и замена в тексте патча;
S65, SL42, SL45, SL55, SL65 и SX1. - Чтение и запись памяти телефона;
- Сохранение прочитанных данных в файл и загрузка данных из файла;
- Работа со всем фуллфлешем, отдельными областями памяти и 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/ homepage: https://web.archive.org/web/20130813164842/http://vi-soft.com.ua/
author: ValeraVi (Валерий Вишняк) author: ValeraVi (Валерий Вишняк)
screenshots: [] screenshots: []
@@ -28,29 +36,25 @@ versions:
status: current status: current
files: files:
- path: files/v_klay_setup.zip - path: files/v_klay_setup.zip
description: Установочный пакет V_KLay 3.3
platform: win32 platform: win32
- version: "2.7.2" - version: "2.7.2"
status: archived status: archived
files: files:
- path: files/v_klay_setup_v272.zip - path: files/v_klay_setup_v272.zip
description: Установочный пакет V_KLay 2.7.2
platform: win32 platform: win32
- version: "2.5" - version: "2.5"
status: archived status: archived
files: files:
- path: files/v_klay_setup_v25.zip - path: files/v_klay_setup_v25.zip
description: Установочный пакет V_KLay 2.5
platform: win32 platform: win32
- version: "2.1.12" - version: "2.1.12"
status: archived status: archived
files: files:
- path: files/v_klay_update_v2112.zip - path: files/v_klay_update_v2112.zip
description: Обновление до V_KLay 2.1.12
platform: win32 platform: win32
- version: "2.1.5.2" - version: "2.1.5.2"
status: archived status: archived
files: files:
- path: files/v_klay_setup_v2152.zip - path: files/v_klay_setup_v2152.zip
description: Англоязычный установочный пакет V_KLay 2.1.5.2 description: Англоязычная версия
platform: win32 platform: win32
+8 -9
View File
@@ -3,15 +3,14 @@ type: program
name: x65flasher name: x65flasher
summary: Программа для чтения и записи flash-памяти телефонов Siemens 65–75-й серии. summary: Программа для чтения и записи flash-памяти телефонов Siemens 65–75-й серии.
description: |- description: |-
Флешер для телефонов Siemens 6575-й серии и мидлеты для поиска boot-ключей. Флешер для телефонов 65-75-й серии + мидлет для поиска boot-ключей.
Возможности: - Чтение и запись flash-памяти телефона
- чтение и запись flash-памяти телефона; - Бэкап и восстановление как всего fullflash, так и отдельных частей
- резервное копирование и восстановление как всего fullflash, так и отдельных (файловой системы, прошивки, EEPROM)
частей: файловой системы, прошивки и EEPROM; - Просмотр карты flash-памяти
- просмотр карты flash-памяти; - Работа на скорости от 57600 до 1600000 бит/с
- работа на скорости от 57600 до 1600000 бит/с; - Генерация лоадеров для V_Klay
- генерация загрузчиков для V_Klay.
homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html
author: Chaos author: Chaos
screenshots: [] screenshots: []
@@ -20,7 +19,7 @@ versions:
released: "2006-12-06" released: "2006-12-06"
files: files:
- path: files/x65flasher-2103.zip - path: files/x65flasher-2103.zip
description: Флешер, документация и вспомогательные мидлеты description: В комплекте документация и вспомогательные мидлеты
platform: win32 platform: win32
additional_files: additional_files:
- path: files/px75v1.zip - path: files/px75v1.zip
Binary file not shown.
+14 -17
View File
@@ -3,33 +3,30 @@ type: program
name: Joker name: Joker
summary: Сервисная программа для диагностики и восстановления телефонов Siemens на платформе EGOLD. summary: Сервисная программа для диагностики и восстановления телефонов Siemens на платформе EGOLD.
description: |- description: |-
Сервисная программа для восстановления программных неисправностей телефонов Это программа для работы с моделями на EGOLD-платформе: A50, A51, A52, A55,
Siemens на платформе EGOLD с помощью обычного кабеля с минимальными A56, A57, A60, A62, A65, A70, A75, AX72, AX75, C55, C56, C60, CF62, CF110,
доработками. Поддерживаются A50A75, AX72/AX75, C55/C56/C60, CF62/CF110, M55, MC60, S55, S56, SL55, SX1 и аналогичными.
M55, MC60, S55/S56, SL55, SX1 и совместимые модели.
Возможности: Данная программа создаётся для восстановления всех софт-неисправностей
- чтение информации о телефоне и работа в режимах BFB и Service mode; телефонов Siemens на EGOLD-платформе с помощью простого кабеля с минимальными
- чтение и запись FullFlash и отдельных flash-сегментов; доработками в комплекте с Siemens EEPROM Tool.
- резервное копирование и восстановление EEPROM и секретных блоков;
- вычисление и сохранение SKEY, BKEY, ESN, HASH и мастер-кодов;
- пересчёт ключей после записи FullFlash от другого аппарата;
- подготовка BCORE, устранение Freeze и дефрагментация EEPROM;
- автоматическое определение flash-памяти и контроль CRC при операциях записи.
Перед записью автор рекомендует обязательно сохранить ESN, HASH и полный Все методы и т. д. только в режиме теста. Если Вы испортите свой телефон —
FullFlash рабочего телефона. Программа создавалась как экспериментальный это Ваша проблемка!
ремонтный инструмент; часть операций требует TestPoint. homepage: https://web.archive.org/web/20071011012321/http://papuas.allsiemens.com/Joker.htm
homepage: https://web.archive.org/web/20130825050857/http://papuas.allsiemens.com/Joker.htm
author: Papuas author: Papuas
screenshots: [] screenshots: []
versions: versions:
- version: "0.3.4.3"
status: current
files:
- path: files/JokerV0343.zip
platform: win32
- version: "0.2.9.5" - version: "0.2.9.5"
status: archived status: archived
released: "2005-11-25" released: "2005-11-25"
files: files:
- path: files/JokerV0295.zip - path: files/JokerV0295.zip
description: Исполняемая программа Joker 0.2.9.5
platform: win32 platform: win32
additional_files: additional_files:
- path: files/JokerSorceV0341.zip - path: files/JokerSorceV0341.zip
@@ -6,16 +6,19 @@ description: |-
Редактор файлов EEPROM телефонов Siemens. Используется совместно с Редактор файлов EEPROM телефонов Siemens. Используется совместно с
x65PapuaUtils и Joker для восстановления программно неисправных аппаратов, x65PapuaUtils и Joker для восстановления программно неисправных аппаратов,
работы с резервными копиями блоков EEPROM и исправления их содержимого. работы с резервными копиями блоков EEPROM и исправления их содержимого.
Номер `3.01.0005` получен из ресурса версии исполняемого файла; имя исходного
архива — `SiemensEEPROMtool315plus.rar`.
homepage: https://web.archive.org/web/20130825050857/http://papuas.allsiemens.com/ homepage: https://web.archive.org/web/20130825050857/http://papuas.allsiemens.com/
author: Skylord author: Skylord
screenshots: [] screenshots: []
versions: versions:
- version: "3.01.0005" - version: "3.15"
released: "2004-12-26" status: current
released: "2004-11-02"
files:
- path: files/SiemensEEPROMtool315.zip
platform: win32
- version: "3.15+"
status: current
description: Модификация для EGOLD от Papuas.
files: files:
- path: files/SiemensEEPROMtool315plus.zip - path: files/SiemensEEPROMtool315plus.zip
description: Программа Siemens EEPROM Tool
platform: win32 platform: win32
Binary file not shown.
+18
View File
@@ -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
+18 -24
View File
@@ -3,10 +3,8 @@ type: program
name: WinSwup name: WinSwup
summary: Официальная программа для прошивки телефонов Siemens с использованием файлов XBZ/XBI. summary: Официальная программа для прошивки телефонов Siemens с использованием файлов XBZ/XBI.
description: |- description: |-
Сервисная программа Siemens для обновления программного обеспечения Официальная программа для прошивки телефонов Siemens. Пригодится для заливки
телефонов. В каталоге представлены исполняемые комплекты и developer-пакеты прошивок XBI, XBZ и файловой системы XFS в телефон.
с Update DLL, загрузчиками, библиотеками, заголовочными файлами, примерами и
документацией.
author: Siemens AG author: Siemens AG
screenshots: [] screenshots: []
versions: versions:
@@ -15,104 +13,101 @@ versions:
released: "2006-05-08" released: "2006-05-08"
files: files:
- path: files/winswup-4.20.zip - path: files/winswup-4.20.zip
description: Полный developer-пакет WinSwup 4.20 с SDK, документацией и утилитами description: Developer-пакет с SDK, документацией и утилитами
platform: win32 platform: win32
- version: "4.14p3" - version: "4.14p3"
status: archived status: archived
files: files:
- path: files/winswup-4.14p3.zip - path: files/winswup-4.14p3.zip
description: Developer-пакет WinSwup 4.14p3 для SL75 Escada description: Developer-пакет для SL75 Escada
platform: win32 platform: win32
- version: "4.07" - version: "4.07"
status: archived status: archived
released: "2004-09-08" released: "2004-09-08"
files: files:
- path: files/winswup-4.07.zip - path: files/winswup-4.07.zip
description: Полный developer-пакет WinSwup 4.07 с SDK и документацией description: Developer-пакет с SDK и документацией
platform: win32 platform: win32
- version: "3.20" - version: "3.20"
status: current status: current
files: files:
- path: files/winswup-3.20.zip - path: files/winswup-3.20.zip
description: Прошивальщик для телефонов Siemens EGold и EGoldLite с поддержкой XBI, XBZ и XFS description: Для EGold и EGoldLite; поддерживаются XBI, XBZ и XFS
platform: win32 platform: win32
- version: "3.19" - version: "3.19"
status: archived status: archived
files: files:
- path: files/winswup-3.19.zip - path: files/winswup-3.19.zip
description: Полный developer-пакет WinSwup 3.19 для AL21 description: Developer-пакет для AL21
platform: win32 platform: win32
- version: "3.17" - version: "3.17"
status: archived status: archived
files: files:
- path: files/winswup-3.17.zip - path: files/winswup-3.17.zip
description: Полный developer-пакет WinSwup 3.17 с SDK и документацией description: Developer-пакет с SDK и документацией
platform: win32 platform: win32
- version: "3.05" - version: "3.05"
status: archived status: archived
files: files:
- path: files/winswup-3.05.zip - path: files/winswup-3.05.zip
description: Полный предварительный пакет WinSwup 3.05 с SDK и документацией description: Предварительный developer-пакет с SDK и документацией
platform: win32 platform: win32
- version: "3.002" - version: "3.002"
status: archived status: archived
files: files:
- path: files/winswup-3.002.zip - path: files/winswup-3.002.zip
description: Компактный исполняемый комплект WinSwup 3.002
platform: win32 platform: win32
- version: "1.44" - version: "1.44"
status: archived status: archived
files: files:
- path: files/winswup-1.44.zip - path: files/winswup-1.44.zip
description: Полный developer-пакет WinSwup 1.44 с SDK description: Developer-пакет с SDK
platform: win32 platform: win32
- version: "1.40" - version: "1.40"
status: archived status: archived
files: files:
- path: files/winswup-1.40.zip - path: files/winswup-1.40.zip
description: Полный developer-пакет WinSwup 1.40 с SDK и документацией description: Developer-пакет с SDK и документацией
platform: win32 platform: win32
- version: "1.35" - version: "1.35"
status: archived status: archived
files: files:
- path: files/winswup-1.35.zip - path: files/winswup-1.35.zip
description: Исполняемый комплект WinSwup 1.35 с загрузчиком SGOLD description: В комплекте загрузчик SGOLD
platform: win32 platform: win32
- version: "1.34" - version: "1.34"
status: archived status: archived
files: files:
- path: files/winswup-1.34.zip - path: files/winswup-1.34.zip
description: Исполняемый комплект WinSwup 1.34
platform: win32 platform: win32
- version: "1.30" - version: "1.30"
status: archived status: archived
files: files:
- path: files/winswup-1.30.zip - path: files/winswup-1.30.zip
description: Полный developer-пакет WinSwup 1.30 с SDK description: Developer-пакет с SDK
platform: win32 platform: win32
- version: "1.28" - version: "1.28"
status: archived status: archived
files: files:
- path: files/winswup-1.28.zip - path: files/winswup-1.28.zip
description: Полный developer-пакет WinSwup 1.28 с SDK description: Developer-пакет с SDK
platform: win32 platform: win32
- version: "1.27" - version: "1.27"
status: archived status: archived
files: files:
- path: files/winswup-1.27.zip - path: files/winswup-1.27.zip
description: Полный developer-пакет WinSwup 1.27 с SDK description: Developer-пакет с SDK
platform: win32 platform: win32
- version: "1.23" - version: "1.23"
status: archived status: archived
files: files:
- path: files/winswup-1.23.zip - path: files/winswup-1.23.zip
description: Исполняемый комплект WinSwup 1.23
platform: win32 platform: win32
- version: "1.04" - version: "1.04"
status: archived status: archived
files: files:
- path: files/winswup-1.04.zip - path: files/winswup-1.04.zip
description: Комплект WinSwup 1.04 с пакетами WC3I 2001 и 2008 description: В комплекте пакеты WC3I 2001 и 2008
platform: win32 platform: win32
- version: "0.98" - version: "0.98"
status: archived status: archived
@@ -128,16 +123,15 @@ versions:
status: archived status: archived
files: files:
- path: files/winswup-0.97.zip - path: files/winswup-0.97.zip
description: Комплект WinSwup 0.97 «Alle Produkte» с исходным ZIP-пакетом description: Сборка «Alle Produkte» с исходным ZIP-пакетом
platform: win32 platform: win32
- version: "0.95" - version: "0.95"
status: archived status: archived
files: files:
- path: files/winswup-0.95.zip - path: files/winswup-0.95.zip
description: Обычная сборка WinSwup 0.95
platform: win32 platform: win32
- path: files/winswup-0.95-amd32.zip - path: files/winswup-0.95-amd32.zip
description: Сборка WinSwup 0.95 с комплектом DLL AMD32 description: В комплекте DLL AMD32
platform: win32 platform: win32
- version: "0.91" - version: "0.91"
status: archived status: archived
+14 -48
View File
@@ -3,26 +3,21 @@ type: program
name: x65PapuaUtils name: x65PapuaUtils
summary: Сервисная программа для обслуживания телефонов Siemens на платформе SGOLD. summary: Сервисная программа для обслуживания телефонов Siemens на платформе SGOLD.
description: |- description: |-
Сервисная программа для телефонов Siemens на платформе SGOLD: Это программа для работы с моделями на SGOLD-платформе: S7F, S7C, S75, S66,
моделей семейств R65, X65, X75 и X85, включая S65, S68, S75, SL65, SL75, S6C, S6V, S65, S68, SK6C, SK6R, SK65, SL7F, SL7C, SL75, SL6C, SL6V, SL65,
M65, M75, ME75, CX65, CX70, CX75, C65, C72, C75 и их варианты. 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…
Возможности: Большинство вариантов восстановления всех софт-неисправностей x65…x75 с
- получение сведений о телефоне, ESN, HASH, SKEY и BootKey; помощью простого кабеля с минимальными доработками данная программа в
- перевод телефона в сервисный режим и работа через загрузчики; комплекте с V_Klay и Siemens EEPROM Tool уже содержит.
- чтение и запись flash-памяти, создание полного бэкапа и восстановление BCORE;
- чтение, сохранение и восстановление EEPROM, генерация и пересчёт секретных
блоков и ключей;
- создание загрузчиков для V_KLay;
- преобразование FullFlash и отдельных сегментов в XBI и UserSwup, а также
извлечение XBZ/XBZI из сервисных WinSwup;
- тестирование RAM и шин ExtRAM/ROM, работа с камерой и проверка звука;
- восстановление программно неисправных аппаратов с помощью обычного кабеля;
для первой записи BCORE в полностью неработающий телефон требуется TestPoint.
Автор предупреждает, что методы и поддержка отдельных моделей носили На полностью убитых телефонах первую запись BCORE производят с использованием
экспериментальный характер. Перед операциями записи следует сохранить ESN, ТП (Тест Поинт)!
HASH и полный FullFlash исправного телефона.
Все методы и т. д. в режиме теста. Если Вы испортите свой телефон — это Ваша
проблемка!
homepage: https://web.archive.org/web/20130825050857/http://papuas.allsiemens.com/PapuaUtils.htm homepage: https://web.archive.org/web/20130825050857/http://papuas.allsiemens.com/PapuaUtils.htm
author: Papuas author: Papuas
screenshots: [] screenshots: []
@@ -38,210 +33,181 @@ versions:
description: Английская версия. description: Английская версия.
files: files:
- path: files/x65PapuaUtilsV111b.zip - path: files/x65PapuaUtilsV111b.zip
description: Программа x65PapuaUtils 1.1.1b
platform: win32 platform: win32
- version: "0.7.9d" - version: "0.7.9d"
status: archived status: archived
released: "2006-04-08" released: "2006-04-08"
files: files:
- path: files/x65PapuaUtilsV079d.zip - path: files/x65PapuaUtilsV079d.zip
description: Программа x65PapuaUtils 0.7.9d
platform: win32 platform: win32
- version: "0.7.8" - version: "0.7.8"
status: archived status: archived
released: "2006-03-16" released: "2006-03-16"
files: files:
- path: files/x65PapuaUtilsV078.zip - path: files/x65PapuaUtilsV078.zip
description: Программа x65PapuaUtils 0.7.8
platform: win32 platform: win32
- version: "0.7.7" - version: "0.7.7"
status: archived status: archived
released: "2006-02-23" released: "2006-02-23"
files: files:
- path: files/x65PapuaUtilsV077.zip - path: files/x65PapuaUtilsV077.zip
description: Программа x65PapuaUtils 0.7.7
platform: win32 platform: win32
- version: "0.7.6b" - version: "0.7.6b"
status: archived status: archived
released: "2006-02-09" released: "2006-02-09"
files: files:
- path: files/x65PapuaUtilsV076b.zip - path: files/x65PapuaUtilsV076b.zip
description: Программа x65PapuaUtils 0.7.6b
platform: win32 platform: win32
- version: "0.7.5c" - version: "0.7.5c"
status: archived status: archived
released: "2006-01-16" released: "2006-01-16"
files: files:
- path: files/x65PapuaUtilsV075.zip - path: files/x65PapuaUtilsV075.zip
description: Программа x65PapuaUtils 0.7.5c
platform: win32 platform: win32
- version: "0.7.4" - version: "0.7.4"
status: archived status: archived
released: "2005-12-31" released: "2005-12-31"
files: files:
- path: files/x65PapuaUtilsV074.zip - path: files/x65PapuaUtilsV074.zip
description: Программа x65PapuaUtils 0.7.4
platform: win32 platform: win32
- version: "0.7.0" - version: "0.7.0"
status: archived status: archived
released: "2005-12-17" released: "2005-12-17"
files: files:
- path: files/x65PapuaUtilsV070.zip - path: files/x65PapuaUtilsV070.zip
description: Программа x65PapuaUtils 0.7.0
platform: win32 platform: win32
- version: "0.6.9" - version: "0.6.9"
status: archived status: archived
released: "2005-11-26" released: "2005-11-26"
files: files:
- path: files/x65PapuaUtilsV069.zip - path: files/x65PapuaUtilsV069.zip
description: Программа x65PapuaUtils 0.6.9
platform: win32 platform: win32
- version: "0.6.8" - version: "0.6.8"
status: archived status: archived
released: "2005-11-18" released: "2005-11-18"
files: files:
- path: files/x65PapuaUtilsV068.zip - path: files/x65PapuaUtilsV068.zip
description: Программа x65PapuaUtils 0.6.8
platform: win32 platform: win32
- version: "0.6.7c" - version: "0.6.7c"
status: archived status: archived
released: "2005-11-13" released: "2005-11-13"
files: files:
- path: files/x65PapuaUtilsV067c.zip - path: files/x65PapuaUtilsV067c.zip
description: Программа x65PapuaUtils 0.6.7c
platform: win32 platform: win32
- version: "0.6.6b" - version: "0.6.6b"
status: archived status: archived
released: "2005-10-14" released: "2005-10-14"
files: files:
- path: files/x65PapuaUtilsV066.zip - path: files/x65PapuaUtilsV066.zip
description: Программа x65PapuaUtils 0.6.6b
platform: win32 platform: win32
- version: "0.6.5" - version: "0.6.5"
status: archived status: archived
released: "2005-10-11" released: "2005-10-11"
files: files:
- path: files/x65PapuaUtilsV065.zip - path: files/x65PapuaUtilsV065.zip
description: Программа x65PapuaUtils 0.6.5
platform: win32 platform: win32
- version: "0.6.4" - version: "0.6.4"
status: archived status: archived
released: "2005-10-04" released: "2005-10-04"
files: files:
- path: files/x65PapuaUtilsV064.zip - path: files/x65PapuaUtilsV064.zip
description: Программа x65PapuaUtils 0.6.4
platform: win32 platform: win32
- version: "0.6.2" - version: "0.6.2"
status: archived status: archived
released: "2005-10-02" released: "2005-10-02"
files: files:
- path: files/x65PapuaUtilsV062.zip - path: files/x65PapuaUtilsV062.zip
description: Программа x65PapuaUtils 0.6.2
platform: win32 platform: win32
- version: "0.6.0" - version: "0.6.0"
status: archived status: archived
released: "2005-09-26" released: "2005-09-26"
files: files:
- path: files/x65PapuaUtilsV060.zip - path: files/x65PapuaUtilsV060.zip
description: Программа x65PapuaUtils 0.6.0
platform: win32 platform: win32
- version: "0.5.6" - version: "0.5.6"
status: archived status: archived
released: "2005-09-22" released: "2005-09-22"
files: files:
- path: files/x65PapuaUtilsV056.zip - path: files/x65PapuaUtilsV056.zip
description: Программа x65PapuaUtils 0.5.6
platform: win32 platform: win32
- version: "0.5.5" - version: "0.5.5"
status: archived status: archived
released: "2005-09-20" released: "2005-09-20"
files: files:
- path: files/x65PapuaUtilsV055.zip - path: files/x65PapuaUtilsV055.zip
description: Программа x65PapuaUtils 0.5.5
platform: win32 platform: win32
- version: "0.5.4" - version: "0.5.4"
status: archived status: archived
released: "2005-09-19" released: "2005-09-19"
files: files:
- path: files/x65PapuaUtilsV054.zip - path: files/x65PapuaUtilsV054.zip
description: Программа x65PapuaUtils 0.5.4
platform: win32 platform: win32
- version: "0.5.1" - version: "0.5.1"
status: archived status: archived
released: "2005-08-26" released: "2005-08-26"
files: files:
- path: files/x65PapuaUtilsV051.zip - path: files/x65PapuaUtilsV051.zip
description: Программа x65PapuaUtils 0.5.1
platform: win32 platform: win32
- version: "0.5.0" - version: "0.5.0"
status: archived status: archived
released: "2005-08-16" released: "2005-08-16"
files: files:
- path: files/x65PapuaUtilsV050.zip - path: files/x65PapuaUtilsV050.zip
description: Программа x65PapuaUtils 0.5.0
platform: win32 platform: win32
- version: "0.4.8a" - version: "0.4.8a"
status: archived status: archived
released: "2005-07-19" released: "2005-07-19"
files: files:
- path: files/x65PapuaUtilsV048.zip - path: files/x65PapuaUtilsV048.zip
description: Программа x65PapuaUtils 0.4.8a
platform: win32 platform: win32
- version: "0.4.7r" - version: "0.4.7r"
status: archived status: archived
released: "2005-07-11" released: "2005-07-11"
files: files:
- path: files/x65PapuaUtilsV047.zip - path: files/x65PapuaUtilsV047.zip
description: Программа x65PapuaUtils 0.4.7r
platform: win32 platform: win32
- version: "0.4.6" - version: "0.4.6"
status: archived status: archived
released: "2005-07-01" released: "2005-07-01"
files: files:
- path: files/x65PapuaUtilsV046.zip - path: files/x65PapuaUtilsV046.zip
description: Программа x65PapuaUtils 0.4.6
platform: win32 platform: win32
- version: "0.4.5b" - version: "0.4.5b"
status: archived status: archived
released: "2005-06-30" released: "2005-06-30"
files: files:
- path: files/x65PapuaUtilsV045.zip - path: files/x65PapuaUtilsV045.zip
description: Программа x65PapuaUtils 0.4.5b
platform: win32 platform: win32
- version: "0.4.4a" - version: "0.4.4a"
status: archived status: archived
released: "2005-06-24" released: "2005-06-24"
files: files:
- path: files/x65PapuaUtilsV044.zip - path: files/x65PapuaUtilsV044.zip
description: Программа x65PapuaUtils 0.4.4a
platform: win32 platform: win32
- version: "0.4.3" - version: "0.4.3"
status: archived status: archived
released: "2005-06-19" released: "2005-06-19"
files: files:
- path: files/x65PapuaUtilsV043.zip - path: files/x65PapuaUtilsV043.zip
description: Программа x65PapuaUtils 0.4.3
platform: win32 platform: win32
- version: "0.4.1g" - version: "0.4.1g"
status: archived status: archived
released: "2005-06-07" released: "2005-06-07"
files: files:
- path: files/x65PapuaUtilsV041.zip - path: files/x65PapuaUtilsV041.zip
description: Программа x65PapuaUtils 0.4.1g
platform: win32 platform: win32
- version: "0.3.8d" - version: "0.3.8d"
status: archived status: archived
released: "2005-06-01" released: "2005-06-01"
files: files:
- path: files/x65PapuaUtilsV038.zip - path: files/x65PapuaUtilsV038.zip
description: Программа x65PapuaUtils 0.3.8d
platform: win32 platform: win32
- version: "0.3.6" - version: "0.3.6"
status: archived status: archived
released: "2005-05-28" released: "2005-05-28"
files: files:
- path: files/x65PapuaUtilsV036.zip - path: files/x65PapuaUtilsV036.zip
description: Программа x65PapuaUtils 0.3.6 и FAQ description: В комплекте FAQ
platform: win32 platform: win32
additional_files: additional_files:
- path: files/SWP3.zip - path: files/SWP3.zip
Binary file not shown.
Binary file not shown.
+45
View File
@@ -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
+17 -11
View File
@@ -3,18 +3,24 @@ type: program
name: MidletSigner name: MidletSigner
summary: Программа для создания сертификатов и подписи Java-мидлетов на телефонах Siemens 65/75-й серии. summary: Программа для создания сертификатов и подписи Java-мидлетов на телефонах Siemens 65/75-й серии.
description: |- 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 homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html
author: Chaos author: Chaos
screenshots: [] screenshots: []
@@ -22,7 +28,7 @@ versions:
- version: "5" - version: "5"
files: files:
- path: files/MidletSigner5.zip - path: files/MidletSigner5.zip
description: MidletSigner 5 с русским и английским руководствами description: В комплекте русское и английское руководства
platform: java platform: java
additional_files: additional_files:
- path: files/JRE131L.zip - path: files/JRE131L.zip
+5 -4
View File
@@ -3,10 +3,11 @@ type: program
name: vmo2wav name: vmo2wav
summary: Конвертер диктофонных записей Siemens SL45 из VMO в WAV. summary: Конвертер диктофонных записей Siemens SL45 из VMO в WAV.
description: |- 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 homepage: https://web.archive.org/web/20130813164842/http://chaos.allsiemens.com/software.html
author: Chaos author: Chaos
screenshots: [] screenshots: []
@@ -14,5 +15,5 @@ versions:
- version: "1.0" - version: "1.0"
files: files:
- path: files/vmo2wav.zip - path: files/vmo2wav.zip
description: Конвертер vmo2wav и руководство пользователя description: В комплекте руководство пользователя
platform: win32 platform: win32
+1
View File
@@ -6,6 +6,7 @@
"scripts": { "scripts": {
"fill-metadata": "tsx scripts/fillMetadata.ts", "fill-metadata": "tsx scripts/fillMetadata.ts",
"fill-metadata:check": "tsx scripts/fillMetadata.ts --check", "fill-metadata:check": "tsx scripts/fillMetadata.ts --check",
"repack-archive": "tsx scripts/repackArchive.ts",
"tree": "tsx scripts/printTree.ts", "tree": "tsx scripts/printTree.ts",
"typecheck": "tsc --noEmit" "typecheck": "tsc --noEmit"
}, },
+3
View File
@@ -168,6 +168,9 @@
"source": { "source": {
"$ref": "#/$defs/url" "$ref": "#/$defs/url"
}, },
"forum": {
"$ref": "#/$defs/url"
},
"author": { "author": {
"$ref": "#/$defs/name" "$ref": "#/$defs/name"
}, },
+308
View File
@@ -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;
}