CN110837372A - 汇编代码清除混淆的方法、装置、介质及设备 - Google Patents

汇编代码清除混淆的方法、装置、介质及设备 Download PDF

Info

Publication number
CN110837372A
CN110837372A CN201911066489.1A CN201911066489A CN110837372A CN 110837372 A CN110837372 A CN 110837372A CN 201911066489 A CN201911066489 A CN 201911066489A CN 110837372 A CN110837372 A CN 110837372A
Authority
CN
China
Prior art keywords
code
clearing
assembly
instruction
block
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
CN201911066489.1A
Other languages
English (en)
Other versions
CN110837372B (zh
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.)
Beijing Zhidake Information Technology Co ltd
Original Assignee
Guizhou Gloud Technology 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 Guizhou Gloud Technology Co Ltd filed Critical Guizhou Gloud Technology Co Ltd
Priority to CN201911066489.1A priority Critical patent/CN110837372B/zh
Publication of CN110837372A publication Critical patent/CN110837372A/zh
Application granted granted Critical
Publication of CN110837372B publication Critical patent/CN110837372B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本文是关于一种汇编代码混淆清除方法、装置、介质及设备,汇编代码混淆清除方法包括将混淆后的汇编代码按划分方法划分为多个代码块;对所述多个代码块合并优化;对合并优化后的代码块清除混淆。通过本文提供的汇编代码混淆清除方法,可以有效清除混淆代码中的无用代码,花指令等,还原代码本来面目,使代码变得简洁,易于分析。

Description

汇编代码清除混淆的方法、装置、介质及设备
技术领域
本文涉及反汇编,尤其涉及汇编代码清除混淆的方法、装置、介质及设备。
背景技术
相关技术中,在逆向分析过程中经常会遇到汇编代码被混淆、膨胀、乱序的情况,如果人工分析,会浪费大量的时间来观察这些无用的代码。通用的花指令去除工具也是利用收集到花指令的特征,对花指令进行正则匹配后将花指令去除。如花指令经过一些变形后,正则匹配就会失效,花指令无法清除。
发明内容
为克服相关技术中存在的问题,本文提供一种汇编代码清除混淆的方法、装置、介质及设备。
根据本文的第一方面,提供一种汇编代码清除混淆方法,包括:
将混淆后的汇编代码划分为多个代码块;
对所述多个代码块合并优化;
对合并优化后的代码块清除混淆。
所述将混淆后的汇编代码划分为多个代码块包括:
以混淆后的汇编代码的第一条汇编代码或跳转指令执行的目标代码为代码块的首代码;
以跳转指令代码为代码块的结束代码。
所述对所述多个代码块合并优化包括:
以跳转顺序遍历所述多个代码块,分析每一代码块的跳转关系,如果某一代码块中跳转指令代码只存在一条跳转指令,则将所述代码块与下一代码块合并。
所述对合并优化后的代码块进行混淆清除包括:
将寄存器设置为32/64位寄存器;
对合并优化后的代码块由后向前分析,删除后面没有代码块的比较指令代码;删除用于设置标志寄存器CF标志的指令代码;删除用于扩展寄存器类型的指令代码;清除寄存器在运算后被重新赋值的无用指令代码。
根据本文的另一方面,提供一种汇编代码清除混淆装置,包括划分模块,用于将将混淆后的汇编代码按划分方法划分为多个代码块;
合并模块,用于对所述多个代码块合并优化;
清除模块,用于对合并优化后的代码块清除混淆。
所述划分模块对混淆后的汇编代码进行划分包括:
以混淆后的汇编代码的第一条汇编代码或跳转指令执行的目标代码为代码块的首代码;
以跳转指令代码为代码块的结束代码。
所述合并模块顺序遍历所述多个代码块,分析每一代码块的跳转关系,如果某一代码块中跳转指令代码只存在一个跳转指令,则将所述代码块与下一代码块合并。
所述清除模块将寄存器设置为32/64位寄存器;
对合并优化后的代码块由后向前分析,删除后面没有代码块的比较指令代码;删除用于设置标志寄存器CF标志的指令代码;删除用于扩展寄存器类型的指令代码;清除寄存器在运算后被重新赋值的无用指令代码。
根据本文的另一方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如权利要求1-4中任意一项所述方法的步骤。
根据本文的另一方面,一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4中任意一项所述方法的步骤。
本文通过将混淆的汇编代码划分为多个代码块,对代码块优化合并,可以实现将代码中的调整指令和无用指令剔除后,代码变得简洁,非常易于分析。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本文。
附图说明
构成本文的一部分的附图用来提供对本文的进一步理解,本文的示意性实施例及其说明用于解释本文,并不构成对本文的不当限定。在附图中:
图1是根据一示例性实施例示出的一种汇编代码清除混淆的方法的流程图。
图2是根据一示例性实施例示出的代码块跳转关系示意图。
图3是根据一示例性实施例示出的代码块跳转关系示意图。
图4是根据一示例性实施例示出的一种汇编代码清除混淆装置的框图。
具体实施方式
为使本文实施例的目的、技术方案和优点更加清楚,下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。需要说明的是,在不冲突的情况下,本文中的实施例及实施例中的特征可以相互任意组合。
图1是根据一示例性实施例示出的一种汇编代码清除混淆的方法的流程图。参考图1,汇编代码清除混淆的方法包括:
步骤S11,将混淆后的汇编代码划分为多个代码块。
步骤S12,对多个代码块合并优化。
步骤S13,对合并优化后的代码块清除混淆。
在反汇编时,往往由于在代码中被插入混乱指令,例如,代码膨胀,插入无用代码,添加花指令等导致反汇编后代码的混淆。需要对代码进行分析,并去除代码中的混乱指令。
本文中的汇编代码清除混淆的方法,通过将混淆后的汇编代码划分为多个代码块,对多个代码块进行合并优化,然后对合并优化后的代码块清除混淆,还原代码的本来面目,使代码变得简洁,易于分析。
在一实施例中,将混淆后的汇编代码划分为多个代码块包括:以混淆后的汇编代码的第一条汇编代码或跳转指令执行的目标代码为代码块的首代码;
以跳转指令代码为代码块的结束代码。
例如有下述一段代码:
Figure BDA0002259526810000041
Figure BDA0002259526810000051
Figure BDA0002259526810000061
在这段混淆代码中,有一些无用的代码,不便于分析。
以第一条汇编代码006828E1|8B0F|mov ecx,dword ptr ds:[edi]为代码块1的首代码,以跳转指令代码006828F8|E9 56E80F00|jmp hash.vmp.781153为第一个代码块的结束代码。
以第一个代码块的跳转指令执行的目标代码00781153|8DAD01000000|lea ebp,dword ptr ss:[ebp+1]为第二个代码块的首代码,以跳转指令代码007811B1|E9 D040FEFF|jmp hash.vmp.765286为第二个代码块的结束代码。以此类推,将混淆后的代码划分为多个代码块,如下所示:
代码块1:
Figure BDA0002259526810000071
代码块2:
Figure BDA0002259526810000081
代码块3:
Figure BDA0002259526810000082
代码块4:
Figure BDA0002259526810000083
Figure BDA0002259526810000091
代码块5:
代码块6:
Figure BDA0002259526810000093
按上述方法,可将混淆代码划分成6个代码块。可见,6个代码块是顺序引用的,引用关系图如2所示。每个代码块只跳转到一个代码块,也就是说在每一个代码块中的跳转指令代码只存在一条跳转指令,因此可以将上述6个代码块进行合并,将无条件跳转指令代码,或计算后结果永远相等的跳转指令代码去除,将代码块按顺序和跳转结果合并。
当然,在图2中,如果其中一个代码块包括多个条件跳转指令,例如以代码块2为例,如果跳转指令代码中存在多个条件跳转指令,假如分别跳转到代码块3和代码块4,如图3所示,此时需将代码块1和代码块2合并。将代码块3,代码块5和代码块6合并。将代码块4,代码块5和代码块6合并。
对合并优化后的代码块进行混淆清除包括:
将寄存器设置为32/64位寄存器;
对合并优化后的代码块由后向前分析,删除后面没有代码块的比较指令代码,如果汇编比较指令后面没有代码块,那么就认为这些比较指令是无意义的指令,将其代码剔除。例如:代码块2中,00781160|66:81FA 5650|cmp dx,5056,这条指令中cmp是比较指令,但后面并没有条件跳转,也就是说后面并没有用到这条指令的运算结果,可以将其代码剔除。
删除用于设置标志寄存器CF标志的指令代码;例如:0076AD4D|F9|stc这条指令是设置标志寄存器的CF标志的,这些可以影响条件跳转指令的结果,但是代码块中没有条件跳转指令,所有也认为这条指令是垃圾指令,可以将其代码剔除。
删除用于扩展寄存器类型的指令代码;由于前面已经将所有寄存器都设置为32/64位寄存器,那么拓展寄存器类型的汇编指令也可以剔除。例如:006828EE|98|cwde这条指令是将AX寄存器拓展为EAX寄存器,因此在这里是无用的,需要将其代码剔除。
清除寄存器在运算后被重新赋值的无用指令代码。将汇编代码块中最后使用的寄存器进行分析,排除eax/rax寄存器,记录每个汇编代码块的指令,如果当前寄存器在运算后又被重新赋值,那么就认为之前的运算是无用的指令,可以被剔除。例如在代码块2中的如下代码:
Figure BDA0002259526810000111
由于寄存器通过在汇编代码中被算数运算指令计算后的结果并没有被使用,并且寄存器被重新赋值,那么我门就可以删除赋值指令之前的算数计算指令,只保留00781193|66:8BD0|mov dx,ax这一条赋值指令。
按上述方法对混淆后的汇编代码进行混淆清除后,得到以下优化后的代码:
Figure BDA0002259526810000112
Figure BDA0002259526810000121
如上所述,通过本汇编代码清除混淆的方法,将代码中的调整指令和无用指令剔除后,代码变得简洁,非常易于分析。
图4是根据一示例性实施例示出的一种汇编混淆清除的装置框图。参考图4,汇编混淆清除装置包括,划分模块401,合并模块402,清除模块403。
该划分模块401被配置为用于将混淆后的汇编代码划分为多个代码块。
该合并模块402被配置为用于对所述多个代码块合并优化。
该清除模块403被配置为用于对合并优化后的代码块清除混淆。
划分模块对混淆后的汇编代码进行划分包括:
以混淆后的汇编代码的第一条汇编代码或跳转指令执行的目标代码为代码块的首代码;
以跳转指令代码为代码块的结束代码。
合并模块以跳转顺序遍历多个代码块,分析每一代码块的跳转关系,如果某一代码块中跳转指令代码只存在一条跳转指令,则将代码块与下一代码块合并。
清除模块将寄存器设置为32/64位寄存器;
对合并优化后的代码块由后向前分析,删除后面没有代码块的比较指令代码;删除用于设置标志寄存器CF标志的指令代码;删除用于扩展寄存器类型的指令代码;清除寄存器在运算后被重新赋值的无用指令代码。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本领域技术人员应明白,本文的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本文可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本文可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质,包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质等。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文是参照根据本文实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
尽管已描述了本文的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本文范围的所有变更和修改。
显然,本领域的技术人员可以对本文进行各种改动和变型而不脱离本文的精神和范围。这样,倘若本文的这些修改和变型属于本文权利要求及其等同技术的范围之内,则本文的意图也包含这些改动和变型在内。

Claims (10)

1.一种汇编代码清除混淆的方法,其特征在于,包括:
将混淆后的汇编代码划分为多个代码块;
对所述多个代码块合并优化;
对合并优化后的代码块清除混淆。
2.如权利要求1所述的汇编代码清除混淆的方法,其特征在于,所述将混淆后的汇编代码划分为多个代码块包括:
以混淆后的汇编代码的第一条汇编代码或跳转指令执行的目标代码为代码块的首代码;
以跳转指令代码为代码块的结束代码。
3.如权利要求1所述的汇编代码清除混淆的方法,其特征在于,所述对所述多个代码块合并优化包括:
以跳转顺序遍历所述多个代码块,分析每一代码块的跳转关系,如果某一代码块中跳转指令代码只存在一条跳转指令,则将所述代码块与下一代码块合并。
4.如权利要求1所述的汇编代码清除混淆的方法,其特征在于,所述对合并优化后的代码块进行混淆清除包括:
将寄存器设置为32/64位寄存器;
对合并优化后的代码块由后向前分析,删除后面没有代码块的比较指令代码;删除用于设置标志寄存器CF标志的指令代码;删除用于扩展寄存器类型的指令代码;清除寄存器在运算后被重新赋值的无用指令代码。
5.一种汇编代码清楚混淆的装置,其特征在于,包括:
划分模块,用于将将混淆后的汇编代码按划分方法划分为多个代码块;
合并模块,用于对所述多个代码块合并优化;
清除模块,用于对合并优化后的代码块清除混淆。
6.如权利要求5所述的汇编代码清除混淆的装置,其特征在于,所述划分模块对混淆后的汇编代码进行划分包括:
以混淆后的汇编代码的第一条汇编代码或跳转指令执行的目标代码为代码块的首代码;
以跳转指令代码为代码块的结束代码。
7.如权利要求5所述的汇编代码清除混淆的装置,其特征在于,所述合并模块顺序遍历所述多个代码块,分析每一代码块的跳转关系,如果某一代码块中跳转指令代码只存在一个跳转指令,则将所述代码块与下一代码块合并。
8.如权利要求5所述的汇编代码清除混淆的装置,其特征在于,所述清除模块将寄存器设置为32/64位寄存器;
对合并优化后的代码块由后向前分析,删除后面没有代码块的比较指令代码;删除用于设置标志寄存器CF标志的指令代码;删除用于扩展寄存器类型的指令代码;清除寄存器在运算后被重新赋值的无用指令代码。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现如权利要求1-4中任意一项所述方法的步骤。
10.一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4中任意一项所述方法的步骤。
CN201911066489.1A 2019-11-04 2019-11-04 汇编代码清除混淆的方法、装置、介质及设备 Active CN110837372B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911066489.1A CN110837372B (zh) 2019-11-04 2019-11-04 汇编代码清除混淆的方法、装置、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911066489.1A CN110837372B (zh) 2019-11-04 2019-11-04 汇编代码清除混淆的方法、装置、介质及设备

Publications (2)

Publication Number Publication Date
CN110837372A true CN110837372A (zh) 2020-02-25
CN110837372B CN110837372B (zh) 2021-01-26

Family

ID=69576161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911066489.1A Active CN110837372B (zh) 2019-11-04 2019-11-04 汇编代码清除混淆的方法、装置、介质及设备

Country Status (1)

Country Link
CN (1) CN110837372B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112612480A (zh) * 2020-12-28 2021-04-06 苏州浪潮智能科技有限公司 一种反编译原始代码的去混淆方法及装置

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367071B1 (en) * 1999-03-02 2002-04-02 Lucent Technologies Inc. Compiler optimization techniques for exploiting a zero overhead loop mechanism
US20080178149A1 (en) * 2007-01-24 2008-07-24 Peterson James G Inferencing types of variables in a dynamically typed language
CN101231598A (zh) * 2008-01-30 2008-07-30 浙江大学 一种基于汇编程序构造语义流程图的方法
US20090292805A1 (en) * 2008-05-21 2009-11-26 Geoffrey Howard Cooper System and method for network monitoring of internet protocol (ip) networks
CN101901322A (zh) * 2009-07-10 2010-12-01 卡巴斯基实验室封闭式股份公司 用于检测混淆恶意软件的系统和方法
CN101911024A (zh) * 2008-01-11 2010-12-08 国际商业机器公司 带有帧管理的动态地址转换
CN102023842A (zh) * 2010-12-16 2011-04-20 北京安天电子设备有限公司 去除花指令的方法及装置
CN102043915A (zh) * 2010-11-03 2011-05-04 厦门市美亚柏科信息股份有限公司 一种非可执行文件中包含恶意代码的检测方法及其装置
US8995986B2 (en) * 2012-06-29 2015-03-31 At&T Mobility Ii Llc Detection of scrambling code confusion
US9335982B1 (en) * 2015-04-28 2016-05-10 Microsoft Technology Licensing, Llc Processor emulation using multiple translations
CN106529224A (zh) * 2016-10-27 2017-03-22 南京大学 基于rop攻击特点的二进制混淆方法
US9916146B2 (en) * 2002-12-06 2018-03-13 Veracode, Inc. Software analysis framework
CN108153518A (zh) * 2017-12-25 2018-06-12 厦门市美亚柏科信息股份有限公司 一种java程序反混淆方法及终端
CN108304278A (zh) * 2018-01-18 2018-07-20 西安电子科技大学 一种基于改进的模因算法的工程代码模块冗余度最优分配的防护方法
CN108959069A (zh) * 2018-06-11 2018-12-07 北京奇艺世纪科技有限公司 一种函数运行的追踪方法和装置
CN108985063A (zh) * 2018-07-13 2018-12-11 南方电网科学研究院有限责任公司 一种恶意代码混淆检测方法、系统、计算机设备、介质
CN109491918A (zh) * 2018-11-22 2019-03-19 中国人民解放军战略支援部队信息工程大学 一种汇编冗余指令的检测方法及装置
CN109614771A (zh) * 2018-10-31 2019-04-12 同盾控股有限公司 一种基于Java代码的混淆方法和装置

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6367071B1 (en) * 1999-03-02 2002-04-02 Lucent Technologies Inc. Compiler optimization techniques for exploiting a zero overhead loop mechanism
US9916146B2 (en) * 2002-12-06 2018-03-13 Veracode, Inc. Software analysis framework
US20080178149A1 (en) * 2007-01-24 2008-07-24 Peterson James G Inferencing types of variables in a dynamically typed language
CN101911024A (zh) * 2008-01-11 2010-12-08 国际商业机器公司 带有帧管理的动态地址转换
CN101231598A (zh) * 2008-01-30 2008-07-30 浙江大学 一种基于汇编程序构造语义流程图的方法
US20090292805A1 (en) * 2008-05-21 2009-11-26 Geoffrey Howard Cooper System and method for network monitoring of internet protocol (ip) networks
CN101901322A (zh) * 2009-07-10 2010-12-01 卡巴斯基实验室封闭式股份公司 用于检测混淆恶意软件的系统和方法
CN102043915A (zh) * 2010-11-03 2011-05-04 厦门市美亚柏科信息股份有限公司 一种非可执行文件中包含恶意代码的检测方法及其装置
CN102023842A (zh) * 2010-12-16 2011-04-20 北京安天电子设备有限公司 去除花指令的方法及装置
US8995986B2 (en) * 2012-06-29 2015-03-31 At&T Mobility Ii Llc Detection of scrambling code confusion
US9335982B1 (en) * 2015-04-28 2016-05-10 Microsoft Technology Licensing, Llc Processor emulation using multiple translations
CN106529224A (zh) * 2016-10-27 2017-03-22 南京大学 基于rop攻击特点的二进制混淆方法
CN108153518A (zh) * 2017-12-25 2018-06-12 厦门市美亚柏科信息股份有限公司 一种java程序反混淆方法及终端
CN108304278A (zh) * 2018-01-18 2018-07-20 西安电子科技大学 一种基于改进的模因算法的工程代码模块冗余度最优分配的防护方法
CN108959069A (zh) * 2018-06-11 2018-12-07 北京奇艺世纪科技有限公司 一种函数运行的追踪方法和装置
CN108985063A (zh) * 2018-07-13 2018-12-11 南方电网科学研究院有限责任公司 一种恶意代码混淆检测方法、系统、计算机设备、介质
CN109614771A (zh) * 2018-10-31 2019-04-12 同盾控股有限公司 一种基于Java代码的混淆方法和装置
CN109491918A (zh) * 2018-11-22 2019-03-19 中国人民解放军战略支援部队信息工程大学 一种汇编冗余指令的检测方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112612480A (zh) * 2020-12-28 2021-04-06 苏州浪潮智能科技有限公司 一种反编译原始代码的去混淆方法及装置

Also Published As

Publication number Publication date
CN110837372B (zh) 2021-01-26

Similar Documents

Publication Publication Date Title
US10540350B2 (en) Source code search engine
CN108829610B (zh) 一种神经网络前向计算过程中的内存管理方法及设备
JP4669067B2 (ja) 動的フラグメントマッピング
US20150310193A1 (en) Control flow flattening for code obfuscation where the next block calculation needs run-time information
CN107729526A (zh) 一种文本结构化的方法
US9892149B2 (en) Parallelized in-place radix sorting
CN110837372B (zh) 汇编代码清除混淆的方法、装置、介质及设备
CN111726249B (zh) 网络设备的配置文件处理方法及装置
JP5612144B2 (ja) 塩基配列アラインメントシステム及び方法
KR101662957B1 (ko) 해싱기반의 순위다중패턴매칭 방법
CN104881415A (zh) 树图生成的方法及设备
EP2937803B1 (en) Control flow flattening for code obfuscation where the next block calculation needs run-time information
US9405519B2 (en) Method and system for register clearing in data flow analysis in decompilation
RU2016151387A (ru) Параллельная сортировка слиянием
US11080334B1 (en) Graph representation system and methods
RU2639947C2 (ru) Способ и сервер для поиска точки деления потока данных на основе сервера
CN110362540A (zh) 一种数据存储、访客数获取方法及装置
CN104991963B (zh) 文件处理方法和装置
CN111142927B (zh) 配置文件的合并、拆分处理方法及装置
US20170147256A1 (en) Memory storage recycling
CN110874182A (zh) 一种条带索引的处理方法、装置及设备
CN111176704A (zh) 一种差分包文件生成方法、中断恢复方法和相关装置
CN110688542B (zh) 一种基础设施查找方法及装置
WO2021210100A1 (ja) パターン抽出装置、パターン抽出方法及びプログラム
CN108804883B (zh) 一种混淆代码的运行方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240424

Address after: Room 503, Building 3, No. 6, Xicheng Xi'an North Road, Xinluo District, Longyan City, Fujian Province, 364000

Patentee after: Xie Xinyong

Country or region after: China

Address before: 550000 floor 5, building a, Liyang building (Gaoke No.1), 160 Changling South Road, Guiyang National High tech Industrial Development Zone, Guiyang City, Guizhou Province

Patentee before: GUIYANG GLOUD TECHNOLOGY Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240508

Address after: 100071 No. 301, block B, yuanzhonglin real estate building, No. 28, South Third Ring West Road, Fengtai District, Beijing

Patentee after: Beijing zhidake Information Technology Co.,Ltd.

Country or region after: China

Address before: Room 503, Building 3, No. 6, Xicheng Xi'an North Road, Xinluo District, Longyan City, Fujian Province, 364000

Patentee before: Xie Xinyong

Country or region before: China