• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

lomer

New member
18.10.2021
2
0
BIT
0
# Предыстория
В общем, решил я поставить себе Kali Linux Nethunter на свой старенький Honor 7A pro, чтобы почувствовать себя настоящим хаcкером.
Посмотрел мануалы у разных ютюберов, да и решил все отформотировать к чертям и установить себе полноценный Nethunter.
Но перед этим разблокировал себе загрузчик(платно) и поставил root-права.

Теперь я узнаю, что для того, чтобы перевести свою карточку в режим мониторинга, да и для BadUSB и HCI аттак, нужно модифицированное ядро.

Что я делал далее:




# Подготовка

1) Нашел исходники ядра(GitHub - algphello/kernel_huawei_msm8937: Kernel Source For Honor 7A)

2) Нашел toolchain( )

3) Отредачил .bashrc:

Bash:
export ARCH=arm64
export SUBARCH=arm64
export CROSS_COMPILE=/тут_путь_к_компилятору/bin/aarch64-linux-gnu-

4) (перед этим создал папку для ядра) и находясь в этой папочке прописал "source /root/.bashrc"


5) Далее, проверил все переменные, всё отлично!

6) Далее:
Bash:
make clean && make mrproper

7) Следующим моим действием было:
Bash:
make menuconfig # а там я отредачил то, что нужно

# была ошибка в какой-то строке, не мог найти файл, да я эту строку задокументировал и все заработало



# Первая стадия компиляции ядра

1) сохранил я свой конфиг, как .config, а потом скопировал его в arch/arm64/config/ и назвал - mr_defconfig

2)
Bash:
make clean && make mrproper && make mr_defconfig

3) и наконец:

Bash:
make -j4



# Вторая стадия компиляция ядра. ошибки

1) Первые мои ошибки были - нет такого файла или каталога,
приходилось вручную прописывать полный путь этого файла

2) Последующая моя ошибка была:


Bash:
drivers/mmc/card/block.c: In function 'mmc_blk_ioctl_cmd':
drivers/mmc/card/block.c:830:3: error: 'cmdq_switch' undeclared (first use in this function)[/B][/I]
 [I][B]cmdq_switch = true;[/B][/I]
 [I][B]^
drivers/mmc/card/block.c:830:3: note: each undeclared identifier is reported only once for each function it appears in

3) Решил я ее, задокументировав 2 строки в файле drivers/mmc/card/block.c:

C:
#ifdef CONFIG_MMC_FFU
#endif

4) почему я так сделал ? - переменная объявлялась только в том случае, если сработает некое условие, связаноое с CONFIG_MMC_FFU,
тк. из меня программист очень, очень плохой, я так и решил сделать

5) Так, это помогло, но не надолго




# Третья стадия компиляции. Града ошибок, которые я не смогу решить без вашей помощи
1) После тех незначительных ошибок, я подумал, что неуязвим, но они меня повергли в шок,
и все потому, что я просто кул хаскер, который знает нормально из языков только python, но это секрет:


предлагаю ознамиться с файлом ниже, там те ошибки, которые мешают мне собрать ядро, но если вы подумали, что в этом безобидном txt-файле есть вирус, то предлагаю Вам ознакомиться ниже с кучей ошибок


C:
drivers/mmc/core/mmc.c: In function ‘mmc_read_ext_csd’:
drivers/mmc/core/mmc.c:724:16: error: ‘struct mmc_ext_csd’ has no member named ‘pre_eol_info’
   card->ext_csd.pre_eol_info = ext_csd[EXT_CSD_PRE_EOL_INFO];
                ^
drivers/mmc/core/mmc.c:725:16: error: ‘struct mmc_ext_csd’ has no member named ‘device_life_time_est_typ_a’
   card->ext_csd.device_life_time_est_typ_a =
                ^
drivers/mmc/core/mmc.c:727:16: error: ‘struct mmc_ext_csd’ has no member named ‘device_life_time_est_typ_b’
   card->ext_csd.device_life_time_est_typ_b =
                ^
In file included from drivers/mmc/core/mmc.c:25:0:
drivers/mmc/core/mmc.c: In function ‘mmc_pre_eol_info_show’:
drivers/mmc/core/mmc.c:831:51: error: ‘struct mmc_ext_csd’ has no member named ‘pre_eol_info’
 MMC_DEV_ATTR(pre_eol_info, "%02x\n", card->ext_csd.pre_eol_info);
                                                   ^
drivers/mmc/core/bus.h:18:27: note: in definition of macro ‘MMC_DEV_ATTR’
  return sprintf(buf, fmt, args);      \
                           ^
drivers/mmc/core/mmc.c: In function ‘mmc_life_time_show’:
drivers/mmc/core/mmc.c:833:15: error: ‘struct mmc_ext_csd’ has no member named ‘device_life_time_est_typ_a’
  card->ext_csd.device_life_time_est_typ_a,
               ^
drivers/mmc/core/bus.h:18:27: note: in definition of macro ‘MMC_DEV_ATTR’
  return sprintf(buf, fmt, args);      \
                           ^
drivers/mmc/core/mmc.c:834:15: error: ‘struct mmc_ext_csd’ has no member named ‘device_life_time_est_typ_b’
  card->ext_csd.device_life_time_est_typ_b);
               ^
drivers/mmc/core/bus.h:18:27: note: in definition of macro ‘MMC_DEV_ATTR’
  return sprintf(buf, fmt, args);      \
 

Вложения

  • эх.txt
    1,8 КБ · Просмотры: 131
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!