Powered by Invision Power Board


Страницы: (14) 1 [2] 3 4 ... Последняя »  ( Перейти к первому непрочитанному сообщению ) ОтветитьНовая темаСоздать опрос

> Модкит для Keenetic, разборка прошивки Keenetic
IvyGel
Отправлено: Окт 12 2011, 16:38
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 178
Пользователь №: 19
Регистрация: 12-Октября 11
Статус: Offline

Репутация: 3



Уважаемый deadc0de публиковал на форуме DD-WRT свой модкит для Keenetic.

Мне очень пригодился этот модкит для пересборки прошивки, когда я обнаружил, что в прошивке Кинетика в процессе исполнения setup-target.sh монтируется раздел /storage:

ls /dev/mtdblock/6 >/dev/null 2>&1 && mount -t jffs2 /dev/mtdblock/6 /storage >/dev/null 2>&1 || format_jffs

Этот раздел объемом 2 мегабайта доступен для записи, но штатно используется под экзотические цели - http://forum.zyxmon.org/post2473.html#p2473

По сути, единственный способ сделать что-то полезное с этим разделом - пересобрать прошивку от deadc0de с добавлением вызова какого-нибудь исполняемого скрипта по аналогии с ext_init.sh

На всякий случай перепубликую тут: http://depositfiles.com/ru/files/oww6rkogk распаковывает (unpack.sh) или упаковывает (pack.sh) прошивки Keenetic, скачанный архив содержит бинарные исполняемые файлы для 64-разрядных ОС.

Пользователи 32-разрядных ОС могут собрать firmware_mod_kit (svn export http://firmware-mod-kit.googlecode.com/svn/trunk/ fmk && cd fmk/trunk/src && make) и keeneticfix из исходника. Или скачать готовые бинарники с http://depositfiles.com/files/zim9jgxs0.
[Показать/Скрыть]
Код
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <string.h>

#define szbuf 32768

u_int32_t crc_tab[256];

const char header[] = {
0x5a, 0x4e, 0x42, 0x47, 0x15, 0x42, 0x00, 0x00, 0x5a, 0x79, 0x58, 0x45, 0x4c, 0x20, 0x4b, 0x45,
0x45, 0x4e, 0x45, 0x54, 0x49, 0x43, 0x2d, 0x56, 0x31, 0x2e, 0x30, 0x30, 0x5b, 0x42, 0x46, 0x57,
0x2e, 0x33, 0x5d, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

u_int32_t chksum_crc32 (FILE *f)
{
  register unsigned long crc;
  unsigned long i, j;
  char *buffer = malloc(szbuf);
  char *buf;

  crc = 0xFFFFFFFF;
  while (!feof(f)) {
j = fread(buffer, 1, szbuf, f);
buf = buffer;
for (i = 0; i < j; i++) {
  crc = ((crc >> 8) & 0x00FFFFFF) ^ crc_tab[(crc ^ *buf++) & 0xFF];
  }
}
  free(buffer);
 return crc;
}

void chksum_crc32gentab ()
{
  unsigned long crc, poly;
  int i, j;

  poly = 0xEDB88320L;
  for (i = 0; i < 256; i++)
  {
 crc = i;
 for (j = 8; j > 0; j--)
 {
if (crc & 1)
{
  crc = (crc >> 1) ^ poly;
}
else
{
  crc >>= 1;
}
 }
 crc_tab[i] = crc;
  }
}


int main(int argc, char *argv[]) {
 FILE *f;
 unsigned int crc32;
 unsigned int fsize;
 unsigned int bufsz;
 char *buf;

 if (argc < 1)
return 1;
 else {
chksum_crc32gentab();
f = fopen(argv[1], "r+");
if (f != NULL) {
 fseek(f, 0, SEEK_END);
 fsize = ftell(f);
 if (fsize > 0x04c0000)
  return 1;
 bufsz = 0x04c0000 - fsize;
 buf = malloc(bufsz);
 memset(buf, 0, bufsz);
 fwrite(buf, bufsz, 1, f);
 free(buf);
 fseek(f, 0, SEEK_SET);
 crc32 = chksum_crc32(f);
 fwrite(&header[0], sizeof(header), 1, f);
 fwrite(&crc32, 4, 1, f);
 fclose(f);
 }
}
 return 0;
}
PMEmail Poster
Top
IvyGel
Отправлено: Ноя 7 2011, 16:32
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 178
Пользователь №: 19
Регистрация: 12-Октября 11
Статус: Offline

Репутация: 3



Цитата (Rusink @ Ноя 5 2011, 17:39)
И еще - Keeneticfix прописывает версию программы [BFW.3] а не[BFW. 4b]  (в модифицированной вами прошивке, кстати, тоже smile.gif  ) Смотрел исходник, но пока не понял, что заменить smile.gif

const char header[] - начиная с 34-го элемента массива последовательность "0x33, 0x5d, 0x44, 0x30, 0x00" заменить на "0x34, 0x62, 0x5d, 0x44, 0x30".
PMEmail Poster
Top
Rusink
Отправлено: Ноя 7 2011, 19:48
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 627
Пользователь №: 56
Регистрация: 3-Ноября 11
Статус: Offline

Репутация: 13



Цитата (IvyGel @ Ноя 7 2011, 16:32)
Цитата (Rusink @ Ноя 5 2011, 17:39)
И еще - Keeneticfix прописывает версию программы [BFW.3] а не[BFW. 4b]  (в модифицированной вами прошивке, кстати, тоже smile.gif  ) Смотрел исходник, но пока не понял, что заменить smile.gif

const char header[] - начиная с 34-го элемента массива последовательность "0x33, 0x5d, 0x44, 0x30, 0x00" заменить на "0x34, 0x62, 0x5d, 0x44, 0x30".

Спасибо! Понял! smile.gif "Протупил" с HEX-кодами ASCII символов. smile.gif Я сделал по другому - включил в modkit утилиту zyimage с соответствующими правками в pack.sh Попробую изменить и скомпилировать smile.gif
P.S. O.K.! Спасибо еще раз smile.gif !


--------------------
Le mieux est l'ennemi du bien!- Лучшее - враг хорошего!


Откройте для себя dropbox Ваш персональный облачный файлообменник - по моей ссылке http://db.tt/EqMhLxSu - 500 Mb - дополнительно и бесплатно
PM
Top
IvyGel
Отправлено: Ноя 8 2011, 11:54
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 178
Пользователь №: 19
Регистрация: 12-Октября 11
Статус: Offline

Репутация: 3



Цитата (Rusink @ Ноя 7 2011, 19:48)
Я сделал по другому - включил в modkit  утилиту zyimage с соответствующими правками в pack.sh 

Мне больше нравится способ с использованием zyimage, получается намного удобнее.
PMEmail Poster
Top
Rusink
Отправлено: Ноя 8 2011, 12:08
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 627
Пользователь №: 56
Регистрация: 3-Ноября 11
Статус: Offline

Репутация: 13



Цитата (IvyGel @ Ноя 8 2011, 11:54)

Мне больше нравится способ с использованием zyimage, получается намного удобнее.

Да, не надо перекомпилировать keeneticfix под размер прошивки smile.gif Один вопрос - (сейчас не могу проверить) - как заливается поверх прошивки подписанной keeneticfix через web?


--------------------
Le mieux est l'ennemi du bien!- Лучшее - враг хорошего!


Откройте для себя dropbox Ваш персональный облачный файлообменник - по моей ссылке http://db.tt/EqMhLxSu - 500 Mb - дополнительно и бесплатно
PM
Top
IvyGel
Отправлено: Ноя 8 2011, 12:11
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 178
Пользователь №: 19
Регистрация: 12-Октября 11
Статус: Offline

Репутация: 3



Цитата (Rusink @ Ноя 3 2011, 21:38)
По поводу разборки 4 версии, ИМХО в unpack.sh надо изменить count не  на 59, а на 60.

Не было смысла указывать 60 вместо 59, потому что даже при 59 вся файловая система помещалась в получившемся файле SquashFS:

Код
$ ls -gG SquashFS
-rw-r--r-- 1 3866624 Oct 23 00:49 SquashFS

$ file SquashFS
SquashFS: Squashfs filesystem, little endian, version 3.0, 3840038 bytes, 532 inodes, blocksize: 65536 bytes, created: Fri Oct 21 11:58:38 2011

А вообще вариант не указывать параметр count выглядит лучше, если он рабочий.

P.S. Я пока не занимаюсь прошивками 4b, но интересуюсь этой темой. Спасибо всем, кто делится своим опытом.
PMEmail Poster
Top
Rusink
Отправлено: Ноя 8 2011, 12:17
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 627
Пользователь №: 56
Регистрация: 3-Ноября 11
Статус: Offline

Репутация: 13



Цитата (IvyGel @ Ноя 8 2011, 12:11)

А вообще вариант не указывать параметр count выглядит лучше, если он рабочий.

P.S. Я пока не занимаюсь прошивками 4b, но интересуюсь этой темой. Спасибо всем, кто делится своим опытом.

Как ни странно - рабочий!


--------------------
Le mieux est l'ennemi du bien!- Лучшее - враг хорошего!


Откройте для себя dropbox Ваш персональный облачный файлообменник - по моей ссылке http://db.tt/EqMhLxSu - 500 Mb - дополнительно и бесплатно
PM
Top
zazafa
Отправлено: Окт 21 2013, 06:19
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 270
Пользователь №: 2,104
Регистрация: 20-Сентября 12
Статус: Offline

Репутация: 6



не получается распаковать кеенетик V1.10.A.RU.NDMS,
разбираю V1.00(BFW.3)D0 и Firmware-KEENETIC-V1.00_BFW.4b_D0_TR233_1110180114_DIR-620.bin без проблем.
что нужно поменять, чтоб разобрать Firmware-KEENETIC-V1.10.A.RU.NDMS

19+0 records in
19+0 records out
1245184 bytes (1,2 MB) copied, 0,00410381 s, 303 MB/s
69+1 records in
69+1 records out
4522044 bytes (4,5 MB) copied, 0,00484505 s, 933 MB/s
rm: cannot remove ‘unpacked’: No such file or directory
zlib::uncompress failed, unknown error -3


какие будут идеи по поводу uncompress zlib
PMEmail Poster
Top
En1gma
Отправлено: Окт 24 2013, 21:36
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 45
Пользователь №: 315
Регистрация: 15-Января 12
Статус: Offline

Репутация: 1



пару вопросов:
почему используется прошивка 2013-03-27, а не крайняя июньская?
а давно прошивки от ndms научились разбирать? они ж их вроде с определенного времени шифровать начали. просто меня тут не было с полгода..
PMEmail Poster
Top
Dr.Acid
Отправлено: Окт 25 2013, 01:37
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 765
Пользователь №: 407
Регистрация: 14-Февраля 12
Статус: Offline

Репутация: 12



Цитата (En1gma @ Окт 24 2013, 21:36)
почему используется прошивка 2013-03-27, а не крайняя июньская?
а давно прошивки от ndms научились разбирать? они ж их вроде с определенного времени шифровать начали. просто меня тут не было с полгода..

Вот потому и не крайняя, что её не научились ещё расшифровывать(точнее, зашифровывать) - опять алгоритм поменяли. А те, предыдущие, научились smile.gif
PMEmail Poster
Top
En1gma
Отправлено: Окт 25 2013, 08:23
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 45
Пользователь №: 315
Регистрация: 15-Января 12
Статус: Offline

Репутация: 1



Цитата (Dr.Acid @ Окт 25 2013, 02:37)
Вот потому и не крайняя, что её не научились ещё расшифровывать(точнее, зашифровывать) - опять алгоритм поменяли. А те, предыдущие, научились  smile.gif

а можно получить волшебный пендаль, где об этом почитать можно?

просто если прошивка так и не выйдет в паблик или в хоть как-нить доступ, то принцип описан и можно самому всё повторить
PMEmail Poster
Top
Dr.Acid
Отправлено: Окт 25 2013, 22:44
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 765
Пользователь №: 407
Регистрация: 14-Февраля 12
Статус: Offline

Репутация: 12



Цитата (En1gma @ Окт 25 2013, 08:23)
а можно получить волшебный пендаль, где об этом почитать можно?

Где-то на этом форуме проскакивало, а больше в личках Ludovig и Dr.Acid wink.gif
Там ещё человек был, с другого форума... вот он-то и расковырял в основном все.
PMEmail Poster
Top
En1gma
Отправлено: Окт 25 2013, 23:48
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 45
Пользователь №: 315
Регистрация: 15-Января 12
Статус: Offline

Репутация: 1



что ж..
весьма печально..
на форуме что-т не нашел
PMEmail Poster
Top
Ludovig
Отправлено: Окт 26 2013, 12:40
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 686
Пользователь №: 2,298
Регистрация: 23-Октября 12
Статус: Offline

Репутация: 18



Цитата (En1gma @ Окт 25 2013, 23:48)
что ж..
весьма печально..
на форуме что-т не нашел

http://dir620.ipb.su/index.php?showtopic=1...findpost&p=8307

Но посты про разборку/сборку прошивки лучше перенести в тему modkit


--------------------
Гигабайт Яндекс диска дополнительно и бесплатно по моей ссылке - https://disk.yandex.ru/invite/?hash=ILNWNKUD

Keenetic, DIR620A1
PM
Top
En1gma
Отправлено: Окт 26 2013, 17:22
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 45
Пользователь №: 315
Регистрация: 15-Января 12
Статус: Offline

Репутация: 1



это тонкий намёк на 15кр?
ибо кроме отсылки к патчу к ZLib.cpp парой станиц позже ничего вразумительного не нашёл.
PMEmail Poster
Top
Ludovig
Отправлено: Окт 26 2013, 19:01
Цитата


Активный пользователь
***

Группа: Пользователи
Сообщений: 686
Пользователь №: 2,298
Регистрация: 23-Октября 12
Статус: Offline

Репутация: 18



Цитата (En1gma @ Окт 26 2013, 17:22)
это тонкий намёк на 15кр?
ибо кроме отсылки к патчу к ZLib.cpp парой станиц позже ничего вразумительного не нашёл.

Нет. 15 кр - это было всего лишь пожелание некоего хакера. Кому очень хочется, может им и воспользоваться smile.gif В его пакете, кстати - рабочий инструмент для разборки. Патч - да. Он нужен для всех последних прошивок. И еще внимательней посмотрите по поводу XOR .


--------------------
Гигабайт Яндекс диска дополнительно и бесплатно по моей ссылке - https://disk.yandex.ru/invite/?hash=ILNWNKUD

Keenetic, DIR620A1
PM
Top
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Topic Options Страницы: (14) 1 [2] 3 4 ... Последняя » ОтветитьНовая темаСоздать опрос

 


Текстовая версия