Програмное формирование GCEXE файла

Здравствуйте!
Стараюсь максимально автоматизовать процесс подготовки ключей
Дошел до этапа преобразования Bin файлов в GCEXE (Код для Guardant Code ключей)
Нигде не обнаружил описания формата и/или способа преобразования

Если плохо смотрел - подскажите, где пересмотреть внимательнее

Если открытого способа нет - как тогда выполнить данную задачу?
Пока в голову пришёл вариант - генерировать nsd файл указав в нем Открытый, Закрытый ключи для кода.
Затем открывать этот nsd файл GrdUtil-ом и эмулируя нажатие Control-ов преобразовывать Bin файл в GCEXE

Заранее спасибо,
Максим

Re: Програмное формирование GCEXE файла

Здравствуйте,

Действительно, публичного способа преобразования bin в gcexe не предусмотрено, только интегрированный в GrdUtil. Т.к. сгенерировать ключевые пары для подписи и шифрования кода можно только из интерфейса grdUtil, отдельный способ формирования gcexe не имеет особого смысла. Причем это достаточно нечастая операция (если конечно вы не создаете уникальную ключевую пару для каждого ключа, что имеет смысл в весьма и весьма экзотических случаях).

Способ, описанный вами (эмуляция нажатий в GUI) абсолютно адекватен если нужно это автоматизировать. Кроме того, в комплект 6.1 входит небольшая утилита makegcupdate.exe которая может извлекать из nsd-файлов прошивку и превращать ее в exe (самопрограммирующийся gcexe). Утилита в папке bin, документация в папке doc.

С уважением,
Степин Андрей

Re: Програмное формирование GCEXE файла

AndreyStepin пишет:

Причем это достаточно нечастая операция (если конечно вы не создаете уникальную ключевую пару для каждого ключа, что имеет смысл в весьма и весьма экзотических случаях).

А вы когда-нибудь пробовали отлаживать код на ключах Code? Я себя каждый раз чувствую дрессированной обезьянкой, которой после очередного исправления в коде прошивки снова нужно щелкать мышкой в GrdUtil, чтобы загрузить bin-файл в ключ. Я тоже хочу, чтобы по нажатию одной кнопки то, что я вижу на экране, запускалось внутри ключа, а не двадцати кнопок в разных окнах!

AndreyStepin пишет:

Способ, описанный вами (эмуляция нажатий в GUI) абсолютно адекватен если нужно это автоматизировать.

"Дяденька, а вы не пробовали в присядку?..." :)

AndreyStepin пишет:

Кроме того, в комплект 6.1 входит небольшая утилита makegcupdate.exe которая может извлекать из nsd-файлов прошивку и превращать ее в exe (самопрограммирующийся gcexe).

Ещё лучше :)

Хотелось бы иметь утилиту командной строки, которая умеет записывать nsd-файл (маску) сделанную в GrdUtil, а также подписывать и загружать bin-файл (прошивку) в указанный ключ. Это значительно бы упростило мой процесс отладки и тестирования кода для Code.

Пейте сладкий чай!

(2012-09-19 16:33:27 отредактировано Denis)

Re: Програмное формирование GCEXE файла

Извиняюсь перед разработчиками Guardant за свою невнимательность, мне тут знающие люди после прочтения моего сообщения указали на ссылочку https://forum.guardant.ru/topic/79/, где выложена утилита codeutil. Судя по описанию, она может решить часть моих затруднений. Хотя конечно хотелось бы видеть схожу утилиту в мастер-комплекте и с документацией.

Пейте сладкий чай!

Re: Програмное формирование GCEXE файла

Denis пишет:

А вы когда-нибудь пробовали отлаживать код на ключах Code? Я себя каждый раз чувствую дрессированной обезьянкой, которой после очередного исправления в коде прошивки снова нужно щелкать мышкой в GrdUtil, чтобы загрузить bin-файл в ключ. Я тоже хочу, чтобы по нажатию одной кнопки то, что я вижу на экране, запускалось внутри ключа, а не двадцати кнопок в разных окнах!

Пробовал, отлаживал, и ваше художественное преувеличение разделить не могу. Во-первых, специально для отладки была разработана отладочная библиотека и соответствующий режим. Отладка с загрузкой в код требуется лишь на самых-самых заключительных этапах - для тестирования производительности, в основном. А отладка без загрузки кода в ключ легко делается одним кликом мышки. Все примеры на этот счет и документация - в наличии. Даже программист начальной квалификации (как я, например) может этим режимом воспользоваться, не чувствуя себя "дрессированной обезъянкой". Да и загрузка кода в ключ это далеко не 20 кликов мыши, а 5 - причем последовательных и логичных.

Denis пишет:

"Дяденька, а вы не пробовали в присядку?..." :)

Затрудняюсь прокомментировать эту вашу отсылку, очевидно к малоизвестному анекдоту, кроме как: "Поздравляю, вы тролль 80 уровня".

При этом осмелюсь заметить что далеко не все операции в повседневной жизни программиста нужно автоматизировать в принципе. Поэтому и соответствующие средства предоставляются не для всего арсенала в ПО Guardant. Тем не менее, кому _очень_ надо вполне могут использовать GUI-автоматизаторы. Не удивлюсь, если вы их тоже использовали в своей карьере - иногда это самый простой способ, даже если есть API, плагины и консольный режим.

Denis пишет:

Ещё лучше :)

Хотелось бы иметь утилиту командной строки, которая умеет записывать nsd-файл (маску) сделанную в GrdUtil, а также подписывать и загружать bin-файл (прошивку) в указанный ключ. Это значительно бы упростило мой процесс отладки и тестирования кода для Code.

Sometimes less is more. Создать такой утилитой путаницу, сложности и даже уязвимости гораздо больше шансов чем помочь. Уверен, как опытный разработчик под Guardant Code и знаток архитектуры этих ключей вы можете самостоятельно проанализировать и понять причины подобных ограничений.

Denis пишет:

Извиняюсь перед разработчиками Guardant за свою невнимательность, мне тут знающие люди после прочтения моего сообщения указали на ссылочку https://forum.guardant.ru/topic/79/, где выложена утилита codeutil. Судя по описанию, она может решить часть моих затруднений. Хотя конечно хотелось бы видеть схожу утилиту в мастер-комплекте и с документацией.

Извинения приняты. Теперь я так понимаю можно и "не вприсядку?" :)

Все же я хочу отметить две вещи: во-первых утилита по ссылке - с GUI, т.е. кнопки нажимать все равно придется. Причем ровно 5 кликов (как и с GrdUtil). И второе: с Bin-файлами эта утилита не работает.

По всем вопросам использования Guardant Code вы можете обратиться лично ко мне, на email: astepin собачка guardant.ru.