能力值:
( LV4,RANK:50 )
|
-
-
2 楼
严重缺陷改为
if ( a!= 某个固定值 )
{
为试用版
msgbox"" //消息框提示一下
}
else
{
为正式版
可以继续操作
}
就破解了
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
一条(跳)就死,九筒(90)就胡 。
一条(跳)就胡,一饼(EB)伺候 。
妻死(74)便妻无(75),爸死(84)便爸无(85)
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
哈哈,我少写一个等于符号。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
补上了也没有用,这样的框架被秒
|
能力值:
( LV9,RANK:180 )
|
-
-
6 楼
可以被秒得很完美.
也是一种艺术
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
一个字节 .
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
没有缺陷,只有方便
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
...这样的加密可以被菜鸟轻松爆破
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
基本原理是这样的,一点没错,再厉害的壳,原理也是这个流程啊。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
好恐怖
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
这样子等于装了个很高级的防盗门并上锁,最后却将钥匙插在门上了。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
所以我问大家有没有缺陷啊?请问如何改一下。
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
msgbox就是一大拜笔
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
如何去掉msgbox是不是就可以了呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
不要用 if ( ) 这种方式来决定关键程序流向,这是很容易被暴破的
如果你是用C++来写的,可以将结果通过一个自定义消息来传递
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
谢谢随风,大家能不能根据这个话题,讨论一下软件加密的注意事项??
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
这样写也没问题
加个超牛逼的正版壳吧
|
能力值:
( LV3,RANK:30 )
|
-
-
20 楼
这样就是加了 VMP 也没用,那个固值和你的 A 会在 Handler 的堆栈中完整显示
不相信你试试,我一样分了你。。。。。。。。。。。。。。。。。 (我乱说吓你的)
这样的写法,加了 NP 最新版的壳也没用,不是壳不好,你的思路不行
——————————————————修改一下吧
一个程序中的一段代码。
加多个 变量 B 和 C ,C 取代了某个固定值,并且先把 C B 分解了,用 A 的结果
还原 B , 再用 B 来处理 C ,最后的 C 去某处做最终的自我修复,
这里修复的结果用作解出正式版的关键代码,C 不是一个字符,应该不小与 16 位以上的字符串
不要用户输入错误就给个 MSBOX ,这样这个判断卡马上被发现
上面的只是一个最简单的加密,要完善它还需要很多东西
譬如使用大量的异常+动态指针+变形等等,太多了。。。。说不完
|
能力值:
( LV3,RANK:30 )
|
-
-
21 楼
还有上面的说法,不是万能的,如果写得好,CR 在没有一个正版 KEY 的时候机会不可能破解出来
麻烦在有正版用户把 KEY 放出,又碰到有深厚功力的 CR ,那就没办法了,一样死
|
|
|