WO2015035761A1 - Procédé et appareil permettant d'effectuer un débogage dynamique de niveau assemblage d'un système ios - Google Patents

Procédé et appareil permettant d'effectuer un débogage dynamique de niveau assemblage d'un système ios Download PDF

Info

Publication number
WO2015035761A1
WO2015035761A1 PCT/CN2014/073627 CN2014073627W WO2015035761A1 WO 2015035761 A1 WO2015035761 A1 WO 2015035761A1 CN 2014073627 W CN2014073627 W CN 2014073627W WO 2015035761 A1 WO2015035761 A1 WO 2015035761A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
debugging
server
file
parameter
Prior art date
Application number
PCT/CN2014/073627
Other languages
English (en)
Chinese (zh)
Inventor
徐滢
Original Assignee
成都品果科技有限公司
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 成都品果科技有限公司 filed Critical 成都品果科技有限公司
Publication of WO2015035761A1 publication Critical patent/WO2015035761A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface

Definitions

  • the present invention relates to an iOS system program debugging technology, and more particularly to a method and corresponding device for performing assembly level dynamic debugging of an iOS system.
  • 011yDbg the most widely used assembly-level debuggers are 011yDbg, GDB, WinDgb, IDAPro, Hopper Disassembler, etc.
  • 011yDbg and WinDd say that b is a very good debugger for the Windows platform, but they are limited to the Windows platform, while GDB is Support for many platforms (including iOS), but it is mainly used for source-level debugging, it is inconvenient to use it for assembly-level debugging.
  • the IDAPro book, Hopper Disassembler supports very good static analysis, but does not support assembly-level dynamic debugging for iOS.
  • iOS is one of the mainstream mobile terminal operating systems, and the number of applications is huge. If the system and software can be studied from a relatively low-level perspective, software security on the platform can be greatly promoted. The development of related activities such as commissioning.
  • the technical problem to be solved by the present invention is: To solve the above problems, a more convenient method and corresponding device for performing assembly level dynamic debugging on an iOS system is provided.
  • the present invention provides a method for assembly level dynamic debugging of an iOS system, including:
  • step 1
  • the operating system of the client is a Windows system
  • the operating system of the server is an iOS system
  • the client transmits the debugging instruction of the iOS system to the server end parameter and the file transmission module by using the debugging instruction transmission module; the server end parameter and the file transmission module further transmit the debugging instruction to the debugging module;
  • the debugging module feeds back debugging parameters according to the debugging instruction and transmits the debugging parameters to the server end parameter and the file transmission module, or the debugging module transmits the program file compiled into the machine instruction to the server according to the debugging instruction.
  • End parameter and file transfer module Transmitting, by the server-side parameter and the file transfer module, the debug parameter or/and the program file to the client parameter and the file transfer module;
  • Step 3 The disassembly module converts the program file into an assembler file, and an assembler comment module annotates the assembly program file;
  • Step 4 Display the annotated assembler file and the debugging parameters on the debug interface module.
  • the debug instruction transmission module is PuTTY software
  • the disassembly module is Otool software
  • the assembler annotation module is Class-Dump-z software
  • the client parameter and file transfer module is OpenSSH.
  • Software the debugging interface module is a display interface of the OllyDbg debugging software.
  • the debugging module is GDB debugging software
  • the server-side parameter and file transmission module is OpenSSH software.
  • the debugging parameter includes memory information, register information, stack information or breakpoint information of the server.
  • the present invention also provides an apparatus for performing assembly level dynamic debugging on an iOS system corresponding to the foregoing method, including:
  • Client and server; client and server have physical signal connections
  • the client has a debug instruction transfer module, a disassembly module, an assembler comment module, a client parameter and a file transfer module, and a debug interface module;
  • the operating system of the client is a Windows system
  • the operating system of the server is an iOS system
  • the debugging instruction transmission module is configured to transmit an iOS system debugging instruction to a server end parameter and a file transmission module
  • a file transfer module configured to receive debug parameters and/or program files output by the server end parameter and the file transfer module
  • the disassembly module is configured to convert the client parameter and the program file received by the file transfer module into an assembler file
  • the assembler comment module is configured to annotate the assembler file
  • the debugging interface module is configured to display the annotated assembler file and the debugging parameter
  • the debugging module is configured to feed back a debugging parameter according to the debugging instruction, and transmit the debugging parameter to the server end parameter and the file transmission module, and transmit the program file that has been compiled into a machine instruction according to the debugging instruction.
  • the server end parameter and file transfer module configured to receive the debug instruction from the debug instruction transmission module And being transmitted to the debug module; and for transmitting the debug parameters and/or the program file received from the debug module to the client parameter and the file transfer module.
  • the invention uses PuTTY and OpenSSH to build a debugging framework of C/S architecture, which solves the communication problem between the client and the server during the debugging process, and makes remote debugging possible.
  • the invention combines local client code analysis and remote server-side debugging, and puts the server-side machine instruction program file on the local client for assembly and annotation, and synchronizes the update with the debugging parameters to avoid the GDB on the server side.
  • Assembly-level debugging effectively saves time for GDB debuggers to perform assembly-level debugging, thus providing a convenient and fast iOS system assembly-level debugging method.
  • the present invention can also extend the functions of remote device management, and the deployment difficulty is relatively small, and fully utilizes the powerful application execution capability of the iOS system itself.
  • Figure 1 is a schematic block diagram of the present invention.
  • the present invention provides an implementation method for assembly-level dynamic debugging of an iOS system corresponding to the foregoing method.
  • Figure 1 including: client and server; client and server need to establish a physical signal connection.
  • the client is a computer running the Windows operating system
  • the server is a computer running the iOS operating system.
  • the client is installed with a debug instruction transmission module, a disassembly module, an assembler annotation module, a client parameter and a file transfer module, and a debug interface module; a debug module and a server-side parameter and a file transfer module are installed on the server; .
  • the debug instruction transmission module, the client parameter and the file transfer module, and the server-side parameters and the file transfer module establish a C/S (client/server) architecture, which solves the communication problem of remote debugging.
  • the debug instruction transmission module is configured to transmit the iOS system debugging instruction to the server end parameter and the file transfer module;
  • the client parameter and the file transfer module are configured to receive the server side parameter and the debug parameter output by the file transfer module and And a program file;
  • the server-side parameter and file transfer module is configured to transmit the debug instruction received from the debug instruction transfer module to the debug module and debug parameters and/or instructions received from the debug module
  • the program file is transmitted to the client parameter and the file transfer module.
  • One embodiment of the present invention utilizes PuTTY software as a debug instruction transmission module, and uses OpenSSH as a parameter and file transfer module for the client and the server.
  • PuTTY software is a serial interface connection software
  • OpenSSH software is used to implement remote control and transfer files.
  • the debugging module is implemented by GDB debugging software, and is used for debugging software on the iOS server side, and extracting debugging parameters of the software running according to the debugging instruction of reading the debugging parameters. For example, parameters such as memory information, register information, stack information, and breakpoint information, and transmitting the debug parameters to the server-side parameters and file transfer module, and for compiling the machine instructions according to debug instructions of the return program file
  • the program file is transferred to the server-side parameter and the file transfer module.
  • the GDB software located on the iOS server side does not perform static analysis such as disassembly, because this part of the static analysis is executed by GDB, which is very time consuming, and the GDB in the present invention simply compiles the program file into machine instructions and transmits them to Client, static analysis by the client.
  • the server-side parameter and file transfer module transmits the debug parameter and/or the program file to the client parameter and file transfer module.
  • the client parameter and the file transfer module transmit the received debug parameters to the debug interface module, and the debug interface module is preferably implemented by an interface portion of the OllyDbg debug software with good human interface.
  • the OllyDbg plugin is developed to convert the debug parameters into a format that is converted to the usual layout form of the OllyDbg interface and then displayed in the OllyDbg UI interface.
  • those skilled in the art can also display the debugging parameters directly in the UI interface, or convert them into a more intuitive and convenient format to display in the UI interface.
  • the disassembly module can be implemented by Otool software, and the program file compiled into the machine instruction is converted into an assembler file. Then, the assembler annotation module, preferably implemented by the Class-Dump-Z software, annotates the assembler file, and finally transfers the annotated assembler file to the debug interface module for display, completing the static of the program. analysis.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

L'invention concerne une technologie de débogage de programme pour un système iOS. L'invention concerne un procédé et un appareil permettant d'effectuer un débogage dynamique de niveau assemblage du système iOS. L'invention vise à fournir un procédé permettant d'effectuer de manière commode et rapide le débogage dynamique de niveau assemblage du système iOS et également à fournir un appareil correspondant. Les principaux points techniques de l'invention consistent à : installer un module de transmission d'instruction de débogage, un module de désassemblage, un module d'annotation de programme d'assemblage, un module de transmission de paramètres et de fichiers côté client et un module d'interface de débogage du côté client; installer un module de débogage et un module de transmission de paramètres et de fichiers côté serveur du côté serveur; établir une connexion de signaux physique entre le côté client et le côté serveur; un système d'exploitation du côté client étant un système Windows, et un système d'exploitation du côté serveur étant le système iOS; et le côté client mettant en œuvre l'analyse de mandataire et le débogage à distance du côté serveur.
PCT/CN2014/073627 2013-09-10 2014-03-18 Procédé et appareil permettant d'effectuer un débogage dynamique de niveau assemblage d'un système ios WO2015035761A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310406837.1 2013-09-10
CN201310406837.1A CN103473173B (zh) 2013-09-10 2013-09-10 一种对iOS系统进行汇编级动态调试的方法及装置

Publications (1)

Publication Number Publication Date
WO2015035761A1 true WO2015035761A1 (fr) 2015-03-19

Family

ID=49798037

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/073627 WO2015035761A1 (fr) 2013-09-10 2014-03-18 Procédé et appareil permettant d'effectuer un débogage dynamique de niveau assemblage d'un système ios

Country Status (2)

