发明名称 |
Static Analysis and Reconstruction of Deep Link Handling in Compiled Applications |
摘要 |
A disassembler module is configured to generate ARM code by performing a disassembly of a compiled iOS application. An intermediate representation generator module is configured to: (i) from the ARM code, identify an implementation of a predetermined method of providing a deep link into the iOS application; and (ii) generate intermediate representation code by formatting portions of the ARM code having predetermined patterns according to predetermined instructions, respectively. A loader module is configured to translate the intermediate representation code into executable code including objects in a tuple format and to load the executable code for execution. An execution and emulation module is configured to: (i) execute the executable code line by line to identify NSURL objects; (ii) emulate the NSURL objects to identify valid ones of the NSURL objects; (iii) determine deep links for the valid ones, of the NSURL objects, respectively; and (iv) store the deep links in memory. |
申请公布号 |
US2017046142(A1) |
申请公布日期 |
2017.02.16 |
申请号 |
US201514984642 |
申请日期 |
2015.12.30 |
申请人 |
Quixey, Inc. |
发明人 |
Desineni Kalyan;Sankaranarasimhan Manikandan;Tsechansky Danny;Levi Matan |
分类号 |
G06F9/445 |
主分类号 |
G06F9/445 |
代理机构 |
|
代理人 |
|
主权项 |
1. A computer system comprising:
a disassembler module configured to generate Acorn RISC (reduced instruction set computing) Machine (ARM) code by performing a disassembly of binary code of a compiled iOS application; an intermediate representation generator module configured to:
(i) from the ARM code, identify an implementation of a predetermined method of providing a deep link into the iOS application; and(ii) generate intermediate representation code by formatting portions of the ARM code having predetermined patterns according to predetermined instructions associated with the predetermined patterns, respectively; a loader module configured to translate the intermediate representation code into executable code including objects in a tuple format and to load the executable code for execution; and an execution and emulation module configured to:
(i) execute the executable code line by line to identify NSURL objects;(ii) emulate the NSURL objects to identify valid ones of the NSURL objects;(iii) determine deep links for the valid ones, of the NSURL objects, respectively; and(iv) store the deep links in memory. |
地址 |
Mountain View CA US |