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

プログラム変換方法

Info

Publication number
JPH04163627A
JPH04163627A JP2288524A JP28852490A JPH04163627A JP H04163627 A JPH04163627 A JP H04163627A JP 2288524 A JP2288524 A JP 2288524A JP 28852490 A JP28852490 A JP 28852490A JP H04163627 A JPH04163627 A JP H04163627A
Authority
JP
Japan
Prior art keywords
program
argument
hash total
total
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.)
Granted
Application number
JP2288524A
Other languages
English (en)
Other versions
JP2886969B2 (ja
Inventor
Kazuo Hashimoto
和夫 橋本
Kazuo Takaragi
和夫 宝木
Tsutomu Nakamura
勤 中村
Kazuhiko Omachi
大町 一彦
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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、プログラム変換方法に係り、特にプログラム
保護(プログラムの不正使用防止及び、コンピュータウ
ィルスに対する検知)を実現するための技術に関する。
〔従来の技術〕
Proceedings of EIJROCRYPT
 84A Workshop on the Theo
ry and App]、1cationof Cry
ptograpic TechniquesParis
、France、April 1984“A Meth
od of Software Protection
 Ba5ed onthe Use of smart
 Cards and CryptographicT
echniques” Ingrid Schaumueller−Bichl
 and Erust Piller近年、ネットワー
