问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于softice的HWND命令和BMSG命令的问题

发布网友 发布时间:2024-10-08 00:31

我来回答

1个回答

热心网友 时间:2024-11-01 14:55

(1)序列号保护机制

数学算法一项都是密码加密的核心,但在一般的软件加密中,它似乎并不太为人们关心,因为大多数时候软件加密本身实现的都是一种编程的技巧。但近几年来随着序列号加密程序的普及,数学算法在软件加密中的比重似乎是越来越大了。
我们先来看看在网络上大行其道的序列号加密的工作原理。当用户从网络上下载某个shareware——共享软件后,一般都有使用时间上的*,当过了共享软件的试用期后,你必须到这个软件的公司去注册后方能继续使用。注册过程一般是用户把自己的私人信息(一般主要指名字)连同信用卡号码告诉给软件公司,软件公司会根据用户的信息计算出一个序列码,在用户得到这个序列码后,按照注册需要的步骤在软件中输入注册信息和注册码,其注册信息的合法性由软件验证通过后,软件就会取消掉本身的各种*,这种加密实现起来比较简单,不需要额外的成本,用户购买也非常方便,在互联网上的软件80%都是以这种方式来保护的。
我们注意到软件验证序列号的合法性过程,其实就是验证用户名和序列号之间的换算关系是否正确的过程。其验证最基本的有两种,一种是按用户输入的姓名来生成注册码,再同用户输入的注册码比较,公式表示如下:
序列号 = F(用户名)
但这种方法等于在用户软件中再现了软件公司生成注册码的过程,实际上是非常不安全的,不论其换算过程多么复杂,解密者只需把你的换算过程从程序中提取出来就可以编制一个通用的注册程序。

另外一种是通过注册码来验证用户名的正确性,公式表示如下:
用户名称 = F逆(序列号) (如ACDSEE,小楼注)
这其实是软件公司注册码计算过程的反算法,如果正向算法与反向算法不是对称算法的话,对于解密者来说,的确有些困难,但这种算法相当不好设计。

于是有人考虑到一下的算法:
F1(用户名称) = F2(序列号)
F1、F2是两种完全不同的的算法,但用户名通过F1算法的计算出的特征字等于序列号通过F2算法计算出的特征字,这种算法在设计上比较简单,保密性相对以上两种算法也要好的多。如果能够把F1、F2算法设计成不可逆算法的话,保密性相当的好;可一旦解密者找到其中之一的反算法的话,这种算法就不安全了。一元算法的设计看来再如何努力也很难有太大的突破,那么二元呢?

特定值 = F(用户名,序列号)
这个算法看上去相当不错,用户名称与序列号之间的关系不再那么清晰了,但同时也失去了用户名于序列号的一一对应关系,软件开发者必须自己维护用户名称与序列号之间的唯一性,但这似乎不是难以办到的事,建个数据库就好了。当然你也可以根据这一思路把用户名称和序列号分为几个部分来构造多元的算法。
特定值 = F(用户名1,用户名2,...序列号1,序列号2...)

现有的序列号加密算法大多是软件开发者自行设计的,大部分相当简单。而且有些算法作者虽然下了很大的功夫,效果却往往得不到它所希望的结果。其实现在有很多现成的加密算法可以用,如RSADES,MD4,MD5,只不过这些算法是为了加密密文或密码用的,于序列号加密多少有些不同。我在这里试举一例,希望有抛砖引玉的作用:
1、在软件程序中有一段加密过的密文S
2、密钥 = F(用户名、序列号) 用上面的二元算法得到密钥
3、明文D = F-DES(密文S、密钥) 用得到的密钥来解密密文得到明文D
4、CRC = F-CRC(明文D) 对得到的明文应用各种CRC统计
5、检查CRC是否正确。最好多设计几种CRC算法,检查多个CRC结果是否都正确
用这种方法,在没有一个已知正确的序列号情况下是永远推算不出正确的序列号的。

(2)如何攻击序列号保护

要找到序列号,或者修改掉判断序列号之后的跳转指令,最重要的是要利用各种工具定位判断序列号的代码段。这些常用的API包括GetDlgItemInt, GetDlgItemTextA, GetTabbedTextExtentA, GetWindowTextA, Hmemcpy (仅仅Windows 9x), lstrcmp, lstrlen, memcpy (限于NT/2000)。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
鱼竿18调28调什么意思 世界杯的比赛规则是什么?跪谢! 世界杯的规则?简洁一点。 中考数学题型是不是和二模的题型一样 二模数学陆拾多分中考能冲上玖拾分吗? 大家都会选什么价位的电动车来代步呢?欧拉iQ值得买吗? 欧拉iQ成都车展上市了,价格有人说不贵,但独特的造型年轻人会接受吗? 金店金价根据什么来的 1a的插头可以用16a的插座吗 动物森友会隐藏成就攻略 7个隐藏成就介绍 服装店服装公司每年都需要大量的模特衣架,你用过的那些模特衣架是怎么... 服装店衣架生锈了怎么去除 有没有描写动物的文言文 我是yy管理员,怎么把自己移动到别的子频道里 五星大饭店演职员表 五星大饭店中金志爱,叫什么名字,有资料吗 首次烹饪清蒸鲈鱼时需要注意什么? 清蒸鲈鱼如何制作能增强口感? 关于清蒸鲈鱼,你比较喜欢它的哪些味道和口感? 税务局买票有什么票 求解可信度高的王者荣耀代练平台? 你好,我这样的情况,订婚时答应结婚给予女方15万,包括金银首饰在内1 ...一下我是什么命 我是1988年阳历10月4日,阴历是8月24下午5点多出生的... 求高人帮忙算下八字,本人93年阴历8月27凌晨5点出生的 婚前男方给彩礼了,婚后不愿意一起,怎么办? ...后来他说压力大,只能出五万元。你们说我该嫁给他?我是广东的,他也是... 趣味成语防不胜防照样子 “强欲登高赋”的出处是哪里 ...英特尔 P35/G33/G31/P31 Express - ICH7 Family ...英特尔 P35/G33/G31/P31 Express - ICH7 Family ) 我在获取自己电脑IP地址过程中,为何IPV4默认网关和IPV4 DNS服务器 后... 数字版权加密保护技术工作原理 从宁波到安徽东至坐什么车最快到家? 从安徽省池州市东至县到浙江省宁波市要花多少钱汽车 宁波到安徽东至的汽车有吗?那个站可以座? 急!!!宁波到安徽东至县有汽车吗 善良的人不被善待了,还有必要善良吗? ...娇以后第一眼看见洪玉娇以后出来的葫芦丝背景音乐叫什么名字... ...在万花楼门口看他未婚妻洪玉娇的那首歌曲叫什么名字。 给朋友找个好一点的网名,她名字叫洪玉娇 偎红倚翠的意思 买笑追欢的意思 企业包括什么科目 对伤残等级结论不服怎么办 职工对伤残等级结论不服能否提起诉讼 对伤残鉴定等级结论不服怎么办 窝头能不能放冰箱保存 窝头怎么保存 南京南北长多少公里,南京南北旅游攻略路线 丁亮董事长 长沙麓谷在哪个区