JP5985098B1 - プログラム - Google Patents
プログラム Download PDFInfo
- Publication number
- JP5985098B1 JP5985098B1 JP2016064497A JP2016064497A JP5985098B1 JP 5985098 B1 JP5985098 B1 JP 5985098B1 JP 2016064497 A JP2016064497 A JP 2016064497A JP 2016064497 A JP2016064497 A JP 2016064497A JP 5985098 B1 JP5985098 B1 JP 5985098B1
- Authority
- JP
- Japan
- Prior art keywords
- program
- processing
- loader
- self
- memory
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
Abstract
Description
図1は、本発明の一実施形態に係る情報処理システム11の概略的な構成例を示す図である。
情報処理システム11は、複数の端末装置21〜25と、ネットワーク31を備える。各端末装置21〜25は、ネットワーク31に接続されている。
各端末装置21〜25は、コンピュータなどである。
ネットワーク31は、インターネットなどである。
また、図1の例では、1個のネットワーク31を示したが、ネットワークの数は任意であってもよい。
また、情報処理システム11の構成は、他の構成であってもよい。
また、本実施形態では、端末装置21〜25がネットワーク31に接続される例を示すが、他の構成例として、端末装置21〜25がネットワーク31に接続されなくてもよい。
図2は、本発明の一実施形態に係る端末装置21の概略的な構成例を示す図である。
ここで、本実施形態では、各端末装置21〜25について、概略的な構成は同様である。このため、本実施形態では、端末装置21を例として、構成例および動作例を示す。
端末装置21は、プロセッサ101と、メモリ102と、ネットワークインターフェイス103と、操作部104と、表示部105と、記憶装置106と、入出力インターフェイス107と、これらを接続するバス111を備える。
メモリ102は、揮発性の記憶部であり、RAM(Random Access Memory)などから構成されており、データを一時的に記憶する。RAMとしては、例えば、DRAM(Dynamic Random Access Memory)が用いられてもよい。
ネットワークインターフェイス103は、外部のネットワーク(本実施形態では、ネットワーク31)と接続するインターフェイスである。
操作部104は、キーボード、マウスなどのうちの1以上から構成されており、人(ユーザ)により行われる操作を受け付ける。
表示部105は、画面を有しており、情報を当該画面に表示出力する。
記憶装置106は、不揮発性の記憶部であり、例えば、ハードディスクなどから構成されており、データを記憶する。
入出力インターフェイス107は、外部の記録媒体などと接続するインターフェイスである。
本実施形態に係るプログラム(以下で、「本プログラム」ともいう。)について説明する。
本プログラムは、物理的なファイルとして実行対象のプログラム(以下で、「自己処理プログラム」ともいう。)を出力することなく、コードを実行する。
本実施形態では、自己処理プログラムとして、自己のプログラム(本プログラム)を削除する機能を有するプログラム(削除用プログラム)が用いられる場合を示す。そして、削除用プログラムを残さずに、本プログラムの削除を実行する。
本プログラム201により行われる概略的な処理のイメージ(1)〜(5)を示す。
(1)本プログラム201は、ローダープログラム211を生成する。ここで、本プログラム201およびローダープログラム211は、それぞれ、通常のファイルとして存在する。
(2)本プログラム201は、メモリマップトファイルとして自己処理プログラム221を生成する。本実施形態では、メモリ102を用いてメモリマップトファイルが生成される。
(3)ローダープログラム211は、自己処理プログラム221を実行する。
(4)自己処理プログラム221は、本プログラム201に対して定められた処理を実行する。本実施形態では、当該処理として、本プログラム201を削除する処理が用いられている。
(5)自己処理プログラム221は、ローダープログラム211を削除する指示を登録する。
なお、ローダープログラム211の生成処理のタイミングと、自己処理プログラム221の生成処理のタイミングとしては、順序が逆であってもよく、または、同時(または、略同時)であってもよい。
なお、メモリマップトファイルについては、例えば、一般に知られた技術が用いられてもよい。
まず、本プログラム201の作成時の処理について説明する。
必要な自己処理を行うプログラム(自己処理プログラム221)を作成する。自己処理プログラム221は、本実施形態では、本プログラム201(自己処理の呼び出し元となるプログラムである命令実行プログラム)の削除および関連ファイルの削除を実行する機能を有する。
本実施形態では、自己処理プログラム221は、本プログラム201の削除の用途で使用されることから、本プログラム201のプロセスが終了するまでは本プログラム201のファイルを削除することができないため、本プログラム201の削除に失敗した場合には一定の時間間隔でリトライし続ける機能を有する。
そして、本プログラム201のビルド時に、自己処理プログラム221およびローダープログラム211のバイナリ値をリソースとして埋め込む。
なお、バイナリ値としては、例えば、プログラムのデータそのままの値が用いられてもよく、または、特定条件で可逆的な変換を行った値が用いられてもよい。当該変換としては、例えば、ビット反転の変換、または、可逆圧縮の変換などが用いられてもよい。
図4は、本発明の一実施形態に係るプログラム(本プログラム201)を用いて行われる処理の手順の一例を示すフローチャートである。
本実施形態では、端末装置21において、プロセッサ101が、メモリ102を用いて、記憶装置106に記憶された本プログラム201を読み出して実行する場合を示す。
端末装置21において、本プログラム201を実行する。
本プログラム201は、実行されると、所定のタイミングで、ローダープログラム211をファイルとして出力することで、ローダープログラム211を生成する。当該所定のタイミングは、任意のタイミングであってもよく、例えば、本プログラム201で規定されたタイミングであってもよく、または、本プログラム201の外部で発生した所定の指示があったときのタイミングであってもよい。本実施形態では、当該所定のタイミングになってから、ステップS2以降の処理が実行される。
本プログラム201は、自己処理プログラム221のバイナリ値をメモリマップトファイルに保存することで、自己処理プログラム221を生成する。
本プログラム201は、ローダープログラム211を実行する。この際、本プログラム201は、ローダープログラム211に、メモリマップトファイルの名称と、自己処理プログラム221のバイナリのサイズと、自己処理プログラム221の実行に必要な引数の情報を渡して、ローダープログラム211を実行する。
端末装置21において、本プログラム201を終了する。
ここで、本実施形態では、ローダープログラム211がメモリマップトファイルから情報(自己処理プログラム221)を読み取るよりも先に本プログラム201が終了してしまうと、メモリマップトファイルの情報も消去される。このため、本プログラム201は、ローダープログラム211がメモリマップトファイルから情報を読み込む処理を完了するまで待機するために、所定の時間(例えば、余裕をもって2秒ほど)待機してから終了する構成としてある。
ステップS4の処理によって、ローダープログラム211を実行する。
ローダープログラム211は、実行されると、メモリマップトファイルから自己処理プログラム221を読み込んで実行する。
ステップS12の処理によって、自己処理プログラム221を実行する。
自己処理プログラム221は、実行されると、本プログラム201に対して定められた処理を実行する。本実施形態では、当該処理は削除の処理であり、自己処理プログラム221は本プログラム201を削除する。
自己処理プログラム221は、前記した処理(本実施形態では、削除の処理)が完了した後に、ローダープログラム211の削除の指示を登録する。本実施形態では、この登録は、所定のコマンドにより行われ、具体的には、WINAPI(MoveFileEx関数)により行われる。
これにより、ファイルの実態を持たないプログラム(本実施形態では、自己処理プログラム221)の実行が実現される。
なお、自己処理プログラム221の処理自体はローダープログラム211のプロセスとして動作することから、自己処理プログラム221の処理においてローダープログラム211のファイル自体を削除することはできない。このため、本実施形態では、自己処理プログラム221により、ローダープログラム211の削除の指示をOSに登録しておく構成としてある。この構成では、ローダープログラム211は処理実行後にOSの再起動後までは残ることになるが、ローダープログラム211自体には実行する処理の内容は含まれないため、仮にローダープログラム211の解析が行われたとしても、実行した処理の内容は確認されない。
以上のように、本実施形態に係るプログラム(本プログラム201)では、自プログラムに対する処理を実行するプログラム(自己処理プログラム221)を残存させないことができる。
他の例として、本実施形態に係るプログラム(本プログラム201)は、他の端末装置(図1の例では、端末装置22〜25)または他のサーバ装置などからネットワーク31を介して端末装置21に送信されることで、当該端末装置21により受信されて、当該端末装置21の記憶装置106に記憶されてもよい。
他の例として、本実施形態に係るプログラム(本プログラム201)は、記録媒体から入出力インターフェイス107を介して端末装置21に入力されることで、当該端末装置21の記憶装置106に記憶されてもよい。
一構成例として、第2の機能は、第1のプログラムを実行するローダープログラム(実施形態では、ローダープログラム211)を生成し(図4の例では、ステップS2の機能)、生成されたローダープログラムにより第1のプログラムを実行させる(図5の例では、ステップS12の機能)。
一構成例として、第1のプログラムにより、ローダープログラムをオペレーティングシステム(OS)により削除する指示を登録する(図6の例では、ステップS23の機能)。
一構成例として、第1のプログラムにより、プログラム(本プログラム201)に対する動作として、当該プログラムを削除する動作を行う。
一構成例として、第1のプログラムにより、プログラム(本プログラム201)に対する動作として、当該プログラムを改変する動作を行う。
なお、ここでいう「コンピュータシステム」とは、オペレーティングシステムあるいは周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えば、DRAM)のように、一定時間プログラムを保持しているものも含む。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)あるいは電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
Claims (5)
- プログラムであって、
前記プログラムに対する動作を行う第1のプログラムをメモリマップトファイルとして生成する第1の機能と、
前記メモリマップトファイルとして生成された前記第1のプログラムを実行させる第2の機能と、
をコンピュータに実現させるためのプログラム。 - 前記第2の機能は、前記第1のプログラムを実行するローダープログラムを生成し、生成された前記ローダープログラムにより前記第1のプログラムを実行させる、
請求項1に記載のプログラム。 - 前記第1のプログラムにより、前記ローダープログラムをオペレーティングシステムにより削除する指示を登録する、
請求項2に記載のプログラム。 - 前記第1のプログラムにより、前記プログラムに対する動作として、前記プログラムを削除する動作を行う、
請求項1から請求項3のいずれか1項に記載のプログラム。 - 前記第1のプログラムにより、前記プログラムに対する動作として、前記プログラムを改変する動作を行う、
請求項1から請求項3のいずれか1項に記載のプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016064497A JP5985098B1 (ja) | 2016-03-28 | 2016-03-28 | プログラム |
SG11201808025PA SG11201808025PA (en) | 2016-03-28 | 2017-03-09 | Program |
PCT/JP2017/009514 WO2017169634A1 (ja) | 2016-03-28 | 2017-03-09 | プログラム |
TW106108128A TWI628597B (zh) | 2016-03-28 | 2017-03-13 | 程式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016064497A JP5985098B1 (ja) | 2016-03-28 | 2016-03-28 | プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5985098B1 true JP5985098B1 (ja) | 2016-09-06 |
JP2017182203A JP2017182203A (ja) | 2017-10-05 |
Family
ID=56843360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016064497A Active JP5985098B1 (ja) | 2016-03-28 | 2016-03-28 | プログラム |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP5985098B1 (ja) |
SG (1) | SG11201808025PA (ja) |
TW (1) | TWI628597B (ja) |
WO (1) | WO2017169634A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015056175A (ja) * | 2013-09-13 | 2015-03-23 | 富士通株式会社 | 制御プログラム及び情報処理端末 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002063043A (ja) * | 2000-08-23 | 2002-02-28 | Yokogawa Electric Corp | プログラム実行方法及びこれを用いたシステム |
US7496722B2 (en) * | 2005-04-26 | 2009-02-24 | Hewlett-Packard Development Company, L.P. | Memory mapped page priorities |
US11048446B2 (en) * | 2014-12-17 | 2021-06-29 | Uniys Corporation | Data expanse using memory-mapped files on a system architecture interface layer-based mainframe operating system |
-
2016
- 2016-03-28 JP JP2016064497A patent/JP5985098B1/ja active Active
-
2017
- 2017-03-09 SG SG11201808025PA patent/SG11201808025PA/en unknown
- 2017-03-09 WO PCT/JP2017/009514 patent/WO2017169634A1/ja active Application Filing
- 2017-03-13 TW TW106108128A patent/TWI628597B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015056175A (ja) * | 2013-09-13 | 2015-03-23 | 富士通株式会社 | 制御プログラム及び情報処理端末 |
Also Published As
Publication number | Publication date |
---|---|
JP2017182203A (ja) | 2017-10-05 |
TWI628597B (zh) | 2018-07-01 |
TW201734777A (zh) | 2017-10-01 |
SG11201808025PA (en) | 2018-10-30 |
WO2017169634A1 (ja) | 2017-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9292367B2 (en) | Efficient migration of client-side web state | |
TWI498744B (zh) | 用於在主機與行動裝置間之任務的雙向動態卸載之方法、系統及電腦可讀儲存裝置 | |
JP6009459B2 (ja) | アプリケーションランタイム状態の格納、及び、再開 | |
JP6188713B2 (ja) | 自律ネットワーク・ストリーミング | |
JP2008021249A (ja) | 画像処理装置及びプログラム | |
US8271582B2 (en) | Relay device, relay method, and computer program product | |
US9934081B2 (en) | Conditional saving of input data | |
US8195688B1 (en) | Deconstruction and transformation of complex objects for de-duplicated storage | |
WO2017163441A1 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
KR102166185B1 (ko) | 파이프라인 실행 가속을 위한 데이터 처리 장치 및 그 방법 | |
JP6164508B2 (ja) | データプロセシングシステムのセキュリティ装置とセキュリティ方法 | |
US7779139B2 (en) | Normalization of binary data | |
JP5985098B1 (ja) | プログラム | |
WO2020158347A1 (ja) | 情報処理装置、方法およびプログラム | |
JP2006343976A (ja) | 電子帳票提供方法及び電子帳票サーバ装置 | |
JP7326234B2 (ja) | 情報処理装置、情報処理方法及びコンピュータプログラム | |
CN114817166B (zh) | 一种取消文件操作的方法、装置及介质 | |
US9880904B2 (en) | Supporting multiple backup applications using a single change tracker | |
RU2813491C1 (ru) | Способ и устройство для переноса виртуальной машины по облачной платформе, а также носитель данных и электронное устройство | |
JP6129376B1 (ja) | プログラム | |
US20230105023A1 (en) | Deployment migration tool with decoding capabilities | |
JP5400099B2 (ja) | 情報処理装置、電子機器及びパッチプログラムの適用方法、並びにコンピュータ・プログラム | |
JP7008527B2 (ja) | ソースコード表示装置、ソースコード表示方法およびソースコード表示プログラム | |
JP2012084069A (ja) | 計算機システム及び障害情報収集方法 | |
JP2021163092A (ja) | プログラム実行支援装置、及びプログラム実行支援方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160628 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160802 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5985098 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |