在程序其他目录找到剩余的一个EXE,OD载入,查找字符串,竟然只找到一些无关紧要的东西,提示框内容在那,不管了,抓住老鼠就是好猫,用JMP大法一顿乱改(不下30次),始终不行,改着改着都到系统领域了,这是什么程序呀?看雪一阵猛搜,晕竟是传说中的PB程序,好吧PBKILL打开所有PDB,逐个查看,终于在一个文件里面找到if ssnum = "a4r43gtygdg" then
else
destroy(main_util)
messagebox("操作提示","注册失败")
halt close
return
end if
PBKILL真强大,都见到源码了,那把=变成<>不就可以了,可用winhex修改半天还是不行,于是有了这次提问http://bbs.pediy.com/showthread.php?t=143877,在此期间实验N次(N<=200),见不到有人回复,找不到答案,灰心丧气中下载PB,导入*.SR,错误接踵而来,下载PB操作基础,大致翻一遍也没解决,好吧在回到winhex继续忙无目的测试,突然灵光一现,把a4r43gtygdg的十六进制清零试试。结果大家都知道了,成功了,真的成功了,这一个模块比前几个加起来还高兴!
最后一个模块是一个网页程序,一点击网页链接都能见到,JSP的。没写过JSP,见过ASP,PHP,想着这不简单直接修改源文件不就行了,于是修改之运行,报错!于是又是BAIDU、GOOGLE一番,原来JSP还有CLASS文件,至于为神马有,没搞懂。好的,目标明确下载java decompiler,找到我那可爱的源码,修改之。然后我们要把它编译回去,于是下载JDK1.5,编译50次左右始终错误(神马找不到包了、字符串错误了、神马编码错误了等等等等。。。。。。。。。。。。。),于是我就见一个错误BAIDU一下,经几天的努力,终于编译成功(JAVA真坑人呀)!
至此,软件已经不需要加密狗了!想把修改后的文件打包后给朋友,感觉不是很完美,与是又在KSSD上研究一番,找到CodeFusion制作文件补丁,但还是感觉不好,如不能判断程序安装路径,与是用DELPHI按一下格式逐个修改
var
f:file;
n:byte;
begin
n:=$51;
if FileExists(' C:\Program Files\zoectusic\main.exe’) then
begin
AssignFile(f, C:\Program Files\zoectusic\main.exe);
Reset(f,1);
Seek(f,$00000000);
BlockWrite(f,n,1);
closefile(f);
END;
最终,经一周的艰辛摸索,我这个新手终于搞定了这个加密狗保护软件,回头想想,自己都感觉不容易。谢谢看雪,是你让我成长!
2011.12.9