英語フランス語スペイン語

OnWorksファビコン

Rabbitsign - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーター上で、OnWorks の無料ホスティング プロバイダーで Rabbitsign を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド Rabbitsign です。

プログラム:

NAME


Rabbitsign - TI グラフ電卓用の署名アプリケーション

SYNOPSIS


ウサギのサイン [ オプション ] [ -o アプリファイル ] [ -k キーファイル ] ヘクスファイル ...

ウサギのサイン [ オプション ] [ -k キーファイル ] -c ヘクスファイル ...

DESCRIPTION


ウサギのサイン これは、Texas Instruments の Rabin および RSA 署名アルゴリズムの実装です。
TI-73、TI-83 Plus、TI-84 Plus、TI-89、および TI-92 Plus グラフ電卓で使用されます。
これらのアルゴリズムは、Flash アプリケーションとオペレーティング システムに署名するために使用されます。
電卓はそれらを有効なものとして認識できます。

ウサギのサインは、テキサス・インスツルメンツの公式署名プログラムと同様に、秘密鍵 (ペア) が必要です。
大きな素数) を使用してアプリに署名します。 アプリが受け入れられるためには、
対応する公開キー (その製品) が電卓上に存在する必要があります。 これ以降
書き込み、「シェアウェア」秘密鍵番号 0104 は、アプリケーションの署名に使用されます。
TI-83 Plus および TI-84 Plus は、TI の SDK から入手できます。 残念ながら、OS の署名
キー、および TI-73、TI-89、および TI-92 Plus のアプリ署名キーはまだ署名されていません。
これは、TI のみがそれらの電卓用のアプリと OS に署名できることを意味します。

OPTIONS
-a Peter-Martijn Kuipers の出力と一致するように試みます。 アプリサイン プログラム、テスト用
目的。 結果として得られる出力ファイルには Unix スタイルの行末記号が含まれます。
したがって、すべてのプログラムと互換性があるわけではありません。 このオプションは次の場合には推奨されません
通常の使用。

-b 入力ファイルは生のバイナリ ファイルであると仮定します。 このオプションが指定されていない場合、ファイルは
タイプは自動的に検出されます。

-c アプリに署名しないでください。 代わりに、指定したアプリの署名が次のとおりであることを確認してください。
有効。 終了ステータスは、すべてのアプリが有効な場合は 0、1 つ以上のアプリが失敗した場合は 2、または失敗した場合は XNUMX です。
非数学的エラーがあります。

-f 致命的ではないエラーを無視し、可能であればアプリケーションの署名を強制します。 (全て
ただし、これらのメッセージには理由があって存在するため、アプリが
これらのいずれかを生成すると、検証に失敗するか、計算機がクラッシュします。
警告を受けています。)

-g 出力ファイルはGraphLinkの「TIFL」形式で書き込みます。 (デフォルトおよび過去の
その理由、TI-73 および TI-83 Plus のアプリと OS はプレーンな TI Hex で書かれています
代わりにフォーマットします。 使用できます packxxxk(1) これらのファイルを TIFL 形式に変換します。)
TI-89 および TI-92 Plus のアプリと OS は、常に TIFL 形式で作成されます。 見る
お申込み FILE 書式 詳細については、以下をご覧ください。

-k キーファイル
指定されたファイルから署名キーや検証キーを読み取ります。 このファイルは XNUMX つに存在する必要があります
TI の SDK ツールで使用される形式のリスト。 (見る キー FILE 書式 以下。) デフォルトでは、
ウサギのサイン アプリのヘッダーで指定されたキー (たとえば、0104.key) を検索します。
「シェアウェア」TI-83 Plus アプリ)。

-K id 指定されたキーでキーを検索します id (小さな XNUMX 進数)
アプリヘッダーで指定されたID。

-n ヘッダーを変更せずに、そのままの状態でプログラムに署名してみます。 (このオプションは、
電卓が実際に受け入れるファイルを生成しない。 それは次のことを目的としています
通常のアプリ署名ではなく、テストおよび特殊目的の署名です。)

-o アウトファイル
出力ファイルを指定します。 デフォルトでは、出力ファイルには次の名前が付けられます。
入力ファイルからサフィックスを削除し、必要に応じて「.app」または「.8xk」サフィックスを追加します。
かどうかに -g と指定されている。 (入力ファイルにすでに「.app」または「.8xk」がある場合
接尾辞として `-signed' が挿入されるため、`myapp.8xk' は `myapp-signed.8xk' になります。)

入力ファイルとして「-」が指定されている場合、それは標準入力を示し、
署名された結果は、デフォルトで標準出力に書き込まれます。

-p アプリページのヘッダーを修正します。 ページが正しくないため、これはデフォルトでは実行されません。
ヘッダーは通常、より深刻な問題の兆候です。