Country Link
CN (1) CN103473173B (fr)
WO (1) WO2015035761A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107436787A (zh) * 2017-07-31 2017-12-05 腾讯科技(深圳)有限公司 资源处理方法、装置、存储介质和电子装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473173B (zh) * 2013-09-10 2016-03-09 成都品果科技有限公司 一种对iOS系统进行汇编级动态调试的方法及装置
CN107656870A (zh) * 2017-09-27 2018-02-02 四川久远银海软件股份有限公司 应用调试方法及装置
CN108667902B (zh) * 2018-04-04 2021-08-10 创新先进技术有限公司 iOS设备的远程控制系统、方法、装置及设备
CN109254923A (zh) * 2018-09-19 2019-01-22 北京酷我科技有限公司 一种应用内ui调试的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564136A (zh) * 2004-04-02 2005-01-12 清华大学 基于目标机上的ejtag部件的交叉调试器实现方法
CN101046766A (zh) * 2006-04-24 2007-10-03 华为技术有限公司 一种基于模型驱动进行电信级业务开发的调试方法及装置
CN103164643A (zh) * 2011-12-08 2013-06-19 北京深思洛克软件技术股份有限公司 一种通过硬件进行反调试的方法和装置
CN103473173A (zh) * 2013-09-10 2013-12-25 成都品果科技有限公司 一种对iOS系统进行汇编级动态调试的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009082379A2 (fr) * 2006-11-27 2009-07-02 Sourcecode Technology Holding, Inc. Procédé et appareil de débogage d'un processus de flux de travail
CN101414278B (zh) * 2008-12-01 2010-09-15 浙大网新科技股份有限公司 基于动态反编译技术的二进制应用程序调试方法
US8171346B2 (en) * 2010-03-10 2012-05-01 Microsoft Corporation Client session based debugging
CN102541727B (zh) * 2010-12-17 2015-07-08 无锡江南计算技术研究所 一种程序调试方法及系统
CN102495776B (zh) * 2011-12-02 2013-07-24 浪潮集团有限公司 一种应用于云存储的存储控制器的bios调试方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564136A (zh) * 2004-04-02 2005-01-12 清华大学 基于目标机上的ejtag部件的交叉调试器实现方法
CN101046766A (zh) * 2006-04-24 2007-10-03 华为技术有限公司 一种基于模型驱动进行电信级业务开发的调试方法及装置
CN103164643A (zh) * 2011-12-08 2013-06-19 北京深思洛克软件技术股份有限公司 一种通过硬件进行反调试的方法和装置
CN103473173A (zh) * 2013-09-10 2013-12-25 成都品果科技有限公司 一种对iOS系统进行汇编级动态调试的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107436787A (zh) * 2017-07-31 2017-12-05 腾讯科技(深圳)有限公司 资源处理方法、装置、存储介质和电子装置

Also Published As

Publication number Publication date
CN103473173B (zh) 2016-03-09
CN103473173A (zh) 2013-12-25

Similar Documents

Publication Publication Date Title
WO2015035761A1 (fr) Procédé et appareil permettant d'effectuer un débogage dynamique de niveau assemblage d'un système ios
CN101957793B (zh) 一种面向Android及其衍生系统的软件操作录制回放方法
WO2014015573A1 (fr) Appareil et procédé d'essai d'automatisation sans fil pour dispositif mobile
WO2019072110A1 (fr) Procédé de génération de programme d'application, appareil, système, dispositif, et support
CN106325876B (zh) 一种在线图形化编程及控制嵌入式设备的方法、系统
CN104978194A (zh) 一种网页前端开发方法及装置
CN204759403U (zh) 一种基于数据透传实现设备内部模块升级的系统
CN105446933B (zh) 多核心处理器的调试系统与调试方法
WO2014101736A1 (fr) Système auxiliaire de programmation d'un contrôleur programmable et procédé associé
CN106030546A (zh) 计算机程序的方法
CN103019941B (zh) 程序调试方法和装置
CN103268289B (zh) 在移动终端上录制应用测试脚本的方法和系统
CN103927256A (zh) 一种控制多个安卓装置的方法
CN104468260A (zh) 一种移动终端设备的识别方法、装置及系统
Huang et al. Remote mobile test system: a mobile phone cloud for application testing
CN105607998B (zh) 一种通过在线方式进行嵌入软件调试的系统与方法
CN103729221A (zh) 一种将bios调试信息放入到硬盘中的方法及装置
CN104636251A (zh) 一种多浏览器兼容性测试方法及系统
CN105141484A (zh) 基于云服务器的安卓设备远程调试方法
CN113709243B (zh) 设备远程控制方法及装置、电子设备和存储介质
TW201715398A (zh) 在作業系統下過濾系統資訊的方法及系統
TW200805161A (en) Intelligent platform management interface firmware architecture and method of building the same
WO2018010385A1 (fr) Procédé et système de traitement de fichiers de captures d'écran de multiples systèmes
CN103514074A (zh) Mvb网卡开发方法及平台
CN103595742A (zh) 调试网页css的方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14844788

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC , EPO FORM 1205A DATED 14-07-16

122 Ep: pct application non-entry in european phase

Ref document number: 14844788

Country of ref document: EP

Kind code of ref document: A1