zoukankan      html  css  js  c++  java
  • 谈谈字符串那点事

    在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个字节处

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

  • 相关阅读:
    元宇宙的特点
    Meta Network
    Decentraland
    Cryptovoxel
    The Sandbox Game
    Roblox
    JAVA参数传递
    静态方法使用@Autowired注入写法
    mysql索引
    Java中锁的分类
  • 原文地址:https://www.cnblogs.com/hijacklinux/p/6931394.html
Copyright © 2011-2022 走看看