-P アプリケーションがページ境界近くで終了する場合は、保持するページを追加します。
サイン。 (TI-73 および TI-83 Plus でのアプリケーション署名は許可されていません)
ページ境界をまたぐこと。)これは非常に無駄であることに留意してください。
約 16384 バイトのデータを保持するために 69 バイトのフラッシュを消費します。 もしあなたの
アプリケーションがこの状況にある場合は、サイズを削減することを検討する必要があります。
わずかに、または代わりに、追加のフラッシュを利用するためにさらにデータを追加します。
ページで見やすくするために変数を解析したりすることができます。

-q 致命的ではない警告メッセージを出力しません。

-r 以前に署名したアプリに再署名します(つまり、事前に以前の署名を破棄します)
サインしてます。)

-R n TI-73 および TI-83 Plus アプリケーションに署名するには、ルート番号を使用します n (0 ≤ n ≤ 3) むしろ
デフォルトのルート番号 0 よりも、XNUMX つのルートはすべて有効ですが、それぞれ異なります。
署名のため、このオプションは主にデバッグ用です。

ルート 0 は次のように計算されます。 m^[(p+1)/4] モジュロ pm^[(q+1)/4]
モジュロ q。 ルート 1 はルート 0 の否定モジュロです p、ルート 2 の否定剰余 q,
およびルート 3 の両方の否定モジュロ p とモジュロ q.

このオプションは、OS または TI-89/92 Plus アプリケーションに署名する場合には効果がありません。
Rabin ではなく RSA アルゴリズムを使用します。

-t type
プログラムのタイプを明示的に指定します (例: TI-8 Plus アプリケーションの場合は「83xk」、
または TI-73 オペレーティング システムの場合は `73u'。) デフォルトの動作では、
入力ファイルの名前からプログラムの種類を判断します。 (入力ファイルに
認識されたサフィックス、プログラムの内容に基づいてタイプが推測されます
ヘッダ。)

-u 自動ページ検出を無効にし、入力ファイルがソートされていないと想定します。 これの意味は
ページの境界は明示的に定義する必要があるということです。 (見る お申込み FILE 書式
このオプションはバイナリ (-b)モード。

-v 冗長にしましょう。 アプリの名前と署名をそのまま印刷します。
  -vv 計算の詳細については、を参照してください。

- 助けて オプションの概要を印刷します。

- バージョン
バージョン情報を印刷します。

お申込み FILE 書式


インテル 16進法
Intel hex は、多くの PROM プログラマによって使用される標準 ASCII ファイル形式であり、一般的な
アセンブラの出力形式。 各行 (または「レコード」) は以下で構成されます。

:んんぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ…CC

: 行の最初の文字はコロンです。 これは単に識別するために使用されます
形式でダウンロードすることができます。

NN 次の XNUMX 文字は、この行のデータ バイト数であり、次のように記述されます。
大文字の ASCII XNUMX 進数。

AAAA 次の XNUMX 桁は、この行のデータのアドレスです。 ウサギのサイン
この値の下位 14 ビットを調べます。

TT これら XNUMX つの数字は、レコードの「タイプ」を識別します。 Intel hex ではいくつかの定義が行われます。
さまざまなアドレス指定モデルのレコード タイプ。 にとって意味のある唯一のタイプ
TI 電卓のタイプは 00 (通常のデータ) と 01 (ファイルの終わり) です。

DD... 2*NN XNUMX 進数が実際のデータに続きます。

CC 最後に、反転されたチェックサムが追加されるため、
この行は、256 を法として合計が XNUMX になります。(拡張として、 ウサギのサイン 許可します
チェックサムの代わりに XNUMX つの大文字の「X」を使用します。)

アドレスはわずか 16 ビットであるため、この形式ではアプリケーションを明確に表すことができません。
64キロバイトより大きい。 複数ページのアプリケーションを作成できるようにするには、 ウサギのサイン
ページ境界を自動的に検出し、フィールドごとに新しいページを開始します。
ゼロアドレス。 したがって、複数ページのアプリを作成するには、単に複数の Intel を連結するだけです。
Hex ファイル、例:

猫 page0.hex ページ1.hex | Rabbitsign - -o complete.app

これは、各ページ内でレコードが正しく並べ替えられている場合にのみ機能します。 (もし、
アセンブラはレコードを順番に生成しません。フィールドを自分で並べ替えることができます。
「sort -k1.8,1.9 -k1.4,1.7」などのコマンド。)

この自動ページ検出をオフにするには、 -u オプション。 この場合、次のことを行う必要があります。
TI XNUMX 進形式を使用してページ境界を明示的に定義します。

TI 16進法
「TI」hex は Intel hex の拡張であり、明確な表現を提供します。
複数ページのアプリ。 フォームのレコードを追加します

:0200000200NNCC

これは、後続のデータが相対ページ番号に配置されることを示します。 NN。 (覚えておいてください
TI-83 および 84 Plus はアプリケーションを「逆方向」にインストールするため、相対ページ 0 が
絶対ページ 69 に格納されると、相対ページ 1 は絶対ページ 68 に格納されます。
前方へ。)

一部のアセンブラは、タイプ 4 の代わりにタイプ 2 レコードを使用してマルチページ データを生成できます。
ウサギのサイン は、これらをタイプ 2 と同等のものとして扱います。

フォーマットに関して特定の前提を置く他のソフトウェアとの互換性のために、
ウサギのサイン 32 行あたり XNUMX バイトを書き込み、DOS スタイルのキャリッジで行を終了します
リターンと改行。

グラフリンク ティフル
標準 (新しい) GraphLink 形式は、追加された 78 バイトのバイナリ ヘッダーで構成されます。
ヘキサファイルまたはバイナリファイルの先頭に。 このヘッダーの内容は次のとおりです。

0x00-07
文字列 `**TIFL**'。

0x08 アプリケーションのメジャー バージョン番号 (「アプリ ID」)。

0x09 アプリケーションのマイナー バージョン番号 (「App Build」)。

0x0A フラグ。 明らかにファイルの内容がバイナリかどうかを示すことを目的としています
(0) または TI Hex (1)。 ただし、この値は他のソフトウェアによって一貫して設定されるわけではありません。

0x0B 「オブジェクトタイプ」フィールド。 明らかにデータの種類について何かを示しています。 設定
ほとんどの TI-0 および TI-88 Plus ファイルでは 73x83 に変換されます。 TI-0 および TI-89 Plus ファイルでは 92 に設定されます。

0x0C-0F
バイナリコード化された XNUMX 進数の月 (XNUMX バイト)、日 (XNUMX バイト)、および年 (XNUMX バイト、大きい)
エンディアン)アプリが署名されたとき。

