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

【加密与解密】第三章④

时间:2023-01-07 15:13:22浏览次数:37  
标签:第三章 可以 解密 枚举 反汇编 数组 加密 ida 结构

数组

IDA有较强的数组聚合能力,可以将一串数据声明变成一个反汇编行,按数组的形式显示。例子如下

其中407030h指向一个数组,以下是未识别的数组。

我们可以通过打开数组排列调整窗口,来调整显示。

设置1*3后如下。

结构体

1.创建结构体

对于一些常见的文件类型,ida会自动加载其对应的类型库。这些类型库中有相应的结构体,分析代码时用于直接引用。可以通过如下方法加载类型库




默认情况下,ida会加载这些常用的结构。也可以按insert键,单击cancel使得程序结构体数据结构显示。在WNCLASSA结构一行双击,展开结构,在程序代码相应位置会直接以结构体的形式展示。

书中提供了一种方法:我们在写C程序的时候所定义的结构体往往一目了然,而到了反汇编分析的时候,分析工具由于没有定义结构体会生成让人看不懂的代码。我们在ida中可以创建结构体并实现从现有数据实现数据转移。

2.导入结构体

上面已经介绍了手工方式建立各类结构,操作并不方便。从c文件头中导入结构才是最好的选择。积累自己建立的头文件。

枚举类型

下面一段程序在进行ida反汇编后,得到一些没有意义的数字。

可以用枚举类型来表示这些数字。

我们可以使0表示Monday,1表示Tuesday,并以此类推。

这样就可以直接显示枚举的成员

变量

在如下的一段反汇编代码中,参数传递不够明确,因此可以改善

ida会自动识别哪些参数被放到了栈

ida会给这些传递的变量有意义的名字。在任何函数栈上双击,打开站窗口,就可以显示各结构成员。

标签:第三章,可以,解密,枚举,反汇编,数组,加密,ida,结构
From: https://www.cnblogs.com/Corax0o0/p/17032650.html

相关文章

  • 第三章 页表(xv6 2021版)
    本文翻译自MTxv6|Chapter3| Pagetables3.1分页硬件3.2内核地址空间3.3代码解析:创建地址空间3.4物理内存分配3.5代码解析:物理内存分配器3.6进程地址空间......
  • 记一个在线工具网站,程序员必备,json格式化、压缩、转义,加解密 编码解码
     简用-在线工具箱-简单易用-工具大全提供json格式化,json代码压缩,json校验解析,json数组解析,json转xml,xml转json,json解析,json在线解析,json在线解析及格式化,unix......
  • 【加密与解密】第三章③
    4.提示窗口下方提示窗口是ida的输出控制台,主要反馈各种信息。5.字符串窗口view-》opensubviews-》strings打开字符串窗口,显示的是从二进制文件中提取的一组字符串,双击窗......
  • Md5加密
    引用newget包   添加静态帮助类publicstaticstringGetMD5Hash(stringstr){//就是比string往后一直加要好的优化容器StringB......
  • TEE非对称加解密算法RSA加密和解密开发实例
    /***自动分配存放秘钥对象**/TEE_Resultlge_utils_generate_keypair(TEE_ObjectHandle*rsa_key_obj){TEE_Resultret;ret=TEE_AllocateTransient......
  • TEE 非对称加密 RSA 签名验签实例
    /***自动分配存放秘钥对象**/TEE_Resultlge_utils_generate_keypair(TEE_ObjectHandle*rsa_key_obj){TEE_Resultret;ret=TEE_AllocateTransient......
  • jar包简单加密、所需依赖包简单加密
    <plugin><groupId>net.roseboy</groupId><artifactId>classfinal-maven-plugin</artifactId><versio......
  • [源码]JS加密:调用JShaman接口,实现JS代码加密
    源码如下,保存为html即可直接使用。免费版:<html><head><scriptsrc="https://code.jquery.com/jquery-1.11.3.js"></script></head><bo......
  • egg.js+vue 实现crypto.js 对称加密
    对称加密对称加密算法,加解密都用同一个密钥。 node:letcrypto=require('crypto')//data:需要加解密的内容,//key:密钥//初始化向量(iv)functionaesEncryp......
  • 加解密与HTTPS(5)
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~咱们大学读完之后有毕业证书,并且这个证书可以在学信网查询。专业上有注会、CCIE、律师证等,可以在国家职业认证机构或委托......