首页
社区
课程
招聘
[原创]programmer和cracker对注册码加密的对话
发表于: 2004-12-31 12:19 8238

[原创]programmer和cracker对注册码加密的对话

2004-12-31 12:19
8238
下面是programmer和cracker对注册码加密的QQ对话(稍做整理)希望对解密初学者和程序员有一定的帮助,对话中有没有理论错误,请大家指出,因为我是菜鸟难免会讲错,但我认为这样的谈话对不懂加解密的程序员来说会有很大的感触!甚至可能把他导向学习加解密或密码学的方向!!(希望能看完,指出错误)
!!

2004-12-30 19:13:49 maomao
想问一下,你的汇编和vc++怎么样?
2004-12-30 19:14:13 [程序员]
不行。
2004-12-30 19:14:58 maomao
我目前在学这些东西
2004-12-30 19:15:47 [程序员]
是吗?
2004-12-30 19:16:42 maomao
你对密码学怎么样?
2004-12-30 19:17:07 [程序员]
不好。这块真是不行。
2004-12-30 19:19:26 maomao
知道用汇编语言几乎可解很多当前的共享软件吗?反汇编后再用其他语
言写注册机
2004-12-30 19:19:46 [程序员]
是吗?
2004-12-30 19:20:57 maomao
你编的软件用明码比较再怎么加密,加壳也白搭,很容易破的
2004-12-30 19:21:42 [程序员]
现在不用注册码了,改用不同用户名分别编译。
网上公开的都是功能不全的版本,破解了也没用。
2004-12-30 19:22:53 maomao
也没有用的,只要有用户把他的软件放出来不就玩完了?
2004-12-30 19:23:35 [程序员]
可是该软件里含有该用户的标志。这样我知道是谁放出来的。
因为我把用户名直接写入软件里了。
2004-12-30 19:24:01 maomao
对我来说就很容易破,用汇编把里面的代码改了
用户名也改了,你就不知道了
2004-12-30 19:24:41 [程序员]
是啊。
2004-12-30 19:26:21 maomao
但如果现在叫我编软件不管用注册码还是用你的方法编一般人就比较难破,
但要在软件中加入相应的加密代码。我觉的按你的性格和条件很适合学汇编
2004-12-30 19:27:22 [程序员]
我的用户名称也不是直接写入,也是通过一定转换后再写入的。
2004-12-30 19:28:36 maomao
但你的转换是四则运算或异或是吧
2004-12-30 19:29:10 [程序员]
是啊?但我的软件是用加密软件加密过的
2004-12-30 19:31:01 maomao
也一样因为先脱壳,然后反编译原代码就暴露无疑
这就是解释语言的不好地方,而象用vc++,delphi编的是不可能完全反编译的,最多是反汇编,再说要看懂大程序的汇编思路就困难了
2004-12-30 19:32:09 [程序员]
那给一个我编的软件你试一下如何?
2004-12-30 19:34:05 maomao
不用了,你以前要求输入注册码的版本,在我这里自己写了个注册机。但我没有公开过
2004-12-30 19:34:43 [程序员]
好,千万不要公开啊。
2004-12-30 19:34:57 maomao
我可不是那种人  
2004-12-30 19:35:12 [程序员]
好,谢谢。你学汇编多久了?
2004-12-30 19:36:11 maomao
我大学的时候就懂汇编和C只不过一直认为没用
2004-12-30 19:36:37 [程序员]
哦。
2004-12-30 19:36:56 maomao
有一种方法会使软件比较难破
2004-12-30 19:37:14 [程序员]
什么方法?
2004-12-30 19:38:09 maomao
对要求注册的软件来讲,比较的时候不要用明码比较,其实用注册码的方式也许比你现在的方法(一用户一个程序方式)加密效果要强,而且售后服务简单。
2004-12-30 19:39:11 [程序员]
那怎么比较?
2004-12-30 19:41:04 maomao
你以前的软件是用:输入的注册码=F(用户名),那么真实的注册码不是在内存中,就是在cpu寄存器里可以找到 (明码比较法)
2004-12-30 19:42:04 [程序员]
那要怎么办,我一直在思考这个问题。
2004-12-30 19:42:17 maomao
而你现在的软件加密方法(一用户一个程序方式)也一样好破,只要把你的比较代码语句用汇编改了就完了
2004-12-30 19:42:52 [程序员]
是啊。你说的用注册码方式,难道就不用比较语句吗?那怎么知道是正确的还是错误的。
2004-12-30 19:46:47 maomao
也用啊 ,不可能不用的啊!
2004-12-30 19:47:26 [程序员]
只要用比较语句,那把"="直接改成"!="就完了。
2004-12-30 19:47:48 maomao
所以现在摆在你面前的就是两个问题:一:如何保护比较和加密的关键语句不容易被破解 二:如何解除明码比较的弊端
2004-12-30 19:48:46 [程序员]
现在有方法吗?微软的office也照样被破。
2004-12-30 19:48:44 maomao
这两问题都是可以比较好的解决的,至少很难被破解!
2004-12-30 19:49:14 [程序员]
能说说看吗?我很想知道。
2004-12-30 19:58:01 maomao
我可以大概告诉你方法
2004-12-30 19:58:14 [程序员]
好。
2004-12-30 19:58:50 maomao
这些都和密码学有关,比如我们的信用卡就用那知识
2004-12-30 19:59:22 [程序员]
哦。
2004-12-30 19:59:26 maomao
你现在的软件在代码里还是用明码比较吗?
2004-12-30 20:01:31 [程序员]
没用啊。我根本就不用序列号和注册码了。不同用户单独编译。而且需知道转换算法破解。而要知道算法就要看原代码。
2004-12-30 20:02:53 maomao
那不是你的软件给谁都好用了,只是用户名显示不是自己而已?
2004-12-30 20:03:07 [程序员]
是啊,我现在就是希望用户不要外放程序。
2004-12-30 20:04:01 maomao
我觉的你的软件问题还真不少。
2004-12-30 20:05:00 [程序员]
可是你一直没说,现在用你说的注册码方式就一定不用比较语句?
2004-12-30 20:13:32 maomao
当然也用比较语句,但是把关键的语句进行加密并且完整性检测(如果发现代码被改,就拒绝执行)
2004-12-30 20:14:56 [程序员]
那如果把完整性检测(如果发现代码被改,就拒绝执行)的判断代码改了怎么办?总之程序只要有判断语句就会被改。
2004-12-30 20:16:26 maomao
至少这样就比原来的难破了,更何况又对关键的语句进行了加密,破解就更难了
没有象你想象中那样简单的。
2004-12-30 20:17:33 [程序员]
哦。
2004-12-30 20:18:46 maomao
你可以把加密的代码在运行时解密 用:关键代码=f(加密代码)
2004-12-30 20:19:41 [程序员]
那也在内存中啊。
2004-12-30 20:19:39 maomao
是啊但是他要修改关键代码就必须修改加密代码,你说对吗?
如果这点清楚了我才能往下讲
2004-12-30 20:21:46 [程序员]
好,清楚了。那他把程序反编译了看到了加密代码的加密程序过程,怎么办?
2004-12-30 20:23:48 maomao
那你看下面的函数,关键代码=f'(加密代码,公匙)其中f'在程序中公开,公匙也是在程序中,也是公开的(公匙只是一串字符串)而且要注意函数f'是不可*函数
2004-12-30 20:28:07 [程序员]
那下面呢?
2004-12-30 20:29:33 maomao
我一个字打不出了,哈哈
2004-12-30 20:28:07 [程序员]
没事!
2004-12-30 20:30:03 maomao
那你看下面的函数,关键代码=f'(加密代码,公匙)其中f'在程序中公开,公匙也是在程序中,也是公开的(公匙只是一串字符串)而且要注意函数f'是不可逆函数
2004-12-30 20:30:55 maomao
还有什么问题吗?
2004-12-30 20:31:07 [程序员]
好了。
2004-12-30 20:35:16 maomao
也许你会说那不可逆的话我们怎么生成加密代码?
2004-12-30 20:35:49 [程序员]
你写出来我来理解理解
2004-12-30 20:38:38 maomao
我们用:加密代码=F(关键代码,私匙)其中F在自己手里不公开,私匙也是在自己手里,也是不公开的(私匙也只是一串字符串),而且F是否可逆无所谓
只要找出这样的一对f',F 及 公匙,私匙 就行了(这样的加密方法在通讯中常用,网上一定有很多)找到算法源代码后,嵌入程序,算出一个自己的私匙,别人就很难破了
2004-12-30 20:35:49 [程序员]
那也是!
2004-12-30 20:43:32 maomao
而且破解的方法只有穷举法,只要算法好,私匙比较长,等到他穷举出来了,你又可以升级软件更改私匙了。有一点要说明上面的函数其实是简化了,在真实的算法中一般有两个私匙,两个公匙 。现在好讲修正注册码明码对比的问题了吗?
2004-12-30 20:50:13 [程序员]
很感谢,有收获。可以。  
2004-12-30 20:53:11 maomao
其实注册码加密方法和代码加密也可以一样啊。我们在自己机器上用:序列号=F(用户名,私匙)函数生成序列号,在机器中用 用户名=f'(序列号,公匙),只要他输入了正确序列号才能通过(仔细看看和明码比较:输入的注册码=F(用户名) 有什么不同)
2004-12-30 20:59:19 [程序员]
好。我会把你刚才写的这些整理好,打印出来慢慢研究。
2004-12-30 21:01:40 maomao
这样不就解决了明码比较的两个不安全因素了吗?一。内存和寄存器中没有真实的注册码,二。他没法写出逆变换函数,即使代码公开也有他烦的,他能做的只有:要么用穷举法,要么把你的软件的整个加密子程序换成自己的,这样的工作相当于自己编软件,他如果想靠修改关键代码的方法(爆破法)就难了(因为关键的代码进行加密并且进行了完整性检测)
2004-12-30 21:04:34 [程序员]
是啊。
2004-12-30 21:04:49 maomao
怎么样?密码学,汇编,vc好吧!!
2004-12-30 21:05:07 [程序员]
是啊。我要好好学。
2004-12-30 21:05:35 maomao
以后学好了不要忘了我,否则你就太没良心了
2004-12-30 21:05:54 [程序员]
是啊。你是我师傅了。
2004-12-30 21:06:16 maomao
好象你以前对我还有所提防,当时我真想把你写的软件注册机代码给公开了
2004-12-30 21:06:39 [程序员]
幸好没有。谢谢
2004-12-30 21:08:10 maomao
哪里,你以后一定比我强,因为你现在还没成家,又是搞电脑的,而我是教物理的,又有家,没多少机会搞电脑
2004-12-30 21:08:46 [程序员]
我现在也烦,找不到合适的老婆。
2004-12-30 21:08:59 maomao
会有的
2004-12-30 21:09:21 [程序员]
可能还要等一段时间啊。今天好冷。
2004-12-30 21:09:39 maomao
是的,真冷。如果学加解密我可以告诉你捷径
2004-12-30 21:09:54 [程序员]
好啊。我正想学。有没有什么好的网站。
2004-12-30 21:14:08 maomao
你先买两本书:一本是XXX的《80x86汇编语言程序设计》;一本是段钢的《加密与解密(第二版)》,再就是到http://www.pediy.com 及其论坛下载工具,资料和讨论问题

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (22)
雪    币: 222
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
上面只是一种加密思路,欢迎大家提出更多的注册码加密方法和意见
2004-12-31 12:47
0
雪    币: 390
活跃值: (707)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
3
RSA加密思路+广告:D

不过我倒是认为沈的书没有杨季文的黑皮书好。

刚才应该引用一下。不过时过境迁了。
2004-12-31 12:49
0
雪    币: 16
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
有作广告的嫌疑~~~~~
2004-12-31 13:04
0
雪    币: 222
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
真的没有啊!那是聊天记录
2004-12-31 13:07
0
雪    币: 222
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
把编书作者的名改了,总没嫌疑了吧。(看雪的名字就不改了,哈哈)
2004-12-31 13:10
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
广告~~~~广告
2004-12-31 14:02
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
呵呵,BS楼主!
道魔斗法。。。。此消彼长!

楼主应该让这些人好好把软件做好。。。中国的CR是太强了,但是相对来说,软件水平太差了。。。

看看经常用的filemonitor, regmonitor,功能好吧。。。不收费,还公开源码!!!

中国的CR界人才很多。。。其实是成长很快,毕竟,需要掌握的知识很少。。。入门难点。。。向后就容易了。。。
2004-12-31 14:07
0
雪    币: 272
活跃值: (219)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
对话精彩:D
2004-12-31 14:40
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
10
即使把注册序号加密了,只要使用者手上有一个正确的序号,他便可以看见解密后的程序,可以 dump 出来  :D
2004-12-31 17:34
0
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
11
只研究加密的Programmer也不是好programmer.

我觉得真正的高手是 top programmer + top mathematician,这样他必然也是top cracker

好佩服那些大师们....:)
2004-12-31 18:07
0
雪    币: 154
活跃值: (216)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
真正的CRACKER都是程序员,真正的程序员都是CRACKER。魔和道的最境界都是白日飞升成正果啊
2004-12-31 21:47
0
雪    币: 222
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
最初由 riijj 发布
即使把注册序号加密了,只要使用者手上有一个正确的序号,他便可以看见解密后的程序,可以 dump 出来 :D

是啊,但主要的还是要完整性测试,尽量防止他更改代码(防止爆破),只要他没有私匙和加密函数很难做出注册机的
2005-1-1 19:39
0
雪    币: 513
活跃值: (2258)
能力值: ( LV9,RANK:2130 )
在线值:
发帖
回帖
粉丝
14
没什么意思,如果是说怎么样把软件搞的更好的贴则更有意义,从CRACKE的路上看到很多作者加密上下了很大功夫,但功能或实现上存在太多的不足之处,包括某些商业软件在内.
2005-1-1 19:58
0
雪    币: 116
活跃值: (220)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
15
最初由 loveboom 发布
没什么意思,如果是说怎么样把软件搞的更好的贴则更有意义,从CRACKE的路上看到很多作者加密上下了很大功夫,但功能或实现上存在太多的不足之处,包括某些商业软件在内.


同意...还是先把软件做好再说其他
2005-1-1 21:16
0
雪    币: 1035
活跃值: (1409)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
程序员=楼主:D

maomao=
2005-1-2 17:57
0
雪    币: 272
活跃值: (219)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
最初由 xIkUg 发布


同意...还是先把软件做好再说其他


那你们到看雪论坛来是学编程还是学加解密的!我觉的楼主的意图并非是要程序员去搞加解密。我分析楼主的意思有二:第一是给想学加解密的菜鸟一个提醒如果想学好加解密必须学好算法和密码学;第二是给程序员也提个醒不要花很多的精力去搞自己软件的加密(因为往往自己认为不错的加密手法在解密人手里是小菜一碟),如果真想保护自己的软件(基本上的程序员都希望保护好自己的软件)那也许稍微花点时间看看加解密这方面的书,也许比自己花更多的精力去搞自己软件的加密要省很多时间,这样就安心的把更多的时间用在编软件上了!
不知道楼主意思如何!!:D
2005-1-2 18:01
0
雪    币: 272
活跃值: (219)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
怎么楼主没有反应啊
2005-1-3 10:36
0
雪    币: 222
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
还是17楼的朋友理解我,谢谢
2005-1-3 13:19
0
雪    币: 272
活跃值: (219)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
哪里,哪里,不用客气
2005-1-6 06:25
0
雪    币: 222
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
好久没来了,我的名作都沉了
2005-6-9 16:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
我替你顶一下
2005-6-27 22:28
0
雪    币: 272
活跃值: (219)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
都忘了看过这内容了
2019-6-19 15:29
0
游客
登录 | 注册 方可回帖
返回
//