首页 > 其他分享 >【加密与解密】第三章①

【加密与解密】第三章①

时间:2023-01-04 16:35:03浏览次数:33  
标签:peid 第三章 解码 解密 反汇编 Capstone 加密 识别

这一章是静态分析技术。高级语言编写的程序一般有两种形式,一种是被编译成机器语言在CPU上执行,例如C++,机器语言与汇编语言相对应。因此可以将机器语言转化成汇编语言,这个就叫反汇编。另一种是一边解释一边执行,我们称之为解释性语言,例如visual basic3.0/4.0,java。这类语言变异的程序可以被还原成高级语言的原始结构,这是反编译。
所谓静态分析,是通过反汇编,反编译获得程序汇编代码或者源代码,再根据程序清单分析的程序的流程,了解模块所完成的功能。

文件类型分析

逆向分析程序的第一步是分析程序的类型,了解他使用什么语言,什么编译器,有有没有被加密处理过。这个分析过程一般用工具。有peid,exeinfoPE。可以检测大多数编译语言,加密和病毒。本节用peid。
peid可以检测大多数编译语言,病毒和壳。

peid这类分析工具利用特征串搜索完成识别工作。因为各种开发语言都有固定的启动代码,可以用来识别。加密处理过的程序会留下加密软件的相关信息,利用这点可以识别他是用什么加密软件。
peid提供一个扩展接口文件userdb.txt,永华亏自定义一些特征码用于识别新的文件类型。
有些外壳程序会为了欺骗识别软件,将一些加壳信息去除,并伪造启动代码。所以识别工具的结果只做参开,具体如何需要跟踪分析代码。

反汇编引擎

安全软件和保护软件的开发过程中经常会用到汇编引擎和反汇编引擎。

ODG的ODDisam

这是ODG自带的反汇编引擎,优点是具有汇编接口(文本解析,将文本字符串解析并编码成二进制值)。也有很多缺点如下

BeaEngine

没有明显缺点,指令集如下。

有一个特点是可以解码每一条指令使用和影响的寄存器,包括标志位寄存器,深知解码标志位寄存器的所有位置。

Udis86

支持的x86扩展集如下。

此外还支持x64指令的反汇编。它的代码精简功能函数短小,变量命名接口干净,简单,灵活。

这也使得他拥有强大适应能力的同时兼顾了性能,解码细节和能力相近时,它是解码速度最快的反汇编引擎。

Capstone

是集大成者。支持很多种CPU框架。

Capstone对x86架构指令集支持最全。有

也很适合用来移动端开发。
因为他是从llvm移植过来,而llvm是C++项目,capstone是c语言项目。做了很多适配,显得他很臃肿。capstone通过适配接口将其转换到自己的架构,也造成了解码时中间层过多,性能下降。
此外,capstone的内存消耗比较大,解码一条指令传入的架构cs_insn必须要动态分配函数来分配,而且要分配两次,造成了巨量的内存碎片。所以要是用Capstone进行大量指令分析,最好给他分配一个固定的对象内存分配器,提高一点性能。
粽子Capstone接口使用繁琐,但功能强大。

标签:peid,第三章,解码,解密,反汇编,Capstone,加密,识别
From: https://www.cnblogs.com/Corax0o0/p/17025019.html

相关文章

  • FreeSWITCH的TLS加密
    听着很高大上(实际也很实用)的加密机制,在FreeSWITCH里配置支持竟然这么简单!GreateFreeSWITCHandGreateProgrammer!①cd/usr/local/freeswitch/bin(以默认的安装路径为......
  • JS逆向实战10——某集团RSA长加密
    由于本网站较为特殊目标网站加密与其他稍有不同目标网站:68747470733a2f2f65632e6d696e6d6574616c732e636f6d2e636e2f6f70656e2f686f6d652f70757263686173652d696e666f2f......
  • 【加密与解密】第二章⑤
    2.别名执行的时候直接用内容替换原始操作数。别名有一种固定别名,另一种是自定义别名。有10个固定别名,为\(u0~\)u9.在定义固定别名时要用r命令,同时要在字母u前面加一个.......
  • redact方式加解密
    oracleredact加密 加密针对非当前用户与非DBA权限用户--删除加密策略BEGIN  DBMS_REDACT.DROP_POLICY(     object_schema   => 'user_test',......
  • 密码加密,天经地义
    大家好,我是车辙,我的掘金小册《SkyWalking:应用监控和链路跟踪》已经上线啦,这是我的第一本电子书,欢迎大家订阅。整整好是9月的最后一天下午,能按耐住冲动的是少之又少,至于......
  • 小程序 SHA1加密算法使用
    创建一个js文件,或写入util.js中//SHA1加密functionencodeUTF8(s){vari,r=[],c,x;for(i=0;i<s.length;i++)if((c=s.charCodeAt(i))<0x80)r.pu......
  • unity绕过易赛通加密处理
    代码在这里参考这里的文章:https://www.grablan.com/news/2017/20110.html抽取一下重点:易赛通使用驱动对关键API进行Hook的方式实现了文件的加解密功能,加解密过程对应......
  • 解密秒杀系统架构:不是所有的秒杀都是秒杀
    摘要:究竟什么样的系统算是高并发系统?今天,我们就一起解密高并发业务场景下典型的秒杀系统的架构。本文分享自华为云社区《【高并发】秒杀系统架构解密,不是所有的秒杀都是秒......
  • 解密秒杀系统架构:不是所有的秒杀都是秒杀
    摘要:究竟什么样的系统算是高并发系统?今天,我们就一起解密高并发业务场景下典型的秒杀系统的架构。本文分享自华为云社区《​​【高并发】秒杀系统架构解密,不是所有的秒杀都是......
  • 绿盾加密导致vs升级或修改设置后无法启动
     删除%LocalAppData%\Microsoft\VisualStudio\16.0_cd0f2560\privateregistry.bin,再次启动VS。   无法初始化注册表根配置单元-VisualStudio反馈......