Nisy 发表于 2007-4-9 18:57:27

反字符参考全接触 By:笨笨雄

标 题: 【原创】反字符参考全接触
作 者: 笨笨雄
时 间: 2007-04-08,15:52
链 接: http://bbs.pediy.com/showthread.php?threadid=42339

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

fonge 发表于 2007-4-10 10:07:02

笨老大这段时间火力很强~~
向他学习中~

黑夜彩虹 发表于 2007-4-10 16:45:43

这样就可以写个函数来用了,不怕看到字符串了。。。。

fonge,交给你了.../:08

fonge 发表于 2007-4-10 19:18:32

在delphi中,用showmessage调用的对话框可以跳过OD的字符串参考,
不知是为什么~

fonge 发表于 2007-4-10 19:26:32

部分跳过,也不是全部跳过!

procedure TForm1.Button1Click(Sender: TObject);
var
tt,nn:PAnsiChar;
begin
tt:='你好'   ;
showmessage('我是中国人');
nn:='好吗';
MessageBox(0, '就是你了', '好的', MB_OK + MB_ICONWARNING);
MessageBox(0, tt,nn, MB_OK + MB_ICONWARNING);


end;

end.

你好,我是中国人都译不出来~

MessageBox(0, tt,nn, MB_OK + MB_ICONWARNING);
改成MessageBox(0, tt,tt, MB_OK + MB_ICONWARNING);
并去掉nn:='好吗';
然后我是中国人这一句可以被译出来!

黑夜彩虹 发表于 2007-4-11 11:49:46

原帖由 fonge 于 2007-4-10 19:18 发表 https://www.chinapyg.com/images/common/back.gif
在delphi中,用showmessage调用的对话框可以跳过OD的字符串参考,
不知是为什么~

哈,我昨天也发现了,不过昨天挺忙的。。。。,没时间上来

acafeel 发表于 2007-4-26 16:22:41

有这样的事?是用的什么原理呐?

fonge 发表于 2007-4-28 10:54:35

没什么原理,是英文的话用OD自身的字符串参考什么都看处见!/:12

杨家将 发表于 2007-11-12 00:43:49

很好,学习学习~~

fwtfd 发表于 2007-11-12 17:50:44

很不错 下来 学习ing,
页: [1] 2
查看完整版本: 反字符参考全接触 By:笨笨雄