- UID
 - 7132
 
 注册时间2006-1-17
阅读权限30
最后登录1970-1-1
龙战于野 
  
 
 
 
TA的每日心情  | 开心 2024-7-16 21:17 | 
|---|
 
  签到天数: 51 天 [LV.5]常住居民I  
 | 
 
一周前,朋友给我一个软件,说是加密狗丢了,软件使用不了。听到说加密狗,我顿时很有喜爱,加密狗保护的软件,咱还没见过呢,与是怅然容许,谁知道换来的是这一周很多很多的文娱时刻都没了,还好究竟完美处理,进程如下。 
软件设备后,工作程序直接提示没有找到加密狗,好吧下载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修改半天仍是不行,在此期间实验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; 
究竟,经一周的艰苦根究,我这个菜鸟总算搞定了这个加密狗保护软件,回头想想,自个都感触不容易 
 |   
 
 
 
 |