IP Library Granted Patent US 8,887,150
Granted Patent B2
US 8,887,150 · App. 14/205,732 · Granted Nov 11, 2014

Methods for dynamic mobile application behavior modification subject to a behavior policy

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,887,150
App. No.
14/205,732
Granted
Nov 11, 2014
Kind
B2
Abstract

The present invention provides a mechanism to change how mobile device applications, particularly Android applications, work; essentially selectively modifying their behavior. Where an application provides a useful operation but also has functionality that can be detrimental to the desired action of a device, use of the application becomes problematic. The present invention provides a method of modifying the use of the application without invasive reprogramming of the code. The present invention provides a means to make modifications to the functionality without modifying the application. As a result, performance of the desired outcome is not affected and because there is no modification of the actual software, legal boundaries are maintained.

Claims (25)

1. A computer-implemented method for modifying execution of a software application on a mobile computing device programmed to perform the method comprises the steps of:

receiving in the mobile computing device, the software application, wherein the software application comprises a plurality of logical software instructions;

receiving in the mobile computing device, a software library comprising plurality of modified logical software instructions;

initiating in the mobile computing device, execution of the software application including modifying reference from the plurality of logical software instructions to refer to the plurality of modified logical software instructions; including the steps of:

determining in the mobile computing device, a pointer to a NativeFunc field in a Method Object in a virtual machine;

modifying in the mobile computing device, the pointer to point to the software library;

determining in the mobile computing device, a pointer to an AccessFlags field in a Method Object in a virtual machine; and

modifying in the mobile computing device, the pointer to include the ACC_NATIVE logical value;

inhibiting in the mobile computing device, execution of the plurality of logical software instructions; and

initiating in the mobile computing device, execution of the plurality of modified logical software instructions.

2. The method of claim 1 further comprising the steps of:

determining in the mobile computing device, a pointer to an Insns field in a Method Object in a virtual machine;

constructing in the mobile computing device, a second Method Object;

copying in the mobile computing device, the pointer of the Insns field of the Method Object to the second Method Object; and

modifying in the mobile computing device, the pointer to the Insns field.

3. The method of claim 1 wherein the software library instructions perform operations specified by a behavior policy.

4. A mobile computing device for modifying execution of a software application comprising:

a memory configured to store a software application, wherein the software application comprises a plurality of logical software instructions, and wherein the memory is configured to store a software library comprising a plurality of modified logical software instructions;

a processor coupled to the memory, wherein the processor is programmed to initiating execution of the software application and act to modify references from the plurality of logical software instructions to refer to the plurality of modified logical software instructions including determining in the mobile computing device, a pointer to a NativeFunc field in a Method Object in a virtual machine; modifying in the mobile computing device, the pointer to point to the software library; determining in the mobile computing device, a pointer to an AccessFlags field in a Method Object in a virtual machine; and modifying in the mobile computing device, the pointer to include the ACC_NATIVE logical value; wherein the processor is programmed to inhibiting execution of the plurality of logical software instructions when executing the software application, and wherein the processor is programmed to initiating execution of the plurality of modified logical software instructions when executing the software application.

5. The method of claim 1 , wherein the method further comprises modifying in the mobile computing device, a virtual machine to refer to the plurality of modified logical software instructions.

6. The method of claim 5 wherein the virtual machine comprises an Android Dalvik Virtual Machine.

7. The method of claim 1 wherein the software library comprising a plurality of modified logical software instructions further comprises a native code library.

8. The method of claim 1 wherein modifying in the mobile computing device, reference from the plurality of logical software instructions to the plurality of modified logical software instructions comprises the steps of:

determining in the mobile computing device, a pointer to an Insns field in a Method Object in a virtual machine; and

modifying in the mobile computing device, the pointer to point to the software library.

Assignments (12)
SECURITY INTEREST Recorded Oct 7, 2025
From: LOOKOUT, INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 073028/0189 →
SECURITY INTEREST Recorded Oct 2, 2025
From: LOOKOUT, INC.
To: CRESCENT COVE OPPORTUNITY LENDING, LLC, AS AGENT
Reel/Frame 072989/0675 →
SECURITY INTEREST Recorded Aug 10, 2024
From: LOOKOUT, INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 068538/0177 →
RELEASE OF PATENT SECURITY INTEREST AT REEL 59909 AND FRAME 0764 Recorded Jun 2, 2023
From: ALTER DOMUS (US) LLC, AS ADMINISTRATIVE AGENT
To: LOOKOUT, INC.
Reel/Frame 063844/0638 →
RELEASE OF SECURITY INTEREST Recorded May 9, 2022
From: SILICON VALLEY BANK (THE "BANK")
To: LOOKOUT, INC.
Reel/Frame 059909/0668 →
SECURITY INTEREST Recorded May 9, 2022
From: LOOKOUT, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 059909/0764 →
RELEASE OF SECURITY INTEREST Recorded Nov 23, 2020
From: OBSIDIAN AGENCY SERVICES, INC.
To: LOOKOUT INC.
Reel/Frame 054716/0923 →
SECURITY INTEREST Recorded Jun 6, 2019
From: LOOKOUT, INC.
To: OBSIDIAN AGENCY SERVICES, INC.
Reel/Frame 049408/0861 →
SECURITY INTEREST Recorded Oct 29, 2018
From: LOOKOUT, INC.
To: SILICON VALLEY BANK
Reel/Frame 048208/0947 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF ASSIGNEE PREVIOUSLY RECORDED ON REEL 039000 FRAME 0591. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 27, 2016
From: BLUEBOX SECURITY, INC.
To: LOOKOUT, INC.
Reel/Frame 039175/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2016
From: BLUEBOX SECURITY, INC.
To: LOOKOUT, INC.
Reel/Frame 039000/0591 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2014
From: MATENAAR, FELIX; SCHULZ, PATRICK
To: BLUEBOX SECURITY INC.
Reel/Frame 033384/0708 →