谈谈字符串那点事

在od破解软件过程中,大家对于字符串应该是再熟悉不过了,但是往往事情不尽如人意,总是搜索不到想要的字符串,这时往往有的人会被迫用别的方法,消息断点,内存断点,硬件断点等等,今天咱们只谈字符串,把我所掌握的查找字符串的步骤都总结到这里,当然,本人水平有限,难免有不足和纰漏的地方,还请指正。也正是因为水平有限,随着知识的积累,这篇文章也会不定期添加新的发现。(以下是一步一步按照从无脑查找方法到一些另类方法)
        当载入od后,自然会想到中文搜索引擎的智能搜索
如果没找到:

这时会想到,也许是加壳的原因

1:脱壳

2:直接f9

3:外面打开,od拖入

经过这3种方法,也许就能找到,当然前提是要在程序领空在搜索,例如401000

如果还没找到:

尝试ctrl+A分析一下,然后再智能搜索

如果还没找到:

尝试用去花插件如E junk code去花之后再搜索

如果还没找到:

这时多数人会想到,用Alt+M

然后ctrl+b:ascii和unicode各搜一次,很多朋友不知道如果搜到了该怎么处理呢?

1:在搜到的地址下内存访问断点

2:在搜到的地址下硬件访问断点

3:在反汇编窗口搜索命令push + 内存中搜到的地址

       4:在反汇编窗口搜索常量:内存中搜到的地址    
       5:在反汇编窗口ctrl+B搜索:内存中搜到的地址(这里要注意用小端的方式)

如果还没找到:    
       Alt+E:看看会不会在某个敏感的dll中,去dll中重复以上操作

如果还没找到:

尝试用资源工具:例如ResHacker,查找,搜索文本,查到了你也许会看到这种形式:2076,“这是你要找的字符串”,记下这个编号2076,去od反汇编窗口搜索常量十进制的2076或者搜索命令:push 81c (2076的Hex)

如果还没找到:

尝试用CE工具查找:

如果还没找到:

我曾经遇到过一个软件,软件是中文的,我要搜索的字符串是:“注册”,怎么搜都搜不到,以外的发现安装目录里面有个language文件夹,里面有个ini文件,格式是这样的:

registered:“注册”。此时就需要搜索“registered”了

如果还没找到:

尝试智能搜索字符串的ascii或者unicode或者base64

2017.5.11日更新:
      今天在做易语言逆向的时候,怎么都搜不出字符串,反复百度,找到了一个方法。
      先用e debug events调试,看什么事件发生,记下地址,下断,f9,然后再字符串搜索就行了(这程序比较变态,如果直接运行起来程序是几个没有字符串的)

2017.5.27日更新:

数据约束性的秘诀:如果注册码在程序运行过程中存在明文的话,多数情况下其地址会在一定的范围内,即:用户输入假注册码地址的±90个字节处

如果再找不到,那就有可能目标是图片或者加密了,恐怕只能放弃字符串这个方向了,由于这个主题只讲字符串,以上就是本人所掌握的所有有关字符串的找法,水平有限,难免有考虑不周或有所纰漏,还请大家在评论中多多指正。今后发现更好的方法还会添加在这里。

时间: 2024-10-24 14:51:58

谈谈字符串那点事的相关文章

谈谈创业这点事(4):如何利用互联网进行需求分析和竞争分析

前几年,丁香园还没有现在这么风光的时候,应大辉的邀请去做了一次分享,关于如何利用互联网进行需求分析和竞争分析的.当时还有一位主动来蹭听的,叫做白鸦,那时候他的第一次创业不是很顺利,正在寻求新的方向.后来没多久,丁香园顺利拿到了顺为的投资,又后来,被腾讯入股,成为行业内的标杆企业.而白鸦的口袋通也迅速崛起,成为创业领域的新贵. 当然,我要是说这俩个项目成功都是我的功劳,那我简直太不要脸了.不过,可以自得的说一句,那次分享的好评度还是很高的,(当然也许是人家客气,反正我信了).由于篇幅所限,我今天不

[Java基础]字符串的那些事

我们在Java语言中,String类算是用得最频繁的一个类之一了.今天就简单的总结一下String的知识点. 先给出两道题吧: 1. 字符串"我爱java"在内存中占用几个字节? 2. 给出下面程序的运行结果. 1 public class Test { 2 3 public static void main(String[] args) { 4 // TODO Auto-generated method stub 5 String s1 = "abc"; 6 St

【吐血经验】谈谈办证的那些事与公民基础信息数据库,献给那些即将毕业、或孩子上学等朋友

前段时间,关于证明“我妈是我妈”的事情很火,总理也发话了.但是实际生活中,这种类似的事情还是层出不穷,让人愤怒,让人上火...那说说这几年我在异地他乡遇到的办证那些事.对于年轻的朋友,或者以及结婚,生孩子,以及孩子即将要上学的人来说,这些经验获取很有用,能够解决你不少麻烦. 相比于美国的非身份证制度,中国的身份证制度以及带来的一系列问题已经被吐槽了很长时间,美国一个社会安全号码就可以走遍全国,真是让人真实羡慕嫉妒恨.不仅得益于人家的理念,同时和其完善的公民基础信息数据库有关.在信息技术如此发达的

字符串的那些事

是不是烦透了char数组??? 是不是一见字符串"查找""包含""下标"等等就晕??? 没关系! 你可以用string![奸笑] string,让字符串更简单! 主要介绍几个非常好用的函数,基本都在这个代码里面了,注释写的很详细,就不多说了 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring>//注意这个头文件

谈谈学习这件事

为何写这篇文章,当身处工作中的我发现,自己的生活和工作力不从心,感觉没有获得感,每天苦恼和来自家庭和周围环境的压力,一次次不断扑向我.我深知要改变目前的状况,只有一条路,学习. 人为何要学习,因为人对这个世界的认知是不足的,人生下来就像一张白纸.不断接受教育和环境的影响,才有了成长和变化,学习也是人的本性.学习可以去认识这个世界的美好和不好的事物,学习可以培养你做事的行为和方方面面.学习就是接受事物并做出反应的过程. 第一次感受到“学习”词汇可以追溯到学生时代,学习是为了得到好成绩,好的成绩可以

谈谈跨域那些事

跨域是很多phper,jser都会遇到的一个问题.解决数据在不同域名之间传递有很多方法,比如jsonp,比如setcookie,写入redis做持久化存储等.关于用哪种方式去处理跨域问题,仁者见仁智者见智,我根据我实际问题来分析. 前段时间我遇到了两个域下面的系统之间保持登录状态和权限的需求. 问题描述和目标:a.test.com和b.test.com,在a.test.com登录后,去b.test.com拥有同样的登录状态和权限. 关于登录状态,在我的需求里面只是简单的需要传递用户登录名.权限方

谈谈企业--RedHat Linux操作系统安装配置规范

1.谈谈规范的那些事 首先思考为什么要规范,规范有哪些好处.怎样去规范.规范可以避免哪些风险,当服务器超过几百上千台的时候,规范的重要性越发的尤为重要,废话不多说,浅谈下自己的规范文档. RedHat Linux操作系统安装配置规范 1.1    版本选择 根据应用的要求,并结合硬件类型,选择适当的操作系统版本. 至本规范最后更新时,新安装操作系统允许使用的版本如下: RedHatEnterprise Linux Server 6.4 RedHatEnterprise Linux Server

【译】PHP 内核 — 字符串管理

(Strings management: zend_string 译文) 原文地址:http://www.phpinternalsbook.com/php7/internal_types/strings/zend_strings.html 原文仓库:https://github.com/phpinternalsbook/PHP-Internals-Book 原文作者:phpinternalsbook 译文出自:https://github.com/suhanyujie 本文永久链接: 译者:su

Git的思想和基本工作原理

Git的思想和基本工作原理 Chapter: 开始了解Git 1. 先谈谈版本控制的一些事 2. Git诞生背后的一些故事 3. 版本控制:集中式VS分布式 4. Git的思想和基本工作原理 5. Git在Windows下的安装 那么,简单地说,Git 究竟是怎样的一个系统呢?请注意,接下来的内容非常重要,若是理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 Git 的时候,请不要尝试把各种概念和其他版本控制系统(诸如 Subversion 和 Perforce