Всё для взлома и эмуляции Steam.
-
$t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
#1
Сообщение
24.07.2010, 17:17
По просьбе товарища
Jeka на этот раз всё сделано чуть покруче %) . Эта штука соединяется с контент сервером обновлений (утилитку для поднятия такового можной найти в папке CFToolbox\server) и ищет обновившиеся файлы для вашей GCF уже там. Это позволяет избавиться от постоянных скачиваний различных *.update.gcf. Здесь заодно *.update.gcf создаётся под вашу версию GCF.
в v3 добавлена поддержка GCF более 4 Гб и есть возможность создавать и применять CFT-совместимые патчи.
Код: Выделить всё
cfUpdater <действие> <путь к GCF|NCF> [Путь к папке с игрой для NCF] <доп. команды>
действия и доп. команды к ним:
- 0 - Создать файл манифестф (схож с .archive, но не является им).
- 1 <манифест> - Создать файл обновления (.update.gcf).
- 2 <патч> - Применить обновление.
- 3 <DLparameters> - Обновить/загрузить GCF/NCF через сервера Steam.
- 4 <DLparameters> - Обновить/загрузить GCF/NCF через контент-сервер CFT.
- 5 <Fix errors> - Валидация и опциональная коррекция кэш-файла (<Fix errors> должен быть 0 или 1).
- <DLparameters>:
- <IP:Port> - IP и порт либо мастер-сервера Steam, либо адрес контент-сервера CFT.
- <Version> - Версия GCF|NCF файла, запрашиваемая на сервере.
- <CreateUpdFile> - Должно быть 1 or 0. Создаёт файл .update.gcf, качает в него обновившиеся файлы и применяет к GCF.
- <AppID> - AppID обновляемого или загружаемого GCF|NCF файла. Может быть "NULL".
ПРИМЕЧАНИЕ: если <Version> = -1 и указан AppID, то с сервера запрашивается последняя версия.
- [Login] - Логин Steam аккаунта (для Действия 3).
- [Password] - пароль от Steam аккаунта (для Действия 3).
Примеры использования:
Код: Выделить всё
cfUpdater.exe 0 "C:\counter-strike.gcf"
cfUpdater.exe 1 "C:\counter-strike.gcf" "C:\counter-strike.0.CFUmanifest"
cfUpdater.exe 2 "C:\counter-strike.gcf" "C:\counter-strike.0_to_2.update.gcf"
cfUpdater.exe 3 "C:\counter-strike.gcf" "gds1.steampowered.com:27030" 2 0 NULL MyAccount MyPasswordIsblablabla
cfUpdater.exe 3 "C:\counter-strike.gcf" "gds1.steampowered.com:27030" -1 1 11 MyAccount MyPasswordIsblablabla
cfUpdater.exe 4 "C:\counter-strike.gcf" "123.321.213.312:27030" -1 0 11
cfUpdater.exe 4 "C:\counter-strike.gcf" "123.321.213.312:27030" 2 1 11
cfUpdater.exe 5 "C:\counter-strike.gcf" 1
v2
Использование:
Код: Выделить всё
cfUpdater.exe "thecontentserver.info:27030" "221"
или
Код: Выделить всё
cfUpdater.exe "thecontentserver.info:27030" "C:\path\to\gcf.gcf"
Примечания:
- Если указан файл, то он должен существовать.
- Путь к GCF файлу может быть относительным.
- если указана AppID, то соответствующий GCF ищется в папке с exe-файлом или в <папка с .exe>\SteamApps. Если таковой не был найден, то будет создан в <папке с .exe> и закачан с нуля.
Скачать v2
Скачать v3
Благодарности
steamCooker'у с cs.rin.ru за Rain.dll
Исходники на GitHub
Описание v1
Простенькая консольная обновлялка GCF на основе cftAPI. (как-то раз попросили, потом думаю, чего бы здесь не выложить)
Параметры использования таковы:
- -f : файл GCF, который нужно обновить
- -p : файл патча для данной GCF (*.update.gcf)
- -k : шифровочный ключ для обновляемого GCF (Encryption Key), если он существует для данного GCF. Если нет, то просто не подставлять параметр.
Код: Выделить всё
cfUpdater.exe -f "C:\Full\Path\to\GCF.gcf" -p "D:\Path\To\GCF.0_to_10.update.gcf" -k 1234567890ABCDEF
Скачать v1
Последний раз редактировалось
Shlak 24.07.2010, 17:17, всего редактировалось 2 раза.
Причина: Steam больше не поддерживает GCF. Открепил тему.
-
SAS123
- Лейтенант
- Сообщения: 143
- Зарегистрирован: 02.01.2006
- Благодарил (а): 3 раза
- Поблагодарили: 4 раза
-
Контактная информация:
#2
Сообщение
18.10.2010, 03:03
Возможно ли добавить Progress Bar, проверку cfType, appId, appVersion, валидацию, пакетную обработку gcf, конфиг?
К примеру кидаем несколько GCF.x_to_y.update.gcf в SteamApps и утилита у всех "appId" проверяет appVersion, нужные автоматически обновляет, возможно добавить еще распак нужного контента для пиратки.
Другими словами сделать универсальный патчер для gcf-пираток.
-
$t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
#3
Сообщение
18.10.2010, 06:06
SAS123
Это простейшая обновлялка. Всё остальное есть в плагине для Phoenix.
Просто, мне нет смысла усложнять эту утилиту, переписывая заново код из Delphi на Си.
В любом случае, прогресс бар сделать уже не получится - коллбэк-функция малость странная у cftApi.
Хотя вообще что-то такое у меня уже просили. Сейчас, кстати, я жду, пока steamCooker допилит протокол передачи данных для Rain.dll.
-
$t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
#5
Сообщение
28.10.2010, 08:52
Немалое обновление ;) . Хотя, вообще говоря, это просто другая утилита, по идее, но решил оставить название таким, просто версию поменять.
Может чуть позже будут блэкджек и шлюхи в виде проверки cfType и валидации
-
$t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
#7
Сообщение
11.01.2011, 15:05
Немного фиксов с моей стороны и со стороны steamCooker .
-
Dertiaka
- Нович0к
- Сообщения: 18
- Зарегистрирован: 25.04.2009
#8
Сообщение
21.01.2011, 22:00
Код: Выделить всё
C:\Documents and Settings\Admin>"C:\Program Files\CFToolbox\plugins\cfUpdater3.exe" 3 "E:\Games\cracked steam\steamapps\left 4 dead 2 common.ncf" "E:\Games\cracked steam\steamapps\common\left 4 dead 2" "gds2.steampowered.com:27030" -1 1 550 %username% %pass%
Loading CDR
An error was raised : No content server
Аналогично с gds1.steampowered.com:27030
С steam2.steampowered.com:27030 выдает:
-
$t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
#9
Сообщение
22.01.2011, 05:18
Dertiaka
Интернет не через прокси случаем?
Dertiaka писал(а):С steam2.steampowered.com:27030 выдает:
Логично. Это же не GDS сервер.
-
Dertiaka
- Нович0к
- Сообщения: 18
- Зарегистрирован: 25.04.2009
#10
Сообщение
22.01.2011, 11:21
$t@t!c_V()1D
Не прокси, причем при первом запуске cdr успешно скачивается
-
$t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
#11
Сообщение
22.01.2011, 12:24
Dertiaka
А только сейчас заметил...тебе же нужно указывать не AppID игры, а AppID NCF|GCF-файла. Ты указал AppID 550, что есть Left 4 Dead 2. Если тебе нужно обновить left 4 dead 2 common.ncf, то ты должен указать его AppID (который равняется 551), а не AppID игры, которая его использует.
-
pinkpiton2
- Майор
- Сообщения: 724
- Зарегистрирован: 06.08.2008
- Откуда: Одесса
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
#12
Сообщение
22.01.2011, 12:49
скачанное по
ссылке рапортует cfUpdater v3.3 - the GCF and NCF updater by $t@t!c_V()1D
хотя по всем раскладам должно быть 3.5
чтение инструкции - 5$/строка
.
чтение инструкции с выражением - 25$/строка
.
чтение инструкции с пошаговым выполнением - прямо пропорционально тупости заказчика, но не менее 500$
.
-
$t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
#13
Сообщение
22.01.2011, 14:11
pinkpiton2
Забыл внутри программы версию поправить. Поправил, перезалил.
-
pinkpiton2
- Майор
- Сообщения: 724
- Зарегистрирован: 06.08.2008
- Откуда: Одесса
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
#14
Сообщение
22.01.2011, 14:34
при каких-либо затыках на канале выпадает с ошибкой и потом продолжает орать на каждый следующий файл до конца списка
мож при закачке вставить повтор каких-нить 3-5 раз и потом выход вообще, а не продолжение попыток со следующего файла?
чтение инструкции - 5$/строка
.
чтение инструкции с выражением - 25$/строка
.
чтение инструкции с пошаговым выполнением - прямо пропорционально тупости заказчика, но не менее 500$
.
-
$t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
#15
Сообщение
22.01.2011, 18:16
pinkpiton2
Пожалуй, действительно стоит приделать (странно, что я об этом раньше е догадался -_-). А то я как-то уж и забыл про вас, диал-апщиков %) (шучу)