JP5009186B2 - 逆アセンブル方法および逆アセンブル装置 - Google Patents
逆アセンブル方法および逆アセンブル装置 Download PDFInfo
- Publication number
- JP5009186B2 JP5009186B2 JP2008030892A JP2008030892A JP5009186B2 JP 5009186 B2 JP5009186 B2 JP 5009186B2 JP 2008030892 A JP2008030892 A JP 2008030892A JP 2008030892 A JP2008030892 A JP 2008030892A JP 5009186 B2 JP5009186 B2 JP 5009186B2
- Authority
- JP
- Japan
- Prior art keywords
- state
- instruction
- model parameter
- data
- unit
- 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
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
まず最初に、以下の実施例で用いる主要な用語を説明する。以下の実施例で用いる「ソースプログラム」とは、プログラム言語により記述されたプログラムのことであり、「プログラムモジュール」とは、「ソースプログラム」を計算機上で実行するために、当該「ソースプログラム」からコンパイラなどにより「アセンブル」されて生成されるものであり、複数のバイナリ値の列として表現されるものであり、「プログラムモジュール」には、実行される命令を規定する「命令部」と、「命令部」によって命令が実行される際に参照されるデータの場所を規定する「データ部」とが混在して存在する。
続いて、図2を用いて、本実施例における逆アセンブル装置が実行する逆アセンブル方法の概念について説明する。図2は、本実施例における逆アセンブル装置が実行する逆アセンブル方法の概念について説明するための図である。
次に、図3〜9を用いて、本実施例における逆アセンブル装置、すなわち、隠れマルコフモデルにおける最尤状態系列算出の問題とみなして、プログラムモジュールから命令部とデータ部とを識別する逆アセンブル装置の構成を説明する。図3は、本実施例における逆アセンブル装置の構成を示すブロック図であり、図4〜6は、モデルパラメータ学習部および逆アセンブル部で前提となる隠れマルコフモデルの一例を説明するための図であり、図7は、モデルパラメータ学習部を説明するための図であり、図8および図9は、逆アセンブル部を説明するための図である。
次に、図10を用いて、本実施例におけるモデルパラメータ学習部15aによるモデルパラメータ決定処理を説明する。図10は、モデルパラメータ学習部によるモデルパラメータ決定処理を説明するための図である。
次に、図11を用いて、本実施例におけるモデルパラメータ学習部15aによるモデルパラメータ更新処理を説明する。図11は、モデルパラメータ学習部によるモデルパラメータ更新処理を説明するための図である。
次に、図12を用いて、本実施例における逆アセンブル部15bによる処理を説明する。図12は、逆アセンブル部による処理を説明するための図である。
上記したように、本実施例によれば、学習用データとして、「タグ付の学習用プログラムモジュール」や、「初期モデルパラメータ」および「タグ無しの学習用プログラムモジュール」から決定された適切なモデルパラメータを用いたビタービアルゴリズムにより、プログラムモジュールから最尤タグ配列を取得するので、上記した主たる特徴の通り、プログラムモジュールから命令部とデータ部とを確率的に最も高い精度で識別することが可能となる。
11 プログラムモジュール入力部
12 逆アセンブル結果出力部
13 入出力制御I/F部
14 記憶部
14a モデルパラメータ記憶部
15 処理部
15a モデルパラメータ学習部
15b 逆アセンブル部
Claims (5)
- プログラムモジュールを構成する複数のバイナリ値に対して命令部またはデータ部を割り当ててソースプログラムを取得する逆アセンブル方法であって、
前記複数のバイナリ値を複数の単語として分割し、分割された複数の単語それぞれに前記命令部または前記データ部としてのいずれかの状態を割り当てる処理を、前記単語に、前記命令部または前記データ部いずれかの状態が割り当てられる確率は、当該単語の1つ前にある単語に割り当てられた状態によって決定され、かつ、前記単語が出現する出現確率は、当該単語に割り当てられた状態によって決定されると仮定した隠れマルコフモデルにおける最尤の状態系列を求める処理として、モデルパラメータを用いたビタービアルゴリズムにより実行する状態割り当て工程を
含んだことを特徴とする逆アセンブル方法。 - 複数のバイナリ値から分割された複数の単語それぞれに命令部とデータ部とが既に割り当てられたプログラムモジュールに対して、各単語間において、前記命令部または前記データ部から前記命令部または前記データ部への状態遷移それぞれの遷移回数から算出される状態遷移確率と、各状態における単語の出現回数から算出される出現確率とから、前記モデルパラメータを決定するモデルパラメータ決定工程をさらに含み、
前記状態割り当て工程は、前記モデルパラメータ決定工程によって決定して学習された前記モデルパラメータを用いることを特徴とする請求項1に記載の逆アセンブル方法。 - 前記モデルパラメータ決定工程は、逆アセンブルされていないプログラムモジュールと所定のモデルパラメータとを用いて、当該所定のモデルパラメータを更新したモデルパラメータを決定し、
前記状態割り当て工程は、前記モデルパラメータ決定工程によって更新して決定された前記モデルパラメータを用いることを特徴とする請求項2に記載の逆アセンブル方法。 - 前記命令部から前記データ部に遷移する場合は、当該命令部をデータ直前命令部とし、前記命令部から前記命令部に遷移する場合は、当該命令部を継続命令部とし、
前記モデルパラメータ決定工程は、各単語間において、前記データ直前命令部、前記継続命令部または前記データ部から前記データ直前命令部、前記継続命令部または前記データ部への状態遷移それぞれの遷移回数から算出される状態遷移確率と、各状態における単語の出現回数から算出される出現確率とから、前記モデルパラメータを決定し、
前記状態割り当て工程は、前記モデルパラメータ決定工程によって決定された前記モデルパラメータを用いて、複数のバイナリ値から分割された複数の単語それぞれに、前記データ直前命令部、前記継続命令部および前記データ部としてのいずれかの状態を割り当てることを特徴とする請求項3に記載の逆アセンブル方法。 - プログラムモジュールを構成する複数のバイナリ値に対して命令部またはデータ部を割り当ててソースプログラムを取得する逆アセンブル装置であって、
前記複数のバイナリ値を複数の単語として分割し、分割された複数の単語それぞれに前記命令部または前記データ部としてのいずれかの状態を割り当てる処理を、前記単語に、前記命令部または前記データ部いずれかの状態が割り当てられる確率は、当該単語の1つ前にある単語に割り当てられた状態によって決定され、かつ、前記単語が出現する出現確率は、当該単語に割り当てられた状態によって決定されると仮定した隠れマルコフモデルにおける最尤の状態系列を求める処理として、モデルパラメータを用いたビタービアルゴリズムにより実行する状態割り当て手段を
備えたことを特徴とする逆アセンブル装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008030892A JP5009186B2 (ja) | 2008-02-12 | 2008-02-12 | 逆アセンブル方法および逆アセンブル装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008030892A JP5009186B2 (ja) | 2008-02-12 | 2008-02-12 | 逆アセンブル方法および逆アセンブル装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009193161A JP2009193161A (ja) | 2009-08-27 |
JP5009186B2 true JP5009186B2 (ja) | 2012-08-22 |
Family
ID=41075143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008030892A Active JP5009186B2 (ja) | 2008-02-12 | 2008-02-12 | 逆アセンブル方法および逆アセンブル装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5009186B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11609998B2 (en) | 2017-06-14 | 2023-03-21 | Nippon Telegraph And Telephone Corporation | Device, method, and computer program for supporting specification |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5571035B2 (ja) * | 2011-05-30 | 2014-08-13 | 日本電信電話株式会社 | 特定装置、特定方法及び特定プログラム |
EP3330879B1 (en) | 2015-10-09 | 2019-12-18 | Nippon Telegraph And Telephone Corporation | Vulnerability discovering device, vulnerability discovering method, and vulnerability discovering program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH086814A (ja) * | 1994-06-17 | 1996-01-12 | Fujitsu Ltd | 命令列抽出処理装置 |
CA2585145A1 (en) * | 2004-11-04 | 2007-01-04 | Telcordia Technologies, Inc. | Detecting exploit code in network flows |
-
2008
- 2008-02-12 JP JP2008030892A patent/JP5009186B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11609998B2 (en) | 2017-06-14 | 2023-03-21 | Nippon Telegraph And Telephone Corporation | Device, method, and computer program for supporting specification |
Also Published As
Publication number | Publication date |
---|---|
JP2009193161A (ja) | 2009-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11567759B1 (en) | Generating source code from binary files | |
US10171482B2 (en) | Pre-processing before precise pattern matching | |
US9430197B2 (en) | Compiler, compile method and compile apparatus | |
JP5133192B2 (ja) | オリジナルコードの抽出装置、抽出方法、および抽出プログラム | |
US11210073B1 (en) | Translating text encodings of machine learning models to executable code | |
KR20200031150A (ko) | 데이터 처리장치의 데이터 항목들 내의 성분들의 계수 | |
JP5009186B2 (ja) | 逆アセンブル方法および逆アセンブル装置 | |
JP2015169951A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN106055343A (zh) | 一种基于程序演进模型的目标代码逆向工程系统 | |
KR20200097218A (ko) | Gcn 기반의 어셈블리 코드 학습 장치 및 방법과 이를 이용한 보안 약점 탐지 장치 및 방법 | |
JP5301411B2 (ja) | 類似性算出装置、類似性算出方法、類似性算出プログラム、及び類似性解析装置 | |
US11803779B2 (en) | Constructing an ensemble model from randomly selected base learners | |
JP6734479B2 (ja) | 特定支援装置、特定支援方法及び特定支援プログラム | |
Verwimp et al. | TF-LM: tensorflow-based language modeling toolkit | |
JPWO2020235024A1 (ja) | 情報学習装置、情報処理装置、情報学習方法、情報処理方法及びプログラム | |
JP2012098905A (ja) | 文字認識装置、文字認識方法及びプログラム | |
JP6588933B2 (ja) | 言語モデル構築装置、その方法、及びプログラム | |
JP5932707B2 (ja) | 計算機、プログラム及びデータ生成方法 | |
JP6928346B2 (ja) | 予測装置、予測方法および予測プログラム | |
RU2817560C1 (ru) | Аппаратно-ускоренное генерирование k-мерного графа | |
JP5571035B2 (ja) | 特定装置、特定方法及び特定プログラム | |
CN113821211B (zh) | 命令解析方法、装置、存储介质和计算机设备 | |
US20060047734A1 (en) | Fast conversion of integer to float using table lookup | |
CN115129320B (zh) | 一种基于循环不变式的间接跳转目标地址识别方法及装置 | |
JP2006178013A (ja) | データベース作成装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100108 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20110520 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20110520 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120515 |
|
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: 20120529 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120530 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5009186 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150608 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |