JP2018523218A - コンパイルされたソフトウェア内の機械命令を修正する方法およびシステム - Google Patents
コンパイルされたソフトウェア内の機械命令を修正する方法およびシステム Download PDFInfo
- Publication number
- JP2018523218A JP2018523218A JP2017566147A JP2017566147A JP2018523218A JP 2018523218 A JP2018523218 A JP 2018523218A JP 2017566147 A JP2017566147 A JP 2017566147A JP 2017566147 A JP2017566147 A JP 2017566147A JP 2018523218 A JP2018523218 A JP 2018523218A
- Authority
- JP
- Japan
- Prior art keywords
- binary
- software application
- modification
- software
- modifying
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/52—Binary to binary
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
【選択図】 図6
Description
Claims (15)
- ソフトウェアを修正する方法であって、該方法は:
コンピューティングデバイスにおいて、
a.ソフトウェアアプリケーションバイナリを受信する工程と;
b.バイナリ命令への修正が必要かどうか判断するために、ソフトウェアアプリケーションバイナリを分析する工程と;
c.バイナリ命令への修正が必要な場合に、バイナリ命令を修正する工程と;
d.ソフトウェアに新しいメタデータをインジェクトする工程と;
e.修正されたソフトウェアアプリケーションバイナリをコンパイルする工程と;および、
f.修正されたソフトウェアアプリケーションバイナリを返す工程と、を含むことを特徴とする、ソフトウェアを修正する方法。 - 1つ以上の修正オプションを受信する工程をさらに含み、ソフトウェアアプリケーションバイナリを分析する工程は、1つ以上の修正オプションを分析する工程をさらに含み、バイナリ命令を修正する工程は、さらに1つ以上の修正オプションに基づく、ことを特徴とする、請求項1に記載のソフトウェアを修正する方法。
- アセンブリ命令への修正が必要かどうか判断するために、ソフトウェアアプリケーションバイナリおよび1つ以上の修正オプションを分析する工程をさらに含み、アセンブリ命令への修正が必要な場合、次に、バイナリ命令をアセンブリ命令へ逆アセンブルする工程、およびアセンブリ命令を修正する工程を含むことを特徴とする、請求項2に記載のソフトウェアを修正する方法。
- ソースコードへの修正が必要かどうか判断するために、ソフトウェアアプリケーションバイナリおよび1つ以上の修正オプションを分析する工程をさらに含み、ソースコードへの修正が必要な場合、次に、アセンブリ命令をソースコード命令へ逆コンパイルする工程、および、ソースコード命令を修正する工程を含むことを特徴とする、請求項3に記載のソフトウェアを修正する方法。
- ソフトウェアアプリケーションバイナリのメタデータを受信する工程をさらに含み、ソフトウェアアプリケーションバイナリを分析する工程は、メタデータを分析する工程をさらに含み、バイナリ命令を修正する工程はさらに、メタデータに基づく、ことを特徴とする、請求項4に記載のソフトウェアを修正する方法。
- ソフトウェアアプリケーションバイナリを返す前にデジタルキーを使用して、修正されるソフトウェアアプリケーションバイナリに署名する工程をさらに含む、ことを特徴とする、請求項5に記載のソフトウェアを修正する方法。
- ソフトウェアアプリケーションバイナリを受信する工程は、ユーザからアプリケーションバイナリを受信する工程、アプリケーションバイナリをアップロードする工程、またはアプリケーションバイナリをオンラインアプリケーションマーケットプレイスからダウンロードする工程、からなる群から選択されることを特徴とする、請求項6に記載のソフトウェアを修正する方法。
- ソフトウェアアプリケーションバイナリを返す工程は、ダウンロードのためにソフトウェアアプリケーションバイナリを提供する工程、デバッグおよびサービス改善のためにソフトウェアアプリケーションへのアクセスを提供する工程、および、アプリケーションバイナリをオンラインアプリケーションマーケットプレイスに公開する工程、からなる群から選択されることを特徴とする、請求項7に記載のソフトウェアを修正する方法。
- 非一時的なコンピューター可読ストレージ媒体であって、その中に命令を格納し、命令がコンピューティングデバイスによって実行された時、コンピューティングデバイスに:
a.ソフトウェアアプリケーションバイナリを受信させ;
b.バイナリ命令への修正が必要かどうか判断するために、ソフトウェアアプリケーションバイナリを分析させ;
c.バイナリ命令への修正が必要な場合に、バイナリ命令を修正させ;
d.ソフトウェアアプリケーションバイナリに新しいメタデータをインジェクトさせ;
e.修正されたソフトウェアアプリケーションバイナリをコンパイルさせ;かつ、
f.修正されたソフトウェアアプリケーションバイナリを返させる、ことを特徴とする、非一時的なコンピューター可読ストレージ媒体。 - 1つ以上の修正オプションを受信することをさらに含み、バイナリ命令への修正がさらに必要かどうか判断するためのソフトウェアアプリケーションバイナリの分析は、1つ以上の修正オプションの分析を含み、バイナリ命令の修正はさらに、1つ以上の修正に基づく、ことを特徴とする、請求項9に記載の非一時的なコンピューター可読ストレージ媒体。
- アセンブリ命令への修正が必要かどうか判断するために、ソフトウェアアプリケーションバイナリおよび1つ以上の修正オプションを分析する命令をさらに含み、アセンブリ命令への修正が必要な場合、次に、アプリケーションバイナリ命令をアセンブリ命令へ逆アセンブルし、およびアセンブリ命令を修正することを特徴とする、請求項10に記載の非一時的コンピューター可読ストレージ媒体。
- ソースコードへの修正が必要かどうか判断するために、ソフトウェアアプリケーションバイナリおよび1つ以上の修正を分析する命令をさらに含み、ソースコードへの修正が必要な場合、次に、アセンブリ命令をソースコード命令へ逆コンパイルし、および、ソースコード命令を修正することを特徴とする、請求項11に記載の非一時的コンピューター可読ストレージ媒体。
- ソフトウェアアプリケーションバイナリのメタデータを受信する命令をさらに含み、ソフトウェアアプリケーションバイナリの分析は、メタデータの分析をさらに含むことを特徴とする、請求項12に記載の非一時的コンピューター可読ストレージ媒体。
- デジタルキーを使用して、修正されるソフトウェアアプリケーションバイナリに署名する命令をさらに含むことを特徴とする、請求項13に記載の非一時的コンピューター可読ストレージ媒体。
- ユーザインターフェースをさらに含み、ユーザインターフェースは、ユーザが1つ以上の修正オプションを選択するために、複数の修正オプションを提供することを特徴とする、請求項14に記載の非一時的コンピューター可読ストレージ媒体。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201562194180P | 2015-07-17 | 2015-07-17 | |
| US62/194,180 | 2015-07-17 | ||
| PCT/US2016/042139 WO2017015036A1 (en) | 2015-07-17 | 2016-07-13 | A method and system for modifying machine instructions within compiled software |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2018523218A true JP2018523218A (ja) | 2018-08-16 |
Family
ID=57834988
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017566147A Pending JP2018523218A (ja) | 2015-07-17 | 2016-07-13 | コンパイルされたソフトウェア内の機械命令を修正する方法およびシステム |
Country Status (7)
| Country | Link |
|---|---|
| US (2) | US10310831B2 (ja) |
| EP (1) | EP3311266A4 (ja) |
| JP (1) | JP2018523218A (ja) |
| KR (1) | KR101935847B1 (ja) |
| CN (1) | CN107924302B (ja) |
| IL (1) | IL256382B (ja) |
| WO (1) | WO2017015036A1 (ja) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107924302B (zh) | 2015-07-17 | 2021-03-30 | 英航斯公司 | 一种用于在经编译软件内修改机器指令的方法和系统 |
| US10228936B2 (en) * | 2016-12-16 | 2019-03-12 | EntIT Software, LLC | Software delivery pipeline management |
| CN109308183A (zh) * | 2018-07-30 | 2019-02-05 | 南阳理工学院 | 一种面向vliw芯片可执行代码的逆向工具方法 |
| US11055105B2 (en) * | 2018-08-31 | 2021-07-06 | Micron Technology, Inc. | Concurrent image measurement and execution |
| US12481764B2 (en) * | 2021-01-22 | 2025-11-25 | Microsoft Technology Licensing, Llc | Firmware component identification and vulnerability assessment |
| US12130797B2 (en) | 2021-10-11 | 2024-10-29 | Woven By Toyota, Inc. | Collecting customized data |
| US11977868B2 (en) * | 2022-01-04 | 2024-05-07 | Xerox Corporation | Search based approach for generating controller models |
| US12483469B2 (en) * | 2024-04-13 | 2025-11-25 | Truist Bank | Remotely controlling a user device function |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7934211B2 (en) * | 2005-06-30 | 2011-04-26 | Oracle International Corporation | Multi-level patching operation |
| US7901752B2 (en) * | 2006-06-16 | 2011-03-08 | Albany International Corp. | Advanced battery paster belt |
| US8418122B2 (en) * | 2006-10-13 | 2013-04-09 | Oracle America, Inc. | Incorporating functionality from an object file into an existing binary file |
| US9280337B2 (en) * | 2006-12-18 | 2016-03-08 | Adobe Systems Incorporated | Secured distribution of software updates |
| TWM325778U (en) * | 2007-06-23 | 2008-01-21 | Shuen Huang | Attachment structure for a seat back |
| US20090210702A1 (en) * | 2008-01-29 | 2009-08-20 | Palm, Inc. | Secure application signing |
| WO2010118318A1 (en) * | 2009-04-10 | 2010-10-14 | Checkpoint Systems, Inc. | Push pin security device |
| US20100333079A1 (en) * | 2009-06-30 | 2010-12-30 | Computer Associates Think, Inc. | Binary Code Modification System and Method for Implementing Identity and Access Management or Governance Policies |
| US8627303B2 (en) * | 2009-11-30 | 2014-01-07 | International Business Machines Corporation | Memory optimization of virtual machine code by partitioning extraneous information |
| US9256401B2 (en) * | 2011-05-31 | 2016-02-09 | Microsoft Technology Licensing, Llc | Editor visualization of symbolic relationships |
| US8856724B2 (en) * | 2011-06-20 | 2014-10-07 | Ebay Inc. | Systems and methods for incremental software development |
| US8527361B2 (en) * | 2011-06-27 | 2013-09-03 | Amazon Technologies, Inc. | Service for adding in-application shopping functionality to applications |
| US20130019235A1 (en) * | 2011-07-11 | 2013-01-17 | Salesforce.Com, Inc. | Mechanism for facilitating management of metadata and metada-based update of software |
| US8707289B2 (en) * | 2011-07-20 | 2014-04-22 | Google Inc. | Multiple application versions |
| CN103034479A (zh) * | 2011-10-09 | 2013-04-10 | 镇江雅迅软件有限责任公司 | 一种基于结构动态技术的数据生成系统 |
| US8793337B2 (en) | 2011-10-24 | 2014-07-29 | Infosys Limited | System and method for providing one or more updated files for a generated user personalized software application |
| US9027004B1 (en) | 2013-03-12 | 2015-05-05 | Amazon Technologies, Inc. | Injection of supplemental computer instructions |
| US20140282371A1 (en) | 2013-03-14 | 2014-09-18 | Media Direct, Inc. | Systems and methods for creating or updating an application using a pre-existing application |
| US10184494B2 (en) * | 2013-06-28 | 2019-01-22 | Hamilton Sundstrand Corporation | Enhance motor cooling system and method |
| US20150040112A1 (en) * | 2013-08-01 | 2015-02-05 | Qualcomm Incorporated | Enabling Interoperability Between Software Applications By Utilizing Partial Binaries |
| US10452370B2 (en) * | 2015-01-09 | 2019-10-22 | University Of Virginia Patent Foundation | System, method and computer readable medium for space-efficient binary rewriting |
| CN107924302B (zh) | 2015-07-17 | 2021-03-30 | 英航斯公司 | 一种用于在经编译软件内修改机器指令的方法和系统 |
-
2016
- 2016-07-13 CN CN201680042022.1A patent/CN107924302B/zh not_active Expired - Fee Related
- 2016-07-13 WO PCT/US2016/042139 patent/WO2017015036A1/en not_active Ceased
- 2016-07-13 JP JP2017566147A patent/JP2018523218A/ja active Pending
- 2016-07-13 US US15/743,896 patent/US10310831B2/en active Active
- 2016-07-13 KR KR1020187003236A patent/KR101935847B1/ko not_active Expired - Fee Related
- 2016-07-13 EP EP16828260.6A patent/EP3311266A4/en not_active Withdrawn
-
2017
- 2017-12-18 IL IL256382A patent/IL256382B/en active IP Right Grant
-
2019
- 2019-05-21 US US16/418,311 patent/US10747518B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| WO2017015036A1 (en) | 2017-01-26 |
| KR20180017211A (ko) | 2018-02-20 |
| IL256382B (en) | 2018-10-31 |
| EP3311266A1 (en) | 2018-04-25 |
| CN107924302A (zh) | 2018-04-17 |
| IL256382A (en) | 2018-02-28 |
| US20190272161A1 (en) | 2019-09-05 |
| EP3311266A4 (en) | 2018-09-12 |
| US10747518B2 (en) | 2020-08-18 |
| KR101935847B1 (ko) | 2019-01-07 |
| CN107924302B (zh) | 2021-03-30 |
| US20180203677A1 (en) | 2018-07-19 |
| US10310831B2 (en) | 2019-06-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10747518B2 (en) | Method and system for modifying machine instructions within compiled software | |
| US9454363B1 (en) | Mobile application development system and method | |
| CN106598667B (zh) | 用于修复内核漏洞的方法和装置 | |
| US8850424B2 (en) | Processing, modification, distribution of installation packages | |
| KR102122451B1 (ko) | 애플리케이션의 개발을 지원하는 플랫폼의 동작 방법 및 플랫폼을 제공하는 서버 | |
| CN105378662B (zh) | 生成用于应用的捆绑包的方法以及相关联的计算机系统 | |
| CN107896244B (zh) | 一种版本文件的分发方法、客户端及服务器 | |
| CN106843976B (zh) | 用于生成镜像文件的方法和装置 | |
| US20200285450A1 (en) | System for providing instant preview of a mobile application under development | |
| CN104321746A (zh) | 应用文件的分发 | |
| WO2019029451A1 (zh) | 发布移动应用的方法和电子设备 | |
| US8930575B1 (en) | Service for automatically converting content submissions to submission formats used by content marketplaces | |
| CN110806935B (zh) | 应用程序构建方法、装置和系统 | |
| CN110134410B (zh) | 冷启动用户的个性化信息关联方法、装置及存储介质 | |
| CN115495049A (zh) | 一种iOS应用所需的项目开发空间的构建方法和装置 | |
| CN113535221B (zh) | 应用版本管理的方法和装置 | |
| CN110874316B (zh) | 扫描代码的方法、装置和系统 | |
| CN113805878A (zh) | 插件工程化方法、装置、计算机系统和介质 | |
| CN110196803B (zh) | 一种软件缺陷培训方法和系统 | |
| US20210334092A1 (en) | System For Providing Instant Preview Of A Mobile Application Under Development | |
| KR101539337B1 (ko) | 온라인 서비스 플랫폼 기반의 모바일 앱 자동 생성 방법 및 그 시스템 | |
| US9477492B2 (en) | Deploying multi-channel or device agnostic applications | |
| CN107247661A (zh) | 支持对应用的安装包进行自动化验证的方法和系统 | |
| US20200293156A1 (en) | Studio builder for interactive media | |
| US10755321B1 (en) | Techniques for dynamic utilization of advertising capabilities by applications on user devices |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180105 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180118 |
|
| A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20180131 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180620 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180627 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190621 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190710 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200302 |