English프랑스어스페인어

온웍스 파비콘

Rabbitsign - 클라우드에서의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 Rabbitsign을 실행하세요.

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 Rabbitsign 명령입니다.

프로그램:

이름


Rabbitsign - TI 그래프 계산기용 서명 애플리케이션

개요


래빗 사인 [ 옵션 ] [ -o 앱파일 ] [ -k 키 파일 ] 헥스파일 ...

래빗 사인 [ 옵션 ] [ -k 키 파일 ] -c 헥스파일 ...

기술


래빗 사인 Texas Instruments의 Rabin 및 RSA 서명 알고리즘을 구현한 것입니다.
TI-73, TI-83 Plus, TI-84 Plus, TI-89 및 TI-92 Plus 그래프 계산기에 사용됩니다.
이러한 알고리즘은 Flash 애플리케이션과 운영 체제에 서명하는 데 사용됩니다.
계산기는 이를 유효한 것으로 인식할 수 있습니다.

래빗 사인, Texas Instruments의 공식 서명 프로그램과 마찬가지로 개인 키(한 쌍)가 필요합니다.
큰 소수)를 사용하여 앱에 서명합니다. 앱이 승인되려면
해당 공개 키(해당 제품)가 계산기에 있어야 합니다. 이로서
쓰기, ``셰어웨어'' 개인 키 번호 0104는 응용 프로그램 서명에 사용됩니다.
TI-83 Plus 및 TI-84 Plus는 TI SDK를 통해 제공됩니다. 안타깝게도 OS 서명이
TI-73, TI-89 및 TI-92 Plus의 키와 앱 서명 키는 아직
이는 TI만이 해당 계산기용 앱과 OS에 서명할 수 있음을 의미합니다.

옵션
-a Peter-Martijn Kuipers의 출력과 일치시키려는 시도 앱 사인 프로그램, 테스트용
목적. 결과 출력 파일은 Unix 스타일 줄 종료를 갖습니다.
따라서 모든 프로그램과 호환되지는 않습니다. 이 옵션은 권장되지 않습니다.
일반적인 사용.

-b 입력 파일이 원시 바이너리 파일이라고 가정합니다. 이 옵션을 지정하지 않으면 파일이
유형이 자동으로 감지됩니다.

-c 앱에 서명하지 마세요. 대신, 지정된 앱의 서명이 올바른지 확인하세요.
유효한. 종료 상태는 모든 앱이 유효하면 0, 하나 이상의 앱이 실패하면 1, 실패하면 2입니다.
수학적 오류가 없습니다.

-f 치명적이지 않은 오류는 무시하고 가능하면 애플리케이션에 강제로 서명하십시오. (모두
하지만 이러한 메시지 중 일부는 이유가 있어서 존재하며 앱이
그 중 하나를 생성하면 유효성 검사가 실패하거나 계산기가 충돌합니다.
경고를 받았습니다.)

-g GraphLink ``TIFL'' 형식으로 출력 파일을 작성합니다. (기본적으로 그리고 과거의 경우
이유, TI-73 및 TI-83 Plus용 앱과 OS는 일반 TI Hex로 작성되었습니다.
대신 형식을 지정하세요. 당신이 사용할 수있는 팩xxk(1) 이 파일을 TIFL 형식으로 변환합니다.)
TI-89 및 TI-92 Plus용 앱과 OS는 항상 TIFL 형식으로 작성됩니다. 보다
신청 FILE 형식 자세한 내용은 아래를 참조하세요.

