菜鸟中的菜鸟 发表于 2014-10-8 10:39

搜索字符串的问题

春哥在论坛发的那个:另一种方法逆向:知识抢答系统 1.0官方版 ,地址:https://www.52hb.com/thread-58-1-1.html
我想问下,为什么直接右键搜索字符串没有搜索到:未注册,而在ALT+M的内存窗口里查找“未注册”时就能找到???直接右键搜索字符串不是在内存里搜索的吗?和在直接ALT+M内存窗口里效果不一样???如果不一样的话,那么右键使用的搜索字符串是在哪个区域或是地方里进行搜索的。麻烦高手具体的说下,谢谢!


大鸿 发表于 2014-10-8 10:39

本帖最后由 大鸿 于 2014-10-8 11:14 编辑

程序运行后.程序被加载到内存中.字符串自然可以找到.不管怎么加密.怎么强的壳,最终他的目的还是要运行的.而运行数据必然被加载到内存. 恒大也说过的这个.用插件中文搜索的那个字符串被加密的话是不可能搜索出来的.

轮回 发表于 2014-10-8 11:03

1、搜索字符串无法搜索到,有可能是程序隐藏了字符串。
2、为什么搜索内存窗口就有字符串了呢,这个道理很简单,因为内存窗口的字符是用编码组成的,所以理论上来说是不存在真正的字符,而你是搜索到了编码,并且你使用的OD将编码转换为可见的字符串。
3、右键使用搜索字符串是搜索程序中可用的字符,然后呈现出来的。

heiheidz 发表于 2014-10-8 18:59

雨季 发表于 2014-10-9 00:22

如果已经解决了这位同学别忘记选择最佳答案给予悬赏

Shark恒 发表于 2014-10-9 01:08

是这样,其实@轮回 回答的内容是很多种情况,没有针对问题回答单独的情况。
而@大鸿 回答的内容是第一个问题,回答完全正确,第二个没有给出解释。
第二个问题说的是为什么搜索不到字符串,其实看过我VIP教程的人都能明白。
之所以搜索不到字符串,是因为这个程序是易语言非独立编译。
易语言非独立编译的字符串,在程序加载的模块里,这个模块的名字叫krnln.fnr
所以你在exe里寻找,你找不到的。

轮回 发表于 2014-10-9 10:28

Shark恒 发表于 2014-10-9 01:08
是这样,其实@轮回 回答的内容是很多种情况,没有针对问题回答单独的情况。
而@大鸿 回答的内容是第一个问 ...

{:5_127:},我不知道这个程序是易语言的,我只能大概的说出这个东西的一个原理!和思路!

520Kelly 发表于 2014-11-19 01:30

或许字符串才他自己申请的内存空间呢
页: [1]
查看完整版本: 搜索字符串的问题