Ошибка при попытке скомпилировать ядро ​​для OP5T

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

Вот (грубые )шаги:

  1. Загрузите последний исходный код libressl изhttps://ftp.openbsd.org/pub/OpenBSD/LibreSSL/(Я использовал версию 2.6.0, потому что это версия, поставляемая с macOS Mojave)
  2. Разархивируйте /tar/gz, а затем откройте /crypto/asn1/a_mbstr.cв своем любимом редакторе
  3. Найдите что-то похожее на следующее:

    if ((maxsize > 0) && (nchar > maxsize)) {
        ASN1error(ASN1_R_STRING_TOO_LONG);
        ERR_asprintf_error_data("maxsize=%ld", maxsize);
        return -1;
    }
    

    и закомментируйте его. Для версии 2.6.0 это были строки 155 -159. Удаляя эти строки, вы удаляете проверку максимальной длины CN.

  4. Следуйте инструкциям в файле READMEдля сборки двоичного файла. Мне не нужно было устанавливать какие-либо библиотеки при сборке на macOS, кроме YMMV. Я использовал cmake, который удалил новый двоичный файл openssl в /build/apps/openssl

  5. .
  6. Сгенерировать CSR с помощью флагов командной строки (прочитать :НЕ ИНТЕРАКТИВНЫЙ ИНСТРУМЕНТ --он имеет специальную проверку, которая не исправлена ​​этой модификацией! ).

    Например:

    /build/apps/openssl/openssl req -new -newkey rsa:2048 -nodes -out a.csr -keyout a.key -subj "/CN=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
    
  7. Используя стоковые opensslбинарники (или модифицированные, если хотите ), подпишите CSR:

    openssl x509 -req -in a.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out a.crt -days 500 -sha256
    

После этого у вас должен быть готовый к использованию замечательный несовместимый с -сертификат. Я заметил довольно много проблем с использованием сертификатов с CN длиннее 64 символов (Wireshark усекает CN на дисплее дисектора и т. д. ), но на самом деле это работает для того, что мне нужно.

-1
14.10.2021, 18:13
1 ответ

The /home/arter97/arm64-gcc/bin/aarch64-elf-gcc path doesn't exist on my computer. Does anyone knows what i'm doing wrong?

По сути, вы пытаетесь использовать операционную систему, которая была специально разработана, чтобы не быть полезной для задач разработки для компиляции.

Вам придется неловко установить необходимые наборы инструментов и собрать все вместе.

Kali Linux не предназначена для этого, она усложняет вашу жизнь, и сообщество Kali Linux особенно говорит вам, что вам не следует использовать Kali для этого:https://www.kali.org/docs/introduction/should-i-use-kali-linux/

Итак, если честно,возможно, просто используйте другой Linux, например, Debian, Ubuntu или Fedora, для которых тривиально настроить наборы инструментов перекрестного -компилятора.

Серьезно, подготовить цепочку компиляторов после установки «обычного» Debian

apt install gcc-11-aarch64-linux-gnu

и все. Я не пытаюсь отговорить вас от использования Kali по каким-то личным причинам, это просто усложняет вашу жизнь, если вы занимаетесь чем-либо, кроме тайных исследований в области безопасности. Это очень специализированный инструмент.

1
14.10.2021, 22:00

Теги

Похожие вопросы