-k 키 파일
지정된 파일에서 서명 및/또는 유효성 검사 키를 읽습니다. 이 파일은 다음 중 하나에 있어야 합니다.
TI의 SDK 도구에서 사용되는 형식 중 하나입니다. (보다 KEY 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과 다릅니다. 네 개의 루트는 모두 유효하지만 고유합니다.
서명이므로 이 옵션은 주로 디버깅용입니다.

루트 0은 다음과 일치하도록 계산됩니다. m^[(p+1)/4] 모듈로 p and m^[(q+1)/4]
모듈 q. 루트 1은 루트 0 모듈로의 부정입니다. p, 루트 2 부정 모듈로 q,
루트 3은 둘 다 모듈로의 부정입니다. p 그리고 모듈로 q.

이 옵션은 OS 또는 TI-89/92 Plus 애플리케이션에 서명할 때 효과가 없습니다.
Rabin 대신 RSA 알고리즘을 사용합니다.

-t 유형
프로그램 유형을 명시적으로 지정합니다(예: TI-8 Plus 애플리케이션의 경우 '83xk',
또는 TI-73 운영 체제의 경우 '73u'입니다.) 기본 동작은 다음을 추론하는 것입니다.
입력 파일 이름에서 프로그램 유형. (입력 파일에
인식된 접미사, 프로그램 내용을 기반으로 유형을 추측합니다.
머리글.)

-u 자동 페이지 감지를 비활성화하고 입력 파일이 정렬되지 않은 것으로 가정합니다. 이는 다음을 의미합니다.
페이지 경계는 명시적으로 정의되어야 합니다. (보다 신청 FILE 형식
아래.) 이 옵션은 바이너리(-b) 모드.

-v 장황하게 말하세요. 서명된 앱의 이름과 서명을 인쇄합니다.
-vv 계산에 대한 자세한 내용은 을 참조하세요.

--도움 옵션 요약을 인쇄하세요.

--번역
버전 정보를 인쇄합니다.

신청 FILE 형식


인텔 마녀
Intel hex는 많은 PROM 프로그래머가 사용하는 표준 ASCII 파일 형식이며 일반적인
어셈블러 출력 형식. 각 줄(또는 ``레코드'')은 다음으로 구성됩니다:

:NNAAAATTDDDDDD...CC

: 줄의 첫 번째 문자는 콜론입니다. 이는 단지
형식입니다.

NN 다음 두 문자는 이 줄의 데이터 바이트 수입니다.
대문자 ASCII XNUMX진수.

AAAA 다음 네 자리는 이 줄에 있는 데이터의 주소입니다. 래빗 사인
이 값의 하위 14비트를 살펴봅니다.

TT 이 두 자리 숫자는 기록의 '유형'을 식별합니다. 인텔 XNUMX진수는 여러 가지를 정의합니다.
다양한 주소 지정 모델에 대한 레코드 유형 의미 있는 유일한 유형
TI 계산기는 유형 00(일반 데이터)과 01(파일 끝)입니다.

DD... 2*NN XNUMX진수 뒤에는 실제 데이터가 표시됩니다.

CC 마지막으로 반전된 체크섬이 추가되어
라인은 총 256 모듈로 XNUMX을 제공합니다. (확장으로, 래빗 사인 당신을 허용합니다
체크섬 대신 두 개의 대문자 'X'를 사용하십시오.)

주소는 16비트에 불과하므로 이 형식은 애플리케이션을 명확하게 나타낼 수 없습니다.
64KB보다 큽니다. 다중 페이지 애플리케이션을 생성하려면, 래빗 사인
페이지 경계를 자동으로 감지하려고 시도하며 다음을 사용하여 각 필드에 대해 새 페이지를 시작합니다.
주소가 XNUMX입니다. 따라서 다중 페이지 앱을 만들려면 여러 Intel을 연결하면 됩니다.
XNUMX진수 파일(예:

고양이 페이지0.hex 페이지1.hex | Rabbitsign - -o 완료.app

이는 레코드가 각 페이지 내에서 올바르게 정렬된 경우에만 작동합니다. (만약
어셈블러는 레코드를 순서대로 생성하지 않으므로 다음을 사용하여 필드를 직접 정렬할 수 있습니다.
`sort -k1.8,1.9 -k1.4,1.7'과 같은 명령.)

이 자동 페이지 감지를 끄려면 -u 옵션. 이 경우에는 다음을 수행해야 합니다.
TI Hex 형식을 사용하여 페이지 경계를 명시적으로 정의합니다.

TI 마녀
``TI'' XNUMX진수는 Intel XNUMX진수에 대한 확장으로 다음의 명확한 표현을 제공합니다.
다중 페이지 앱. 양식의 레코드를 추가합니다.

: 0200000200NNCC

이는 후속 데이터가 상대 페이지 번호에 배치됨을 나타냅니다. NN. ( 명심하세요
TI-83 및 84 Plus는 애플리케이션을 '역방향'으로 설치하므로 상대 페이지 0이
절대 페이지 69에 저장되고, 상대 페이지 1은 절대 페이지 68에 저장됩니다.
앞으로.)

일부 어셈블러는 유형 4 대신 유형 2 레코드를 사용하여 다중 페이지 데이터를 생성할 수 있습니다.
래빗 사인 이를 유형 2와 동일하게 취급합니다.

형식에 대해 특정 가정을 하는 다른 소프트웨어와의 호환성을 위해
래빗 사인 한 줄에 32바이트를 쓰고 DOS 스타일 캐리지로 줄을 끝냅니다.
반환 및 줄 바꿈.

그래프링크 티플
표준(최신) GraphLink 형식은 추가된 78바이트 바이너리 헤더로 구성됩니다.
XNUMX진수 또는 바이너리 파일의 시작 부분에. 이 헤더의 내용은 다음과 같습니다.

0x00 - 07
문자열 `**TIFL**'.

0x08 애플리케이션의 주요 버전 번호(``App ID'')입니다.

0x09 애플리케이션의 부 버전 번호(``App Build'')입니다.

0x0A 플래그; 파일의 내용이 바이너리인지 여부를 나타내기 위한 것으로 보입니다.
(0) 또는 TI 1진수(XNUMX). 그러나 이 값은 다른 소프트웨어에서 일관되게 설정되지 않습니다.

0x0B ``객체 유형'' 필드; 분명히 데이터 유형에 대한 내용을 나타냅니다. 세트
대부분의 TI-0 및 TI-88 Plus 파일에서는 73x83로; TI-0 및 TI-89 Plus 파일에서는 92으로 설정됩니다.

0x0C-0F
바이너리 코드 십진수 월(XNUMX바이트), 일(XNUMX바이트), 연도(XNUMX바이트, 큰 숫자)
endian) 앱이 서명되었을 때.

0x10 앱 이름의 길이입니다.

0x11 - 18
앱의 이름입니다.

0x19-2F
예약되어 있으며 항상 XNUMX으로 설정됩니다.

0x30 계산기 유형(0x73 = TI-83 Plus, 0x74 = TI-73, 0x88 = TI-92 Plus, 0x98 = TI-89.)

0x31 데이터 유형(0x23 = OS 업그레이드, 0x24 = 애플리케이션, 0x25 = 인증서)

0x32 - 49
예약되어 있으며 항상 XNUMX으로 설정됩니다.

0x4A-4D
다음 데이터의 리틀 엔디안 길이(Hex 파일의 길이가 아닌
응용 프로그램의 계산기 크기입니다.)

단순히 두 개 이상의 TIFL 파일로 구성된 다중 부분 TIFL 파일도 있습니다.
함께 연결되었습니다. (예를 들어, 소프트웨어 라이센스 계약이나 인증서 파일
신청서에 첨부할 수 있습니다.) 래빗 사인 제한된 방식으로 이러한 파일을 처리합니다.
인식된 데이터 유형의 첫 번째 섹션만 읽고 다른 데이터는 무시합니다.
파일. 래빗 사인 여러 부분으로 구성된 TIFL 파일을 만들 수는 없지만 다음을 사용하여 만들 수 있습니다.
팩xxk(1) (또는 간단히 사용하여 방법(1).)

이진
래빗 사인 바이너리 앱 파일도 읽을 수 있습니다. 연속된 것으로 가정하므로,
여러 페이지로 구성된 앱에 서명하려면 마지막 페이지를 제외한 각 페이지를 16k로 채워야 합니다.

KEY FILE 형식


키 파일에는 애플리케이션 서명 및 유효성 검사에 필요한 데이터가 포함되어 있습니다. (부분
검증에 사용되는 키 파일은 ``공개'' 키로 알려져 있습니다. 에 사용되는 부분
서명은 '개인' 키입니다. 공개키만 계산기 자체에 저장됩니다.)
TI의 공식 키 파일은 'Rabin'' 및 'RSA'' 형식이라는 두 가지 종류로 제공됩니다.
참고 래빗 사인 현재 RSA 생성을 위해 Rabin 유형 키 파일 사용을 지원합니다.
서명을 하지만 그 반대는 아닙니다.

라빈 체재
Rabin 키 파일 형식은 일반적으로 TI-73 및 TI-83 Plus 애플리케이션 서명에 사용됩니다.
열쇠. 이는 각각 큰 정수를 포함하는 세 줄로 구성됩니다. 첫 번째 줄은
공개 키, n; 두 번째와 세 번째는 두 가지 요소입니다. p and q.

각 줄은 두 개의 XNUMX진수 숫자로 시작하여 숫자의 길이를 바이트 단위로 나타냅니다.
그 뒤에는 리틀 엔디안 순서로 XNUMX진수로 작성된 바이트 자체가 옵니다.

RSA 체재
RSA 키 파일 형식은 일반적으로 TI-89 및 TI-92 Plus 애플리케이션 서명에 사용됩니다.
열쇠. 키 ID, 공개 키의 세 줄로 구성됩니다. n및 서명 지수
d. (d 검증 지수 17의 역수, 모듈로 ф(n), 따라서 계산 d
계산적으로 인수분해와 동일합니다. n.)

키 ID는 짧은 811진수이며 XNUMXx의 내용과 일치해야 합니다.
헤더 필드. 숫자들 n and d Rabin 키에서와 같이 큰 정수로 작성됩니다.
형식입니다.

onworks.net 서비스를 사용하여 온라인으로 Rabbitsign을 사용하세요.


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad