逆向中静态分析工具——IDA初学者笔记之字符串分析
逆向中静态分析工具——IDA初学者笔记之字符串分析
程序中往往包含很多字符串资源,这些资源存在于PE文件的rdata段,使用IDA反编译后,可以查找到这些字符串,
逆向破解程序通常需要一个突破点,而这个突破点,往往就是一个Messagebox,因为这个Messagebox可以很直观的
让我们知道当前位置的代码负责哪些功能,而同时Messagebox可以提供一个字符串让我们来查找定位。
首先,打开IDA,主菜单View-Open subviews-strings:

这时出来一个strings窗口,如下图所示:

这时候窗口里显示的是程序中的字符串,但很遗憾,从图中可以看到大部分字符串只有一部分,难道IDA没法识别完整的字符串吗?
当然不是,双击图中的一项字符串,会自动调整到IDE View窗口,部分内容如下图所示:

助记符是IDA自动生成的,可以修改,右键单击该助记符,选择菜单rename即可。

同时注意到有一个菜单项:array,点击后:

不管中文该怎么翻译,元素数量、数组长度都行,对于我们选择的字符串来说,这里的作用就是控制字符串长度,且11与上面的
注释中aZGmI[11]相呼应,直接修改,对照前面图中IDA View的字符串数据,直接修改到00的位置,因为00是字符串结束的标志。

这时可以看到完整通顺的字符串句子出来了,这里再在aZGmI上单击鼠标左键选中,再打开右键菜单-rename,修改一个比较有意义的
助记符,也就是字符串名称:

关于那句默认注释,若要修改,目前知道2个方法,
1)跳转到代码段中的引用处,按F5,在C代码中右键单击该助记符名称,选择,Set Item Type,在新窗口直接修改即可,

2)直接点击在IDA View的那句默认注释,快捷键Y,即可。
若实在想注释,可以添加新的注释,用Insert快捷键,或者在主菜单edit-comments中开启,删除的时候没有指定的按钮,
而是需要再开启注释窗口,清空原来的内容,再确定保存即可:

。
逆向中静态分析工具——IDA初学者笔记之字符串分析的更多相关文章
- 逆向中静态分析工具——IDA初学者笔记
逆向中静态分析工具——IDA初学者笔记 //****************************************************************************** ...
- android apk 逆向中常用工具一览
关于apk 逆向中的一些工具的使用,看了不少文章,也使用过有很长一段时间了,今天对此做一总结: 几种文件之间的转换命令: 1. odex -> smali java -jar baksmali ...
- C++代码静态分析工具splint
1.引言 最近在项目中使用了静态程序分析工具PC-Lint, 体会到它在项目实施中带给开发人员的方便.PC-Lint是一款针对C/C++语言.windows平台的静态分析工具,FlexeLint是针对 ...
- 静态分析:IDA逆向代码段说明 text、idata、rdata、data
静态分析:IDA逆向代码段说明 text.idata.rdata.data 通常IDA对一个PE文件逆向出来的代码中, 存在四个最基本的段text.idata.rdata.data, 四个段为PE文件 ...
- Analyze 静态分析工具中显示 大量的CF类型指针 内存leak 问题, Core Foundation 类型指针内存泄漏
Analyze 静态分析工具中显示 大量的CF类型指针 内存leak 问题 今天使用Analyze 看了下项目, 解决办法,项目中使用了ARC,OC的指针类型我们完全不考虑release的问题 ...
- 秒味课堂Angular js笔记------Angular js中的工具方法
Angular js中的工具方法 angular.isArray angular.isDate angular.isDefined angular.isUndefined angular.isFunc ...
- JUC学习笔记--JUC中并发工具类
JUC中并发工具类 CountDownLatch CountDownLatch是我目前使用比较多的类,CountDownLatch初始化时会给定一个计数,然后每次调用countDown() 计数减1, ...
- 逆向知识第一讲,IDA的熟悉使用,以及TEB,PEB结构
逆向知识第一讲,IDA的熟悉使用,以及TEB,PEB结构 一丶熟悉IDA,以及手工制作sig文件. IDA,静态分析工具,网上随便找一个即可下载. 首先,我们写一个可执行EXE,最简单的 使用IDA打 ...
- 逆向知识第一讲,IDA的熟悉使用
逆向知识第一讲,IDA的熟悉使用 一丶熟悉IDA,以及手工制作sig文件. IDA,静态分析工具,网上随便找一个即可下载. 首先,我们写一个可执行EXE,最简单的 使用IDA打开. 1.提示使用什么格 ...
随机推荐
- 关于请求时状态为cancel
项目中发现有一个问题,在我发送某些请求的时候请求一会状态就变为cancel了,我滴个乖乖,这是咋回事,被取消了,后来经过仔细排查后发现了以下两个问题 1.AJAX和form表单同时使用,(form提交 ...
- ETL工具--DataX3.0实战
DataX是一个在异构的数据库/文件系统之间高速交换数据的工具,实现了在任意的数据处理系统(RDBMS/Hdfs/Local filesystem)之间的数据交换,由淘宝数据平台部门完成. DataX ...
- 转:Python字典与集合操作总结
转自:http://blog.csdn.net/business122/article/details/7537014 一.创建字典 方法①: >>> dict1 = {} > ...
- SpringBoot学习1:创建第一个SpringBoot项目
一.新建项目 二.打开项目的pom文件,在里面添加maven依赖 <!--springboot项目依赖的父项目--> <parent> <groupId>org.s ...
- Install Jenkins 2.1.36 and openjdk 1.7.0 on centos 7
#!/bin/bash## Copyright (c) 2014-2015 Michael Dichirico (https://github.com/mdichirico)# This softwa ...
- 【PHP】什么时候使用Try Catch(转)
几条建议: 如果无法处理某个异常,那就不要捕获它. 如果捕获了一个异常,请不要胡乱处理它. 尽量在靠近异常被抛出的地方捕获异常. 在捕获异常的地方将它记录到日志中,除非您打算将它重新抛出. 按 ...
- 【css】cursor鼠标指针光标样式知识整理
在前端开发中,我们经常需要对对象鼠标指针光标进行控制,比如鼠标经过超链接时变成手指形状.在这里整理一下cursor鼠标指针光标样式的知识,记录与方便以后查找. 1.常用cursor光标 div( cu ...
- tp5查询
TP5的EXP.批量查询.聚合查询等. <!--more--> //使用EXP条件表达式,表示后面是原生的SQL表达式 $result = Db::table('think_inno')- ...
- 洛谷 P2279 [HNOI2003]消防局的设立
题目描述 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成了一个巨大的树状 ...
- Ecshop之ajax修改表里的状态(函数化处理)
目录 功能: 效果: 思路: 页面里 控制器里 功能: `点击图片,修改表里的状态值` 效果: 思路: 页面里在img里点绑定onclick件事,调用js函数listTable.toggle oncl ...