首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 109 毫秒
1.
反编译技术研究现状及面临的问题   总被引:2,自引:1,他引:2  
一、引言随着软件技术的不断发展,对现有软件的分析理解、改造和维护、以及利用和再开发的工作变得日益重要。虽然目前大部分软件是用高级语言编写的,但由于技术保密等原因,绝大部分软件是以机器码形式提供给用户,机器码可读性极差,因此人们需要有一种能将机器码程序翻译成易于阅读和理解的高级语言程序的软件工具,这就是反编译系统。反编译作为一种软件分析和理解的工具,是软件逆向工程的重要组成部分。可以说自编译技术产生以来,人们就开始了反编译技术的研究,但反编译技术远不如编译技术发展迅速,原因在于:①反编译技术难度大,处理对象十分复杂,以至于很难研制出产品化的反编译系统;②虽然反编译系统可  相似文献   

2.
《软件工程师》2019,(6):8-12
Android应用程序在未经任何加固处理的情况下极容易受到反编译攻击,存在较大的安全隐患。APP加固技术为应用程序提供了有效的防护措施,增加了反编译的难度,本文针对目前常用的反编译手段提出了一种APP加固方案,该方案首先针对需要保护的资源文件进行加密处理;然后针对DEX文件的反编译,采用混淆代码技术加固处理,针对二次打包,本文采用签名校验技术。实验表明,本文提出的加固方案能够有效地防患APK被反编译,加大了二次打包的难度。  相似文献   

3.
C反编译控制流恢复的形式描述及算法   总被引:7,自引:0,他引:7  
反编译是软件逆向工程的重要组成部分。控制流恢复是C反编译的重要组成部分。本文首先描述了验证反编译结果与原程序功能等价的模型;其次从数学角度提出了C编译和反编译控制结构的数学模型并给出其性质;再次根据对C控制语句编译结果的分析,以扩展的BNF形式描述了C控制语句反编译的约束属性方法;最后给出并说明了反编译控制流恢复的算法及其运行示例。  相似文献   

4.
oracle数据库存储过程中存在的安全问题主要可以分为反编译和异常使用两种,其中反编译和异常使用又各有两种形式。针对这些安全问题,主要是通过及时检测来进行安全控制。其检测方法的核心就是及时有效的检测出数据库存储过程中存在的反编译和异常使用情况。本文主要通过设计检测方法的内容、结构、过程以及功能,介绍检测方法的关键点来阐述oracle数据库存储过程反编译和异常使用的检测方法。  相似文献   

5.
本文针对广义区间系统的参数不确定性,将参数不确定性确定为随机非结构化参数形式,提出一种卡尔曼形式的递推鲁棒滤波算法.研究表明,滤波过程中的随机非结构化参数不确定性可以表示为一系列依赖系统真实状态的不确定性集合,数值仿真结果表明,当广义区间系统参数存在随机非结构化不确定性时,该算法能够实现递推状态估计,从而验证了该算法的有效性.  相似文献   

6.
电子病历(EMR)是医疗信息快速发展的产物,目前以非结构化文本形式存储。通过使用自然语言处理(NLP)技术,在非结构化文本中提取出大量医学实体,将有助于提升医务人员查阅病历效率,同时识别的成果也将辅助于接下来的关系提取和知识图谱构建等研究。介绍常用的若干个数据集、语料标注标准和评价指标。从早期传统方法、深度学习方法、预训练模型、小样本问题处理四个方面详细阐述电子病历命名实体识别方法,对比分析各模型自身的优势及局限性。探讨了目前研究的不足,并对未来发展方向提出展望。  相似文献   

7.
P2P网络的分类以及关键技术分析   总被引:2,自引:0,他引:2  
本文首先对当前主要的P2P网络进行了分类和调研.论文根据网络拓扑组织形式将P2P网络分为四种类型:集中式P2P网络、全分布非结构化P2P网络、全分布结构化P2P网络和混合式P2P网络.详细介绍了各类型网络的代表协议.之后,论文详细论述了P2P网络发展的关键技术.在此基础之上,总结出P2P网络与传统网络的区别、P2P网络的层次定位及网络基本功能.  相似文献   

8.
FoxPro编译应用软件采用了伪编译技术,把程序转换成对应的二进制代码,存放在编译后执行文件的覆盖模块中。这样,编译过程比较简单,但特别容易反编译。目前市面上出现了几种反编译FoxPro的工具,如微宏出的反编译博士、慧软出的unFoxPro等等,对于一般的数据库应用程序,非常轻松地就反编译出完整的源程序。通用的加密软件,如果不对FoxPro应用软件做特殊处理,也一样挡不住反编译工具,数据库的开发者为此非常头痛。如何防止unFoxPro等工具反编译自己的数据库软件已经提到一个非常重要的位置。  相似文献   

9.
反编译程序图设计与控制流分析   总被引:1,自引:0,他引:1  
反编译是一种能将低级语言翻译到高级语言的工具。本文着重介绍反编译代码存储的程序图方法,以及在程序图基础上,对代码程序进行控制流分析、控制结构提取,给出了结构提取的算法;控制流分析过程中的程序图变换。  相似文献   

10.
针对反编译中传统的基于机器SLED描述以及基于语言文法分析的二进制代码指令解码技术复杂、难于移植等缺点,提出了基于IDA Pro的ARM指令解码器的设计思想.该指令解码器在分析IDA Pro内部数据表示的基础上,扩展定义了指令操作数类型及其线性字符串表示,设计连接器提取指令的各语义要素,并且提出了基于静态分支转移的递归算法构建控制流图.实验结果表明,生成结构化汇编结果文件可以有效支持ARM反编译的后续工作.  相似文献   

11.
This report is based on the notion that criteria for "successful" diagnosis differ for different medical specialties. Diagnostic judgement in highly unstructured task domains is best characterized as clinical problem formulation with pragmatic implications for interventions. This concept is illustrated by the implementation of a computer-based diagnostic expert system for geriatric psychiatry. The program begins with guiding the patient's interview by the clinician. This is followed by the diagnostic process which is conducted in three steps. In the first step, candidate syndromes of disease states are identified by matching the presenting complaints with symptom lists of clinical syndromes. In the second step, the candidate syndromes serve as the organizers for gathering additional patient data (e.g., information from referral source and past illnesses) to seek constellations of findings which form a coherent clinical context. In this phase, the program can also prompt the clinician to obtain additional information from the patient or other available sources to resolve conflicts or, if necessary, invoke the concurrent presence of two independent syndromes to attain convergence (i.e., minimize the number of unexplained findings). In a final step, the syndromes with highest credence value, reflected by the number of linkages to patient data, are sharpened to specific diagnostic formulations. This is accomplished by frames of diagnoses which are associated with each syndrome. Once again, the patient data can be consulted to achieve optimal matches. A summary statement to the clinician lists the essential supporting evidence for the chosen diagnosis and can communicate alternatives or unresolved issues for clarifying interventions. Although no decisive evidence is available, informal observations of clinicians support the notion that clinical reasoning in highly unstructured domains is largely contextual and seeks apprehension of "gestalts" in successive steps. The diagnostic program of this report aims at simulating this process.  相似文献   

12.
Dynamic slicing algorithms are used in interactive applications such as program debugging and testing. Therefore, these algorithms need to be very efficient. In this context, we propose three intraprocedural dynamic slicing algorithms which are more space and time efficient than the existing algorithms. Two of the proposed algorithms compute precise dynamic slices of structured programs using Program Dependence Graph as an intermediate representation. To compute precise dynamic slices of unstructured programs, we introduce the concepts of jump dependence and Unstructured Program Dependence Graph. The third algorithm uses Unstructured Program Dependence Graph as the intermediate program representation, and computes precise dynamic slices of unstructured programs. We show that each of our proposed algorithms is more space and time efficient than the existing algorithms.  相似文献   

13.
Using hammock graphs to structure programs   总被引:1,自引:0,他引:1  
Advanced computer architectures rely mainly on compiler optimizations for parallelization, vectorization, and pipelining. Efficient-code generation is based on a control dependence analysis to find the basic blocks and to determine the regions of control. However, unstructured branch statements, such as jumps and goto's, render the control flow analysis difficult, time-consuming, and result in poor code generation. Branches are part of many programming languages and occur in legacy and maintenance code as well as in assembler, intermediate languages, and byte code. A simple and effective technique is presented to convert unstructured branches into hammock graph control structures. Using three basic transformations, an equivalent program is obtained in which all control statements have a well-defined scope. In the interest of predication and branch prediction, the number of control variables has been minimized, thereby allowing a limited code replication. The correctness of the transformations has been proven using an axiomatic proof rule system. With respect to previous work, the algorithm is simpler and the branch conditions are less complex, making the program more readable and the code generation more efficient. Additionally, hammock graphs define single entry single exit regions and therefore allow localized optimizations. The restructuring method has been implemented into the parallelizing compiler FPT and allows to extract parallelism in unstructured programs. The use of hammock graph transformations in other application areas such as vectorization, decompilation, and assembly program restructuring is also demonstrated.  相似文献   

14.
Program slicing identifies parts of a program that potentially affect a chosen computation. It has many applications in software engineering, including maintenance, evolution and re-engineering of legacy systems. However, these systems typically contain programs with unstructured control-flow, produced using goto statements; thus, effective slicing of unstructured programs remains an important topic of study.This paper shows that slicing unstructured programs inherently requires making trade-offs between three slice attributes: termination behaviour, size, and syntactic structure. It is shown how different applications of slicing require different tradeoffs. The three attributes are used as the basis of a three-dimensional theoretical framework, which classifies slicing algorithms for unstructured programs. The paper proves that for two combinations of these dimensions, no algorithm exists and presents algorithms for the remaining six combinations.  相似文献   

15.
拉氏方法是内爆动力学过程数值模拟的主要方法.针对高温、高压、多介质和大变形等内爆问题,采用非结构任意多边形网格底层管理、计算过程中网格邻域可变技术,以及拉氏自适应网格加密方法和层次化、模块化程序设计思想,自主研发非结构拉氏自适应网格流体动力学软件LAD2D.从物理模型、计算方法、程序设计、程序验证与确认、大变形问题数值模拟等方面系统地介绍LAD2D.LAD2D对多介质爆轰弹塑性流体大变形问题有很强的适应能力.  相似文献   

16.
For many real-world applications, structured regression is commonly used for predicting output variables that have some internal structure. Gaussian conditional random fields (GCRF) are a widely used type of structured regression model that incorporates the outputs of unstructured predictors and the correlation between objects in order to achieve higher accuracy. However, applications of this model are limited to objects that are symmetrically correlated, while interaction between objects is asymmetric in many cases. In this work we propose a new model, called Directed Gaussian conditional random fields (DirGCRF), which extends GCRF to allow modeling asymmetric relationships (e.g. friendship, influence, love, solidarity, etc.). The DirGCRF models the response variable as a function of both the outputs of unstructured predictors and the asymmetric structure. The effectiveness of the proposed model is characterized on six types of synthetic datasets and four real-world applications where DirGCRF was consistently more accurate than the standard GCRF model and baseline unstructured models.  相似文献   

17.
This paper presents a novel method for volume rendering of unstructured grids. Previously, we introduced an algorithm for perspective-correct interpolation of barycentric coordinates and computing polynomial attenuation integrals for a projected tetrahedron using graphics hardware. In this paper, we enhance the algorithm by providing a simple and efficient method to compute the projected shape (silhouette) and tessellation of a tetrahedron, in perspective and orthographic projection models. Our tessellation algorithm is published for the first time. Compared with works of other groups on rendering unstructured grids, the main contributions of this work are: 1) A new algorithm for finding the silhouette of a projected tetrahedron. 2) A method for interpolating barycentric coordinates and thickness on the faces of the tetrahedron. 3) Visualizing higher-order attenuation functions using GPU without preintegration. 4) Capability of applying shape deformations to a rendered tetrahedral mesh without significant performance loss. Our visualization model is independent of depth-sorting of the cells. We present imaging and timing results of our implementation, and an application in time-critical "2D-3D" deformable registration of anatomical models. We discuss the impact of using higher-order functions on quality and performance.  相似文献   

18.
针对二维弹塑性流体力学非结构网格拉氏应用程序(LSPIC),应用双线性插值、点排序和网格排序三种方法对计算区域进行分解。基于格式所需邻区网格的个数实现区与区之间的消息传递,建立一种非结构网格拉氏程序并行化方法,实现二维弹塑性流体力学拉氏应用程序(LSPIC)程序的并行化。同时进行程序测试和并行效率分析。  相似文献   

19.
Large content networks like the World Wide Web contain huge amounts of information that have the potential of being integrated because their components fit within common concepts and/or are connected through hidden, implicit relationships. One attempt at such an integration is the program called the “Web of Data,” which is an evolution of the Semantic Web. It targets semi-structured information sources such as Wikipedia and turns them into fully structured ones in the form of Web-based databases like DBpedia and then integrates them with other public databases such as Geonames. On the other hand, the vast majority of the information residing on the Web is still totally unstructured, which is the starting point for our approach that aims to integrate unstructured information sources. For this purpose, we exploit techniques from Probabilistic Topic Modeling, in order to cluster Web pages into concepts (topics), which are then related through higher-level concept networks; we also make implicit semantic relationships emerge between single Web pages. The approach has been tested through a number of case studies that are here described. While the applicative focus of the research reported here is on knowledge integration on the specific and relevant case of the WWW, the wider aim is to provide a framework for integration generally applicable to all complex content networks where information propagates from multiple sources.  相似文献   

20.
适应度函数的设计在基于搜索的测试用例生成技术中占据重要的位置,然而在某些特殊的程序中,如存在嵌套、非结构性跳转或因return,break等语句跳出循环的程序,已有的适应度函数无法评价到所有的分支.目前的方法是修改程序的源代码,以使每个分支得到评价.但修改源代码不但可能影响程序的原有结构、引入错误,而且很难实现自动化.针对这一问题,提出一种基于模式组合的粒子群优化测试用例生成方法.首先,将分支条件定义为"模式",即,一类具有相同特征且能提高适应度值的个体集合,并改变其分支函数的插桩方式,可解决分支条件不完全评价的问题;然后,设计一种新的交叉算子,寻找到所有使模式的分支函数值最小的个体,将这些个体中含有模式的部分通过交叉算子组合到一个个体上,既可防止模式在进化过程中被破坏,又可因多种模式的组合而提高个体的适应度值;最后,使用局部搜索策略对种群中的最优个体进行搜索,提高粒子群优化算法的局部搜索精度,进一步提高测试用例生成效率.为了评价该方法的有效性,基于一组基准程序和开源程序进行实验.实验结果表明:对于含有模式的程序,该测试用例生成方法与已有方法相比,在覆盖率和平均进化代数上均有明显优势.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号