1 IDA反汇编 今天只看看 别人是怎么防护的 软件安全

2024-06-13 00:04

本文主要是介绍1 IDA反汇编 今天只看看 别人是怎么防护的 软件安全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先看32位还是64位

能用32位的打开就是32位,否则会报错。API Monitor不改软件,只是看。
在这里插入图片描述

IDA加载

用的openssl加解密

定位:找到需要修改的地方

一般有提示句等

先看看自己写的:shift+F12 展示所有的字符串;

在这里插入图片描述
在这里插入图片描述

修改 或叫打补丁

比如在需要判断的地方JNZ改值 或NOP
在这里插入图片描述

应用 补丁到改后的软件

在这里插入图片描述

运行新软件

IDA使用技巧
shift+F12 展示所有的字符串;ctrl+x查找某一字符串出现的所有位置;F5反编译,查看伪代码;*可以查看数组元素的起始位置和每个元素所占空间是多少;y可修改数据类型;n可修改变量名;shift+E可导出数据(先用y修改数据类型,再根据数据类型选择合适的进行输出数据),提取数据时还是需要再去关注一下hex界面里面的数据,防止丢失;选中伪代码当中字符按tab键到汇编语言;空格键实现图型和文本格式转化;有时函数未正确识别,在函数的起始地址的汇编代码处按p;快捷键D修改对应的数据类型;A转化为对应字符串,尤其是没有正常解析的零散字符,可以将光标放置起始位置,然后使用快捷键A;IDA函数窗口中,每个函数有一个关联标志,L标志表示其为库函数;按G键可进行跳转,用于实现指令之间的跳转;在views的open subviews中有function caLL窗口可以查看函数的调用;当静态调试和动态调试基地址不同时,可以采取修改IDA基地址确保二者可以共同分析 Edit->Segments->Rebaseprogram;c键可将指令转化为代码,d键可将代码转化为数据,这两个快捷键在面对对抗反汇编的方法时经常使用。对立即数进行分析时,R:将立即数转化为字符;H: 将立即数转化为10进制;Q: 将立即数转化为16进制;B:将立即数转化为2进制。IDA如何修改文件,IDA-》edit-》Patch program-》Assemble修改,然后 IDA-》edit-》Patch program-》Apply patches to input file即可得到修改后的pyd文件。IDA当中出现_main endp ; sp-analysis failed如何分析。
1.用Option->General->Disassembly, 将选项Stack pointer打钩;
2.仔细观察每条call sub_xxxxxx前后的堆栈指针是否平衡;
3.有时还要看被调用的sub_xxxxxx内部的堆栈情况,主要是看入栈的参数与ret xx是否匹配;
4.注意观察jmp指令前后的堆栈是否有变化;
5.有时用Edit->Functions->Edit function...,然后点击OK刷一下函数定义。

这篇关于1 IDA反汇编 今天只看看 别人是怎么防护的 软件安全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1055721

相关文章

JAVA保证HashMap线程安全的几种方式

《JAVA保证HashMap线程安全的几种方式》HashMap是线程不安全的,这意味着如果多个线程并发地访问和修改同一个HashMap实例,可能会导致数据不一致和其他线程安全问题,本文主要介绍了JAV... 目录1. 使用 Collections.synchronizedMap2. 使用 Concurren

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

电脑开机提示krpt.dll丢失怎么解决? krpt.dll文件缺失的多种解决办法

《电脑开机提示krpt.dll丢失怎么解决?krpt.dll文件缺失的多种解决办法》krpt.dll是Windows操作系统中的一个动态链接库文件,它对于系统的正常运行起着重要的作用,本文将详细介绍... 在使用 Windows 操作系统的过程中,用户有时会遇到各种错误提示,其中“找不到 krpt.dll”

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://