JP5945074B2 - Apiインターセプト関連のアプリケーションのための方法、デバイス、およびモバイル端末 - Google Patents
Apiインターセプト関連のアプリケーションのための方法、デバイス、およびモバイル端末 Download PDFInfo
- Publication number
- JP5945074B2 JP5945074B2 JP2015521964A JP2015521964A JP5945074B2 JP 5945074 B2 JP5945074 B2 JP 5945074B2 JP 2015521964 A JP2015521964 A JP 2015521964A JP 2015521964 A JP2015521964 A JP 2015521964A JP 5945074 B2 JP5945074 B2 JP 5945074B2
- Authority
- JP
- Japan
- Prior art keywords
- api
- function
- identifier
- virtual machine
- class
- 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
- 238000000034 method Methods 0.000 title claims description 243
- 230000008569 process Effects 0.000 claims description 213
- 230000006870 function Effects 0.000 claims description 154
- 238000012544 monitoring process Methods 0.000 claims description 7
- 241000700605 Viruses Species 0.000 claims description 4
- 238000010295 mobile communication Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- 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
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/006—Identification
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
- Debugging And Monitoring (AREA)
Description
APIプロセスのプロセス識別子に基づいて、システムに対応する仮想マシンにおけるAPIプロセスをリアルタイムに監視するステップと、
APIプロセスが起動されると、APIプロセスのプロセス識別子に従ってメモリからAPIプロセスに対応する仮想マシンインスタンスを取得するステップと、
インターセプトされるAPIの識別子情報に従って、第1のコンピュータ言語で記述されている第1のAPIのアドレスを、第2のコンピュータ言語で記述されており、APIプロセスに対応する仮想マシンインスタンスからの第1のAPIに対応する第2のAPIの記憶されたアドレスと置き換えるステップであり、第2の言語が第1の言語とは異なる、ステップと、
第2の機能を介してAPIプロセスの制御を実施するステップと
を含む。
APIプロセスのプロセス識別子に基づいて、システムに対応する仮想マシンにおけるAPIプロセスをリアルタイムに監視するように構成されたモニタモジュール301と、
APIプロセスが起動されると、APIプロセスのプロセス識別子に従ってメモリからAPIプロセスに対応する仮想マシンインスタンスを取得するように構成された取得モジュール302と、
インターセプトされるAPIの識別子情報に従って、APIプロセスに対応する仮想マシンインスタンスにおける第1のコンピュータ言語で記述されている第1のAPIのコードを指すアドレスを、第1のAPIに対応し、第2のコンピュータ言語で記述されている第2のAPI(または置換機能)のコードを指す記憶されたアドレスと置き換え、第2の言語が第1の言語とは異なり、第2の機能を介してAPIプロセスの制御を実施するように構成された置換モジュール303と
を含む。
クラス識別子に従って、APIプロセスに対応する仮想マシンインスタンスから第1のAPIが属するクラスに対応するクラス構造を取得するように構成された第1の取得ユニット3031と、
第1のAPIの機能識別子に従って、クラス構造から第1のAPI(またはその機能のうちの1つ)に対応する機能構造を取得するように構成された第2の取得ユニット3032と、
機能構造に記憶された第1のAPIのアドレスを第2のAPI(または置換機能)の機能の記憶されたアドレスと置き換えるように構成された置換ユニット3033と
を含む。
302 取得モジュール
303 置換モジュール
600 モバイルデバイス
601 ディスプレイ
602 モバイルコンピューティングデバイス
604 通信バス
606 メモリ
608 通信インターフェース
616 オペレーティングシステム
618 ネットワーク通信モジュール
620 仮想マシン
622 仮想マシンインスタンス
622-a APIプロセス情報
630 置換機能
632 アプリケーションプログラム
3031 第1の取得ユニット
3032 第2の取得ユニット
3033 置換ユニット
Claims (20)
プロセスのプロセス識別子に基づいて仮想マシンにおけるAPIの前記プロセスのステータスを監視するステップと、
前記APIの前記プロセスが起動されると、前記プロセスの前記プロセス識別子に基づいて前記メモリから前記APIの前記プロセスに対応する仮想マシンインスタンスを取得するステップと、
前記APIの識別子情報に基づいて前記仮想マシンインスタンスにおける前記APIの機能の第1のアドレスを識別するステップと、
前記第1のアドレスを置換機能の第2のアドレスと置き換えるステップであり、前記APIが第1のコンピュータ言語で記述されており、前記置換機能が第2のコンピュータ言語で記述されている、ステップと、
前記置換機能を実行するステップと
を含むアプリケーションプログラミングインターフェース(API)インターセプションの方法。
前記仮想マシンが前記プロセス識別子に関連付けられたプロセスを実行し始めることを検出すると、前記プロセスの起動を検出するステップ
を含む、請求項1に記載の方法。
前記APIが属するクラスのクラス構造を、前記クラス識別子に基づいて前記仮想マシンインスタンスから取得するステップと、
前記APIの前記機能の前記機能識別子に基づいて前記APIの前記機能の機能構造を取得するステップと
を含む、請求項3に記載の方法。
メモリと、
前記メモリに記憶され、前記プロセッサによって実行される1つまたは複数のプログラムであり、前記1つまたは複数のプログラムが、
プロセスのプロセス識別子に基づいて仮想マシンにおけるAPIの前記プロセスのステータスを監視するための命令と、
前記APIの前記プロセスが起動されると、前記プロセスの前記プロセス識別子に基づいて前記メモリから前記APIの前記プロセスに対応する仮想マシンインスタンスを取得するための命令と、
前記APIの識別子情報に基づいて前記仮想マシンインスタンスにおける前記APIの機能の第1のアドレスを識別するための命令と、
前記第1のアドレスを置換機能の第2のアドレスと置き換えるための命令であり、前記APIが第1のコンピュータ言語で記述されており、前記置換機能が第2のコンピュータ言語で記述されている、命令と、
前記置換機能を実行するための命令と
を含むプログラムと
を含むモバイルデバイス。
前記仮想マシンが前記プロセス識別子に関連付けられたプロセスを実行し始めることを検出すると、前記プロセスの起動を検出するための命令
を含む、請求項7に記載のモバイルデバイス。
前記APIが属するクラスのクラス構造を、前記APIが属するクラスのクラス識別子に従って前記仮想マシンインスタンスから取得するための命令と、
前記APIの前記機能の機能識別子に従って前記APIの前記機能の機能構造を取得するための命令と
を含む、請求項8に記載のモバイルデバイス。
1つまたは複数のプロセッサと、
1つまたは複数のプログラムを記憶するメモリであり、前記1つまたは複数のプログラムが前記1つまたは複数のプロセッサによって実行されると、前記ハンドヘルドコンピュータに、
プロセスのプロセス識別子に基づいて仮想マシンにおけるAPIの前記プロセスのステータスを監視させ、
前記APIの前記プロセスが起動されると、前記プロセスの前記プロセス識別子に基づいて前記メモリから前記APIプロセスに対応する仮想マシンインスタンスを取得させ、
データベースに記憶された第1の組の基準に基づいて、前記APIがインターセプトされるべきかどうかを判断させ、
前記APIがインターセプトされるべきである場合、前記データベースに記憶された第2の組の基準に基づいて置換機能を選択させ、
前記APIの識別子情報に基づいて前記仮想マシンインスタンスにおける前記APIの機能の第1のアドレスを識別させ、
前記第1のアドレスを前記置換機能の第2のアドレスと置き換えさせ、前記APIが第1のコンピュータ言語で記述されており、前記置換機能が第2のコンピュータ言語で記述されており、
前記置換機能を実行させる
メモリと
を含むハンドヘルドコンピュータ。
前記APIが属する前記クラスのクラス構造を、前記クラス識別子に基づいて前記仮想マシンインスタンスから取得させることと、
前記APIの前記機能識別子から前記APIの前記機能の機能構造を取得させることと
を含む、請求項18に記載のハンドヘルドコンピュータ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210252551.8 | 2012-07-20 | ||
CN201210252551.8A CN102855138B (zh) | 2012-07-20 | 2012-07-20 | 一种api的拦截方法、装置及移动终端 |
PCT/CN2013/079600 WO2014012504A1 (en) | 2012-07-20 | 2013-07-18 | Method, device, and mobile terminal for api interception |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015525931A JP2015525931A (ja) | 2015-09-07 |
JP5945074B2 true JP5945074B2 (ja) | 2016-07-05 |
Family
ID=47401749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015521964A Active JP5945074B2 (ja) | 2012-07-20 | 2013-07-18 | Apiインターセプト関連のアプリケーションのための方法、デバイス、およびモバイル端末 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8863157B2 (ja) |
JP (1) | JP5945074B2 (ja) |
CN (1) | CN102855138B (ja) |
SG (1) | SG11201500252RA (ja) |
WO (1) | WO2014012504A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855138B (zh) * | 2012-07-20 | 2015-12-09 | 腾讯科技(深圳)有限公司 | 一种api的拦截方法、装置及移动终端 |
CN103914637B (zh) * | 2013-01-07 | 2017-06-09 | 北京洋浦伟业科技发展有限公司 | 一种安卓平台的可执行程序加密方法 |
CN105893000A (zh) * | 2014-10-28 | 2016-08-24 | 北京确安科技股份有限公司 | 防止测试机系统时间被非法修改的方法 |
CN104462879B (zh) * | 2014-11-28 | 2018-04-17 | 北京奇虎科技有限公司 | 应用程序免Root运行控制方法与装置 |
CN104484176B (zh) * | 2014-12-16 | 2018-01-19 | 北京奇虎科技有限公司 | 一种安卓系统窗口对象获取方法和装置 |
US9582298B2 (en) * | 2015-03-20 | 2017-02-28 | Amazon Technologies, Inc. | Executing commands within virtual machine instances |
CN108027740A (zh) * | 2015-09-24 | 2018-05-11 | 慧与发展有限责任合伙企业 | 进程和线程启动特征 |
US10387209B2 (en) * | 2015-09-28 | 2019-08-20 | International Business Machines Corporation | Dynamic transparent provisioning of resources for application specific resources |
CN105653980B (zh) * | 2015-12-30 | 2019-06-11 | 福建联迪商用设备有限公司 | 一种虚拟内存数据的保护方法及其系统 |
CN105786524B (zh) * | 2016-03-23 | 2019-03-12 | 福建正孚软件有限公司 | 软件钩子设置方法及装置 |
CN106055385B (zh) * | 2016-06-06 | 2019-04-16 | 四川大学 | 监控虚拟机进程的系统和方法、过滤page fault异常的方法 |
US11916994B1 (en) * | 2016-12-15 | 2024-02-27 | Blue Yonder Group, Inc. | Extending RESTful web service resources in a JAVA-component-driven-architecture application |
CN106844148B (zh) * | 2016-12-30 | 2020-01-14 | 清华大学 | 一种虚拟机启动进度监控方法及装置 |
CN108959061B (zh) * | 2017-05-19 | 2023-04-25 | 腾讯科技(深圳)有限公司 | 应用功能管理方法、终端以及装置 |
CN109992328B (zh) * | 2019-03-14 | 2023-05-12 | 北京椒图科技有限公司 | 一种函数重定向方法及装置 |
CN112416470B (zh) * | 2019-08-22 | 2023-08-25 | 腾讯科技(深圳)有限公司 | 命令的执行方法和装置、存储介质及电子装置 |
CN113391874A (zh) * | 2020-03-12 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种虚拟机检测对抗方法、装置、电子设备及存储介质 |
JP7428973B2 (ja) * | 2020-09-28 | 2024-02-07 | 住友電装株式会社 | コネクタ |
CN114625434B (zh) * | 2020-12-10 | 2024-04-23 | 华为技术有限公司 | 地址获取方法和设备 |
CN113176926B (zh) * | 2021-04-06 | 2023-09-05 | 中国科学院信息工程研究所 | 一种基于虚拟机自省技术的api动态监控方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974549A (en) * | 1997-03-27 | 1999-10-26 | Soliton Ltd. | Security monitor |
GB0017201D0 (en) * | 2000-07-14 | 2000-08-30 | Ibm | Generalised program hooks |
US7865528B2 (en) * | 2001-01-09 | 2011-01-04 | Nextair Corporation | Software, devices and methods facilitating execution of server-side applications at mobile devices |
CN100349126C (zh) * | 2003-11-13 | 2007-11-14 | 华为技术有限公司 | 一种在Python中实现API钩子测试的方法 |
EP1949229A2 (en) * | 2005-11-16 | 2008-07-30 | Esmertec AG | Unified mobile platform |
CN102147845A (zh) * | 2011-04-18 | 2011-08-10 | 北京思创银联科技股份有限公司 | 进程监控方法 |
CN102855138B (zh) * | 2012-07-20 | 2015-12-09 | 腾讯科技(深圳)有限公司 | 一种api的拦截方法、装置及移动终端 |
-
2012
- 2012-07-20 CN CN201210252551.8A patent/CN102855138B/zh active Active
-
2013
- 2013-07-18 JP JP2015521964A patent/JP5945074B2/ja active Active
- 2013-07-18 SG SG11201500252RA patent/SG11201500252RA/en unknown
- 2013-07-18 WO PCT/CN2013/079600 patent/WO2014012504A1/en active Application Filing
- 2013-10-25 US US14/063,908 patent/US8863157B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN102855138B (zh) | 2015-12-09 |
US8863157B2 (en) | 2014-10-14 |
US20140053167A1 (en) | 2014-02-20 |
WO2014012504A1 (en) | 2014-01-23 |
CN102855138A (zh) | 2013-01-02 |
SG11201500252RA (en) | 2015-02-27 |
JP2015525931A (ja) | 2015-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5945074B2 (ja) | Apiインターセプト関連のアプリケーションのための方法、デバイス、およびモバイル端末 | |
CA2942619C (en) | Host device coupled to a mobile phone and method of operating the same | |
US20160232374A1 (en) | Permission control method and apparatus | |
US10095527B2 (en) | Method for managing device and electronic device supporting the same | |
US11579899B2 (en) | Method and device for dynamically managing kernel node | |
CN110780930B (zh) | 启动Android系统的方法、装置、电子设备及存储介质 | |
TW201640342A (zh) | 應用程式頁面快速存取方法及應用其的行動終端 | |
WO2016033966A1 (zh) | 应用数据的保护方法及装置 | |
JP5832954B2 (ja) | タグ付与装置及びタグ付与方法 | |
KR102250791B1 (ko) | 네트워크 접속 관리 방법 및 이를 위한 전자 장치 | |
KR102586628B1 (ko) | 전자 장치 및 전자 장치의 메모리 관리 방법 | |
US20120185879A1 (en) | Dynamic service discovery | |
US11392694B2 (en) | Electronic apparatus and controlling method thereof | |
CN106681813B (zh) | 一种系统管理方法及装置 | |
US20190065223A1 (en) | Disabling Just-In-Time Translation For Application Functions | |
JP5410471B2 (ja) | 複数のアプリケーションを連携起動する通信端末、連携起動方法及びコンピュータプログラム | |
US10063558B2 (en) | Method for blocking unauthorized data access and computing device with feature of blocking unauthorized data access | |
CN105653948B (zh) | 一种阻止恶意操作的方法及装置 | |
JP2013182500A (ja) | Api実行制御装置およびプログラム | |
CN105787359A (zh) | 进程守护方法和装置 | |
US9819725B1 (en) | System, method, and computer program for remotely controlling mobile web applications installed on a mobile device | |
JP5828457B2 (ja) | Api実行制御装置およびプログラム | |
WO2018049941A1 (zh) | 数据迁移方法及相关产品 | |
CN104572199B (zh) | 一种禁止启动项启动的方法和装置 | |
CN104978214B (zh) | 一种组件加载方法、装置及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160330 |
|
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: 20160426 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160526 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5945074 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 |
|
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 |