CN105204980A - Method for testing virtual engine software and testing equipment - Google Patents

Method for testing virtual engine software and testing equipment Download PDF

Info

Publication number
CN105204980A
CN105204980A CN201410225166.3A CN201410225166A CN105204980A CN 105204980 A CN105204980 A CN 105204980A CN 201410225166 A CN201410225166 A CN 201410225166A CN 105204980 A CN105204980 A CN 105204980A
Authority
CN
China
Prior art keywords
class
logic
testing
objective function
engine software
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
CN201410225166.3A
Other languages
Chinese (zh)
Other versions
CN105204980B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410225166.3A priority Critical patent/CN105204980B/en
Publication of CN105204980A publication Critical patent/CN105204980A/en
Application granted granted Critical
Publication of CN105204980B publication Critical patent/CN105204980B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The embodiment of the invention discloses a method for testing virtual engine software and testing equipment. The method comprises the implementation steps that internal storage object searching is conducted in the operating process of the tested virtual engine software, and classes including the types of data are acquired; living examples under the classes including the types of the data are traversed, so that variable objects are acquired; the acquired variable objects are modified. The variable information of the virtual engine software can be searched for quickly and comprehensively, and searching is not limited to numerical number searching any more by being accurately positioned to the variable objects. In addition, there is no need to break the virtual engine software, manual code reading is not needed, and packaged script codes made confidential again do not need to be modified, either. Hence, compared with the scheme that visible numerical values are searched for to position an internal storage through a cheat engine and the scheme that software scripts are broken, the testing efficiency is high, and a better testing depth can be achieved.

Description

A method of testing for illusory engine software, and testing apparatus
Technical field
The present invention relates to areas of information technology, particularly a kind of method of testing of illusory engine software, and testing apparatus.
Background technology
Illusory engine (UnrealEngine, UE) is the one of development platform, provides a large amount of core technology arrays, Edition Contains instrument, supports the elementary item construction of high-end development teams.Illusory engine all write the exploitation that idea is all content production in order to be more prone to and programming, abstract program assistant can be used freely create virtual environment when relating to minimum program development content to allow fine arts developer, and the high efficiency module of person that provides programming and extendible exploitation framework are used for creating, test, and complete various types of Experience of Software Testing Work.
Illusory engine has following features:
Illusory engine can carry out writing software in order to the programmer of software development better, provides 3 and writes example and absolutely open source code, editing machine, output inserters, and some intra-companies develop software used software code.Illusory software play former data that script additionally provides many robotizations for software developer's reference and.In engine, this part interface of material editor is splitted into many independently modules, facilitate those directly can add new visualization tool or new light and shade maker as required in interface after the fine arts personnel carrying out making.Have the efficient software configuration of simple operation, large-scale team's development project or multi-platform development project can be upgraded to rapidly.
Illusory engine additionally provides unitized coding standard, in the compilation being applicable to PC (PersonalComputer, PC) and the parametric controller of future generation that can support.Compatible in the parametric controller that content required during all software developments and data file can be able to be supported at these, content and the efficiency of data in conversion and test job of exploitation can be strengthened as quick as thought.
In engine, employ the CD-ROM drive loading system after optimizing, the actual transmissions efficiency of CD-ROM drive can be given full play to number percent more than 80 by this system.
Therefore illusory engine platform has higher ease for use, particularly applies very extensive in the exploitation of software.
Software test (softwaretesting) operates program under defined terms, with discovery procedure mistake, weighs software quality, and to its process assessed that whether can meet design requirement.Therefore, carrying out testing for software be necessity is also important.
In testing scheme at present for illusory engine software, to software memory, code, and the amendment test of procotol is a kind of very important means, the many considerable safety leaks existed in software can be found, but relate to higher technical threshold in this method of testing, simultaneously testing efficiency is the problem of the unusual headache of tester always.
Current testing scheme has two kinds:
1, by instruments such as CheatEngine (cheating engine), location internal memory is searched for by numerical value visible in software, then test of modifying.
2, by the script that cracks, static scripted code of reading is pinpointed the problems.
But in above two schemes, carried out the scheme of testing by instruments such as CheateEngine, the data volume presented is large, need the fuzzy target data that navigates to of repeatedly repetitive operation ability, and be confined to the search of numerical value, therefore testing efficiency is lower.Carried out the scheme of testing by the script that cracks, then depend on the complexity of encryption, higher threshold is existed to tester; In addition, need to read locator key function in the magnanimity code of software, the labor intensive time is too much; After having revised, need re-encrypted and packing scripted code, in software running process, do test execution, observation test effect, therefore efficiency is very low.
Known based on above analysis, no matter be adopt cheating engine to search the scheme of element location internal memory to visible numerical value, the scheme of the script that still cracks, testing efficiency is all very low.
Summary of the invention
Embodiments provide a kind of method of testing of illusory engine software, and testing apparatus; For promoting Efficiency of Software Testing.
A method of testing for illusory engine software, comprising:
In tested illusory engine software operational process, carry out memory object search, obtain the class comprising data type;
Comprise the example under the class of data type described in traversal, obtain variable object;
The variable object that amendment obtains.
A kind of testing apparatus, comprising:
Internal memory search unit, in tested illusory engine software operational process, carries out memory object search, obtains the class comprising data type;
Example Traversal Unit, for travel through described internal memory search unit obtain described in comprise example under the class of data type, obtain variable object;
Object modification unit, for revising the variable object that described example Traversal Unit obtains.
As can be seen from the above technical solutions, the embodiment of the present invention has the following advantages: by tested illusory engine software operational process, to the search of memory object, obtains the class comprising data type; Then comprise the example under the class of data type described in traversal, obtaining variable object, thus the variable information of illusory engine software can be searched fast all sidedly, by accurately navigating to variable object, being no longer confined to numerical search; In addition, do not need to crack illusory engine software, do not need manual read's code yet, do not need amendment secret packing scripted code again yet.Therefore, compared to adopting cheating engine to search the scheme of element location internal memory to visible numerical value, and the scheme of the script that cracks, embodiment of the present invention testing efficiency is all higher, and has better MTD.
Accompanying drawing explanation
In order to be illustrated more clearly in the technical scheme in the embodiment of the present invention, below the accompanying drawing used required in describing embodiment is briefly introduced, apparently, accompanying drawing in the following describes is only some embodiments of the present invention, for those of ordinary skill in the art, under the prerequisite not paying creative work, other accompanying drawing can also be obtained according to these accompanying drawings.
Fig. 1 is embodiment of the present invention method flow schematic diagram;
Fig. 2 is the structural representation of embodiment of the present invention base class;
Fig. 3 is embodiment of the present invention function real-time decompiling interface schematic diagram;
Fig. 4 is embodiment of the present invention method flow schematic diagram;
Fig. 5 is embodiment of the present invention testing apparatus structural representation;
Fig. 6 is embodiment of the present invention testing apparatus structural representation;
Fig. 7 is embodiment of the present invention testing apparatus structural representation;
Fig. 8 is embodiment of the present invention testing apparatus structural representation.
Embodiment
In order to make the object, technical solutions and advantages of the present invention clearly, below in conjunction with accompanying drawing, the present invention is described in further detail, and obviously, described embodiment is only a part of embodiment of the present invention, instead of whole embodiments.Based on the embodiment in the present invention, those of ordinary skill in the art, not making other embodiments all obtained under creative work prerequisite, belong to the scope of protection of the invention.
Embodiments provide a kind of method of testing of illusory engine software, as shown in Figure 1, comprising:
101: in tested illusory engine software operational process, carry out memory object search, obtain the class comprising data type;
In embodiments of the present invention to the search of memory object as a rule, can be global memory's object search.Illusory engine software alleged by the embodiment of the present invention, refers to the software developed based on illusory engine platform.
Due in UE, all variablees, parameter, function class and bag are all regarded object, all objects all inherit same base class: UObject, all objects are all associated by predetermined several modes, therefore the embodiment of the present invention carries out internal memory search, and obtain comprise the class of data type scheme can be as follows: alternatively, above-mentioned carry out memory object search comprise:
Obtain the base class of above-mentioned illusory engine software, the incidence relation between the object being obtained above-mentioned illusory engine software by above-mentioned base class, by the incidence relation between the object of above-mentioned illusory engine software, determine the class comprising data type.
More specifically, the incidence relation between above-mentioned object comprises: three kinds of incidence relations: the incidence relation between the member of bag, class and class; Incidence relation between class and the example of class; And, the inheritance between class.
102: travel through the example under the above-mentioned class comprising data type, obtain variable object;
103: the variable object that amendment obtains.
Above embodiment, by tested illusory engine software operational process, to the search of memory object, obtains the class comprising data type; Then travel through the example under the above-mentioned class comprising data type, obtaining variable object, thus the variable information of illusory engine software can be searched fast all sidedly, by accurately navigating to variable object, being no longer confined to numerical search; In addition, do not need to crack illusory engine software, do not need manual read's code yet, do not need amendment secret packing scripted code again yet.Therefore, compared to adopting cheating engine to search the scheme of element location internal memory to visible numerical value, and the scheme of the script that cracks, embodiment of the present invention testing efficiency is all higher, and has better MTD.
The embodiment of the present invention, amendment variable object is carried out in tested illusory engine software operational process, variable object is modified rear illusory engine software and still runs in continuation and complete test job, and test job does not need interrupt software to run, and can promote testing efficiency.
Above embodiment is tested the amendment of variable, the embodiment of the present invention additionally provides the logical function of how accurately locating illusory engine software, and immediately revises code and run, and makes the scheme that testing efficiency promotes further, specific as follows: further, above-mentioned method of testing also comprises:
After receiving objective function to be tested, read the function byte code that above-mentioned objective function is corresponding in current memory;
The logic that decompiling obtains objective function is carried out by above-mentioned function byte code, and the logic of modified objective function.
In embodiments of the present invention, objective function is those Key Functions, and for software test, the function implementation of game being played to control action can think Key Functions, can be as a rule the function that circulation and conditional statement are corresponding.
Above scheme can obtain pseudo-source code by the mode of decompiling, and obtains the logic of objective function according to pseudo-source code; The embodiment of the present invention also further provides and improves the implementation of percent reduction, specific as follows: alternatively, carries out the logic that decompiling obtains objective function comprise above by above-mentioned function byte code:
Carry out decompiling by above-mentioned function byte code and obtain pseudo-source code, by the mode of pattern-recognition, the recursion instruction in above-mentioned pseudo-source code and conditional order are just identified, obtain the logic of objective function.
In the test process of illusory engine software, the logic that the logic that needing modifies tests is not all, main test be as a rule key logic, the key logic inside illusory engine software to be tested can have been identified accurately by the scheme of the embodiment of the present invention, therefore the embodiment of the present invention is based on the scheme that herein is provided the instant amendment logic testing having more directive property, specific as follows: the logic of above-mentioned modified objective function comprises: to scan the objective function obtained and obtain logic control instruction, and revise above-mentioned logic control instruction.
Following examples are applied as example by with illusory engine in Games Software, are described in detail the method for testing of the embodiment of the present invention.
The embodiment of the present invention needs the function realized to mainly contain: the functions such as the search of game global object, function Kinematic Positioning, decompiling and amendment.Below be illustrated as follows with regard to the specific implementation of these aspects respectively:
One, global memory's object search
In UE, all variablees, parameter, function, class, bag are all taken as an object, and all objects all inherit same base class: UObject, and all objects are associated by following relation, refer to shown in Fig. 2:
Wherein, Uobject is the title of base class;
Uobject*Outer; For: Objetthisobjectresidesin//object object is resident
Uclass*Class; For: the object of Classtheobjectbelongsto//class belongs to
GUObjObjects; For the list object of: Listofallobjects//all
FnameName; For: the name of Nameoftheobject//object
The three kinds of relations obtaining object are thus as follows:
Relation between the member of Packageclassmember//bag, class and class;
The relation of Calssinstance//between class and the example of class;
Inheritance between Calsscalsscalss//class;
Based on this conclusion, the embodiment of the present invention can adopt a set of data search mode fast: Int type (integer) data as all are all from the instantiation of UIntProperty out, by all examples below traversal UIntProperty, obtain the variable object of Int type data all in current memory, by that analogy, the variable object of other data type (such as: floating type, long etc.) can be obtained.
Two, function dynamic inverse compiling and amendment code
The embodiment of the present invention can obtain function byte code by starting with from internal memory under the state when game running, and data carry out decompiling to scale-of-two (if 4 be unit be then 16 systems) to utilize the basic thought of Fundamentals of Compiling, by pattern-recognition, circulation and conditional order are just identified again, obtain false code, can percent reduction be improved.
The instruction controlling execution sequence in UE only has two, and one is Ex_jump, and another is Ex_JumpIfNot, by they constituting circulations all in UE and conditional statement.Therefore, when decompiling, need could reduce more accurately to loop statement and conditional statement tectonic model, specific as follows:
The false code of While type circulation is as follows:
If 1:Ex_JumpIfNot4//condition is false jump to code line 4
The instruction performed in 2:..... //while statement
3:Ex_Jump1//jump back to code line 1
4:..... // other sentence instruction
The false code of if-else type conditional statement is as follows:
1:Ex_JumpIfNot4//jump to 4
2:..... // other instructions
3:Ex_Jump5//jump to 5
Next instruction of 4:..... //Ex_Jump
5:..... // other instructions
Utilize the model of the instruction controlling execution sequence different, while statement or if-else statement can be distinguished.Other conditional statement is also utilize same procedure to mate.
As shown in Figure 3, be the real-time decompiling surface chart of function.Figure 4 shows that the surface chart in implementation procedure of the embodiment of the present invention, comprise object address, object oriented, object type, to dependent variable, Outer (output) path, name variable, and address of variable.In the diagram, object address, is the address in internal memory, can be selected by tester, and in interface shown in the diagram, viewing area is the result of decompiling.Tester can modify to the function that decompiling obtains in viewing area.In this interface, additionally provide the little whole function amendment in side and cancel the enter key that current function all revises.
Embodiment of the present invention scheme, can by the bytecode of scanning objective function, find key logic instruction and revise, as if-else statement, show as in bytecode and carry out control byte code execution flow process by ex_jmp instruction, can directly scan if instruction, then be modified as contrary condition ex_ifnotjmp:
For(inti=0;i<scriptcount;i++)
{
// scanning if statement, finds logic redirect;
If(script[i]==Ex_jmp)
{
// scan jmp in if, directly change contrary condition into;
Script[i]=Ex_jmpifnot
}
}
Three, method of testing flow process, as shown in Figure 4:
401: the memory object search of the overall situation;
This step can with reference in previous embodiment about the specific implementation explanation that the memory object of the overall situation is searched for.
402: variable is revised;
Here variable amendment, can be the variable parameter receiving tester's setting, also can be the parameter by programming automatic generation, can be the parameter value according to data type of a variable stochastic generation.Specifically how to revise variable parameter, the embodiment of the present invention will not limit.
403: obtain example function;
The process obtaining example function with reference to the specific descriptions of previous embodiment, can not repeat them here.
404: precise positioning is to key logic;
How precise positioning with reference to the specific descriptions of previous embodiment, can not repeat them here to key logic.
405: the decompiling of function byte code;
How the decompiling of function byte code with reference to the specific descriptions of previous embodiment, can not repeat them here.
406: display byte decompiling result, tester's reading code finds test point;
407: Modification growth function logic;
Here Modification growth function logic, for testing tool, can be the function logics receiving tester's amendment.
408: perform test.
In a step 408, can by checking that the result of operation determines test result.
Above embodiment, is no longer confined to numerical search; In addition, do not need to crack illusory engine software, do not need manual read's code yet, do not need amendment secret packing scripted code again yet.Therefore, compared to adopting cheating engine to search the scheme of element location internal memory to visible numerical value, and the scheme of the script that cracks, embodiment of the present invention testing efficiency is all higher, and has better MTD.
In addition, by accurately locating the logical function of illusory engine software, and immediately revise code and run, making the scheme that testing efficiency promotes further.
The embodiment of the present invention additionally provides a kind of testing apparatus, as shown in Figure 5, comprising:
Internal memory search unit 501, in tested illusory engine software operational process, carries out memory object search, obtains the class comprising data type;
Example Traversal Unit 502, for travel through above-mentioned internal memory search unit 501 obtain the above-mentioned class comprising data type under example, obtain variable object;
Object modification unit 503, for revising the variable object that above-mentioned example Traversal Unit 502 obtains.
In embodiments of the present invention to the search of memory object as a rule, can be global memory's object search.
Above embodiment, by tested illusory engine software operational process, to the search of memory object, obtains the class comprising data type; Then travel through the example under the above-mentioned class comprising data type, obtaining variable object, thus the variable information of illusory engine software can be searched fast all sidedly, by accurately navigating to variable object, being no longer confined to numerical search; In addition, do not need to crack illusory engine software, do not need manual read's code yet, do not need amendment secret packing scripted code again yet.Therefore, compared to adopting cheating engine to search the scheme of element location internal memory to visible numerical value, and the scheme of the script that cracks, embodiment of the present invention testing efficiency is all higher, and has better MTD.
Due in UE, all variablees, parameter, function class and bag are all regarded object, all objects all inherit same base class: UObject, all objects are all associated by predetermined several modes, therefore the embodiment of the present invention carries out internal memory search, and the scheme that acquisition comprises the class of data type can be as follows: alternatively, above-mentioned internal memory search unit 501, for obtaining the base class of above-mentioned illusory engine software, incidence relation between the object being obtained above-mentioned illusory engine software by above-mentioned base class, by the incidence relation between the object of above-mentioned illusory engine software, determine the class comprising data type.
Alternatively, the incidence relation between above-mentioned object comprises: three kinds of incidence relations: the incidence relation between the member of bag, class and class; Incidence relation between class and the example of class; And, the inheritance between class.
Above embodiment is tested the amendment of variable, the embodiment of the present invention additionally provides the logical function of how accurately locating illusory engine software, and immediately revise code and run, make the scheme that testing efficiency promotes further, specific as follows: further, as shown in Figure 6, above-mentioned testing apparatus also comprises:
Function receiving element 601, for receiving objective function to be tested;
Bytecode reading unit 602, for reading above-mentioned objective function function byte code corresponding in current memory;
Logic determining unit 603, for carrying out by above-mentioned function byte code the logic that decompiling obtains objective function;
Logic Modification unit 604, for the logic of modified objective function.
In embodiments of the present invention, objective function is those Key Functions, and for software test, the function implementation of game being played to control action can think Key Functions, can be as a rule the function that circulation and conditional statement are corresponding.
Above scheme can obtain pseudo-source code by the mode of decompiling, and obtains the logic of objective function according to pseudo-source code; The embodiment of the present invention also further provides the implementation improving percent reduction, specific as follows: alternatively, above-mentioned logic determining unit 603, pseudo-source code is obtained for carrying out decompiling by above-mentioned function byte code, by the mode of pattern-recognition, the recursion instruction in above-mentioned pseudo-source code and conditional order are just identified, obtain the logic of objective function.
In the test process of illusory engine software, the logic that the logic that needing modifies tests is not all, main test be as a rule key logic, the key logic inside illusory engine software to be tested can have been identified accurately by the scheme of the embodiment of the present invention, therefore the embodiment of the present invention is based on the scheme that herein is provided the instant amendment logic testing having more directive property, specific as follows: alternatively, logic Modification unit 604, obtain logic control instruction for scanning the objective function obtained, and revise above-mentioned logic control instruction.
The embodiment of the present invention additionally provides another kind of testing apparatus, as shown in Figure 7, comprising: receiver 701, transmitter 702, processor 703 and storer 704;
Wherein, above-mentioned processor 703, in tested illusory engine software operational process, carries out memory object search, obtains the class comprising data type; Travel through the example under the above-mentioned class comprising data type, obtain variable object; The variable object that amendment obtains.
In embodiments of the present invention to the search of memory object as a rule, can be global memory's object search.
Above embodiment, by tested illusory engine software operational process, to the search of memory object, obtains the class comprising data type; Then travel through the example under the above-mentioned class comprising data type, obtaining variable object, thus the variable information of illusory engine software can be searched fast all sidedly, by accurately navigating to variable object, being no longer confined to numerical search; In addition, do not need to crack illusory engine software, do not need manual read's code yet, do not need amendment secret packing scripted code again yet.Therefore, compared to adopting cheating engine to search the scheme of element location internal memory to visible numerical value, and the scheme of the script that cracks, embodiment of the present invention testing efficiency is all higher, and has better MTD.
Due in UE, all variablees, parameter, function class and bag are all regarded object, all objects all inherit same base class: UObject, all objects are all associated by predetermined several modes, therefore the embodiment of the present invention carries out internal memory search, and the scheme that acquisition comprises the class of data type can be as follows: alternatively, above-mentioned processor 703, comprise for carrying out memory object search: the base class obtaining above-mentioned illusory engine software, incidence relation between the object being obtained above-mentioned illusory engine software by above-mentioned base class, by the incidence relation between the object of above-mentioned illusory engine software, determine the class comprising data type.
More specifically, the incidence relation between above-mentioned object comprises: three kinds of incidence relations: the incidence relation between the member of bag, class and class; Incidence relation between class and the example of class; And, the inheritance between class.
Above embodiment is tested the amendment of variable, the embodiment of the present invention additionally provides the logical function of how accurately locating illusory engine software, and immediately revise code and run, make the scheme that testing efficiency promotes further, specific as follows: further, above-mentioned processor 703, for after receiving objective function to be tested, reads the function byte code that above-mentioned objective function is corresponding in current memory; The logic that decompiling obtains objective function is carried out by above-mentioned function byte code, and the logic of modified objective function.
In embodiments of the present invention, objective function is those Key Functions, and for software test, the function implementation of game being played to control action can think Key Functions, can be as a rule the function that circulation and conditional statement are corresponding.
Above scheme can obtain pseudo-source code by the mode of decompiling, and obtains the logic of objective function according to pseudo-source code; The embodiment of the present invention also further provides the implementation improving percent reduction, specific as follows: alternatively, above-mentioned processor 703, and the logic obtaining objective function for being carried out decompiling by above-mentioned function byte code is comprised:
Carry out decompiling by above-mentioned function byte code and obtain pseudo-source code, by the mode of pattern-recognition, the recursion instruction in above-mentioned pseudo-source code and conditional order are just identified, obtain the logic of objective function.
In the test process of illusory engine software, the logic that the logic that needing modifies tests is not all, main test be as a rule key logic, the key logic inside illusory engine software to be tested can have been identified accurately by the scheme of the embodiment of the present invention, therefore the embodiment of the present invention is based on the scheme that herein is provided the instant amendment logic testing having more directive property, specific as follows: above-mentioned processor 703, logic for modified objective function comprises: scan the objective function obtained and obtain logic control instruction, and revise above-mentioned logic control instruction.
Fig. 8 is a kind of testing apparatus structural representation that the embodiment of the present invention provides, this testing apparatus 800 can produce larger difference because of configuration or performance difference, one or more central processing units (centralprocessingunits can be comprised, CPU) 822 (such as, one or more processors) and storer 832, one or more store the storage medium 830 (such as one or more mass memory units) of application program 842 or data 844.Wherein, storer 832 and storage medium 830 can be of short duration storages or store lastingly.The program being stored in storage medium 830 can comprise one or more modules (diagram does not mark), and each module can comprise a series of command operatings in testing apparatus.Further, central processing unit 822 can be set to communicate with storage medium 830, and testing apparatus 800 performs a series of command operatings in storage medium 830.
Testing apparatus 800 can also comprise one or more power supplys 826, one or more wired or wireless network interfaces 850, one or more IO interface 858, and/or, one or more operating system 841, such as WindowsServerTM, MacOSXTM, UnixTM, LinuxTM, FreeBSDTM etc.
Step in above-described embodiment performed by testing apparatus can based on the testing apparatus structure shown in this Fig. 8.
It should be noted that in above-mentioned testing apparatus embodiment, included unit is carry out dividing according to function logic, but is not limited to above-mentioned division, as long as can realize corresponding function; In addition, the concrete title of each functional unit, also just for the ease of mutual differentiation, is not limited to protection scope of the present invention.
In addition, one of ordinary skill in the art will appreciate that all or part of step realized in above-mentioned each embodiment of the method is that the hardware that can carry out instruction relevant by program completes, corresponding program can be stored in a kind of computer-readable recording medium, the above-mentioned storage medium mentioned can be ROM (read-only memory), disk or CD etc.
These are only the present invention's preferably embodiment; but protection scope of the present invention is not limited thereto; anyly be familiar with those skilled in the art in the technical scope that the embodiment of the present invention discloses, the change that can expect easily or replacement, all should be encompassed within protection scope of the present invention.Therefore, protection scope of the present invention should be as the criterion with the protection domain of claim.

Claims (12)

1. a method of testing for illusory engine software, is characterized in that, comprising:
In tested illusory engine software operational process, carry out memory object search, obtain the class comprising data type;
Comprise the example under the class of data type described in traversal, obtain variable object;
The variable object that amendment obtains.
2. method of testing according to claim 1, is characterized in that, described in carry out memory object search and comprise:
Obtain the base class of described illusory engine software, the incidence relation between the object being obtained described illusory engine software by described base class, by the incidence relation between the object of described illusory engine software, determine the class comprising data type.
3. method of testing according to claim 2, it is characterized in that, the incidence relation between described object comprises: three kinds of incidence relations: the incidence relation between the member of bag, class and class; Incidence relation between class and the example of class; And, the inheritance between class.
4. method of testing according to claim 1, it is characterized in that, described method of testing also comprises:
After receiving objective function to be tested, read the function byte code that described objective function is corresponding in current memory;
The logic that decompiling obtains objective function is carried out by described function byte code, and the logic of modified objective function.
5. method of testing according to claim 4, is characterized in that, describedly carries out by described function byte code the logic that decompiling obtains objective function and comprises:
Carry out decompiling by described function byte code and obtain pseudo-source code, by the mode of pattern-recognition, the recursion instruction in described pseudo-source code and conditional order are just identified, obtain the logic of objective function.
6. method according to claim 5, it is characterized in that, the logic of described modified objective function comprises:
Scan the objective function obtained and obtain logic control instruction, and revise described logic control instruction.
7. a testing apparatus, is characterized in that, comprising:
Internal memory search unit, in tested illusory engine software operational process, carries out memory object search, obtains the class comprising data type;
Example Traversal Unit, for travel through described internal memory search unit obtain described in comprise example under the class of data type, obtain variable object;
Object modification unit, for revising the variable object that described example Traversal Unit obtains.
8. testing apparatus according to claim 7, is characterized in that,
Described internal memory search unit, for obtaining the base class of described illusory engine software, incidence relation between the object being obtained described illusory engine software by described base class, by the incidence relation between the object of described illusory engine software, determines the class comprising data type.
9. testing apparatus according to claim 8, it is characterized in that, the incidence relation between described object comprises: three kinds of incidence relations: the incidence relation between the member of bag, class and class; Incidence relation between class and the example of class; And, the inheritance between class.
10. testing apparatus according to claim 7, it is characterized in that, described testing apparatus also comprises:
Function receiving element, for receiving objective function to be tested;
Bytecode reading unit, for reading described objective function function byte code corresponding in current memory;
Logic determining unit, for carrying out by described function byte code the logic that decompiling obtains objective function;
Logic Modification unit, for the logic of modified objective function.
11. testing apparatuss according to claim 10, is characterized in that,
Described logic determining unit, obtains pseudo-source code for carrying out decompiling by described function byte code, is just identified, obtain the logic of objective function by the mode of pattern-recognition to the recursion instruction in described pseudo-source code and conditional order.
12., according to testing apparatus described in claim 11, is characterized in that,
Logic Modification unit, obtains logic control instruction for scanning the objective function obtained, and revises described logic control instruction.
CN201410225166.3A 2014-05-26 2014-05-26 A kind of test method and test equipment of illusory engine software Active CN105204980B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410225166.3A CN105204980B (en) 2014-05-26 2014-05-26 A kind of test method and test equipment of illusory engine software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410225166.3A CN105204980B (en) 2014-05-26 2014-05-26 A kind of test method and test equipment of illusory engine software

Publications (2)

Publication Number Publication Date
CN105204980A true CN105204980A (en) 2015-12-30
CN105204980B CN105204980B (en) 2018-10-19

Family

ID=54952674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410225166.3A Active CN105204980B (en) 2014-05-26 2014-05-26 A kind of test method and test equipment of illusory engine software

Country Status (1)

Country Link
CN (1) CN105204980B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957954A (en) * 2017-12-19 2018-04-24 郑州云海信息技术有限公司 The method and system of test data security is improved under a kind of linux system
CN108845934A (en) * 2018-05-24 2018-11-20 深圳市腾讯网络信息技术有限公司 The localization method and device in memory overflow source, storage medium, electronic device
CN109446814A (en) * 2018-09-30 2019-03-08 北京金山安全软件有限公司 Vulnerability detection method and device
CN109522146A (en) * 2018-11-15 2019-03-26 腾讯音乐娱乐科技(深圳)有限公司 The method, apparatus and storage medium of abnormality test are carried out to client
CN110275836A (en) * 2019-06-27 2019-09-24 深圳市腾讯信息技术有限公司 Safety detecting method, device and the storage medium of illusory engine application
CN113608727A (en) * 2021-08-04 2021-11-05 网易(杭州)网络有限公司 Code processing method, device and system for visual programming
CN117234935A (en) * 2023-09-28 2023-12-15 重庆赛力斯新能源汽车设计院有限公司 Test method and device based on illusion engine, electronic equipment and storage medium
CN117234935B (en) * 2023-09-28 2024-05-14 重庆赛力斯新能源汽车设计院有限公司 Test method and device based on illusion engine, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706852A (en) * 2009-11-17 2010-05-12 珠海金山软件股份有限公司 Online game password protecting device and method thereof
GB2465772A (en) * 2008-11-27 2010-06-02 Sony Comp Entertainment Europe Analysing memory accessed by an application
CN101884842A (en) * 2009-05-14 2010-11-17 灰熊(北京)科技有限公司 Method for flexibly scoring in table games
CN103020415A (en) * 2011-09-28 2013-04-03 盛趣信息技术(上海)有限公司 Method, device and system for preventing game cheating

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2465772A (en) * 2008-11-27 2010-06-02 Sony Comp Entertainment Europe Analysing memory accessed by an application
CN101884842A (en) * 2009-05-14 2010-11-17 灰熊(北京)科技有限公司 Method for flexibly scoring in table games
CN101706852A (en) * 2009-11-17 2010-05-12 珠海金山软件股份有限公司 Online game password protecting device and method thereof
CN103020415A (en) * 2011-09-28 2013-04-03 盛趣信息技术(上海)有限公司 Method, device and system for preventing game cheating

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957954A (en) * 2017-12-19 2018-04-24 郑州云海信息技术有限公司 The method and system of test data security is improved under a kind of linux system
CN108845934A (en) * 2018-05-24 2018-11-20 深圳市腾讯网络信息技术有限公司 The localization method and device in memory overflow source, storage medium, electronic device
CN109446814A (en) * 2018-09-30 2019-03-08 北京金山安全软件有限公司 Vulnerability detection method and device
CN109522146A (en) * 2018-11-15 2019-03-26 腾讯音乐娱乐科技(深圳)有限公司 The method, apparatus and storage medium of abnormality test are carried out to client
CN110275836A (en) * 2019-06-27 2019-09-24 深圳市腾讯信息技术有限公司 Safety detecting method, device and the storage medium of illusory engine application
CN110275836B (en) * 2019-06-27 2024-04-19 深圳市腾讯信息技术有限公司 Security test method, device and storage medium for illusion engine application
CN113608727A (en) * 2021-08-04 2021-11-05 网易(杭州)网络有限公司 Code processing method, device and system for visual programming
CN113608727B (en) * 2021-08-04 2023-07-25 网易(杭州)网络有限公司 Code processing method, device and system for visual programming
CN117234935A (en) * 2023-09-28 2023-12-15 重庆赛力斯新能源汽车设计院有限公司 Test method and device based on illusion engine, electronic equipment and storage medium
CN117234935B (en) * 2023-09-28 2024-05-14 重庆赛力斯新能源汽车设计院有限公司 Test method and device based on illusion engine, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN105204980B (en) 2018-10-19

Similar Documents

Publication Publication Date Title
CN105204980A (en) Method for testing virtual engine software and testing equipment
CN110554965B (en) Automated fuzz testing method, related equipment and computer readable storage medium
Harel et al. Synthesis revisited: Generating statechart models from scenario-based requirements
CN107077414B (en) Diagnostic workflow for production commissioning
CN110008113B (en) Test method and device and electronic equipment
US7681180B2 (en) Parameterized test driven development
CN100541445C (en) A kind of program testing system and method
US7895575B2 (en) Apparatus and method for generating test driver
CN101414278B (en) Method for debugging binary application program based on dynamic inverse compiling technique
JPH02272645A (en) Method for supporting program debugging
JP6904043B2 (en) Input discovery for unknown program binaries
CN107463500A (en) Adjustment method, medium, system and the computing device of test script
CN110837472B (en) Browser testing method and device and computer equipment
Yan et al. Widget-sensitive and back-stack-aware GUI exploration for testing android apps
Aljamaan et al. Specifying trace directives for UML attributes and state machines
Harman Scaling genetic improvement and automated program repair
CN106407118A (en) Method and device for testing user terminal
Yang et al. Memoise: a tool for memoized symbolic execution
CN106560797B (en) A kind of unit test system and method based on debugger
CN104978227B (en) A kind of course control method, device and system
Jungblut et al. Source-to-Source Instrumentation for Profiling Runtime Behavior of C++ Containers
JPH0773044A (en) Method and device for optimization compilation
Cabac et al. A monitoring toolset for Paose
Liu et al. Extracting Inline Tests from Unit Tests
Tenaglia et al. Baselining Algorithmic and Side-Channel Issues With Challenges Exploitation (BASIC)

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