 |

22.10.2021, 00:09
|
|
Новичок
Регистрация: 21.10.2021
Сообщений: 2
С нами:
2403017
Репутация:
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(Linaro Releases)
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:
# Вторая стадия компиляция ядра. ошибки
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
)
;
\
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|