逆向中静态分析工具——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中开启,删除的时候没有指定的按钮,

而是需要再开启注释窗口,清空原来的内容,再确定保存即可:


最新文章

  1. Java注解和代理实现
  2. 受限玻尔兹曼机(RBM)学习笔记(二)网络结构
  3. css3学习总结3--CSS3图像边框
  4. jQuery对象和javascript对象互换
  5. jbpm入门样例
  6. CSS 之 margin知识点
  7. [TYVJ] P1025 单数?双数?
  8. openstack vm image
  9. Tick and Tick------HDOJ杭州电(无法解释,直接看代码)
  10. 关于SpringBoot bean无法注入的问题(与文件包位置有关)改变自动扫描的包
  11. iOS 开发之字典写入文件
  12. JavaWeb过滤器.监听器.拦截器-原理&区别-个人总结
  13. tp5入门
  14. 20190422 8个小时的T-SQL基础视频课件-分享
  15. 域名排序 sort uniq awk
  16. 启动和停止SQL Server服务三种形式
  17. [转]PHP时区/MySql时区/Linux时区
  18. Intellij-插件安装-JRebel热部署插件安装
  19. steam Depot 生成与应用脚本
  20. linux cp 命令详解

热门文章

  1. 2018.6.22 Java试题测试结果
  2. java基础编程—统计二进制数中1的个数
  3. el-upload控件一次接口请求上传多个文件
  4. linux配置邮箱服务
  5. Java泛型和反射
  6. mybatis的优缺点及应用场合
  7. vue 判断是否登录,未登录跳转到登录页
  8. Redis之set类型操作
  9. 科学计算库Numpy——文件读写
  10. 动态拼接SQL语句