クの拡大及び、衛星通信の実用化等に伴い、プログラム
のダウンロード等が容易に行えるようになり、その陰の
部分として、プログラムの不正使用及び、コンピュータ
ウィルス等が大きな社会問題となってきている。プログ
ラムの不正使用に対しては、ソフトウェアの価値の低減
及び、ソフトウェア生産者に経済的損失(不正使用に対
する損害は、売上高の50%以上というデータもある。
)を与えている。又、コンピュータウィルスに対しては
、システムの破壊等、高度情報社会において不安因子に
なっている。
そこで、まずプログラムの不正使用防止技術として、暗
号技術を用いたプログラムの暗号化というものが従来考
えだされている。以下、詳細に述へる。
プログラムの一部を暗号化し、暗号文をプログラムに書
き込んでおく。プログラムを実行する場合、ICカード
内に納められている暗号鍵より暗号文を復号化し、その
後プログラムを実行するというものである。これにより
、ICカードを所有している者のみがプログラムを使用
することができることになる。
又、コンピュータウィルスの有無を検知する技術(一般
に、ワクチンプログラムという名称でよく知られている
。)として、暗号技術を用いたハツシュトータルの比較
というものが次の文献で開示されている。
The Proceedings of The 19
89 Jointworkshop on Infor
mation theory and ItsAppl
ications  Cryptographt  a
nd  Informationsecurity ″ウィルスと暗号″ 松本勉、松井秀智、今井秀樹 以下、詳細に述べる。
ウィルスに犯されていないプログラムに対し、ハツシュ
トータルを計算し、記憶媒体上に書き込んでおく。プロ
グラムを実行する際、実行プログラムに対して、ハツシ
ュトータルを計算し、記憶媒体上に書かれたハツシュト
ータルと比較する。
もし等しくない場合、警告を発するというものである。
〔発明が解決しようとする課題〕
ところで従来の技術においては、次の問題点がある。
(1)上記不正使用防止プログラム及び、ワクチンプロ
グラムの組み込みは、人間の手によって行なわれている
ため効率が悪い。
(2)ハツシュトータルを比較する機能を有したワクチ
ンプログラムの取外しが容易である。
又、複数の機能を兼ね備えたワクチンプログラムの場合
、それぞれの機能が独立していれば。
第三者によりプログラムの変更が容易である。
(3)第三者により、ハツシュトータルの変更が容易で
ある。
(4)ロードモジュールに対して、ソースハツシュトー
タルを生成し、その値をソースプログラムに代入した後
、再びロードモジュールを生成するのでは結果として2
回ロードモジュールを生成することになり、処理時間が
かかる。
〔課題を解決するための手段〕
プログラムの保護機能の強化及び、ワクチンプログラム
の組み込み効率の向上という意味で、本発明は、次の点
を改善する。
ハツシュトータルの比較を行なうことにより、コンピュ
ータウィルスの有無をチエツクする機能及び、ICリー
ダライタとの回線を立ち上げる機能を有した保護プログ
ラム、保護プログラムの取外しを困難なものとするため
の保護プログラム取外し防止機能及び、ソースプログラ
ムの一部の暗号文をICカードの暗号機能を用いて復号
化し、出力することにより、不正使用を防止する機能を
有した管理プログラム、保護するべき被保護プログラム
において。
(1)高級言語(例えば、C言語)で書かれた被保護プ
ログラムの文字列認識により、然るべきところに保護プ
ログラム及び、管理プログラムを、機械によって代入さ
せる。これにより、保護プログラム及び、管理プログラ
ムの組み込み効率を図る。
(2)ハツシュトータルの比較を行なう機能を管理プロ
グラムに取付けることにより、保護プログラムの取外し
を困難にする。又、複数の機能を持つ保護プログラム、
管理プログラムにおいて、それぞれの機能を実現するた
めのコマンドを交互に組み込むことによって、保護プロ
グラム。
管理プログラムの変更を困難にする。
(3)ハツシュトータルを暗号化し、暗号文を被保護プ
ログラム上に書き込んでおく。これにより、第三者によ
るハツシュトールの変更を困難にする。
(4)ロードモジュールに直接ハツシュトータルを書き
込むことによって、処理時間の短縮を図る。
〔作用〕
本発明によれば、 (1)高級言語で書かれたプログラムの文字列認識を行
なうことにより、保護プログラム及び、管理プログラム
を自動的に被保護プログラムに組み込むことができる。
これにより、保護プログラム及び、管理プログラム付き
ロードモジュールの生成を効率良く行なうことができる
(2)保護プログラムの2つの機能(ハツシュトータル
の比較及び、ICカードアクセス機能)を従属な位置関
係でプログラム上に配置し、かつソースハツシュトータ
ルの暗号化により、保護プログラムの変更を困難にでき
る。
(3)管理プログラムに、ハツシュトータルを比較する
機能を設けることにより、保護プログラムの取外しを困
難にできる。
(4)ハツシュトータルの書き込みをロードモジュ−ル
に対して行うことにより、保護プログラムの組み込み処
理を高速に実行することができる。
〔実施例〕
以下、本発明の実施例を詳細に説明する。
第1図は、ワークステーションメモリー構成図、第2図
は、保護プログラム組込システムプログラム(IC1)
の処理手順の概略を示す図である。
以下、C言語で書かれたプログラムについて説明する。
(201)において、プログラム名をキーボード(11
1)より入力する。被保護プログラム(IC9)のファ
イルがオープンされる。
(202)において、保護プログラム埋込プログラム(
IC4)がCPU (114)で処理され。
プログラムの命令に従い、被保護プログラム(IC9)
上に保護プログラム(IC2)が組み込まれる。
(203)において、管理プログラム埋込プログラム(
IC8)がCPU (114)で処理され、前記処理実
施後の被保護プログラム(IC9)の中の引数(例えば
、for(i =O: i = 7)という条件文の中
のrr 7 ++ )を検索し、存在すれば抜き出し、
暗号プログラム(IC6)によって暗号化を行う。もし
、引数が存在しない場合、(205)の処理に移る。
(204)において、管理プログラム(IC7)の引数
に前記の暗号文を代入した後、被保護プログラム(IC
9)上の引数を抜き出した場所に管理プログラム(IC
7)のコール文を埋め込む。
(205)において、被保護プログラム(IC9)に対
して、ロードモジュール(1IC)の生成を行う。
(206)において、ハツシュ生成プログラム(IC5
)をCPU (114)で処理を行い、実行ファイル上
のロードモジュール(1IC)の−部に対してハツシュ
トータルをとる。
(207)において、暗号プログラム(IC6)をCP
U (114)で処理を行い、出力されたハツシュトー
タルに対して暗号化する。
(208)において、ハツシュトータル埋込プログラム
(IC3)がCPU(114)で処理され、暗号化され
たハツシュトータルを被保護プログラム(1IC)に代
入する。
これにより、作用における(1) 、 (2)を実施す
ることができる。
第3図は、(202)における保護プログラム埋込手順
の詳細、第5図(a)は、被保護プログラム、第5図(
b)は、保護プログラム、管理プログラム埋込処理実行
後のソースプログラムを示した図である。
まず、被保護プログラムIC9のなかから、文字列”m
ain () (” +及び、それに続く変数型文字列
(例えば、int。C言語では、他に、char +l
ong、 5hortなどが挙げられる。)を認識する
ことによって、変数宣言の列(例えば、lnt、11d
ata ; )を検索する(ステップ301)。
ステップ302では、後に埋め込まれる保護プログラム
IC2のコール文で使用される変数(例えば、X)を宣
言しておくために、上記変数宣言の列(int、 i、
 data ; )の最後の文字″;”を認識し、この
文字47 ;++の後に、特別な変数宣言の列(例えば
、1ntX;)を代入する。
ステップ303では、プログラムの実行部の先頭を検出
する。一般に、プログラムの領域は、内部で用いる変数
などを宣言しておくための変数宣言部と、目的のプロセ
スを実行するための実行部とに分けられる。したがって
、ステップ302で代入された特別な変数宣言の列が最
後の変数宣言の列であれば、その最後の文字LL 、 
++の次が実行部の先頭であり、特別な変数宣言の列の
後に、別の変数宣言の列があれば、その最後の文字tt
 、 ++の次が実行部の先頭であることがわかる。
次に、ステップ303で検出された実行部の先頭から保
護プログラムIC2へのコール文(例えば、X=:ch
k−del (a−a、 a−a、 =−);)を組み
込む。
本手順により、第5図(b)の”1ntx’+及び、”
 x =chkJel (a −−−a 、−)”が被
保護プログラム(IC9)に設め込まれる。
第4図は、(203)及び、(204)における管理プ
ログラム埋込処理手順の詳細である。
(401)において、被保護プログラム(IC9)より
文字列11 for++の検出を行い、llforH文
の有無を確認する。
(402)において、被保護プログラムで使われている
最初の” f o r”に対して、”for″′文の条
件文の中で使われている引数を検出する。
ここで、引数とは例えば第5図(a)のfor文”fo
r (i =O,i<7 ; i ++)  (”中の
“7″である。
(404)において 11 forIT文又は、数値が
存在しない場合は、その旨をデイスプレィ(112)に
出力し、管理プログラム埋込処理を終了させる事により
(205)の処理に移る。
(405)において、検出した引数を抜きだし、その引
数を暗号化するために暗号プログラム(IC6)を実行
する。
次に、暗号化された引数(第5図(b)中の1′* *
 * II )と所定の文字列sra・・ay+とを含
む管理プログラムへのコール文(例えば、admi(*
**、a・・a))を作成しくステップ406)、ステ
ップ405で抜き出された引数II 7 TIの位置に
埋め込む(ステップ407)。
このようにして保護プログラムへのコール文が埋め込ま
れた状態(第5図(b))で、ロードモジュールにコン
パイルされる(第2図、ステップ205)。
コンパイルされたプログラムは、第7図(a)のように
図示できる。
次に、このロードモジュールに対してハツシュトータル
生成プログラムIC5を実行する(第2図、206)。
第6図はハツシュトータル生成処理手順(206)の詳
細、第7図はハツシュトータル生成処理と埋込処理手順
を説明するためのイメージ図である。
(901)において、保護プログラム及び、管理プログ
ラム付ロードモジュールを実行ファイルよりコピーする
(902)において、ロードモジュールのコピーより、
特定の文字列(aa・・a)を検出する。
(903)において、コピーファイルの特定の文字列の
位置に空白を代入する。
(904)において、コピーファイル(第7図(b))
に対して、ハツシュトータルを生成する。
(905)において、コピーファイルを消去する。
このようにして、ハツシュトータル(a26c・・25
d8)が求められると、暗号プログラム(IC6)を起
動して、ハツシュトータルを暗号化し、ハツシュトータ
ル埋込プログラム(IC3)を起動して、ロードモジュ
ール中の特定の文字列(aa  ・a)を検出しく20
7)、その部分に暗号化されたハッシュトータル(1I
C1木木・・・1)を埋め込む(208)。
このようにして生成されたロードモジュールのイメージ
を第7図(c)に示す。
以上のように生成されたロードモジュールを実行したと
き、コール文” X =chkJel(a −a 、 
a・・・a、・・・)′°が保護プログラム(IC2)
を起動し、次に、for文の中のコール文“admi 
(* * * 。
1IC1木木・・1)″が管理プログラムを起動する。
このような、実行時の処理手順を第8図、第9図をもち
いて説明する。
保護プログラムは、コール文中のソースハツシュトータ
ルrllo1*木・・・1」をうけとると、ICカード
内部に格納されている復号化プログラムを起動すること
によって復号化し、メモリ」二に格納しておく(801
)。このとき、ICカード内部の復号化プログラムのフ
ァイルをオープンにしたままにしておく。
ステップ601〜605と同様に、実行ファイルのコピ
ーを作成し、コピーファイルからソースハツシュトータ
ルrtto1*木・1」と同し文字列を検出し、その部
分を除いた部分にたいしてハツシュトータル(実行ハツ
シュトータル)をとり(802)、その実行ハツシュト
ータルと復号化されたソースハツシュト−タルとを比較
する(803)。
実行ハツシュトータルと復号化されたソースハツシュト
ータルとが一致する場合は、そのままプログラムを進め
る。
マタ、実行ハツシュトータルとソースハツシュ)・−タ
ルとが不一致の場合り二は、プログラムが改ざんされた
と判断されるので、強制終了する。
次に、コール文“admi(***、1IC1*木・・
・1)″によって起動された管理プログラムは、再ヒ、
実行ハツシュトータルとソースハツシュトータルとの比
較をおこなう(901,902)。
尚、管理プログラムには、ICカード内部に格納されて
いる復号化プログラムを起動する命令を含まないように
作成しておく。したがって、保護プログラムによって復
号化プログラムのファイルがオープンされていない場合
には、エラーが生じることになる。
実行ハツシュトータルと復号化されたソースハツシュト
ータルとが一致する場合には、引数(***)を復号化
しく906)、復号化した結果(”7”)を返り値とし
て、実行ファイル上のロードモジュールに戻る(907
)。また、その時、復号化プログラムのファイルをクロ
ーズしておく。一方、一致しない場合には、強制終了す
る(904)  。
尚、上述した実施例においては、保護プログラムと管理
プログラムとを被保護プログラムに組み込むことによっ
て改ざんされたプログラムをチエツクするようにしてい
る。しかしながら、場合に応じて、これらのいずれか一
方を採用するようにしても構わない。
もっとも、ロードモジュールを解析することによって、
保護プログラム(IC2)へのコール文r X=chk
−del(a −a 、  a −a + −) J 
に該当する部分は、比較的取り除きやすいので、保護プ
ログラムへのコール文だけでは、改ざんのチエツクは完
全といいがたい。
また、管理プログラムに、ICカード内部の復号化プロ
グラムのファイルをオープンする命令を含ませておき、
管理プログラムへのコール文のみを組み込ませることも
できる。管理プログラムは、プログラム内部の引数の復
号化と、実行ハツシュトータルとソースハツシュトータ
ルの比較とを行うため、コール文radmi (*”木
、1IC1**・・1)」簡単に、取り除くことはでき
ない。しかしながら、管理プログラムへのコール文は、
被保護プログラムのどこに組み込まれるか分からないの
で、早期に、改ざんのチエツクを行う保護プログラム(
IC2)へのコール文も併用して組込むことが望ましい
態様である。
次に、管理プログラムの埋め込み方式に対する変形例を
挙げる。
第4図において、管理プログラムの埋込方法としてfo
r文の有無を確認し、最初のfor文に対する条件文で
使われている数値を検出し、管理プログラムを埋めこん
だが、変形例としてwhile文、if文の有無を確認
し、その条件文で使われている数値の検出によって管理
プログラムの埋込も可能である。
以上、保護プログラム及び、管理プログラムの埋込方法
についてはC言語を対象としたきたが、本方式による保
護プログラム及び、管理プログラム埋込方法は、高級言
語全てに適用可能である。
又、埋込個数も複数個の埋込が可能である。
また、ハツシュトータル生成処理方法に対する変形例を
挙げる。
第IC図は、ハツシュトータル生成処理手順(変形)の
詳細である。
(1IC1)において、実行プログラムのタスク番号を
調へる。
(1IC2)において、プロセス管理テーブルより、ロ
ーティングメモリ上にあるロードモジュールのテキスト
部の長さ及び、アドレスを調へる。
(1IC3)において、上記情報に基づいて、テキスト
部のハツシュトータルを生成する。
なお、ソースハツシュトータルの生成方法は、実行ファ
イル上にあるロードモジュールよりテキスト部を検出し
、その部分に対して行う。
これにより、ローディングメモリ上にあるプログラムの
変更チエツクが可能である。
〔発明の効果〕
本発明によれば、保護プログラム及び、管理プログラム
を自動的に被保護プログラムに埋込かつ、ハツシュトー
タルの改造に対しても、ロードモジュールに対して直接
行なうことにより、保護プログラム付きロードモジュー
ルの生成を高速に行なうことができる。
又、ハツシュトータルの保号化、管理プログラムの導入
、複数の機能を持つ保護プログラムにおいて、それぞれ
の機能を実現するためのコマンドの交互組み込み等によ
り、保護プログラムの改ざん及び、取外しを困難にでき
る。
【図面の簡単な説明】
第1図は、本発明を実現するためのワークステーション
メモリ構成を示した図、第2図は、保護プログラム組込
システムプログラムの処理手順を示した図、第3図は、
保護プログラムを埋め込む処理手順を示した図、第4図
は、管理プログラムを埋め込む処理手順を示した図、第
5図は、保護プログラム埋込処理及び、管理プログラム
埋込処理を実行した後の被保護プログラム(ソースプロ
グラム)の変化を示した図、第6図はハツシュトータル
生成処理手順を説明するための図、第7図は、ハツシュ
トータル埋込処理についてのイメージ図、第8図は、保
護プログラムの処理手順を示す図、第9図は管理プログ
ラムの処理手順を示す図、第IC図は、ハツシュ1−一
タルを生成する処理 2 図 保]→Doり゛ラムわしΔシステム処理手゛IIljy
3図 保護フ・aり°′クムセ里ム5手+++a当区 第4図 管度アロ7゛ラム埋込フ゛Q7′ラム%理手〕傾203
.2ρ4 %5 口 邊寥名瞥アロプラム及び、窄カイフ゛ロフ゛うbiシ(
図8′四1rJ1”yl−1J、p葭7゛0を銭、14
1″″i  (−−−−)   管ノフ“;”;を第3
図 ハッンエトークル生へ処男1!−”段 V 8口 Y9 閃 管理707ラム処理セ慮 第1θ 口

Claims (1)

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

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996001450A1 (en) * 1994-07-05 1996-01-18 Kabushiki Kaisya Advance Security system for software
JPH1124919A (ja) * 1997-06-20 1999-01-29 Internatl Business Mach Corp <Ibm> 安全な記憶領域でアプリケーション・データを保護する方法及び装置
JP2004511031A (ja) * 2000-07-18 2004-04-08 ビットアーツ リミテッド ディジタル・データ保護構成
JP2006164184A (ja) * 2004-12-10 2006-06-22 Ntt Docomo Inc プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法
JP2008084275A (ja) * 2006-09-29 2008-04-10 Fujitsu Ltd ソフトウェアの改ざん監視装置および改ざん監視方法
US7520811B2 (en) 2000-08-21 2009-04-21 Igt Method and apparatus for software authentication
JP2011516953A (ja) * 2008-04-07 2011-05-26 メタフォリック リミテッド 自動解析を採用する改竄防止システム
JP5056995B1 (ja) * 2012-04-24 2012-10-24 大日本印刷株式会社 改竄検知が可能なアプリケーションプログラムの配布実行方法
JP5126447B1 (ja) * 2012-08-31 2013-01-23 大日本印刷株式会社 アプリケーションプログラムの実行方法
JP2013047854A (ja) * 2012-11-22 2013-03-07 Kyocera Document Solutions Inc 情報秘匿化方法および情報秘匿化装置
JP5182445B1 (ja) * 2012-09-18 2013-04-17 大日本印刷株式会社 アプリケーションプログラムの改竄検知方法
WO2013161974A1 (ja) * 2012-04-24 2013-10-31 大日本印刷株式会社 改竄検知が可能なアプリケーションプログラムの配布実行方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996001450A1 (en) * 1994-07-05 1996-01-18 Kabushiki Kaisya Advance Security system for software
JPH1124919A (ja) * 1997-06-20 1999-01-29 Internatl Business Mach Corp <Ibm> 安全な記憶領域でアプリケーション・データを保護する方法及び装置
JP4892167B2 (ja) * 2000-07-18 2012-03-07 シンプレックス メジャー センドリアン ベルハッド ディジタル・データ保護構成
JP2004511031A (ja) * 2000-07-18 2004-04-08 ビットアーツ リミテッド ディジタル・データ保護構成
US7520811B2 (en) 2000-08-21 2009-04-21 Igt Method and apparatus for software authentication
JP2006164184A (ja) * 2004-12-10 2006-06-22 Ntt Docomo Inc プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法
JP2008084275A (ja) * 2006-09-29 2008-04-10 Fujitsu Ltd ソフトウェアの改ざん監視装置および改ざん監視方法
JP2011516953A (ja) * 2008-04-07 2011-05-26 メタフォリック リミテッド 自動解析を採用する改竄防止システム
JP5056995B1 (ja) * 2012-04-24 2012-10-24 大日本印刷株式会社 改竄検知が可能なアプリケーションプログラムの配布実行方法
WO2013161974A1 (ja) * 2012-04-24 2013-10-31 大日本印刷株式会社 改竄検知が可能なアプリケーションプログラムの配布実行方法
JP5126447B1 (ja) * 2012-08-31 2013-01-23 大日本印刷株式会社 アプリケーションプログラムの実行方法
JP5182445B1 (ja) * 2012-09-18 2013-04-17 大日本印刷株式会社 アプリケーションプログラムの改竄検知方法
JP2013047854A (ja) * 2012-11-22 2013-03-07 Kyocera Document Solutions Inc 情報秘匿化方法および情報秘匿化装置

Also Published As

Publication number Publication date
JP2886969B2 (ja) 1999-04-26

Similar Documents

Publication Publication Date Title
US9659157B2 (en) Systems and methods for watermarking software and other media
KR101798672B1 (ko) 코드 불변식을 이용한 스테가노그래픽 메시징 시스템
US9128722B2 (en) Systems, methods, and computer-readable media for fertilizing machine-executable code
JP4770425B2 (ja) 保護済み実行プログラムの作成のためのプログラム、方法及び装置
US7177845B2 (en) Copy detection for digitally-formatted works
US20060123237A1 (en) Method for Watermarking Computer Programs
US9116765B2 (en) System and method for obfuscating data using instructions as a source of pseudorandom values
TW200841209A (en) Obfuscating computer program code
JPH04163627A (ja) プログラム変換方法
BRPI0614089A2 (pt) método para evitar engenharia reversa de software, modificação não autorizada e interceptação de dados de tempo de execução
US20070016888A1 (en) System and method for verifying the integrity of read-only components in deployed mixed-mode applications
CN111680272B (zh) 一种字节码加密和解密方法及装置
Lu et al. A software birthmark based on dynamic opcode n-gram
KR102741959B1 (ko) 스마트 컨트랙트 워터마킹 방법
WO2022011818A1 (zh) 一种基于arm指针验证的内核敏感数据完整性保护方法
CN114547562B (zh) 文本水印添加及应用的方法和装置
CN112052462B (zh) 一种虚拟化加密方法、终端及存储介质
CN117150515B (zh) Eda二次开发源代码的安全保护方法、电子设备及存储介质
JP3814618B2 (ja) 文章処理装置、及び制御方法
Poddubnyi et al. Possibilities of Using Watermarks to Protect Software Code.
JP2002108851A (ja) 文章処理装置及びその方法並びに記憶媒体
Lee et al. API-based software birthmarking method using fuzzy hashing
CN120850259A (zh) 基于指令驱动的Java运行时业务逻辑保护方法及系统
CN120541813A (zh) 代码混淆方法、电子设备、存储介质及程序产品

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