JP2886969B2 - プログラム変換方法 - Google Patents

プログラム変換方法

Info

Publication number
JP2886969B2
JP2886969B2 JP2288524A JP28852490A JP2886969B2 JP 2886969 B2 JP2886969 B2 JP 2886969B2 JP 2288524 A JP2288524 A JP 2288524A JP 28852490 A JP28852490 A JP 28852490A JP 2886969 B2 JP2886969 B2 JP 2886969B2
Authority
JP
Japan
Prior art keywords
program
argument
hash total
character string
conversion method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2288524A
Other languages
English (en)
Other versions
JPH04163627A (ja
Inventor
和夫 橋本
和夫 宝木
勤 中村
一彦 大町
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2288524A priority Critical patent/JP2886969B2/ja
Publication of JPH04163627A publication Critical patent/JPH04163627A/ja
Application granted granted Critical
Publication of JP2886969B2 publication Critical patent/JP2886969B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、プログラム変換方法に係り、特にプログラ
ム保護(プログラムの不正使用防止及び、コンピュータ
ウイルスに対する検知)を実現するための技術に関す
る。
〔従来の技術〕
Proceedings of EUROCRYPT 84 A Workshop on the Theory and Application of Cryp
tograpic Techniques Paris,France,April 1984 “A Method of Software Protection Based on the U
se of smart Cards and Cryptographic Techniques" Ingrid Schaumueller−Bichl and Erust Piller 近年、ネットワークの拡大及び、衛星通信の実用化等
に伴い、プログラムのダウンロード等が容易に行えるよ
うになり、その陰の部分として、プログラムの不正使用
及び、コンピュータウィルス等が大きな社会問題となっ
てきている。プログラムの不正使用に対しては、ソフト
ウェアの価値の低減及び、ソフトウェア生産者に経済的
損失(不正使用に対する損害は、売上高の50%以上とい
うデータもある。)を与えている。又、コンピュータウ
ィルスに対しては、システムの破壊等、高度情報社会に
おいて不安因子になっている。
そこで、まずプログラムの不正使用防止技術として、
暗号技術を用いたプログラムの暗号化というものが従来
考えだされている。以下、詳細に述べる。
プログラムの一部を暗号化し、暗号文をプログラムに
書き込んでおく。プログラムを実行する場合、ICカード
内に納められている暗号鍵より暗号文を復号化し、その
後プログラムを実行するというものである。これによ
り、ICカードを所有している者のみがプログラムを使用
することができることになる。
又、コンピュータウィルスの有無を検知する技術(一
般に、ワクチンプログラムという名称でよく知られてい
る。)として、暗号技術を用いたハッシュトータルの比
較というものが次の文献で開示されている。
The Proceedings of The 1989 Joint workshop on In
formation theory and Its Applications Cryptographt
and Information security “ウィルスと暗号” 松本勉,松井秀智,今井秀樹 以下、詳細に述べる。
ウィルスに犯されていないプログラムに対し、ハッシ
ュトータルを計算し、記憶媒体上に書き込んでおく。プ
ログラムを実行する際、実行プログラムに対して、ハッ
シュトータルを計算し、記憶媒体上に書かれたハッシュ
トータルと比較する。もし等しくない場合、警告を発す
るというものである。
〔発明が解決しようとする課題〕
ところで従来の技術においては、次の問題点がある。
(1)上記不正使用防止プログラム及び、ワクチンプロ
グラムの組み込みは、人間の手によって行なわれている
ため効率が悪い。
(2)ハッシュトータルを比較する機能を有したワクチ
ンプログラムの取外しが容易である。
又、複数の機能を兼ね備えたワクチンプログラムの場
合、それぞれの機能が独立していれば、第三者によりプ
ログラムの変更が容易である。
(3)第三者により、ハッシュトータルの変更が容易で
ある。
(4)ロードモジュールに対して、ソースハッシュトー
タルを生成し、その値をソースプログラムに代入した
後、再びロードモジュールを生成するのでは結果として
2回ロードモジュールを生成することになり、処理時間
がかかる。
〔課題を解決するための手段〕
プログラムの保護機能の強化及び、ワクチンプログラ
ムの組み込み効率の向上という意味で、本発明は、次の
点を改善する。
ハッシュトータルの比較を行なうことにより、コンピ
ュータウィルスの有無をチェックする機能及び、ICリー
ダライタとの回線を立ち上げる機能を有した保護プログ
ラム,保護プログラムの取外しを困難なものとするため
の保護プログラム取外し防止機能及び、ソースプログラ
ムの一部の暗号文をICカードの暗号機能多を用いて復号
化し、出力することにより、不正使用を防止する機能を
有した管理プログラム、保護するべき被保護プログラム
において、 (1)高級言語(例えば、C言語)で書かれた被保護プ
ログラムの文字列認識により、然るべきところに保護プ
ログラム及び、管理プログラムを、機械によって代入さ
せる。これにより、保護プログラム及び、管理プログラ
ムの組み込みが効率を図る。
(2)ハッシュトータルの比較を行なう機能を管理プロ
グラムに取付けることにより、保護プログラムの取外し
を困難にする。又、複数の機能を持つ保護プログラム,
管理プログラムにおいて、それぞれの機能を実現するた
めのコマンドを交互に組み込むことによって、保護プロ
グラム,管理プログラムの変更を困難にする。
(3)ハッシュトータルを暗号化し、暗号文を被保護プ
ログラム上に書き込んでおく。これにより、第三者によ
るハッシュトールの変更を困難にする。
(4)ロードモジュールに直接ハッシュトータルを書き
込むことによって、処理時間の短縮を図る。
〔作用〕
本発明によれば、 (1)高級言語で書かれたプログラムの文字列認識を行
なうことにより、保護プログラム及び、管理プログラム
を自動的に被保護プログラムに組み込むことができる。
これにより、保護プログラム及び、管理プログラム付き
ロードモジュールの生成を効率良く行なうことができ
る。
(2)保護プログラムの2つの機能(ハッシュトータル
の比較及び、ICカードアクセス機能)を従属な位置関係
でプログラム上に配置し、かつソースハッシュトータル
の暗号化により、保護プログラムの変更を困難にでき
る。
(3)管理プログラムに、ハッシュトータルを比較する
機能を設けることにより、保護プログラムの取外しを困
難にできる。
(4)ハッシュトータルの書き込みをロードモジュール
に対して行うことにより、保護プログラムの組み込み処
理を高速に実行することができる。
〔実施例〕
以下、本発明の実施例を詳細に説明する。
第1図は、ワークステーションメモリー構成図、第2
図は、保護プログラム組込システムプログラム(101)
の処理手順の概略を示す図である。以下、C言語で書か
れたプログラムについて説明する。
(201)において、プログラム名をキーボード(111)
により入力する。被保護プログラム(109)のファイル
がオープンされる。
(202)において、保護プログラム埋込プログラム(1
04)がCPU(114)で処理され、プログラムの命令に従
い、被保護プログラム(109)上に保護プログラム(10
2)が組み込まれる。
(203)において、管理プログラム埋込プログラム(1
08)がCPU(114)で処理され、前記処理実施後の被保護
プログラム(109)の中の引数(例えば、for(i=0:i
=7)という条件文の中の“7")を検索し、存在すれば
抜き出し、暗号プログラム(106)によって暗号化を行
う。もし、引数が存在しない場合、(205)の処理に移
る。
(204)において、管理プログラム(107)の引数に前
記の暗号文を代入した後、被保護プログラム(109)上
の引数を抜き出した場所に管理プログラム(107)のコ
ール文を埋め込む。
(205)において、被保護プログラム(109)に対し
て、ロードモジュール(110)の生成を行う。
(206)において、ハッシュ生成プログラム(105)を
CPU(114)で処理を行い、実行ファイル上のロードモジ
ュール(110)の一部に対してハッシュトータルをと
る。
(207)において、暗号プログラム(106)をCPU(11
4)で処理を行い、出力されたハッシュトータルに対し
て暗号化する。
(208)において、ハッシュトータル埋込プログラム
(103)がCPU(114)で処理され、暗号化されたハッシ
ュトータルを被保護プログラム(110)に代入する。
これにより、作用における(1),(2)を実施する
ことができる。
第3図は、(202)における保護プログラム埋込手順
の詳細、第5図(a)は、被保護プログラム、第5図
(b)は、保護プログラム,管理プログラム埋込処理実
行後のソースプログラムを示した図である。
まず、被保護プログラム109のなかから、文字列“mai
n(){”、及び、それに続く変数型文字列(例えば、i
nt。C言語では、他に、char,long,shortなどが挙げら
れる。)を認識することによって、変数宣言の列(例え
ば、int,i,data;)を検索する(ステップ301)。
ステップ302では、後に埋め込まれる保護プログラム1
02のコール文で使用される変数(例えば、X)を宣言し
ておくために、上記変数宣言の列(int,i,data;)の最
後の文字“;"を認識し、この文字“;"の後に、特別な変
数宣言の列(例えば、int X;)を代入する。
ステップ303では、プログラムの実行部の先頭を検出
する。一般に、プログラムの領域は、内部で用いる変数
などを宣言しておくための変数宣言部と、目的のプロセ
スの実行をするための実行部とに分けられる。したがっ
て、ステップ302で代入された特別な変数宣言の列が最
後の変数宣言の列であれば、その最後の文字“;"の次が
実行部の先頭であり、特別な変数宣言の列の後に、別の
変数宣言の列があれば、その最後の文字“;"の次が実行
部の先頭であることがわかる。
次に、ステップ303で検出された実行部の先頭から保
護プログラム102へのコール文(例えば、X=chk_del
(a…a,a…a,…);)を組み込む。
本手順により、第5図(b)の“int x"及び、“x=
chk_del(a…a,…)”が被保護プログラム(109)に設
め込まれる。
第4図は、(203)及び、(204)における管理プログ
ラム埋込処理手順の詳細である。
(401)において、被保護プログラム(109)より文字
列“for"の検出を行い、“for"文の有無を確認する。
(402)において、被保護プログラムで使われている
最初の“for"に対して、“for"文の条件文の中で使われ
ている引数を検出する。
ここで、引数とは例えば第5図(a)のfor文“for
(i=0,i<7;i++){”中の“7"である。
(404)において、“for"文又は、数値が存在しない
場合は、その旨をディスプレイ(112)に出力し、管理
プログラム埋込処理を終了させる事により(205)の処
理に移る。
(405)において、検出した引数を抜きだし、その引
数を暗号化するために暗号プログラム(106)を実行す
る。
次に、暗号化された引数(第5図(b)中の“**
*”)と所定の文字列“a…a"とを含む管理プログラム
へのコール文(例えば、admi(***,a…a))を作成
し(ステップ406)、ステップ405で抜き出された引数
“7"の位置に埋め込む(ステップ407)。
このようにして保護プログラムへのコール文が埋め込
まれた状態(第5図(b))で、ロードモジュールにコ
ンパイルされる(第2図、ステップ205)。
コンパイルされたプログラムは、第7図(a)のよう
に図示できる。
次に、このロードモジュールに対してハッシュトータ
ル生成プログラム105を実行する(第2図、206)。
第6図はハッシュトータル生成処理手順(206)の詳
細、第7図はハッシュトータル生成処理と埋込処理手順
を説明するためのイメージ図である。
(901)において、保護プログラム及び、管理プログ
ラム付ロードモジュールを実行ファイルよりコピーす
る。
(902)において、ロードモジュールのコピーより、
特定の文字列(aa…a)を検出する。
(903)において、コピーファイルの特定の文字列の
位置に空白を代入する。
(904)において、コピーファイル(第7図(b))
に対して、ハッシュトータルを生成する。
(905)において、コピーファイルを消去する。
このようにして、ハッシュトータル(a26c…25d8)が
求められると、暗号プログラム(106)を起動して、ハ
ッシュトータルを暗号化し、ハッシュトータル埋込プロ
グラム(103)を起動して、ロードモジュール中の特定
の文字列(aa…a)を検出し(207)、その部分に暗号
化されたハッシュトータル(1101**…1)を埋め込む
(208)。
このようにして生成されたロードモジュールのイメー
ジを第7図(c)に示す。
以上のように生成されたロードモジュールを実行した
とき、コール文“X=chk_del(a…a,a…a,…)”が保
護プログラム(102)を起動し、次に、for文の中のコー
ル文“admi(***,1101**…1)”が管理プログラ
ムを起動する。このような、実行時の処理手順を第8
図,第9図をもちいて説明する。
保護プログラムは、コール文中のソースハッシュトー
タル「1101**…1」をうけとると、ICカード内部に格
納されている復号化プログラムを起動することによって
復号化し、メモリ上に格納しておく(801)。このと
き、ICカード内部の復号化プログラムのファイルをオー
プンにしたままにしておく。
ステップ601〜605と同様に、実行ファイルのコピーを
作成し、コピーファイルからソースハッシュトータル
「1101**…1」と同じ文字列を検出し、その部分を除
いた部分にたいしてハッシュトータル(実行ハッシュト
ータル)をとり(802)、その実行ハッシュトータルと
復号化されたソースハッシュトータルとを比較する(80
3)。
実行ハッシュトータルと復号化されたソースハッシュ
トータルとが一致する場合は、そのままプログラムを進
める。
また、実行ハッシュトータルとソースハッシュトータ
ルとが不一致の場合には、プログラムが改ざんされたと
判断されるので、強制終了する。
次に、コール文“admi(***,1101**…1)”に
よって起動された管理プログラムは、再び、実行ハッシ
ュトータルとソースハッシュトータルとの比較をおこな
う(901,902)。尚、管理プログラムには、ICカード内
部に格納されている復号化プログラムを起動する命令を
含まないように作成しておく。したがって、保護プログ
ラムによって復号化プログラムのファイルがオープンさ
れていない場合には、エラーが生じることになる。
実行ハッシュトータルと復号化されたソースハッシュ
トータルとが一致する場合には、引数(***)を復号
化し(906)、復号化した結果(“7")を返り値とし
て、実行ファイル上のロードモジュールに戻る(90
7)。また、その時、復号化プログラムのファイルをク
ローズしておく。一方、一致しない場合には、強制終了
する(904)。
尚、上述した実施例においては、保護プログラムと管
理プログラムとを被保護プログラムに組み込むことによ
って改ざんされたプログラムをチェックするようにして
いる。しかしながら、場合に応じて、これらのいずれか
一方を採用するようにしても構わない。
もっとも、ロードモジュールを解析することによっ
て、保護プログラム(102)へのコール文「X=chk_del
(a…a,a…a,…)」に該当する部分は、比較的取り除
きやすいので、保護プログラムへのコール文だけでは、
改ざんのチェックは完全といいがたい。
また、管理プログラムに、ICカード内部の復号化プロ
グラムのファイルをオープンする命令を含ませておき、
管理プログラムへのコール文のみを組み込ませることも
できる。管理プログラムは、プログラム内部の引数の復
号化と、実行ハッシュトータルとソースハッシュトータ
ルの比較とを行うため、コール文「admi(***,1101
**…1)」を簡単に、取り除くことはできない。しか
しながら、管理プログラムへのコール文は、被保護プロ
グラムのどこに組み込まれるか分からないので、早期
に、改ざんのチェックを行う保護プログラム(102)へ
のコール文も併用して組込むことが望ましい態様であ
る。
次に、管理プログラムの埋め込み方式に対する変形例
を挙げる。
第4図において、管理プログラムの埋込方法としてfo
r文の有無を確認し、最初のfor文に対する条件文で使わ
れている数値を検出し、管理プログラムを埋めこんだ
が、変形例としてwhile文、if文の有無を確認し、その
条件文で使われている数値の検出によって管理プログラ
ムの埋込も可能である。
以上、保護プログラム及び、管理プログラムの埋込方
法についてはC言語を対象としてきたが、本方式による
保護プログラム及び、管理プログラム埋込方法は、高級
言語全てに適用可能である。又、埋込個数も複数個の埋
込が可能である。
また、ハッシュトータル生成処理方法に対する変形例
を挙げる。
第10図は、ハッシュトータル生成処理手順(変形)の
詳細である。
(1101)において、実行プログラムのタスク番号を調
べる。
(1102)において、プロセス管理テーブルより、ロー
ディングメモリ上にあるロードモジュールのテキスト部
の長さ及び、アドレスを調べる。
(1103)において、上記情報に基づいて、テキスト部
のハッシュトータルを生成する。
なお、ソースハッシュトータルの生成方法は、実行フ
ァイル上にあるロードモジュールよりテキスト部を検出
し、その部分に対して行う。
これにより、ローディングメモリ上にあるプログラム
の変更チェックが可能である。
〔発明の効果〕
本発明によれば、保護プログラム及び、管理プログラ
ムを自動的に被保護プログラムに埋込かつ、ハッシュト
ータルの設込に対しても、ロードモジュールに対して直
接行なうことにより、保護プログラム付きロードモジュ
ールの生成を高速に行なうことができる。
又、ハッシュトータルの保号化,管理プログラムの導
入、複数の機能を持つ保護プログラムにおいて、それぞ
れの機能を実現するためのコマンドの交互組み込み等に
より、保護プログラムの改ざん及び、取外しを困難にで
きる。
【図面の簡単な説明】
第1図は、本発明を実現するためのワークステーション
メモリ構成を示した図、第2図は、保護プログラム組込
システムプログラムの処理手順を示した図、第3図は、
保護プログラムを埋め込む処理手順を示した図、第4図
は、管理プログラムを埋め込む処理手順を示した図、第
5図は、保護プログラム埋込処理及び、管理プログラム
埋込処理を実行した後の被保護プログラム(ソースプロ
グラム)の変化を示した図、第6図はハッシュトータル
生成処理手順を説明するための図、第7図は、ハッシュ
トータル埋込処理についてのイメージ図、第8図は、保
護プログラムの処理手順を示す図、第9図は管理プログ
ラムの処理手順を示す図、第10図は、ハッシュトータル
を生成する処理手順を示した図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中村 勤 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 大町 一彦 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (56)参考文献 特開 平1−276189(JP,A) 特開 平3−261987(JP,A) 特開 平3−179863(JP,A) 「1990年電子情報通信学会春季全国大 会」P.1−288(1989−3) (58)調査した分野(Int.Cl.6,DB名) G06F 9/06 G06F 12/14

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】改ざん検出機能を有しないプログラムに、
    該プログラムの改ざん検出を行うワクチンプログラムで
    あって、該ワクチンプログラムへのコール文に含まれる
    引数と該引数の部分を除く上記プログラムのハッシュト
    ータルとを比較することによって上記プログラムの改ざ
    んを検出するワクチンプログラムのコール文を組み込む
    ためのプログラム変換方法において、 上記プログラムの実行部の先頭の位置または上記プログ
    ラム中の所定の命令文に含まれる引数に代えて、所定の
    記号列を引数として含む上記ワクチンプログラムのコー
    ル文を挿入し、 上記プログラムをコンパイルしてロードモジュールを生
    成し、 該ロードモジュールから上記記号列の部分を検出し、 該記号列の部分を除く上記ロードモジュールに対しハッ
    シュトータルを算出し、 上記記号列の部分を該ハッシュトータルに置き換えるこ
    とによってプログラムの改ざん検出機能を備えたプログ
    ラムを生成することを特徴とするプログラム変換方法。
  2. 【請求項2】プログラムの不正改ざんおよび不正使用を
    防止するためにプログラム内部に不正改ざんを検知する
    機能を追加するためのプログラム変換方法であって、 メモリ内に存在する保護対象となる第1のプログラム
    に、所定のパターンを有する文字列を含む命令文を挿入
    することによって、第2のプログラムに変換し、 該第2のプログラムを機械語による実行形式である第3
    のプログラムに変換し、 該第3のプログラムから上記文字列を検索して、該第3
    のプログラムの上記文字列を除いた部分に対してハッシ
    ュトータルを算出し、 上記文字列を該ハッシュトータルに置き換えることによ
    って、不正改ざんを検出する機能を備えたプログラムを
    生成することを特徴とするプログラム変換方法。
  3. 【請求項3】前記ハッシュトータルを算出するステップ
    は、算出されたハッシュトータルを所定の暗号鍵で暗号
    化する処理を含むことを特徴とする請求項第2項記載の
    プログラム変換方法。
  4. 【請求項4】前記命令文は、暗号化されたハッシュトー
    タルを引数とする処理を行うと共に、所定のICカードへ
    該暗号化されたハッシュトータルを送り、該ICカードか
    ら復号化されたハッシュトータルを受け取る処理を含む
    ことを特徴とする請求項第3項記載のプログラム変換方
    法。
  5. 【請求項5】プログラム内部に不正使用を防止する機能
    を追加するためのプログラム変換方法であって、 メモリ内に存在する保護対象となる第1のプログラムに
    ついて特定の引数を検索し、該引数の暗号文を生成し、
    該引数を所定のパターンの文字列および該暗号文を引数
    とする命令文に置き換えることによって、第2のプログ
    ラムに変換し、 該第2のプログラムを機械語による実行形式であるロー
    ドモジュールに変換することによって、第3のプログラ
    ムを生成し、 該第3のプログラムについて該所定のパターンの文字列
    を検索し、該所定のパターンの文字列を除いた第3のプ
    ログラムの部分に対してハッシュトータルを算出し、 該所定のパターンの文字列を該ハッシュトータルに置き
    換えることによって、不正改ざん検出機能を備えたプロ
    グラムを出力することを特徴とするプログラム変換方
    法。
  6. 【請求項6】前記命令文は、前記暗号文を引数とする処
    理を行い、所定のICカードへ前記暗号文を送り、該ICカ
    ードから前記暗号文に基づくデータを受け取り該データ
    を返り値として返す処理を含むことを特徴とする請求項
    第5項記載のプログラム変換方法。
JP2288524A 1990-10-29 1990-10-29 プログラム変換方法 Expired - Lifetime JP2886969B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2288524A JP2886969B2 (ja) 1990-10-29 1990-10-29 プログラム変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2288524A JP2886969B2 (ja) 1990-10-29 1990-10-29 プログラム変換方法

Publications (2)

Publication Number Publication Date
JPH04163627A JPH04163627A (ja) 1992-06-09
JP2886969B2 true JP2886969B2 (ja) 1999-04-26

Family

ID=17731355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2288524A Expired - Lifetime JP2886969B2 (ja) 1990-10-29 1990-10-29 プログラム変換方法

Country Status (1)

Country Link
JP (1) JP2886969B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0822390A (ja) * 1994-07-05 1996-01-23 Advance Co Ltd ソフトウエア防衛方式
US6175924B1 (en) * 1997-06-20 2001-01-16 International Business Machines Corp. Method and apparatus for protecting application data in secure storage areas
US7162735B2 (en) * 2000-07-18 2007-01-09 Simplex Major Sdn.Bhd Digital data protection arrangement
AU2001285125B2 (en) 2000-08-21 2004-08-26 Igt Method and apparatus for software authentication
JP4664055B2 (ja) * 2004-12-10 2011-04-06 株式会社エヌ・ティ・ティ・ドコモ プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法
JP4923925B2 (ja) * 2006-09-29 2012-04-25 富士通株式会社 チェックプログラム、監視装置および監視方法
GB0806284D0 (en) * 2008-04-07 2008-05-14 Metaforic Ltd Profile-guided tamper-proofing
WO2013161974A1 (ja) * 2012-04-24 2013-10-31 大日本印刷株式会社 改竄検知が可能なアプリケーションプログラムの配布実行方法
JP5056995B1 (ja) * 2012-04-24 2012-10-24 大日本印刷株式会社 改竄検知が可能なアプリケーションプログラムの配布実行方法
JP5126447B1 (ja) * 2012-08-31 2013-01-23 大日本印刷株式会社 アプリケーションプログラムの実行方法
JP5182445B1 (ja) * 2012-09-18 2013-04-17 大日本印刷株式会社 アプリケーションプログラムの改竄検知方法
JP5574550B2 (ja) * 2012-11-22 2014-08-20 京セラドキュメントソリューションズ株式会社 情報秘匿化方法および情報秘匿化装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「1990年電子情報通信学会春季全国大会」P.1−288(1989−3)

Also Published As

Publication number Publication date
JPH04163627A (ja) 1992-06-09

Similar Documents

Publication Publication Date Title
Collberg et al. Dynamic path-based software watermarking
US20170300670A1 (en) Systems and methods for watermarking software and other media
US7779478B2 (en) System and method for distributed module authentication
CA2437645C (en) Electronic document management system with the use of signature technique capable of masking
JP2886969B2 (ja) プログラム変換方法
CN101477610B (zh) 源码和目标码联合嵌入的软件水印方法
US6519702B1 (en) Method and apparatus for limiting security attacks via data copied into computer memory
CN106650327A (zh) 基于动态恢复so文件的Android应用加固方法
JPWO2006009081A1 (ja) アプリケーション実行装置及びアプリケーション実行装置のアプリケーション実行方法
CN105653905A (zh) 一种基于api安全属性隐藏与攻击威胁监控的软件保护方法
JP2004511031A (ja) ディジタル・データ保護構成
CN111680272A (zh) 一种字节码加密和解密方法及装置
JP2005085188A (ja) プログラム保護方法、プログラム保護プログラムおよびプログラム保護装置
Lu et al. A software birthmark based on dynamic opcode n-gram
JPH1139158A (ja) 実行プログラムの保護方法およびその装置
CN117150515A (zh) Eda二次开发源代码的安全保护方法、电子设备及存储介质
JP2004192068A (ja) 自己書換え処理追加プログラム、自己書換え処理追加装置及び自己書換え処理追加方法
US7552342B1 (en) Method and system for increasing the tamper resistance of a software application
CN111881485B (zh) 一种基于arm指针验证的内核敏感数据完整性保护方法
JP3266021B2 (ja) セキュリティ確保方式
Toll et al. The Caernarvon secure embedded operating system
CN116089983B (zh) 一种py文件的加固编译方法及装置
CN111581654B (zh) 一种加密芯片性能放大的方法
JP2004362077A (ja) データ変換システム
CN117610057A (zh) 一种基于bytecode的electron源代码加密解密方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080212

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090212

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090212

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100212

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100212

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110212

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110212

Year of fee payment: 12