首页
社区
课程
招聘
[原创]新手破解加密狗保护软件经历
发表于: 2011-12-10 15:15 28119

[原创]新手破解加密狗保护软件经历

2011-12-10 15:15
28119

新手破解加密狗保护软件经历

一周前,朋友给我一个软件,说是加密狗丢了,软件使用不了。听到说加密狗,我顿时很有兴趣,加密狗保护的软件,咱还没见过呢,与是欣然答应,谁知道换来的是这一周很多很多的娱乐时间都没了,还好最终完美解决,过程如下。
软件安装后,运行程序直接提示没有找到加密狗,好吧先上看雪下载OD,载入查找字符串,成功找到,follow,来到这里。
00000000 |.   je       short   00000000
00000000 |.   mov     ecx,   000000D0  ;  提示
00000000 |.   mov     edx,   000000E0  ;  没有检测到加密狗!
哈哈,我就会JMP大法,虽然JMP的具体含义我也讲不出来,改JE为JMP,保存,运行程序,成功显示程序界面。我当时就乐了,想我一小菜也有今天,谁知噩梦刚刚开始。
程序分为6个模块,当我进入程序运行第一个模块时,那个提示框有出来了,难道刚才没有找完?于是重新刚才的步骤,确实就刚才那一处,不死心打开程序安装目录,发现目录里面还有4个EXE文件,运行其中一个,弹出提示框,就是它了。然后,OD载入,查找字符串,JMP大法,保存运行,OK!在主程序里执行这一模块,直接进入。按此方法修改剩余的3个EXE一并解决了。至此,6模块已解决4个。这也太简单了,休息一下。

在程序其他目录找到剩余的一个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


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 6
支持
分享
最新回复 (17)
雪    币: 210
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
第一次这么长期帖子,沙发自己坐!
2011-12-10 15:19
0
雪    币: 66
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
来晚一步的,沙发没的
2011-12-10 16:01
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
挺帅的啊
2011-12-10 16:51
0
雪    币: 463
活跃值: (116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不错暴破狗文章,但是,建议看下这个加密狗的SDK,直接模拟返回他的数据会更完美,NET和JAVA都有连接库DLL文件的
2011-12-10 17:24
0
雪    币: 210
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
[QUOTE=Pan88168;1028201]不错暴破狗文章,但是,建议看下这个加密狗的SDK,直接模拟返回他的数据会更完美,NET和JAVA都有连接库DLL文件的[/QUOTE]

多谢支持,你说的正是我努力的方向!不知可否私聊?
2011-12-10 17:40
0
雪    币: 278
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
...现在都整智能加密狗。。爆破不了
2011-12-10 20:49
0
雪    币: 234
活跃值: (1659)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
8
学习下,新手写出这样的文章确实不错..
2011-12-10 21:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
看了相当的鼓舞,收藏了先
2011-12-10 21:32
0
雪    币: 157
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
呵呵真的挺帅的,太幸运了,第一能用pbkill看到源码的pbd 就是很老的程序了。第二,简单jmp 就能过的加密狗,也是很老的狗了,现在的加密狗太不好弄了,我现在这个软件都弄了一年了,结果还是做补丁才可以
2011-12-16 19:18
0
雪    币: 50
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
过程很是精彩。。
2011-12-16 19:50
0
雪    币: 106
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
确实很精彩 就是看不懂
2011-12-19 12:59
0
雪    币: 224
活跃值: (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
如果能用pbkill何必还要那么多的手续。直接反编译。得出源码。写一下回传。dll就可以了。
2011-12-19 17:38
0
雪    币: 210
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
具体应该怎么做呢?请指教
2011-12-20 11:47
0
雪    币: 90
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
恭喜lz,快快进步
2011-12-21 08:38
0
雪    币: 4424
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
确实很精彩,谢谢分享!
2018-10-23 07:06
0
雪    币: 1390
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
学习一下,恭喜LZ
2018-10-26 16:34
0
雪    币: 441
活跃值: (1040)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
18
这不就是跳转嘛。
2018-10-31 22:14
0
游客
登录 | 注册 方可回帖
返回
//