看看看.com 2008-5-2 13:33
如何防止别人改界面
比如我的程序,里面有一个Memo文本控件,控件中的文本是“我是中国人”。
请问如何做才能防止别人破解修改这个Memo中的文本,从而在软件运行时显示为其它文字。
不要用CRC的方法,如果把CRC代码一去掉,就又不行了。
是不是需要把“我是中国人”这段文字加密为字符,然后Memo1.lines.add('fsdafsadf');
或者,把“我是中国人”声明的资源常量S,然后在程序启动时memo1.lines.add(s);
因为资源常量在编译时会被压缩,从而无法从破解工具中找出明码,是这样么,还有其它什么好的方法吗?
yiyuan 2008-5-2 14:23
加暗桩检查这个的值:lol
mopyman 2008-5-2 17:07
这个基本上比较难,用虚拟机可能还有点儿希望
luin 2008-5-2 17:24
你说的方法都不行,至于其它的方法我也不知道。
hacker47 2008-5-2 21:34
给你个建议哦,你可以把文字输出成图片,
估计窃取就比较难了。
看看看.com 2008-5-3 09:19
那他可能会自己制作一个图片,然后在程序资源中用自己的图片替换掉我的图片。
CodeCoolie 2008-5-3 09:30
不做界面。。。制作命令行程序:lol
hacker47 2008-5-3 12:54
[quote]原帖由 [i]看看看.com[/i] 于 2008-5-3 09:19 发表 [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=352939&ptid=80770][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url]
那他可能会自己制作一个图片,然后在程序资源中用自己的图片替换掉我的图片。 [/quote]
你不要把图片放到资源里,
而是将它做成绘图指令,
估计替换比较难了吧。
trewq 2008-5-3 22:01
我是将程序的MD5值保存在程序中的一个位置里,运行后检查程序MD5值和原来的MD5值是否相等,不相等就是被修改了,整个程序只要改动一个字节就会不相等。如果要更保险一些,可以用程序的MD5值对关键的数据加密。
CodeCoolie 2008-5-3 22:22
[quote]原帖由 [i]trewq[/i] 于 2008-5-3 22:01 发表 [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=353152&ptid=80770][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url]
我是将程序的MD5值保存在程序中的一个位置里,运行后检查程序MD5值和原来的MD5值是否相等,不相等就是被修改了,整个程序只要改动一个字节就会不相等。如果要更保险一些,可以用程序的MD5值对关键的数据加密。 [/quote]
很S很天真。。。
破解的话,把 je 改为 jne 就行了。。。或者直接jmp。。。
菜鸟 2008-5-3 22:36
最好的办法就是网站+软件
软件必须依赖网站才能正常工作
这样,改个屁
论坛长老 2008-5-3 23:13
[quote]原帖由 [i]菜鸟[/i] 于 2008-5-3 22:36 发表 [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=353163&ptid=80770][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url]
最好的办法就是网站+软件
软件必须依赖网站才能正常工作
这样,改个屁 [/quote]
人一样能模拟你这个网站.
我觉得没必要搞那么复杂, 就自己简单绘制一下了事, 不用标准控件(我估计他是用在About里面, 才这么说哦)
laoben 2008-5-4 00:00
曾被人改的一踏糊涂的路过:(
somehend 2008-5-4 11:11
破解和反破解是一个永恒的话题,是技术或者方案的永恒抗衡,
就像其他安全方面的概念一样,没有绝对的概念。
其实,你能解决普遍的方案就可以了。
一般无非是拦截到目标文本,就将该字符串置换,你可以使用技巧将它拦截失败,
还有的估计是调试到你的显示部分,所以你也针对这些关键地方作一些技巧处理就可以了。
(这些地方都是很少的公司信息,logo等,很小部分,所以应该不会对你的产品有太多的改动操作)
没有弄过这些东西,咋一看简单分析猜测可以使用 :
图片+文本结合;非字符串处理显示程字符串;多个动态输出结合打乱来输出最终效果;太多了。。
防crack的理念一般也是不是防止所有,是去掉低水平的人的处理,高水平的一般不会玩你这些了。
它最终要换掉你,搞得麻烦,他们就不想弄了,不是说不能处理,
Breezer 2008-5-4 13:22
VM 是个不错的选择;
Hacker 说的 画图 也不错
mygod 2008-5-4 13:54
[quote]原帖由 [i]CodeCoolie[/i] 于 2008-5-3 22:22 发表 [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=353159&ptid=80770][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url]
很S很天真。。。
破解的话,把 je 改为 jne 就行了。。。或者直接jmp。。。 [/quote]
JE或JNE可以,JZ或JNZ可以,JMP不行,代码长度不一样。
Breezer 2008-5-4 20:02
JZ - 74
JNZ - 75
JMP - EB
代码长度怎么不一样了?
CodeCoolie 2008-5-4 20:36
[quote]原帖由 [i]mygod[/i] 于 2008-5-4 13:54 发表 [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=353367&ptid=80770][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url]
JE或JNE可以,JZ或JNZ可以,JMP不行,代码长度不一样。 [/quote]
好像需要看上下文吧。。。
Refund 2008-5-8 11:33
在程序里加入1000个Memo1.lines.add('fsdafsadf'),这样要改也很麻烦了吧
healthywelthy 2008-6-5 14:53
[quote]原帖由 [i]Breezer[/i] 于 2008-5-4 13:22 发表 [url=http://www.cnsw.org/bbs/redirect.php?goto=findpost&pid=353356&ptid=80770][img]http://www.cnsw.org/bbs/images/common/back.gif[/img][/url]
VM 是个不错的选择;
Hacker 说的 画图 也不错 [/quote]
VM怎么做啊?