0x10 アプリ名の長さ。

0x11-18
アプリの名前。

0x19-2F
予約済み、常にゼロに設定されます。

0x30 電卓タイプ (0x73 = TI-83 Plus、0x74 = TI-73、0x88 = TI-92 Plus、0x98 = TI-89。)

0x31 データのタイプ (0x23 = OS アップグレード、0x24 = アプリケーション、0x25 = 証明書。)

0x32-49
予約済み、常にゼロに設定されます。

0x4A-4D
次のデータのリトル エンディアンの長さ (オンプレミス ファイルの長さではなく、XNUMX 進数ファイルの長さ)
アプリケーションの電卓サイズ)。

単純に XNUMX つ以上の TIFL ファイルで構成される、マルチパート TIFL ファイルも存在します。
一緒に連結されました。 (たとえば、ソフトウェア使用許諾契約書や証明書ファイルなど)
申請書に添付することも可能です。) ウサギのサイン これらのファイルは限定された方法で処理されます。
認識されたデータ型を持つ最初のセクションのみを読み取り、他のデータは無視します。
ファイル。 ウサギのサイン マルチパート TIFL ファイルは作成できませんが、次を使用して作成できます。
packxxxk(1) (または単に使用 cat(1)。)

バイナリ
ウサギのサイン バイナリアプリファイルを読み取ることもできます。 それらは連続しているものとみなされます。
複数ページのアプリに署名する場合、最後のページを除く各ページを 16k まで埋める必要があります。

キー FILE 書式


キー ファイルには、アプリケーションの署名と検証に必要なデータが含まれています。 (その部分
検証に使用される鍵ファイルは「公開」鍵として知られています。 に使用される部分
署名は「秘密」キーです。 公開キーのみが電卓自体に保存されます。)
TI の公式キー ファイルには、「Rabin」形式と「RSA」形式として知られる XNUMX 種類があります。
注意してください ウサギのサイン 現在、RSA を生成するための Rabin タイプのキー ファイルの使用をサポートしています
署名ですが、その逆はありません。

ラビン キー 形式でアーカイブしたプロジェクトを保存します.
Rabin キー ファイル形式は、通常、TI-73 および TI-83 Plus アプリケーションの署名に使用されます。
キー。 これは XNUMX 行で構成され、それぞれに大きな整数が含まれます。 最初の行は
公開鍵、 n; XNUMX 番目と XNUMX 番目はその XNUMX つの要素です。 pq.

各行は XNUMX つの XNUMX 進数で始まり、数値の長さをバイト単位で示します。
その後にバイトそのものが続き、リトルエンディアン順に XNUMX 進数で書き込まれます。

RSA キー 形式でアーカイブしたプロジェクトを保存します.
RSA キー ファイル形式は、通常、TI-89 および TI-92 Plus アプリケーションの署名に使用されます。
キー。 キー ID、公開キーの XNUMX 行で構成されます。 n、および署名指数
d。 (d 検証指数の逆数、17 を法とした ϕ(n)、したがって計算します d
計算上は因数分解と同等です n.)

キー ID は短い 811 進数で、XNUMXx の内容と一致する必要があります。
ヘッダーフィールド。 数字 nd Rabin キーのように大きな整数として書き込まれます。
形式でダウンロードすることができます。

onworks.net サービスを使用してオンラインで Rabbitsign を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad