CN106126290A - Application program optimization method, Apparatus and system - Google Patents

Application program optimization method, Apparatus and system Download PDF

Info

Publication number
CN106126290A
CN106126290A CN201610481961.8A CN201610481961A CN106126290A CN 106126290 A CN106126290 A CN 106126290A CN 201610481961 A CN201610481961 A CN 201610481961A CN 106126290 A CN106126290 A CN 106126290A
Authority
CN
China
Prior art keywords
file
application program
executable file
dynamic base
signature
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.)
Granted
Application number
CN201610481961.8A
Other languages
Chinese (zh)
Other versions
CN106126290B (en
Inventor
郑军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weimeng Chuangke Network Technology China Co Ltd
Original Assignee
Weimeng Chuangke Network Technology China Co Ltd
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 Weimeng Chuangke Network Technology China Co Ltd filed Critical Weimeng Chuangke Network Technology China Co Ltd
Priority to CN201610481961.8A priority Critical patent/CN106126290B/en
Publication of CN106126290A publication Critical patent/CN106126290A/en
Application granted granted Critical
Publication of CN106126290B publication Critical patent/CN106126290B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the present invention provides a kind of application program optimization method, Apparatus and system, and the method includes: obtain the to be optimized application program installation kit being applicable to mobile terminal, obtains the executable file installed for application program from described application program installation kit;The dynamic base being used for carrying custom code instrument that will previously generate, is injected in described executable file;Described executable file embeds and newly describes file for replace former description file;The executable file comprising described dynamic base and described new description file is signed again;Again the executable file after signature is packed, the application program installation kit after being optimized;Application program installation kit after described optimization is for installing the application program after optimizing on mobile terminals.Can pre-install in the case of APP need not, the simple and convenient realization optimization to application program, it is not necessary to complicated analyzing and processing, save time, laborsaving, efficient.

Description

Application program optimization method, Apparatus and system
Technical field
The present invention relates to mobile Internet applied technical field, espespecially a kind of application program optimization method, Apparatus and system.
Background technology
Along with the development of development of Mobile Internet technology, drive on line to (Online To Offline, O2O) market under line Development, thus caused the exploitation upsurge of mobile applications (APP).Many developers hanker after APP reverse-engineering, he Wish to go to optimize the system of mobile terminal or application, such as, Internet operating system (iOS) or Android from reverse angle (Android) operating system.
In prior art, the method for optimization application has plug-in application (Logos Tweak is called for short tweak) method.Its Principle, can be with hook as it is shown in figure 1, the method needs to install a tweak plug-in unit in the operating system of terminal unit (hook) function of system add custom code, reaches the purpose of optimization system or application program.Tweak mode need with Based on one allows third party developer operationally to carry out the framework that extended operation system replaced by code, such as: MobieSubstrate framework.
The method needs to have configured the development environment of Logos Tweak, then writes the code of tweak, code main Content is to be hooked certain functional based method of APP by hook, and is added to custom code, when APP goes to this side During method, just can be according to the code added to transport the operation of control program.In order to obtain the function entrance of other APP, need profit Derive instrument (such as class-dump) with header file and derive the header file (.h file) of APP, by analyzing and repeatedly attempting, really Surely want the function of hook, the optimization to APP could be realized.
This mode needs to pre-install Logos Tweak on an operating system, and this is the equal of one does not has icon APP, just can write other APP of optimization, it is achieved get up cumbersome after installation;And this mode needs APP to be optimized Carry out loaded down with trivial details analysis, owing to current Mobile solution is more complicated, comprise substantial amounts of header file and analyze from these header files The function that going out needs is a time-consuming process.
As can be seen here, for realizing the mode that the APP installed in operating system is optimized in prior art, its operation Complexity, needs pre-installation analysis operation during the APP optimized, and optimization complicated, wastes time and energy.
Summary of the invention
The embodiment of the present invention provides a kind of application program optimization method, Apparatus and system, deposits in order to solving in prior art Application program optimize time operation complexity, analyze complicated, the problem wasted time and energy.
On the one hand, embodiments provide a kind of application program optimization method, including:
Application program optimization method, it is characterised in that including:
Obtain the to be optimized application program installation kit being applicable to mobile terminal, obtain from described application program installation kit The executable file installed for application program;
The dynamic base being used for carrying custom code instrument that will previously generate, is injected in described executable file;
Described executable file embeds and newly describes file for replace former description file;
The executable file comprising described dynamic base and described new description file is signed again;
Again the executable file after signature is packed, the application program installation kit after being optimized;Described optimization After application program installation kit on mobile terminals install optimize after application program.
In some optional embodiments, the described dynamic base being used for carrying custom code instrument that will previously generate, It is injected in described executable file, specifically includes:
According to the store path of dynamic base, obtain the dynamic base for carrying custom code instrument previously generated;
According to the store path of executable file, use the loading dynamic base order of loading classes in command library, by obtain Described dynamic base is injected in the executable file under the store path of executable file.
In some optional embodiments, described executable file embeds the new description for replacing former description file File, specifically includes:
Create include certificate newly developed, mountable device information, application program identification APPID file is newly described;
With the former description file under the new store path describing file replacement executable file created.
In some optional embodiments, the executable file comprising described dynamic base and described new description file is carried out Again sign, specifically include:
Read application information file, obtain unique identification string bundleID and the group of certificate newly developed of application program Mark taemID;
Construct one with application unique mark application-identifier and development teams mark Com.apple.developer.team-identifier is key, the dictionary being value with bundleID and teamID;
By in the dictionary write code signature file of structure;
Use signature order that code signature file is signed again, complete the signature again to executable file.
In some optional embodiments, use Integrated Development Tool Xcode establishment described dynamically on a personal computer Storehouse.
The embodiment of the present invention also provides for a kind of application program and optimizes device, including:
Acquisition module, for obtaining the to be optimized application program installation kit being applicable to mobile terminal, from described application journey Sequence installation kit obtains the executable file installed for application program;
Injection module, for the dynamic base being used for carrying custom code instrument that will previously generate, be injected into described can Perform in file;
Replacement module, newly describes file for embedding in described executable file for replace former description file;
Signature blocks, for again signing the executable file comprising described dynamic base and described new description file Name;
Packetization module, for the executable file after signature again is packed, the application program peace after being optimized Dress bag;Application program installation kit after described optimization is for installing the application program after optimizing on mobile terminals.
In some optional embodiments, described injection module, specifically for:
According to the store path of dynamic base, obtain the dynamic base for carrying custom code instrument previously generated;
According to the store path of executable file, use the loading dynamic base order of loading classes in command library, by obtain Described dynamic base is injected in the executable file under the store path of executable file.
In some optional embodiments, described replacement module, specifically for:
Create include certificate newly developed, mountable device information, application program identification APPID file is newly described;
With the former description file under the new store path describing file replacement executable file created.
In some optional embodiments, described signature blocks, specifically for:
Read application information file, obtain unique identification string bundleID and the group of certificate newly developed of application program Mark taemID;
Construct one with application unique mark application-identifier and development teams mark Com.apple.developer.team-identifier is key, the dictionary being value with bundleID and teamID;
By in the dictionary write code signature file of structure;
Use signature order that code signature file is signed again, complete the signature again to executable file.
The embodiment of the present invention also provides for a kind of application program and optimizes system, including: mobile terminal and personal computer;
Described personal computer includes that above-mentioned application program optimizes device;
Described mobile terminal, the application program installation kit after installing described optimization.
Technique scheme has the advantages that adds dynamically the executable file in application program installation kit Storehouse, newly embedded description file of laying equal stress on, packing of again signing, obtain new application program installation kit, the method need not at end Install on end device operating system and optimize in the case of APP, it is achieved to the optimization of APP to be mounted, it is simple that it realizes process Convenient, it is not necessary to application program is carried out complicated analysis operation, time saving and energy saving, highly versatile.
Accompanying drawing explanation
In order to be illustrated more clearly that the embodiment of the present invention or technical scheme of the prior art, below will be to embodiment or existing In having technology to describe, the required accompanying drawing used is briefly described, it should be apparent that, the accompanying drawing in describing below is only this Some embodiments of invention, for those of ordinary skill in the art, on the premise of not paying creative work, it is also possible to Other accompanying drawing is obtained according to these accompanying drawings.
Fig. 1 is the principle schematic of application program optimization method in prior art;
Fig. 2 is the flow chart of application program optimization method in the embodiment of the present invention one;
Fig. 3 is the flow chart of application program optimization method in the embodiment of the present invention two;
Fig. 4 is the structural representation that in the embodiment of the present invention, application program optimizes system;
Fig. 5 is the structural representation that in the embodiment of the present invention, application program optimizes device.
Detailed description of the invention
Below in conjunction with the accompanying drawing in the embodiment of the present invention, the technical scheme in the embodiment of the present invention is carried out clear, complete Describe, it is clear that described embodiment is only a part of embodiment of the present invention rather than whole embodiments wholely.Based on Embodiment in the present invention, it is every other that those of ordinary skill in the art are obtained under not making creative work premise Embodiment, broadly falls into the scope of protection of the invention.
During in order to solve that application program optimizes present in prior art, need pre-installation, analyze complicated, waste time and energy Problem, the embodiment of the present invention provides a kind of application program optimization method, it is possible to realize application in the case of not pre-installing APP The optimization of program, and realize simply, conveniently, highly versatile.The inventive method mainly includes generating dynamic base Dylib, dynamic base It is injected in APP, APP embeds description file (Moibleprovision), APP is signed again and is packaged into new peace Several process steps such as dress wraps, such as Fructus Mali pumilae application file (iPhoneApplication, IPA).Below by concrete Embodiment is described in detail.
Embodiment one
The application program optimization method that the embodiment of the present invention one provides, its flow process is as in figure 2 it is shown, comprise the steps:
Step S101: obtain the to be optimized application program installation kit being applicable to mobile terminal.
Obtain application program installation kit to be optimized, the application program installation kit obtained is changed or decompressed, such as IPA bag, is a file with ipa as suffix name, actually one compressed package (zip bag), can convert thereof into zip and solve Pressure, in order to the executable file wherein comprised, changing or decompress failure procedures will be terminated.
Step S102: obtain the executable file installed for application program from application program installation kit.
File after application program installation kit decompresses obtains out executable file.
Step S103: the dynamic base being used for carrying custom code instrument that will previously generate, is injected into executable file In.
Dynamic base can previously generate on a personal computer, and dynamic base (Dylib) is used to carry custom code Instrument, needs to encode in the Integrated Development Tool (Xcode) of Mac OS X platform and generate.Xcode is used to create dynamic base Dylib, clicks on file new projects (File-new-Project) order and just can create the program file of Dylib type.Generate After Dylib, need to be injected in the executable file of application program Dylib so that can in application program running Call Dylib.
When injecting dynamic base in executable file, from the store path of dynamic base, obtain the dynamic base previously generated, It is injected under executable file store path in the executable file of storage, it is possible to use the loading of loading classes in command library Dynamic base order realizes.
Step S104: embed in executable file and newly describe file for replace former description file.
In order to allow mobile terminal set up applications, needs are embedded in application program by new description file.This Time, create include certificate newly developed, mountable device information, application program identification (APP ID) file is newly described, with establishment The new file that describes replace the former description file under the store path of executable file, it is achieved new description written matter is embedded into In application program.
Step S105: the executable file comprising dynamic base and new description file is signed again.
In order to corresponding with the description file embedded, it should application program is signed again, need a new certificate and Generate new code signature file (application-identifier entitlements).If enterprise version exploitation certificate, Then this application program can be able to be installed on all mobile terminals.
Step S106: the executable file after signature again is packed, the application program installation kit after being optimized. Wherein, the application program installation kit after optimization is for installing the application program after optimizing on mobile terminals.
Use compressing file (such as zip) order, Application Folder is compressed, compresses it into new installation Bag, the new installation kit of such as IPA form.Application Folder can include new execution file and pacify from application program Dress bag solves the alternative document of extrusion.
Embodiment two
The embodiment of the present invention two provides a kind of concrete methods of realizing that above-mentioned application program optimizes, its flow process as it is shown on figure 3, Comprise the steps:
Step S201: obtain the to be optimized application program installation kit being applicable to mobile terminal.
Step S202: application program installation kit is converted and decompresses.
Application program installation kit is usually the file after a compression, can obtain after compressed file is converted and decompressed Installation file to application program.
Step S203: obtain the executable file in application program installation kit.
From the application program installation folder after decompression, obtain executable file therein carry out follow-up optimization process.
Step S204: according to the store path of dynamic base, obtain previously generate for carrying custom code instrument Dynamic base.
Step S205: according to the store path of executable file, uses the loading dynamic base order of loading classes in command library, The dynamic base of acquisition is injected in the executable file under the store path of executable file.
Dynamic base Dylib being injected in executable file, this process uses in command library (mach-o) framework and adds Carry LC_LOAD_DYLIB and the LC_LOAD_WEAK_DYLIB the two loading command of (loader) class.After injecting successfully, Enter on personal computer or mobile terminal in APP catalogue to use and check application program installation kit dynamic base list commands (otool-L) it can be seen that executable file has contained the Dylib file of generation.If injecting unsuccessfully, flow process also can be by Terminate.
Wherein, LC_LOAD_WEAK_DYLIB specifies dynamic base order for loading, and as do not found, can stop journey immediately Sequence;LC_LOAD_WEAK_DYLIB: load and specify dynamic base order (optional), as do not found, also may proceed to run.
Step S204-step 205 realizes the dynamic base being used for carrying custom code instrument that will previously generate, and is injected into In executable file.
Step S206: create the new description including certificate newly developed, mountable device information, application program identification APPID File.
Describing file is the prerequisite file of application development, wherein comprises for exploitation certificate, can install Equipment and the description of APPID.When therefore generating new description file, it is also desirable to comprise these information, the new description literary composition of generation Part can be stored in Developer Central or other storage positions specified.
Step S207: with the former description file under the new store path describing file replacement executable file created.
Download from Developer Central or other storage positions specified and describe file, then this is described file and replace APP Description file (such as embedded.mobileprovision file) under catalogue.
Step S206-step 207 realizes embedding in executable file and newly describes file for replace former description file.
Step S208: read application information file, obtains unique identification string (bundleID) and newly of application program Group mark (taemID) of exploitation certificate.
Again signing application program is also that optimization is necessary, by reading application information file, such as Info.plist file, it is possible to obtain unique identification string (bundleID) of APP, obtains the teamID of new authentication, in order to update These information of application program, make the program file of optimization to use.
Step S209: construct one with the unique mark (application-identifier) of application and development teams mark (com.apple.developer.team-identifier) it is key, the dictionary being value with bundleID and teamID.
Above-mentioned bundleID is application one concrete identifier of uniquely identified in fact, and teamID is exploitation group in fact The concrete identifier that badge is known.Such as: in a code signature file, it is so to represent:
Application-identifier:bundleID
Com.apple.developer.team-identifier:teamID
Step S210: by the dictionary write code signature file of structure.
Step S211: use signature order that code signature file is signed again, complete the weight to executable file New signature.
By the signature again of executable file is realized the signature again to application program.Use signature order, such as Codesign order, signs again to APP.
Step S212: by the executable file after signature again and the alternative document solving extrusion from application program installation kit Convert together and compress, the application program installation kit after being optimized.
Again, after signature application program installs the executable file comprised in file, the application program obtained will be decompressed before File is compressed into new installation kit, the installation kit of such as IPA form.Such as: can be realized by input zip-qr order Export new application program installation kit.
Based on same inventive concept, the embodiment of the present invention also provides for a kind of application program and optimizes system, its structure such as Fig. 4 institute Show, including: mobile terminal 401 and personal computer 402.Mobile terminal 401 and personal computer 403 all can arrange more than one Individual, can be arranged as required to multiple.
Mobile terminal 401, the application program installation kit after installing optimization.
Personal computer 402 includes that application program optimizes device 403, to be optimized is applicable to mobile terminal for obtaining Application program installation kit, from described application program installation kit obtain for application program install executable file;Will be pre- The dynamic base for carrying custom code instrument first generated, is injected in described executable file;Literary composition is performed described Part embeds and newly describes file for replace former description file;To comprising holding of described dynamic base and described new description file Style of writing part is signed again;Again being packed by the executable file after signature, the application program after being optimized is installed Bag;Application program installation kit after described optimization is for installing the application program after optimizing on mobile terminals.
Preferably, above-mentioned personal computer 402, specifically for the store path according to dynamic base, acquisition previously generates For carrying the dynamic base of custom code instrument;According to the store path of executable file, use loading classes in command library Load dynamic base order, the dynamic base of acquisition is injected in the executable file under the store path of executable file.
Preferably, above-mentioned personal computer 402, include certificate newly developed, mountable device information specifically for establishment, answer By program identification APPID, file is newly described;With create new describe that file replaces under the store path of executable file former File is described.
Preferably, above-mentioned personal computer 402, specifically for reading application information file, obtain application program The group mark taemID of unique identification string bundleID and certificate newly developed;Construct one with application-identifier It is key with com.apple.developer.team-identifier, the dictionary being value with bundleID and teamID;Will structure Dictionary write code signature file in;Use signature order that code signature file is signed again, complete performing Again the signature of file.
Preferably, above-mentioned personal computer 402, specifically for using Xcode to create described dynamic base.
Above-mentioned application program optimizes device, and its structure is as it is shown in figure 5, include: acquisition module 501, injection module 502, replace Die change block 503, signature blocks 504 and packetization module 505.
Acquisition module 501, for obtaining the to be optimized application program installation kit being applicable to mobile terminal, from application program Installation kit obtains the executable file installed for application program.
Injection module 502, for the dynamic base being used for carrying custom code instrument that will previously generate, is injected into and can hold In style of writing part.
Replacement module 503, newly describes file for embedding in executable file for replace former description file.
Signature blocks 504, for carrying out again the executable file comprising described dynamic base and described new description file Signature.
Packetization module 505, for the executable file after signature again is packed, the application program after being optimized Installation kit;Wherein, the application program installation kit after optimization is for installing the application program after optimizing on mobile terminals.
Preferably, above-mentioned injection module 502, specifically for the store path according to dynamic base, obtain the use previously generated Dynamic base in carrying custom code instrument;According to the store path of executable file, in use command library, loading classes adds Carry dynamic base order, the described dynamic base obtained is injected in the executable file under the store path of executable file.
Preferably, above-mentioned replacement module 503, include certificate newly developed, mountable device information, application specifically for creating Program identification APPID file is newly described;With create new describe that file replaces under the store path of executable file former retouch State file.
Preferably, above-mentioned signature mould 504 pieces, specifically for reading application information file, obtain application program only The group mark taemID of one identification string bundleID and certificate newly developed;Construct one with application-identifier and Com.apple.developer.team-identifier is key, the dictionary being value with bundleID and teamID;By structure In dictionary write code signature file;Use signature order that code signature file is signed again, complete performing literary composition Again the signature of part.
Above-mentioned application program optimization method, system and the device that the embodiment of the present invention provides, for being applicable to internet operation For system (IOS) systematic difference program optimization, by a self-defined dynamic base being similar to small-sized APP, use Fructus Mali pumilae Development language (Obiective-C) is write, and the control that can extend Internet operating system SDK (iOS SDK) comes Inject custom code.Except some parameters of needs manual configuration, in writing dynamic base, importing, again signing, be packaged in Whole method flow can in computer operating system, under such as Apple Computers system (MAC) environment use XCODE compiling Rear one-key operation, it is not necessary to rely on other IDEs (IDE) and decompiling instrument.
Said method is owing to have employed dynamic base Dylib, and self-defined degree is high;Have employed in command library (mach-o) framework The order such as loading dynamic base, convenient inject dynamic base;Owing to dynamic base being injected, embedding new description certificate, again signs Being computer operating system with the packing big functional realiey of installation kit four, under such as Apple Computers system (MAC OS X) is certainly Dynamic chemical industry tool, as long as choosing each file to get final product the installation kit that a step generation is new, simplifies manual operation.The method need not Pre-install application program on mobile terminal, can realize, to the application program optimization on mobile terminal, it also avoid loaded down with trivial details dividing Analysis step, simplifies operation, improves speed and efficiency.
Those skilled in the art are it will also be appreciated that the various illustrative components, blocks listed of the embodiment of the present invention (illustrative logical block), unit, and step can pass through electronic hardware, computer software, or both knots Conjunction realizes.For clearly showing that the replaceability (interchangeability) of hardware and software, above-mentioned various explanations Property parts (illustrative components), unit and step the most universally describe their function.Such merit Can be to realize depending on specifically applying the design requirement with whole system by hardware or software.Those skilled in the art Can be for every kind of specific application, it is possible to use the function described in the realization of various methods, but this realization is understood not to Scope beyond embodiment of the present invention protection.
Various illustrative logical block described in the embodiment of the present invention, or unit can pass through general processor, Digital signal processor, special IC (ASIC), field programmable gate array or other programmable logic device, discrete gate Or transistor logic, discrete hardware components, or the design of any of the above described combination realize or operate described function.General place Reason device can be microprocessor, and alternatively, this general processor can also be any traditional processor, controller, microcontroller Device or state machine.Processor can also realize by calculating the combination of device, such as digital signal processor and microprocessor, Multi-microprocessor, one or more microprocessors one Digital Signal Processor Core of associating, or any other like configuration Realize.
It is soft that method described in the embodiment of the present invention or the step of algorithm can be directly embedded into hardware, processor performs Part module or the combination of both.Software module can be stored in RAM memory, flash memory, ROM memory, EPROM storage Other any form of storage medium in device, eeprom memory, depositor, hard disk, moveable magnetic disc, CD-ROM or this area In.Exemplarily, storage medium can be connected with processor, so that processor can read information from storage medium, and Write information can be deposited to storage medium.Alternatively, storage medium can also be integrated in processor.Processor and storage medium can To be arranged in ASIC, ASIC can be arranged in user terminal.Alternatively, processor and storage medium can also be arranged at use In different parts in the terminal of family.
In one or more exemplary designs, the above-mentioned functions described by the embodiment of the present invention can be at hardware, soft The combination in any of part, firmware or this three realizes.If realized in software, these functions can store and computer-readable On medium, or it is transmitted on the medium of computer-readable with one or more instructions or code form.Computer readable medium includes electricity Brain stores medium and is easy to so that allowing computer program transfer to the telecommunication media in other place from a place.Storage medium is permissible It is that any general or special computer can be with the useable medium of access.Such as, such computer readable media can include but It is not limited to RAM, ROM, EEPROM, CD-ROM or other optical disc storage, disk storage or other magnetic storage device, or other What may be used for carrying or storage can be by general or special computer or general or special handling with other with instruction or data structure Device reads the medium of the program code of form.Additionally, any connection can be properly termed computer readable medium, example As, if software is by coaxial cable, fiber optic cables, double from a web-site, server or other remote resource Twisted wire, Digital Subscriber Line (DSL) or with the wireless way for transmittings such as the most infrared, wireless and microwave be also contained in defined In computer readable medium.Described video disc (disk) and disk (disc) include Zip disk, radium-shine dish, CD, DVD, floppy disk And Blu-ray Disc, disk is generally with magnetic duplication data, and video disc generally carries out optical reproduction data with laser.Combinations of the above Can also be included in computer readable medium.
Above-described detailed description of the invention, has been carried out the purpose of the present invention, technical scheme and beneficial effect further Describe in detail, be it should be understood that the detailed description of the invention that the foregoing is only the present invention, be not intended to limit the present invention Protection domain, all within the spirit and principles in the present invention, any modification, equivalent substitution and improvement etc. done, all should comprise Within protection scope of the present invention.

Claims (10)

1. an application program optimization method, it is characterised in that including:
Obtain the to be optimized application program installation kit being applicable to mobile terminal, obtain from described application program installation kit and be used for The executable file that application program is installed;
The dynamic base being used for carrying custom code instrument that will previously generate, is injected in described executable file;
Described executable file embeds and newly describes file for replace former description file;
The executable file comprising described dynamic base and described new description file is signed again;
Again the executable file after signature is packed, the application program installation kit after being optimized;After described optimization Application program installation kit is for installing the application program after optimizing on mobile terminals.
2. the method for claim 1, it is characterised in that described being used for of previously generating is carried custom code instrument Dynamic base, be injected in described executable file, specifically include:
According to the store path of dynamic base, obtain the dynamic base for carrying custom code instrument previously generated;
According to the store path of executable file, use the loading dynamic base order of loading classes in command library, described in obtaining Dynamic base is injected in the executable file under the store path of executable file.
3. the method for claim 1, it is characterised in that embed in described executable file and be used for replacing former description literary composition Part file is newly described, specifically include:
Create include certificate newly developed, mountable device information, application program identification APPID file is newly described;
With the former description file under the new store path describing file replacement executable file created.
4. the method for claim 1, it is characterised in that to comprising holding of described dynamic base and described new description file Style of writing part is signed again, specifically includes:
Read application information file, obtain unique identification string bundleID of application program and the group mark of certificate newly developed taemID;
Construct one with application unique mark application-identifier and development teams mark Com.apple.developer.team-identifier is key, the dictionary being value with bundleID and teamID;
By in the dictionary write code signature file of structure;
Use signature order that code signature file is signed again, complete the signature again to executable file.
5. the method as described in claim 1-4 is arbitrary, it is characterised in that use Integrated Development Tool on a personal computer Xcode creates described dynamic base.
6. an application program optimizes device, it is characterised in that including:
Acquisition module, for obtaining the to be optimized application program installation kit being applicable to mobile terminal, pacifies from described application program Dress bag obtains the executable file installed for application program;
Injection module, for the dynamic base being used for carrying custom code instrument that will previously generate, is injected into and described can perform In file;
Replacement module, newly describes file for embedding in described executable file for replace former description file;
Signature blocks, for again signing to the executable file comprising described dynamic base and described new description file;
Packetization module, for the executable file after signature again is packed, the application program installation kit after being optimized; Application program installation kit after described optimization is for installing the application program after optimizing on mobile terminals.
7. device as claimed in claim 6, it is characterised in that described injection module, specifically for:
According to the store path of dynamic base, obtain the dynamic base for carrying custom code instrument previously generated;
According to the store path of executable file, use the loading dynamic base order of loading classes in command library, described in obtaining Dynamic base is injected in the executable file under the store path of executable file.
8. device as claimed in claim 6, it is characterised in that described replacement module, specifically for:
Create include certificate newly developed, mountable device information, application program identification APPID file is newly described;
With the former description file under the new store path describing file replacement executable file created.
9. device as claimed in claim 6, it is characterised in that described signature blocks, specifically for:
Read application information file, obtain unique identification string bundleID of application program and the group mark of certificate newly developed taemID;
Construct one with application unique mark application-identifier and development teams mark Com.apple.developer.team-identifier is key, the dictionary being value with bundleID and teamID;
By in the dictionary write code signature File of structure;
Use signature order that code signature file is signed again, complete the signature again to executable file.
10. an application program optimizes system, it is characterised in that including: mobile terminal and personal computer;
Described personal computer includes that the application program as described in claim 6-9 is arbitrary optimizes device;
Described mobile terminal, the application program installation kit after installing described optimization.
CN201610481961.8A 2016-06-27 2016-06-27 Application program optimization method, apparatus and system Active CN106126290B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610481961.8A CN106126290B (en) 2016-06-27 2016-06-27 Application program optimization method, apparatus and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610481961.8A CN106126290B (en) 2016-06-27 2016-06-27 Application program optimization method, apparatus and system

Publications (2)

Publication Number Publication Date
CN106126290A true CN106126290A (en) 2016-11-16
CN106126290B CN106126290B (en) 2019-08-13

Family

ID=57266308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610481961.8A Active CN106126290B (en) 2016-06-27 2016-06-27 Application program optimization method, apparatus and system

Country Status (1)

Country Link
CN (1) CN106126290B (en)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107315602A (en) * 2017-05-12 2017-11-03 广东网金控股股份有限公司 The upgrade method and terminal of a kind of application program
CN107329901A (en) * 2017-07-31 2017-11-07 腾讯科技(深圳)有限公司 Packet grasping means, terminal, server and storage medium
CN107621939A (en) * 2017-09-18 2018-01-23 北京奇虎科技有限公司 A kind of optimizing application method and device
CN108446219A (en) * 2018-03-01 2018-08-24 网易宝有限公司 Operating method, system, medium and the computing device of application program
CN108681473A (en) * 2018-05-18 2018-10-19 广州酷狗计算机科技有限公司 Application program generation, operation method, device, computer equipment and storage medium
CN108958826A (en) * 2017-05-22 2018-12-07 北京京东尚科信息技术有限公司 The method and apparatus of dynamic configuration application installation package
CN109101244A (en) * 2018-07-20 2018-12-28 珠海宏桥高科技有限公司 A kind of ios system integration automatic packaging method
CN109213686A (en) * 2018-10-22 2019-01-15 网易(杭州)网络有限公司 Using backpack body inspection method, device, storage medium, processor and server
CN109491664A (en) * 2018-11-08 2019-03-19 腾讯科技(深圳)有限公司 Generation method, device, equipment and the storage medium of iOS application program
CN109725924A (en) * 2017-10-27 2019-05-07 深圳安软信创技术有限公司 A kind of function integrated approach based on iOS application
CN109753322A (en) * 2017-08-29 2019-05-14 武汉斗鱼网络科技有限公司 To the acceleration method and device of application program on a kind of ios platform
CN109814897A (en) * 2018-12-18 2019-05-28 福建新大陆支付技术有限公司 A kind of application file management method and system
CN110032501A (en) * 2019-04-01 2019-07-19 北京奇艺世纪科技有限公司 A kind of processing method, device and the electronic equipment of APP installation kit
CN110275832A (en) * 2019-06-19 2019-09-24 北京字节跳动网络技术有限公司 Starting time-consuming test method, system, equipment and the medium of application program
CN110297643A (en) * 2019-06-04 2019-10-01 平安科技(深圳)有限公司 Method, apparatus, equipment and the storage medium of application program injection dynamic base
CN110362487A (en) * 2019-07-11 2019-10-22 腾讯科技(深圳)有限公司 A kind of test method and device of application program
CN110851204A (en) * 2019-11-08 2020-02-28 北京字节跳动网络技术有限公司 Application starting method and device and application packaging method and device
CN112148597A (en) * 2020-09-16 2020-12-29 北京基调网络股份有限公司 Method for eliminating iOS device authorization dialog box, test method and storage medium
CN112214253A (en) * 2020-09-11 2021-01-12 拓尔思信息技术股份有限公司 Method and device for starting Java program, electronic device and nonvolatile storage medium
CN112464228A (en) * 2020-09-09 2021-03-09 北京升鑫网络科技有限公司 Application layer command auditing method, device and system and storage medium
CN112825035A (en) * 2019-11-21 2021-05-21 北京搜狗科技发展有限公司 Program installation file generating and processing method and device
CN113138867A (en) * 2021-04-20 2021-07-20 上海上讯信息技术股份有限公司 Method, device and equipment for realizing communication between application programs
CN113190834A (en) * 2021-01-29 2021-07-30 统信软件技术有限公司 File signature method, computing device and storage medium
CN113419735A (en) * 2021-05-31 2021-09-21 荣耀终端有限公司 Plug-in optimization method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080134221A1 (en) * 2006-11-30 2008-06-05 Microsoft Corporation Dynamic linked library add-on features
CN104021321A (en) * 2014-06-17 2014-09-03 北京奇虎科技有限公司 Reinforcing protection method and device for software installation package
CN104680039A (en) * 2013-11-28 2015-06-03 腾讯科技(深圳)有限公司 Data protection method and device of application installation package
CN105512521A (en) * 2015-12-25 2016-04-20 北京奇虎科技有限公司 Reinforcement and protection method and system for software installation package

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080134221A1 (en) * 2006-11-30 2008-06-05 Microsoft Corporation Dynamic linked library add-on features
CN104680039A (en) * 2013-11-28 2015-06-03 腾讯科技(深圳)有限公司 Data protection method and device of application installation package
CN104021321A (en) * 2014-06-17 2014-09-03 北京奇虎科技有限公司 Reinforcing protection method and device for software installation package
CN105512521A (en) * 2015-12-25 2016-04-20 北京奇虎科技有限公司 Reinforcement and protection method and system for software installation package

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107315602B (en) * 2017-05-12 2021-02-12 广东网金控股股份有限公司 Application program upgrading method and terminal
CN107315602A (en) * 2017-05-12 2017-11-03 广东网金控股股份有限公司 The upgrade method and terminal of a kind of application program
CN108958826B (en) * 2017-05-22 2022-06-07 北京京东尚科信息技术有限公司 Method and device for dynamically configuring application installation package
CN108958826A (en) * 2017-05-22 2018-12-07 北京京东尚科信息技术有限公司 The method and apparatus of dynamic configuration application installation package
CN107329901A (en) * 2017-07-31 2017-11-07 腾讯科技(深圳)有限公司 Packet grasping means, terminal, server and storage medium
CN107329901B (en) * 2017-07-31 2021-09-28 腾讯科技(深圳)有限公司 Data packet capturing method, terminal, server and storage medium
CN109753322A (en) * 2017-08-29 2019-05-14 武汉斗鱼网络科技有限公司 To the acceleration method and device of application program on a kind of ios platform
CN109753322B (en) * 2017-08-29 2022-04-15 武汉斗鱼网络科技有限公司 Method and device for accelerating application program on IOS platform
CN107621939A (en) * 2017-09-18 2018-01-23 北京奇虎科技有限公司 A kind of optimizing application method and device
CN107621939B (en) * 2017-09-18 2021-01-29 北京奇虎科技有限公司 Application optimization method and device
CN109725924A (en) * 2017-10-27 2019-05-07 深圳安软信创技术有限公司 A kind of function integrated approach based on iOS application
CN108446219A (en) * 2018-03-01 2018-08-24 网易宝有限公司 Operating method, system, medium and the computing device of application program
CN108681473A (en) * 2018-05-18 2018-10-19 广州酷狗计算机科技有限公司 Application program generation, operation method, device, computer equipment and storage medium
CN109101244A (en) * 2018-07-20 2018-12-28 珠海宏桥高科技有限公司 A kind of ios system integration automatic packaging method
CN109213686A (en) * 2018-10-22 2019-01-15 网易(杭州)网络有限公司 Using backpack body inspection method, device, storage medium, processor and server
CN109491664A (en) * 2018-11-08 2019-03-19 腾讯科技(深圳)有限公司 Generation method, device, equipment and the storage medium of iOS application program
CN109814897A (en) * 2018-12-18 2019-05-28 福建新大陆支付技术有限公司 A kind of application file management method and system
CN109814897B (en) * 2018-12-18 2022-04-19 福建新大陆支付技术有限公司 Application program file management method and system
CN110032501A (en) * 2019-04-01 2019-07-19 北京奇艺世纪科技有限公司 A kind of processing method, device and the electronic equipment of APP installation kit
CN110032501B (en) * 2019-04-01 2023-04-25 北京奇艺世纪科技有限公司 APP installation package processing method and device and electronic equipment
CN110297643A (en) * 2019-06-04 2019-10-01 平安科技(深圳)有限公司 Method, apparatus, equipment and the storage medium of application program injection dynamic base
CN110297643B (en) * 2019-06-04 2024-01-30 平安科技(深圳)有限公司 Method, device, equipment and storage medium for injecting application program into dynamic library
CN110275832A (en) * 2019-06-19 2019-09-24 北京字节跳动网络技术有限公司 Starting time-consuming test method, system, equipment and the medium of application program
CN110362487B (en) * 2019-07-11 2024-05-10 腾讯科技(深圳)有限公司 Application program testing method and device
CN110362487A (en) * 2019-07-11 2019-10-22 腾讯科技(深圳)有限公司 A kind of test method and device of application program
CN110851204B (en) * 2019-11-08 2023-04-18 北京字节跳动网络技术有限公司 Application starting method and device and application packaging method and device
CN110851204A (en) * 2019-11-08 2020-02-28 北京字节跳动网络技术有限公司 Application starting method and device and application packaging method and device
CN112825035A (en) * 2019-11-21 2021-05-21 北京搜狗科技发展有限公司 Program installation file generating and processing method and device
CN112464228B (en) * 2020-09-09 2021-07-27 北京升鑫网络科技有限公司 Application layer command auditing method, device and system and storage medium
CN112464228A (en) * 2020-09-09 2021-03-09 北京升鑫网络科技有限公司 Application layer command auditing method, device and system and storage medium
CN112214253B (en) * 2020-09-11 2024-02-02 拓尔思信息技术股份有限公司 Java program starting method and device, electronic device and nonvolatile storage medium
CN112214253A (en) * 2020-09-11 2021-01-12 拓尔思信息技术股份有限公司 Method and device for starting Java program, electronic device and nonvolatile storage medium
CN112148597A (en) * 2020-09-16 2020-12-29 北京基调网络股份有限公司 Method for eliminating iOS device authorization dialog box, test method and storage medium
CN113190834A (en) * 2021-01-29 2021-07-30 统信软件技术有限公司 File signature method, computing device and storage medium
CN113190834B (en) * 2021-01-29 2024-09-24 统信软件技术有限公司 File signing method, computing device and storage medium
CN113138867A (en) * 2021-04-20 2021-07-20 上海上讯信息技术股份有限公司 Method, device and equipment for realizing communication between application programs
CN113419735B (en) * 2021-05-31 2022-04-19 荣耀终端有限公司 Plug-in optimization method and device
CN113419735A (en) * 2021-05-31 2021-09-21 荣耀终端有限公司 Plug-in optimization method and device

Also Published As

Publication number Publication date
CN106126290B (en) 2019-08-13

Similar Documents

Publication Publication Date Title
CN106126290A (en) Application program optimization method, Apparatus and system
CN104375849B (en) Load the method and device of kernel
CN102289378B (en) Method for automatically generating APP (Application)
KR102059705B1 (en) Adaptive portable libraries
CN102246150B (en) Transforming user script code for debugging
CN111367510B (en) Android function module development method and device
CN109491695A (en) A kind of increment updating method of integrated Android application
CN111090433A (en) Data processing method, device and storage medium
CN104317625A (en) Dynamic loading method for APK files
CN103095838A (en) Method for upgrading Android smartphone software through downloading incremental upgrade package
CN104573416A (en) Method and device for generating application installation package and executing application
CN104899025A (en) Method and device for generating channel package
CN104318155A (en) Dynamic loading method capable of guarding against reverse APK file
CN111045686B (en) Method for improving decompilation speed of application, intelligent terminal and storage medium
CN110321131A (en) Service Component packaging method, system and server
CN104090946A (en) Method and device for adding information to application installation package
CN111209001A (en) Method, system, equipment and medium for batch generation of APKs of android channels
US11029934B2 (en) Method and system for updating legacy software
CN106055375A (en) Application program installation method and device
KR102141749B1 (en) APP program execution method and device
CN104133676A (en) Function execution method and function execution device based on scripts
CN109871241A (en) A kind of configuration method of Cross-environment application server
CN103761107A (en) Software package customizing device and method
CN105389180B (en) A kind of USB port configurableization method based on Android platform
CN114706564A (en) Software package manufacturing method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant