CN103955368B - A kind of adaptive support system of software obfuscation and development approach - Google Patents

A kind of adaptive support system of software obfuscation and development approach Download PDF

Info

Publication number
CN103955368B
CN103955368B CN201410175451.9A CN201410175451A CN103955368B CN 103955368 B CN103955368 B CN 103955368B CN 201410175451 A CN201410175451 A CN 201410175451A CN 103955368 B CN103955368 B CN 103955368B
Authority
CN
China
Prior art keywords
fuzzy
adaption
adaptive
self
logic
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.)
Active
Application number
CN201410175451.9A
Other languages
Chinese (zh)
Other versions
CN103955368A (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.)
PLA University of Science and Technology
Original Assignee
PLA University of Science and Technology
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 PLA University of Science and Technology filed Critical PLA University of Science and Technology
Priority to CN201410175451.9A priority Critical patent/CN103955368B/en
Publication of CN103955368A publication Critical patent/CN103955368A/en
Application granted granted Critical
Publication of CN103955368B publication Critical patent/CN103955368B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

The invention discloses a kind of adaptive support system of software obfuscation and development approach.The support system includes:Software obfuscation adaptive visualization editor and emulation testing module, software obfuscation adaptive logic persistent storage module, fuzzy self-adaption Aspect facilities automatically-generating module, fuzzy logic basic operation module, fuzzy logic enforcement engine module.The development approach based on the adaptive support system of software obfuscation there is provided field language-specific to realize the editor of software obfuscation adaptive strategy, and syntax check is carried out to fuzzy self-adaption strategy, visual simulating and test then is carried out to fuzzy self-adaption logic;Last is automatically executable programming language Aspect codes by the fuzzy self-adaption logic transition based on field language-specific;The Aspect automatically generated can be woven into using general Aspect system for weaving to inside target software.The present invention shields the fuzzy control technology details of complexity, and for software obfuscation, adaptively exploitation provides visualization, the supporting method automated.

Description

A kind of adaptive support system of software obfuscation and development approach
Technical field
The invention belongs to software adaptive technique field, particularly a kind of adaptive support system of software obfuscation and based on this The adaptive development approach of software obfuscation of system.
Background technology
Current software systems face increasingly frequently changing for external environment condition and demand, and these changes can be to disturb Form, operation continuity and service availability to complicated software system (such as Military Information System) are adversely affected, and are made Into the problems such as interrupting, service unavailable.Software is adaptive to be considered as the method that software tackles variation issue, and its core concept is just It is the thought with feedback closed loop (closed-loop), using software as the adjustable object of dynamic, basis in the process of running The change of perception is online self to be adapted to new environment and demand.Software adaptive process is inherently a kind of to environment Frequently interactive process is carried out with user.
However, interacted closely with environment and user so that the adaptive ring of software is inevitably present uncertainty, and This uncertainty often appears as ambiguity again, data inexactness, user's request expression caused by such as adverse circumstances interference Ambiquity etc..How to tackle and handle the ambiguity in adaptive ring, realize that the CMIS under hazy condition is adaptive, it has also become One urgent problem to be solved.And the adaptive method of software obfuscation is considered as one kind and can handled directly and naturally adaptively A kind of effective ways of ambiguity, its basic thought is that fuzzy control theory is incorporated into software Research on adaptive so that soft Part shows such a form:In opening, dynamic, the computing environment (such as battlefield surroundings) of difficult control, believe in environment and demand The complete and accurate acquisition of breath can not possibly, the part to external change or it is inaccurate perceive under inevitable constraint, software Can be based on the ambiguity information such as the uncertain and incomplete changes in demand perceived and environmental key-element change, by fuzzy Logic and evolution of feedback controlling theory, it is automatic to carry out fuzzy reasoning and decision-making, adjust parameter, the structure and behavior of itself.
Than conventional software development process, software obfuscation, which is adaptively developed, needs certain fuzzy control theory knowledge, tool Have certain complexity, this is still a more difficult thing for software developer, cause soft project with Control the presence knowledge wide gap between engineering.Thus need corresponding software support system to support software obfuscation adaptively to open Hair, mitigates software developer's burden.But, the existing adaptive support system of software, the more famous IBM such as the U.S. ACT, the Rainbow RAIDE of Carnegie Mellon Univ USA, StarMX of Canadian University of Waterloo (CA) Waterloo, Ontario, N2L3GI Canada etc., are not supported still pair The processing of adaptive fuzzy, it is impossible to meet the requirement that software obfuscation is adaptively engineered realization.
The content of the invention
It is an object of the invention to provide a kind of adaptive support system of software obfuscation and development approach, the system and method Visual edit, test, emulation, storage and the executable journey of automation conversion generation of software obfuscation adaptive logic can be realized The function of sequence.
The technical solution for realizing the object of the invention is:
A kind of adaptive support system of software obfuscation, the support system supports software obfuscation adaptive logic visual edit Generate, specifically include with automation:Software obfuscation adaptive visualization editor adaptively patrols with emulation testing module, software obfuscation Volume persistent storage module, fuzzy self-adaption Aspect facilities automatically-generating module, fuzzy logic basic operation module, fuzzy patrol Enforcement engine module is collected, wherein fuzzy logic basic operation module is respectively connected to software obfuscation adaptive visualization editor and emulation Test module, fuzzy logic enforcement engine module, fuzzy self-adaption Aspect facility automatically-generating modules, fuzzy logic, which is performed, draws Module is held up to give birth to automatically with emulation testing module, fuzzy self-adaption Aspect facilities with software obfuscation adaptive visualization editor respectively It is connected into module, software obfuscation adaptive logic persistent storage module and software obfuscation adaptive visualization editor and emulation Test module is connected, and software obfuscation adaptive visualization editor accesses fuzzy self-adaption Aspect facilities with emulation testing module Automatically-generating module, each module effect is as follows:
Software obfuscation adaptive visualization editor provides the software obfuscation based on field language-specific with emulation testing module Adaptive strategy visual edit and test environment, wherein fuzzy self-adaption strategy use the form of " if-then " fuzzy rule Expressed;
Software obfuscation adaptive logic persistent storage module is realized matches somebody with somebody to the fuzzy self-adaption strategy and correlation that edit Put carry out persistent storage;
Fuzzy self-adaption Aspect facilities automatically-generating module by the fuzzy self-adaption logic based on field language-specific from It is dynamic to be converted into based on the Aspect facilities of Native language and a data blackboard object;
Basic operation and algorithm of the fuzzy logic basic operation module realization to fuzzy logic are managed;
The total activation of fuzzy logic enforcement engine block supports system, is responsible for explaining fuzzy self-adaption strategy holding OK, fuzzy self-adaption reasoning computing is completed.
A kind of adaptive development approach of software obfuscation based on the adaptive support system of the software obfuscation, this method is realized Software obfuscation adaptive logic visual edit is generated with automation, and step is as follows:
Step 1, it is fuzzy certainly using software obfuscation adaptive visualization editor and emulation testing module editor and emulation testing Adaptive strategy:Fuzzy self-adaption input, output variable are determined according to fuzzy self-adaption demand and fuzzy self-adaption target first, so Fuzzy self-adaption variable is subjected to Fuzzy processing afterwards;Secondly fuzzy self-adaption strategy of the editor based on fuzzy rule, then right The fuzzy self-adaption strategy editted carries out syntax error inspection;Emulation testing finally is carried out to fuzzy self-adaption strategy;
Step 2, fuzzy self-adaption strategy is stored:Fuzzy operation is carried out first with fuzzy logic basic operation module Configuration, then sets store path using fuzzy self-adaption logic persistent storage module, stores above-mentioned configuration information and step 1 The fuzzy self-adaption input, output variable, fuzzy self-adaption rule, realize the recycling of fuzzy self-adaption logic and are total to Enjoy;
Step 3, generation fuzzy self-adaption Aspect:Given birth to automatically using fuzzy self-adaption Aspect facilities automatically-generating module Into the fuzzy self-adaption Aspect files based on executable language codes;
Step 4, braiding fuzzy self-adaption Aspect:Instrument is woven by general Aspect, step 3 is generated Aspect files are woven into target software, so as to be internally formed the adaptive ring of software obfuscation in target software;
Compared with prior art, its remarkable advantage is the present invention:(1) provide patterned special based on field for developer The fuzzy self-adaption logical edit of attribute speech, emulation, test environment;(2) automatically generate based on the fuzzy adaptive of Native language Answer code, make developer without also can be more convenient in the case of deeply understanding fuzzy control theory carry out software obfuscation Adaptive development;(3) preservation there is provided fuzzy self-adaption logic and import feature, and establish fuzzy logic storage The standard of form, facilitates shared between different groups, so as to reduce the development difficulty that software obfuscation is adaptive, improves Software development efficiency.
Brief description of the drawings
Fig. 1 is the general structure of invention software fuzzy self-adaption support system and the theory diagram of development approach.
Fig. 2 is editor and the structure chart of emulation testing module of fuzzy self-adaption logic in present system.
Fig. 3 is the persistent storage function structure chart of software obfuscation adaptive logic in present system.
Fig. 4 is the principle schematic of fuzzy self-adaption Aspect facility automatically-generating modules in present system.
Fig. 5 is data communication realization mechanism figure between fuzzy self-adaption Aspect facilities in present system.
Fig. 6 is fuzzy self-adaption Aspect facilities automatic batch generation schematic diagram in present system.
Fig. 7 is the visual edit and automatic generating method schematic diagram of invention software fuzzy self-adaption logic.
Fig. 8 is software obfuscation adaptation rule editor and the schematic diagram of emulation in the embodiment of the present invention.
Embodiment
Being capable of support programs fuzzy self-adaption logic visual edit, test, emulation and automatic the invention provides one kind The system and the adaptive development approach of software obfuscation based on the system of executable program code are generated, below in conjunction with the accompanying drawings and tool Body embodiment is described in further detail to the present invention.
With reference to Fig. 1, invention software fuzzy self-adaption support system, the support system supports software obfuscation adaptive logic Visual edit is generated with automation, is specifically included:Software obfuscation adaptive visualization editor and emulation testing module, software mould Self-adaptive fuzzy logic persistent storage module, fuzzy self-adaption Aspect facilities automatically-generating module, fuzzy logic basic operation It is adaptively visual that module, fuzzy logic enforcement engine module, wherein fuzzy logic basic operation module are respectively connected to software obfuscation Change editor and emulation testing module, fuzzy logic enforcement engine module, fuzzy self-adaption Aspect facility automatically-generating modules, mould Fuzzy logic enforcement engine module respectively with software obfuscation adaptive visualization editor and emulation testing module, fuzzy self-adaption Aspect facility automatically-generating modules are connected, and software obfuscation adaptive logic persistent storage module and software obfuscation are adaptive Visual edit is connected with emulation testing module, and software obfuscation adaptive visualization editor and the access of emulation testing module are fuzzy Adaptive Aspect facility automatically-generating modules, each module effect is as follows:
1st, software obfuscation adaptive visualization editor and emulation testing module provide the software mould based on field language-specific Self-adaptive fuzzy strategy visual edit and test environment, wherein fuzzy self-adaption strategy use the shape of " if-then " fuzzy rule Formula is expressed;
2nd, software obfuscation adaptive logic persistent storage module realizes the fuzzy self-adaption strategy and correlation to editting Configuration carries out persistent storage;Specially:
(1) the software obfuscation adaptation rule editted is stored using XML format;
(2) configuration information is stored using XML format, the configuration information includes:It is fuzzy reasoning parameter configuration, fixed The input/output variable of justice and the fuzzy partition of the input/output variable;
3rd, fuzzy self-adaption Aspect facilities automatically-generating module is by the fuzzy self-adaption logic based on field language-specific It is automatically converted to based on the Aspect facilities of Native language and a data blackboard object, is specially:
(1) module object-oriented, provided with special Aspect code building classes, obtains fuzzy self-adaption from editing environment Logic relevant information;
(2) according to user the predetermined configuration of adaptive facility class name, store path is disposably generated Fuzzy Perceptron Model, Fuzzy self-adaption device, fuzzy three Aspect facilities of actuator and a data blackboard object, the data blackboard object are used for mould Paste perceptron Aspect, the interaction of fuzzy self-adaption device Aspect and fuzzy actuator Aspect in target software;
4th, basic operation and algorithm of the fuzzy logic basic operation module realization to fuzzy logic is managed;
5th, the total activation of fuzzy logic enforcement engine block supports system, is responsible for explaining fuzzy self-adaption strategy holding OK, fuzzy self-adaption reasoning computing is completed.
Software obfuscation adaptive development approach of the invention based on the adaptive support system of the software obfuscation, this method is real Existing software obfuscation adaptive logic visual edit is generated with automation, and step is as follows:
Step 1, it is fuzzy certainly using software obfuscation adaptive visualization editor and emulation testing module editor and emulation testing Adaptive strategy:Fuzzy self-adaption input, output variable are determined according to fuzzy self-adaption demand and fuzzy self-adaption target first, so Fuzzy self-adaption variable is subjected to Fuzzy processing afterwards;Secondly fuzzy self-adaption strategy of the editor based on fuzzy rule, then right The fuzzy self-adaption strategy editted carries out syntax error inspection;Emulation testing finally is carried out to fuzzy self-adaption strategy;Specifically For:
(1) adaptive dependent variable is determined:Mould is determined according to the fuzzy self-adaption target of fuzzy self-adaption demand and target software Self-adaptive fuzzy input, output variable, required mould is added in software obfuscation adaptive visualization editor and emulation testing module one by one Self-adaptive fuzzy input, output variable;
(2) the adaptive dependent variable of obfuscation:In software obfuscation adaptive visualization editor and emulation testing module by step (1) The fuzzy self-adaption added is inputted, output variable carries out fuzzy partition, generates multiple fuzzy language values, and fuzzy for each Linguistic Value defines membership function;
(3) fuzzy self-adaption strategy is edited:In software obfuscation adaptive visualization editor and emulation testing module editor's base In the fuzzy self-adaption strategy of fuzzy rule, syntax error inspection then is carried out to the fuzzy self-adaption strategy editted;
(4) fuzzy self-adaption strategy is tested:In software obfuscation adaptive visualization editor and emulation testing module to editor Good fuzzy self-adaption strategy is patterned emulation and tested, to find the logic error implied in fuzzy self-adaption reasoning, Test process needs fuzzy logic basic operation module, the support of fuzzy logic enforcement engine module;
Step 2, fuzzy self-adaption strategy is stored:Fuzzy operation is carried out first with fuzzy logic basic operation module Configuration, then sets store path using fuzzy self-adaption logic persistent storage module, stores above-mentioned configuration information and step 1 The fuzzy self-adaption input, output variable, fuzzy self-adaption rule, realize the recycling of fuzzy self-adaption logic and are total to Enjoy;
Step 3, generation fuzzy self-adaption Aspect:Given birth to automatically using fuzzy self-adaption Aspect facilities automatically-generating module Into the fuzzy self-adaption Aspect files based on executable language codes;
Step 4, braiding fuzzy self-adaption Aspect:Instrument is woven by general Aspect, step 3 is generated Aspect files are woven into target software, so as to be internally formed the adaptive ring of software obfuscation in target software;
The realization of above-mentioned steps 1~4 is based on the support of fuzzy logic enforcement engine module.
The present invention is described in further detail with reference to specific embodiment.
Embodiment 1
The adaptive support system of software obfuscation that the present invention is provided can be by entering to FuzzyLite fuzzy logic Software tools Row extension is realized.
Fig. 1 is the general structure of the adaptive support system of software obfuscation, and the system includes software obfuscation adaptive visualization Editor is automatic with Simulation Test Environment, software obfuscation adaptive logic persistent storage module, fuzzy self-adaption Aspect facilities 5 parts such as generation module, fuzzy logic basic operation module, fuzzy logic enforcement engine module, what it is in core is fuzzy Logic enforcement engine, the interphase interaction of these modules constitutes a preliminary support software obfuscation adaptive relatively efficiently The back-up environment developed.The major function of these modules and each other contact difference it is as follows:
(1) software obfuscation adaptive visualization editor and emulation testing module
The module mainly provides software obfuscation adaptive strategy visual edit and test wrapper based on field language-specific Border.In this module, fuzzy control language (is also known as using " if-then " the fuzzy rule definition statement of field of fuzzy control Fuzzy Control Language, FCL) as the definitional language of software obfuscation adaptive strategy, use simple, easy-to-use reason Solution, and close to the mode of thinking of ordinary people;Meanwhile, the perception of fuzzy self-adaption ring is also provided, the input and output language of link is performed Say the functions such as shape setting, the inference rule selection of fuzzy partition, membership function of variable;The module can to edit from Adaptive strategy carries out syntax check, carries out miscue to the adaptation rule for not meeting grammer, moreover it is possible to fuzzy self-adaption plan Emulation testing is slightly carried out, carrys out the result of decision directly perceived for watching analysis fuzzy self-adaption, so as to further according to simulation result The principle of optimality.
(2) software obfuscation adaptive logic persistent storage module
The module is realized carries out persistent storage to the fuzzy self-adaption rule and relevant configuration that edit.Fuzzy self-adaption The information of logic has the feature of tree data structure, so using the XML document of standard here as the load of persistent storage Body.In order to realize the formatting to fuzzy self-adaption logic and persistent storage, the module additionally provide corresponding export (writing), It is loaded into (reading) operation.Export operation is first by fuzzy self-adaption rule, linguistic variable fuzzy partition, the degree of membership in editing environment The data such as function carry out the dendronized processing of standard, and then this tree structure information is written in XML file.Being loaded into operation is The inverse process of operation is exported, i.e., the corresponding information of fuzzy self-adaption logic is parsed from XML file, and by these information in figure Shown in the adaptive logic editing environment of shape.
(3) software obfuscation adaptive logic Aspect facility automatically-generating modules
The module is responsible for being automatically converted to the fuzzy self-adaption logic based on field language-specific to be based on Native language The Aspect facilities of (the present embodiment uses C++), including Fuzzy Perceptron Model Aspect, fuzzy self-adaption device Aspect and mould Actuator Aspect is pasted, in order to which fuzzy self-adaption logic directly is woven directly into the executable software based on Native language In system.Specifically, the module is collected essential information by user session frame and preserved including Aspect titles, file first Position etc., then according to the fuzzy self-adaption logic defined in visual edit environment, generates corresponding class and Aspect. The module also generates a software data bus based on global array simultaneously, for perceptron Aspect, adaptive device The data exchange channel interacted between Aspect and fuzzy self-adaption Aspect inside target software.It is woven into target soft Aspect facilities after part are needed with obscuring when performing the operation such as obfuscation computing, fuzzy reasoning computing, sharpening computing Logic engine module is interacted.
(4) fuzzy logic engine module
The module is the total activation of support system, is responsible for explaining execution, fuzzy self-adaption to fuzzy self-adaption strategy Reasoning computing etc..Due to the fuzzy logic operation that this module is mainly completed, therefore, this part is directly from FuzzyLite relayings Hold.
(5) fuzzy logic basic operation module
The module is responsible for basic operation to fuzzy logic and algorithm is managed, including asking friendship, ask to fuzzy set Union, membership function storehouse etc. is managed.The module is also directly to be inherited from from FuzzyLite.
Fig. 2 is that fuzzy self-adaption logical edit and the totality of emulation testing module realize structure, when the clear and definite software of developer After the conceptual framework of fuzzy self-adaption ring, so that it may editor and the test work of software obfuscation adaptive logic are carried out using the module Make, be specially:
(1) obfuscation of adaptive ring input/output variable.Realize to the link variable such as perception, execution in adaptive ring Fuzzy processing, including membership function definition, the determination of fuzzy partition number etc..
(2) editor of fuzzy self-adaption strategy and syntax check.Fuzzy self-adaption strategy is carried out based on FCL fuzzy rules Editor, while carrying out syntax check to the strategy after editor.
(3) fuzzy self-adaption logical simulation is tested.Emulation is patterned to the fuzzy self-adaption logic after the completion of editor Test, the result of decision of dynamic analysis adaptive logic, while the feedback optimized fuzzy self-adaption strategy of analysis result can be utilized.
Fig. 3 is the general structure of support system persistent storage module.The information of fuzzy self-adaption logic has tree-shaped number According to the feature of structure, so using the XML document of standard here as the carrier of persistent storage.In realization, still use Target-oriented thought, respectively defines the software entitys such as tree constructor class, XML read-write operations classes, storage class to be responsible for completion Persistent storage function based on XML.XML file storage format is as shown in table 1 defined in of the invention.In addition, for convenience The XML document of generation is shared, and enables to form a set of standards system, and we also define DTD texts for the XML document of generation Part.DTD (Document Type Definition) is used for the syntax rule that defined label is accorded with.It belongs to the one of XML1.0 specifications Part, is a kind of authentication mechanism of XML file, is normally contained in XML file, is a part for XML file.DTD is a kind of The effective ways of XML document form correctness are controlled, can be by contrasting the definition of XML document and dtd file to judge document No to meet specification, label or element use no correct.XML file provides a kind of load of data exchange for application program Body, the effect of dtd file exactly allows XML file to turn into a kind of specific data exchange standard, because different groups is only Standard DTD need to be defined, other groups can set up the XML file of reference format according to DTD, and be verified, so as to set up The standard of data format, and carry out on network data interaction.The dtd file content of definition is shown in Table 1.
The XML storage formats of the fuzzy self-adaption logic of table 1
There is provided corresponding export (writing), loading (reading) in the menu of fuzzy self-adaption logic persistent storage module Actions menu.Export operation is first by the fuzzy self-adaption rule in editing environment, linguistic variable fuzzy partition, degree of membership letter The data such as number carry out the dendronized processing of standard, and then this tree structure information is written in XML file.It is to lead to be loaded into operation Go out the inverse process of operation, i.e., the corresponding information of fuzzy self-adaption logic is parsed from XML file, and by these information in figure Shown in the adaptive logic editing environment of change.
Fig. 4 is the realization principle of fuzzy self-adaption Aspect facility automatically-generating modules.Support system specially provides mould Self-adaptive fuzzy Aspect facility automatically-generating modules, are realized after the test emulation of fuzzy self-adaption logic is completed, and generate mould Self-adaptive fuzzy correlation Aspect facilities.The module employs Target-oriented thought in realization, is designed with special Aspect generations Code generation class, it obtains fuzzy self-adaption logic relevant information first from editing environment, then matches somebody with somebody according to the predefined of user Put (such as adaptive facility class name, generation path), disposable Mass production Fuzzy Perceptron Model, fuzzy self-adaption device, fuzzy execution Aspect and data blackboard object of device etc. three.
Fig. 5 is data communication realization mechanism between fuzzy self-adaption Aspect facilities.Data blackboard is for be implanted to Communicated between Fuzzy Perceptron Model object, fuzzy self-adaption device object and fuzzy self-adaption device object inside target software and The software facility of data exchange, also referred to as software bus, the flow for managing fuzzy self-adaption.Static class R is served The effect of software bus, its internal maintenance two message queue Input queues and Output queues, wherein Input queues are deposited The sensed values of input are put, the result of fuzzy self-adaption decision-making is deposited in Output queues.
Fig. 6 generates Aspect phases when being and realizing fuzzy self-adaption using fuzzy self-adaption Aspect facility automatically-generating modules Close the process of file.There is provided there is Aspect to generate menu item in support system, clicking on the menu item, just to eject Aspect prewired Dialog box is put, fuzzy self-adaption device (FuzzyAdpator) that User Defined will generate is allowed in the dialog box, fuzzy The title of perceptron (FuzzySensor), fuzzy actuator class (FuzzyActuator), data blackboard class etc., and Aspect The storing path of associated documents.After above-mentioned work is completed, " OK " button in dialog box is clicked on, so that it may which automatic batch is generated The files such as Aspect.
The invention provides a kind of adaptive visual of software obfuscation based on the adaptive support system of above-mentioned software obfuscation Change editor and automatic generating method.Fig. 7 illustrates the basic step of this method, including determines fuzzy self-adaption demand (Specifying SFSA Requirements), the adaptive dependent variable of obfuscation (Fuzzifying SFSA Variables), volume Collect fuzzy self-adaption strategy (Editing SFSA Policies), test fuzzy self-adaption logic (Testing SFSA Logic), generation fuzzy self-adaption Aspect (Generating SFSA Aspects) and braiding fuzzy self-adaption Aspect (Weaving SFSA Aspects), when each step is pinpointed the problems, returns to previous step and is remodified and optimized.Tool Body is:
Step 1, editor and emulation testing fuzzy self-adaption strategy:Utilize software obfuscation adaptive visualization editor and emulation Test module editor and emulation testing fuzzy self-adaption strategy.It is true according to fuzzy self-adaption demand and fuzzy self-adaption target first The input of cover half self-adaptive fuzzy, output variable, then carry out Fuzzy processing, secondly editor is based on fuzzy by fuzzy self-adaption variable The fuzzy self-adaption strategy of rule, then carries out syntax error inspection, finally to fuzzy to the fuzzy self-adaption strategy editted Adaptive strategy carries out emulation testing, is specially:
(1) fuzzy self-adaption demand is determined.The target of the fuzzy self-adaption of hard objectives software, fuzzy self-adaption are related to The contents such as input, output variable.Single input variable (Temperature) and list output variable (CPU) adding procedure on the left of Fig. 8 Embodiment.
(2) the adaptive dependent variable of obfuscation.Input, the output variable of fuzzy self-adaption are created using support system, and to every One variable carries out fuzzy partition, defines worth membership function of each fuzzy language etc..It is to fuzzy self-adaption on the right side of Fig. 8 Variable Temperature carries out fuzzy partition (High and Mid) twice, and defines membership function for each fuzzy language value Embodiment.
(3) fuzzy self-adaption strategy is edited.Using fuzzy self-adaption strategy of the support system editor based on fuzzy rule, compile Syntax error inspection can be carried out during volume.Lower section is fuzzy self-adaption strategy editor and test section, such as rule " if on the left of Fig. 8 Temperature is Mid then CPU is High”。
(4) fuzzy self-adaption logic is tested.The fuzzy self-adaption logic editted is patterned using support system Emulation and test, to find the logic error implied in fuzzy self-adaption reasoning.Top is realized fuzzy to above-mentioned 9 on the left of Fig. 8 The graphical simulation of adaptation rule and test.
Step 2, fuzzy self-adaption strategy is stored:Fuzzy operation is carried out first with fuzzy logic basic operation module Configuration, then sets store path using fuzzy self-adaption logic persistent storage module, stores above-mentioned configuration information and step 1 The fuzzy self-adaption input, output variable, fuzzy self-adaption rule, realize the recycling of fuzzy self-adaption logic and are total to Enjoy;
Step 3, generation fuzzy self-adaption Aspect.After emulating and being completed, base is automatically generated using support system In the fuzzy self-adaption aspect files of executable language (such as C++) code.Fig. 6 is that fuzzy self-adaption Aspect facilities are criticized automatically 13 Aspect associated documents of Mass production in amount generation schematic diagram, the embodiment.
Step 4, braiding fuzzy self-adaption Aspect.Instrument, such as Aspect C++ are woven by general Aspect Weaver, the aspect files that step 3 is generated are woven into target software, so as to be internally formed software mould in target software Self-adaptive fuzzy ring.
Software obfuscation adaptive logic support system and development approach that the present invention is provided, can be expanded with one kind in control field Based on the fuzzy control software system (such as Fuzzylite) of exhibition, with reference to the AOP (Aspect-oriented programming) in soft project and The technologies such as OOP (OOP) construct the adaptive support system of software obfuscation.System provides visual graphical interfaces To edit fuzzy self-adaption logic, the adaptive developer of software is allowed to be intuitive to see fuzzy logic implementation effect, and convenient pair The parameters of fuzzy logic and setting are modified, and then can be directly generated and are based on for the fuzzy logic editted Aspect native ambivalence adaptive logic source codes, can be automatic directly by these using Aspect crochets Aspect is woven into target software.This system provides the preservation of fuzzy self-adaption logic and import feature, and establish mould The standard of fuzzy logic storage format, facilitates shared between different groups.So as to reduce the exploitation of software obfuscation adaptively Difficulty, for software obfuscation, adaptively exploitation provides visualization, the supporting method automated, improves software development efficiency.

Claims (5)

1. a kind of adaptive support system of software obfuscation, it is characterised in that:The support system supports software obfuscation adaptive logic Visual edit is generated with automation, is specifically included:Software obfuscation adaptive visualization editor and emulation testing module, software mould Self-adaptive fuzzy logic persistent storage module, fuzzy self-adaption Aspect facilities automatically-generating module, fuzzy logic basic operation It is adaptively visual that module, fuzzy logic enforcement engine module, wherein fuzzy logic basic operation module are respectively connected to software obfuscation Change editor and emulation testing module, fuzzy logic enforcement engine module, fuzzy self-adaption Aspect facility automatically-generating modules, mould Fuzzy logic enforcement engine module respectively with software obfuscation adaptive visualization editor and emulation testing module, fuzzy self-adaption Aspect facility automatically-generating modules are connected, and software obfuscation adaptive logic persistent storage module and software obfuscation are adaptive Visual edit is connected with emulation testing module, and software obfuscation adaptive visualization editor and the access of emulation testing module are fuzzy Adaptive Aspect facility automatically-generating modules, each module effect is as follows:
It is adaptive that software obfuscation adaptive visualization editor provides the software obfuscation based on field language-specific with emulation testing module Tactful visual edit and test environment are answered, wherein fuzzy self-adaption strategy is carried out in the form of " if-then " fuzzy rule Expression;
Software obfuscation adaptive logic persistent storage module is realized to be entered to the fuzzy self-adaption strategy and relevant configuration that edit Row persistent storage;
Fuzzy self-adaption Aspect facilities automatically-generating module turns the fuzzy self-adaption logic based on field language-specific automatically Turn to based on the Aspect facilities of Native language and a data blackboard object;The data blackboard object is used for Fuzzy Perceptron Model The interaction of Aspect, fuzzy self-adaption device Aspect and fuzzy actuator Aspect in target software;
Basic operation and algorithm of the fuzzy logic basic operation module realization to fuzzy logic are managed;
The total activation of fuzzy logic enforcement engine block supports system, is responsible for explaining fuzzy self-adaption strategy execution, complete Into fuzzy self-adaption reasoning computing;
The Aspect is the meaning of aspect, in being Aspect Oriented Programming this software development pattern Concept, Aspect is the program module being packaged to the crosscutting concerns in software operation logic.
2. the adaptive support system of software obfuscation according to claim 1, it is characterised in that:The software obfuscation is adaptive Logic persistent storage module is realized carries out persistent storage, tool to the fuzzy self-adaption rule and relevant configuration information that edit Body is:
(1) the software obfuscation adaptation rule editted is stored using XML format;
(2) configuration information is stored using XML format, the configuration information includes:Fuzzy reasoning parameter configuration, definition The fuzzy partition of input/output variable and the input/output variable.
3. the adaptive support system of software obfuscation according to claim 1, it is characterised in that:The fuzzy self-adaption Fuzzy self-adaption logic based on field language-specific is automatically converted to be based on native by Aspect facilities automatically-generating module The Aspect facilities of language and a data blackboard object, the Aspect facilities include Fuzzy Perceptron Model Aspect, fuzzy adaptive Device Aspect and fuzzy actuator Aspect are answered, is specially:
(1) module object-oriented, provided with special Aspect code building classes, obtains fuzzy self-adaption logic from editing environment Relevant information;
(2) Fuzzy Perceptron Model disposably generated to the predetermined configuration of adaptive facility class name, store path according to user, obscured Adaptive device, fuzzy three Aspect facilities of actuator and a data blackboard object, the data blackboard object are used for fuzzy sense Know the interaction of device Aspect, fuzzy self-adaption device Aspect and fuzzy actuator Aspect in target software.
4. a kind of adaptive development approach of software obfuscation based on the adaptive support system of software obfuscation described in claim 1, its It is characterised by:This method realizes that software obfuscation adaptive logic visual edit is generated with automation, and step is as follows:
Step 1, software obfuscation adaptive visualization editor and emulation testing module editor and emulation testing fuzzy self-adaption are utilized Strategy:Fuzzy self-adaption input, output variable are determined according to fuzzy self-adaption demand and fuzzy self-adaption target first, then will Fuzzy self-adaption variable carries out Fuzzy processing;Secondly the fuzzy self-adaption strategy based on fuzzy rule is edited, then to editor Good fuzzy self-adaption strategy carries out syntax error inspection;Emulation testing finally is carried out to fuzzy self-adaption strategy;
Step 2, fuzzy self-adaption strategy is stored:Fuzzy operation is matched somebody with somebody first with fuzzy logic basic operation module Put, store path, mould described in storage configuration information and step 1 then are set using fuzzy self-adaption logic persistent storage module Self-adaptive fuzzy input, output variable, fuzzy self-adaption rule, realize the recycling of fuzzy self-adaption logic and share;
Step 3, generation fuzzy self-adaption Aspect:Base is automatically generated using fuzzy self-adaption Aspect facility automatically-generating modules In the fuzzy self-adaption Aspect files of executable language codes;
Step 4, braiding fuzzy self-adaption Aspect:Instrument is woven by general Aspect, the Aspect texts that step 3 is generated Part is woven into target software, so as to be internally formed the adaptive ring of software obfuscation in target software.
5. the adaptive development approach of software obfuscation according to claim 4, it is characterised in that:Using soft described in step 1 Part fuzzy self-adaption visual edit and emulation testing module editor and emulation testing fuzzy self-adaption strategy, be specially:
(1) adaptive dependent variable is determined:Determine to obscure certainly according to fuzzy self-adaption demand and the fuzzy self-adaption target of target software Adaptation input, output variable, are obscured certainly needed for software obfuscation adaptive visualization editor and emulation testing module add one by one Adapt to input, output variable;
(2) the adaptive dependent variable of obfuscation:Step (1) is added with emulation testing module in software obfuscation adaptive visualization editor Plus fuzzy self-adaption input, output variable carry out fuzzy partition, generate multiple fuzzy language values, and be each fuzzy language Value defines membership function;
(3) fuzzy self-adaption strategy is edited:Mould is based in software obfuscation adaptive visualization editor and emulation testing module editor The fuzzy self-adaption strategy of rule is pasted, syntax error inspection then is carried out to the fuzzy self-adaption strategy editted;
(4) fuzzy self-adaption strategy is tested:In software obfuscation adaptive visualization editor and emulation testing module to editting Fuzzy self-adaption strategy is patterned emulation and tested, to find the logic error implied in fuzzy self-adaption reasoning, test Process needs fuzzy logic basic operation module, the support of fuzzy logic enforcement engine module.
CN201410175451.9A 2014-04-28 2014-04-28 A kind of adaptive support system of software obfuscation and development approach Active CN103955368B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410175451.9A CN103955368B (en) 2014-04-28 2014-04-28 A kind of adaptive support system of software obfuscation and development approach

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410175451.9A CN103955368B (en) 2014-04-28 2014-04-28 A kind of adaptive support system of software obfuscation and development approach

Publications (2)

Publication Number Publication Date
CN103955368A CN103955368A (en) 2014-07-30
CN103955368B true CN103955368B (en) 2017-08-04

Family

ID=51332644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410175451.9A Active CN103955368B (en) 2014-04-28 2014-04-28 A kind of adaptive support system of software obfuscation and development approach

Country Status (1)

Country Link
CN (1) CN103955368B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486334A (en) * 2014-12-11 2015-04-01 北京国双科技有限公司 File transmission protocol account addition method and device
CN106411626A (en) * 2015-08-03 2017-02-15 中兴通讯股份有限公司 Test method and device based on DSL network element simulator
CN112346334B (en) * 2019-08-06 2022-01-11 北京东土科技股份有限公司 Configuration method, device and equipment of fuzzy control parameters and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1224515A (en) * 1997-02-21 1999-07-28 贝克·休斯公司 Adaptive object-oriented optimization software system
US6807535B2 (en) * 2000-03-08 2004-10-19 Lnk Corporation Intelligent tutoring system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1224515A (en) * 1997-02-21 1999-07-28 贝克·休斯公司 Adaptive object-oriented optimization software system
US6807535B2 (en) * 2000-03-08 2004-10-19 Lnk Corporation Intelligent tutoring system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
自适应模糊控制方法研究及仿真软件设计;吴泽伟;《中国优秀硕士学位论文全文数据库》;20060601;全文 *

