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

【加密与解密】第三章③

时间:2023-01-06 23:25:10浏览次数:33  
标签:第三章 代码 解密 反汇编 跳转 字符串 加密 窗口 ida

4.提示窗口

下方提示窗口是ida的输出控制台,主要反馈各种信息。

5.字符串窗口

view-》opensubviews-》strings打开字符串窗口,显示的是从二进制文件中提取的一组字符串,双击窗口中的字符串,将会跳转到字符串所在地址。字符串窗口与交叉引用结合使用,就可以快速定位程序中任何引用此字符串的位置。

6.输出窗口

列出了可执行文件调用的所有函数。双击函数就会跳转到该地址。

7.跳转到地址窗口

可以按G打开jump to address窗口,输入地址(十六进制),就会显示该地址代码。

交叉参考

通过交叉参考可以了解指令代码相互调用的关系。例子如下

CODE XREF:sub_401120+B↑j表示该调用地址是401120h,j是跳转,另外o是偏移量,p是子程序。

参考重命名

可以将反汇编清单当中一些默认名称改为有意义的名称,增加了代码的可读性。例子如下,loc没意义,咱们重命名



修改后所有loc401120赋予的名称都变成新名称了。

标签的用法

jump→mark position打开“标记当前位置功能”

用来标记当前位置,并且可以用来返回。

格式化指令操作数

可以格式化指令使用的常量,因此尽量使用符号名称而非数字使得反汇编代码更有可读性。
ida提供多种进制显示,把光标移到需要转换进制的常量上,单击右键会出现上下文菜单,可以格式化成十进制,八进制或者二进制。

函数的操作

ida允许手动干预编辑删除函数。新函数由不属于某个函数现有的指令创建,或有未被ida以任何定义的原始数据创建。方式如下

代码和数据转换

反汇编中可能无法正确区分数据和代码(有些程序就是利用这一点来对抗静态反汇编)我们用户可以将某段十六进制数据指定为代码或者数据。方式如下。


如果一个字节被转换过,ida再次转换他们使会提醒用户确认。下面有一个简单的例子。

字符串

编程语言的不同导致了字符串格式的不同。例如以0结尾的c语言风格字符串及以$结尾的dos字符串。ida支持所有字符串。只要移动好光标,edit→strings→ascii即可,如图

也可以设置默认字符串格式。

ida有时候无法确定ascii字符串,原因是字符串在主程序没有被调用,方法如下。

标签:第三章,代码,解密,反汇编,跳转,字符串,加密,窗口,ida
From: https://www.cnblogs.com/Corax0o0/p/17031860.html

相关文章

  • 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、律师证等,可以在国家职业认证机构或委托......
  • 【加密与解密】第三章②
    AsmJit一个以C++封装的完整的JIT汇编器和编译器,生成兼容x86和x64架构的原生汇编指令。它与之前的开源库并不一样,他只是一个汇编器,与别的汇编方式也不同,有个例子。可以......
  • QQ音乐文件解密转MP3
    最近想搞个iphone闹钟,用爱思可以不限制在30s.缺mp3文件,所以又要转文件类型,记录一下. (我后来发现可以边放music边介绍天气状况,都不用闹钟了.)具体说一......
  • 为什么需要JS加密来保护你的代码
    防止代码被盗用:通过对代码进行混淆加密,可以使得攻1击者很难通过阅读代码来理解代码的功能和实现细节,从而防止代码被盗用。增强代码的安全性:混淆加密的代码可以更加安全,因为......