当前位置: 首页 > article >正文

IDA简单使用

今天来简单介绍一下逆向中常用到的另一个静态分析工具IDA,还是昨天那个打印demo(64位):

#include
#include
char a[] = "https://www.vultop.com/";
int main(int argc, char* argv[])
{
    printf("%s", a);
    system("pause");
    return 0;
}

因为是自己编写的代码,有符号文件,所以分析起来很方便,函数名都有:

 

在箭头这块ctrl+f,出现搜索框,直接搜索main:

 

在右边箭头位置按空格:

 

可以看到我们的主函数代码,在这块按一下F5,就可以用到IDA中最强大方便的功能,俗称F5大法,会编译成成语言形式:

 

对照源代码,基本流程很清晰。双击printf中的参数a:

 

按一下shift+f12就是字符串信息:

 

IDA其他页面都有名字,这里不再解释,接下来我们看一下没有符号文件的时候的IDA:

 

 

可以看到这里大部分函数名是sub_xxx,搜索main函数也是搜不到的:

 

这种情况我们只能从start开始找主函数,就像在OD里面找到主函数一样,当然也可以通过字符串叉查找。首先通过字符串查找一下:

 

双击:

 

标记这串字符串,按ctrl+x,看看哪里引用了这段字符串:

 

然后就到了主函数这里:

 

F5就可以查看伪代码,接下来我们靠特征找一下,函数名搜索框搜索start:

 

 

 

 

在这里按空格,方便查看,找下面这段代码:

 

进第二个call:

 

进最后一个call,走进一个jmp,到了主函数这里:

 

 


http://www.kler.cn/a/15489.html

相关文章:

  • 【AlphaFold3】开源本地的安装及使用
  • LeetCode 445.两数相加 II
  • 3356. 零数组变换 Ⅱ
  • uniapp 实现tabbar分类导航及滚动联动效果
  • 使用 Grafana api 查询 Datasource 数据
  • PCHMI串口接收实验
  • 用Python分析周杰伦歌曲并进行数据可视化
  • node项目的建立
  • HTTP 知识点总结
  • MRI k空间概念整理
  • 怎么卸载现有Python?【全方位解决】
  • 1。C语言基础知识回顾
  • 真题详解(数据流图平衡)-软件设计(五十九)
  • 数字IC入门教程
  • DDD系列:一、 Domain Primitive
  • 进程状态以及两种特殊进程
  • Java 网络编程 —— Socket
  • C——Typedef是什么?如何使用?有何便利之处?
  • 下载——安装——使用FinalShell
  • 权威学者、企业CFO荟聚上海国家会计学院,共探「智能会计 价值财务」
  • 30基于非对称纳什谈判的多微网电能共享运行优化策略MATLAB程序
  • 最值得学的编程语言是哪个?
  • 10、Java继承与多态 - 内部内的概念与分类
  • hw xm 的额外symbol汇总
  • 为什么要用虚拟 DOM?
  • Open3D 最小二乘拟合二维直线