首页
社区
课程
招聘
[原创]反字符参考全接触
发表于: 2007-4-8 15:52 24134

[原创]反字符参考全接触

2007-4-8 15:52
24134

这个本来是打算投稿看雪的杂志,所以简单的东西也说得很详细。前两部分可以忽略,文章真正有价值的是第三部分,从指针欺骗到字符欺骗,可以骗过Ultra String Reference和IDA的字符参考窗口。避免加密后的关键字符仍然以乱码的方式出现在字符参考窗口中,导致仍然可以通过加密字符找到关键代码的情况。毕竟最好的加密是让对方根本不知道其存在。
    本来还有其他的想法,例如Ultra String Reference可能只搜索EXE所在内存范围,而不扫描DLL中的参考信息,又或者是象壳那样将解密的代码复制到申请的内存空间中运行。但是前面的方法过于简单,而且有效,以致我觉得完全没有必要用复杂的方法实现,就取消了对复杂方法的探索。
    另外,一个明显的注册信息,和一堆明显的无意义字符,你会去看哪一个参考呢?假如把加密的字符隐藏了,现在只有唯一的注册信息,就可以引诱CRACKER去看一堆可能根本不可能运行的代码。一两句话就能说清楚的东西,也没必要写示例代码。
    文章就砍剩这么多了,大家凑合看。发上来看看能不能混个精华


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (30)
雪    币: 260
活跃值: (81)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
坐一次沙发
2007-4-8 16:04
0
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
3
学习~`支持~~~
2007-4-8 16:21
0
雪    币: 178
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
菜鸟来侃侃啊
2007-4-8 21:43
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
5
熊老大,顶你个肚脐眼
2007-4-8 22:18
0
雪    币: 114
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
熊大大的东西要顶下
2007-4-9 00:31
0
雪    币: 191
活跃值: (345)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
7
楼主方便的话传一个编译好的,还没装C++呢。
2007-4-9 04:52
0
雪    币: 2943
活跃值: (1788)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
8
感谢笨笨雄的文章,不知是用什么编译编的,我用Visual c++
修改头文件后编译了一下,发现的确有效。
修改版:
#include "windows.h"

class defMsgBox
{
public:
                defMsgBox()
                {
                        m_text = (char *)"你能找到我吗?";
                        m_caption = (char *) "隐藏字符参考";
                }
                void myShow()
                {
                        MessageBox(0,m_text,m_caption,0);
                }
                char *m_text;
                char *m_caption;
};

        char *myText = "测试";

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
        defMsgBox myMsgBox;
        char *myCaption = "\x1f""Hello Ultra String Reference";
        MessageBox(0,myText,myCaption,0);
        myMsgBox.myShow();
//字符指针myCaption由于第一个字节加入了无效字符而被Ultra String Reference的确被忽略
        return 0;
}
2007-4-9 09:33
0
雪    币: 236
活跃值: (11)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
9
学习~`支持~~~
2007-4-9 09:35
0
雪    币: 405
活跃值: (10)
能力值: ( LV9,RANK:1130 )
在线值:
发帖
回帖
粉丝
10
哇。看来老罗的字符串查找,要从0.12升级了。
支持下
2007-4-9 09:36
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
11
我的是VC6(SP6)
2007-4-9 12:16
0
雪    币: 615
活跃值: (1222)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
好文章,长见识了.
2007-4-9 12:27
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
收下来再说!
2007-4-9 12:33
0
雪    币: 82
活跃值: (10)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
14
遇到过最损的,abcdefg全列一遍,要用一个个调
2007-4-9 12:37
0
雪    币: 167
活跃值: (1574)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
15
精品 先收藏了~~
2007-4-9 18:55
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
16
反crack研究
2007-4-9 19:40
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
收藏! 好技巧!
2007-4-9 20:14
0
雪    币: 61
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
18
学习~`支持~~~
2007-4-10 18:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
谢谢楼主,写的详细~
2007-4-10 19:27
0
雪    币: 461
活跃值: (93)
能力值: ( LV9,RANK:1170 )
在线值:
发帖
回帖
粉丝
20
学习一下,支持笨兄!
2007-4-10 20:30
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
学习很有收获 `支持~
2007-4-10 21:58
0
雪    币: 216
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
22
笨笨熊老大,我有个弱弱的问题,为什么我的OD识别不了C的CRT函数(若用lstrcmp就可以,为什么strcmp不行呢)呢?
另外,我用VC6编译你包内的simple.cpp,用OD加载进来的汇编代码和您老大的不一样,多了很多东东,可能是我的VC IDE环境没有优化吧。

老大的OD截图:


下面是我的截图:

WIN32SDK API版本:


CRT版本:
2007-4-13 20:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
学习中,看看
2007-4-13 21:05
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
又学到好东西了,谢谢!
2007-4-14 23:01
0
雪    币: 112
活跃值: (16)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
25

强烈学习!
2007-4-15 00:15
0
游客
登录 | 注册 方可回帖
返回
//