Also Published As

Publication number Publication date
CN103955368A (en) 2014-07-30

Similar Documents

Publication Publication Date Title
Bunte et al. The mCRL2 toolset for analysing concurrent systems: improvements in expressivity and usability
Stahl et al. Rapid prototyping of CBR applications with the open source tool myCBR
CN106021816B (en) A kind of implementation method of the distributed system behavior simulation analysis tool of Behavior-based control tree
CN106293664A (en) Code generating method and device
US11675570B2 (en) System and method for using a graphical user interface to develop a virtual programmable logic controller
JP2011040059A5 (en)
CN103052943A (en) Source code conversion method and source code conversion program
EP3726442A1 (en) Semantic modeling and machine learning-based generation of conceptual plans for manufacturing assemblies
CN103186457A (en) Method and device for automatically generating test case
CN108197114A (en) Detection method, device, storage medium and the electronic device of list data
CN103744647A (en) Java workflow development system and method based on workflow GPD
CN109144511B (en) Method and system for automatically generating numerical simulation graphical user interface
Dai et al. Migration from PLC to IEC 61499 using semantic web technologies
CN103309667A (en) Method for positioning UI (user interface) control and picture modifying position in Android system
Wang et al. Advanced manufacturing technology in China: a roadmap to 2050
CN103955368B (en) A kind of adaptive support system of software obfuscation and development approach
Seiger et al. Test modeling for context-aware ubiquitous applications with feature petri nets
CN110390110A (en) The method and apparatus that pre-training for semantic matches generates sentence vector
CN106096159B (en) A kind of implementation method of distributed system behavior simulation analysis system under cloud platform
CN106325860A (en) Automatic maintenance method for aerospace embedded software interface data
CN102929853A (en) DCS (Data Communication System) project data generating system and method based on Excel sheet association
CN113919158A (en) Simulation method and device for flight control panel and storage medium
Boring et al. Task and procedure level primitives for modeling human error
CN113296769A (en) Data processing method, visual draft processing method, system and electronic equipment
CN106354633A (en) Task schedule generation method based on algorithmic plug-in

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