心野的小巢

  IT博客 :: 首页 :: 联系 :: 聚合  :: 管理
  36 Posts :: 51 Stories :: 1305 Comments :: 0 Trackbacks

#

看到这么多朋友有需求,我就将自用的版本与大家共享,谢谢大家的支持!

关于友益文书的新版本,短期内暂无破解的打算(难度也颇大),请予谅解!

仅供个人学习与测试使用,请勿私自传播及用于商业用途!

下载地址:

http://www.cnitblog.com/Files/torch/yyws701.rar

posted @ 2007-02-06 17:59 心野 阅读(19273) | 评论 (148)编辑 收藏

     摘要:   阅读全文
posted @ 2007-01-07 18:41 心野 阅读(41293) | 评论 (132)编辑 收藏

新建一用户变量UserProfile=C:\Documents and Settings\User,注意把“User"换为你登陆的用户名,之后amesim就可以正常启动了,正常启动一次之后就可以删除UserProfile用户变量(保留着也无大碍)。一般装番茄花园版的xp有可能会出现此错误,估计为某软件破坏了该环境变量值。
posted @ 2006-12-07 21:07 心野 阅读(6353) | 评论 (2)编辑 收藏

出现这种错误的原因可能有两个方面:

1、NX与IE7.0不兼容,卸载IE7即可正常打开及新建文件。

2、与显卡驱动不兼容,下载新版显卡驱动程序重新安装驱动即可解决。
posted @ 2006-12-07 21:00 心野 阅读(5872) | 评论 (8)编辑 收藏

Foxit Reader由于其小巧的体积、不输于Adobe PDF Reader的强大功能而受到许多朋友的喜爱。其2.0版在多国语言支持方面有了很大的改善,现在只需要下载其语言包文件即可实现界面的中文化。未注册的Foxit Reader其阅读功能不受影响,但在保存利用其自身的注释功能编辑过的PDF文件时会在首页留下体验版痕迹。
经过简单使用分析,在使用以下三项功能时会弹出体验版对话框:保存文件、另存文件、点击"TypeWriter"菜单或按钮。破解的思路为:先用W32dsm静态分析软件分析程序的对话框资源,可找到两个相关对话框,利用搜索功能记下所有调用地址。运行Ollydbg动态分析软件载入程序进行分析,将记下的地址全部中断。利用调试运行的Foxit Reader打开一PDF文件,任意添加一注释,点击保存按钮,程序很快断下,子程序返回后向上几行可找到判断跳转代码,将其改为强行跳转即可,按此方法可找到其它几个跳转点。做完这些后程序运行保存功能是没有提示了,但还是有水印,解除水印的方法为根据水印的字符串在W32dsm中搜索,然后在OD中相应地址处设断,其实在其上面几行处便有判断跳转的code,直接在那设断更方便。接下来的工作就很简单,修改跳转代码即可。共有以下几处地方需要修改(只是个人粗浅的分析结果,仅供参考):
41c696:  7504-->eb56
41e5a7:  743f-->eb3f
41c69e:  754e-->eb4e(也可不改,第一项跳转足够了,但我是后来才发现的)
41c945:  743e-->eb3e
421f14:  7436-->eb36
下载Foxit Reader2.0 Build0930版本后,用二进制编辑软件对FoxitReader.exe相应处(直接输入文件偏移地址时,最前面的4要省去)进行编辑即可实现破解。

也可直接下载我已经破解好的版本,地址:http://www.orbitfiles.com/download/id1008189370
修正了原始简体中文包中的两处错误,包含繁体中文字体支持,加入PDF文件管理器和PDF文件编辑器,为方便安装做成自解压文档,直接运行即可实现绿色安装(如果不放心也可自己解压缩)。注意点上面的链接后在出来的页面中的左边直接点下载即可,不需要注册。
posted @ 2006-11-02 20:18 心野 阅读(3130) | 评论 (6)编辑 收藏

软件简介:真实的计算器界面,真正的绿色软件,不需安装,一个文件集全部功能于一身,不占用注册表资源。中文语音提示,键盘与鼠标操作,操作方式与现实生活中普遍使用的计算器完全相同,所以非常容易上手,尤其对经常使用小键盘数字输入的用户来说更加方便。

加密特点及破解:有使用次数限制,算法好像还是有点复杂的,没仔细去看,程序启动时会读存取在注册表中的注册码并进行验证,破解也没啥可说的,脱壳后修改代码让其跳过注册码的读取及验证(短跳转改长跳转,修改一处即可搞定),另外去除了二个注册菜单项。需要的赶快下载,个人用用就好,请不要散播!

1.91绿色特别版:
http://www.cnitblog.com/Files/torch/CalcVoice.rar
posted @ 2006-07-02 21:35 心野 阅读(2271) | 评论 (17)编辑 收藏

软件简介:视频转换大师,支持格式丰富,WinMPG Video Convert 可以帮助你快速完成AVI to Mpeg 1, AVI to Mpeg2, AVI to DVD, AVI to VCD, AVI to SVCD的转换工作,还支持把以上所有的视频格式转换为Divx格式或者AVI格式.WinMPG Video Convert 拥有非常漂亮友好的界面.支持Skin.它几乎支持包括AVI, Mpg, Mpeg, Mpeg1, Mpeg2, Mpeg4, VCD, SVCD, DVD, DivX, ASF, WMV.等在内的所有的视频格式。 视频转换大师(WinMPG Video Convert)的出现,为视频多媒体文体的转换提供了一个完美的解决途径。 它支持 AVI 至Mpeg1, AVI至 Mpeg2, AVI 至DVD, AVI至VCD, AVI至SVCD, 所有格式转至标准的DivX, 以及所有格式转至标准的AVI的格式转换。 视频转换大师(WinMPG Video Convert)作为专业的视频多媒体文体转换软件,它几乎涵盖了现在所有流行的影音多媒体体文件的格式, 包括AVI, Mpg, Mpeg, Mpeg1, Mpeg2, Mpeg4, VCD, SVCD, DVD, DivX, ASF, WMV以及 QuickTime MOV/MP4。

加密特点:采用用户名和注册码校验机制,校验通过的话会将值写入config.ini中,下一次启动的时候会读取并再次校验。这个软件还有如下三个个人认为较特别的地方:一是反汇编后可以看出其主体代码部分每两到三句就是一个跳转,但用PEID查看并无壳,我估计应该是PEID不能识别的一类壳,这给破解带来了难度,而且几乎是无法脱壳。第二个比较特别的地方就是其用户名注册码的校验是放在ENVC.dll这个动态链接库中完成的,而在其主程序的Import Table中看不到,我观察了一下其调用不是采用直接寻址,而是用的寄存器寻址,我水平有限,还不知道是编译器编译的结果还是程序自身采用的技术。第三点就是有一个地方校验后不是采用je、jge之类的常用跳转指令,而是用的Setne指令,惭愧的是我这地方一直没看出来,最后还是在网上下载了别人的补丁之后才知道这一点的。

破解方法:004837dc处:je改nop                                              //之前有调用外部链接库检测注册码,依据返回值调整注册标记
             0048d0c1处:je改nop                                              //执行菜单隐藏
             00494874处:setne al改为sete al(of95c0->0f94c0)       //之前有调用外部链接库检测注册码,依据返回值调整注册标记

还有一处改不改影响不大,若上面三处地方未改,只改下面这一句,可以实现输入任意用户名和注册码都能注册,但只对当前进程有效,重新启动后又会失效。
             0048bf8e处:je改nop                                               //跳过注册码验证

这次的破解基本上是别人的成果,我只是记录了一下,另外,程序主界面中的Buy Now链接未去除,嫌麻烦算了。

补丁下载,注意是6.5版的: http://www.cnitblog.com/Files/torch/WinMPGVideoConvertV6.5Crack.rar       

posted @ 2006-06-25 20:15 心野 阅读(4628) | 评论 (6)编辑 收藏

首先声明:该软件为骗子软件!!!(http://bbs.fk8.com/archiver/tid-2968.html

但事情都有其两面性,这个软件的评估台非常不错,连接非常快,另外,休闲视频中网罗了网上N多的搞笑视频,也还不错。但只能评估五分钟,到时间就不让看。

加密特点:软件属于重启校验型,而且是到其网站服务器上去校验,因此即使有人给出了注册码也无法通过校验。据我估计校验通过后会下载播放地址,每点一个播放地址时还会有本地校验,如果是试用版,就定时五分钟。

我破解了其五分钟的限制,由于正式版的台绝大多数都不能看,破解起来也比较费力,就放弃了。

这里提供破解好的版本,下载解压后运行即可,绿色软件,不想用随时可删除。

http://www.cnitblog.com/Files/torch/rongtvcr.rar
posted @ 2006-06-22 20:59 心野 阅读(5481) | 评论 (32)编辑 收藏

[工具]:PBKiller,UltraEdit
[破解对象]:直销业绩管理系统V5.0

PowerBuilder的伪码编译同VB伪码编译一样,同样是PB动态库解释伪码执行,伪码放在以PBD为后缀的文件中。对付它的利器就是PBKiller,利用它几乎可以反编译出和源代码相同的语句,连我这个没学PB的人也看得很清楚。
直销业绩管理系统V5.0有30天的试用期,过期就不能运行。用PBKiller反编译dot.pbd后找到其注册代码(w_wrcode-controls-cb_1-events-clicked):
string ls_code
integer li_rn

ls_code = trim(parent.em_1.text) + trim(parent.em_2.text) + trim(parent.em_3.text) + trim(parent.em_4.text)
if len(ls_code) <> 16 then
 messagebox("提示","注册码长度必须16位")
end if
li_rn = f_checkregcode(ls_code)
if li_rn = 0 then
 f_setreg("9",f_encode(ls_code))
 f_setreg("3",f_encode("89"))
 messagebox("提示","注册成功,请重新进入系统!")
 halt close
else
 messagebox("提示","注册码错误!")
end if
return
代码很好懂,属重启校验型,注册算法是f_checkregcode函数。这里就不贴出代码了,其基本思路是先取C盘的8位序列号,再对注册码进行算法转换得到8位字符串与前面所取得的序列号进行比较。由于不是明码比较,注册算法中的16位到8位的转换要找出其逆算法也不容易。因此我就考虑暴破的方法,即修改PBD文件,但网上这方面的资料很少,只能自己摸索了。
首先找到其重启校验代码(dotnew-Events-open):
rt_chk_value = myreg.f_check_reg()
if rt_chk_value = -100 then
 messagebox("提示","系统时间有误!")
 halt close
end if
if rt_chk_value = -200 then
 messagebox("提示","注册码有误!")
 halt close
end if
if rt_chk_value = -300 then
 messagebox("提示","试用期到,请注册!电话:xxxx网址:
xxxxx")
 open(w_wrcode)
 return
end if
if rt_chk_value = -400 then
 messagebox("提示","系统破坏,请联系开发商!")
 return
end if

来至f_check_reg:
ls_right = f_encode(f_redreg("0"))
ls_wrong = f_encode(f_redreg("1"))
if ls_right <> "wright" or ls_wrong <> "wrong" then
 return -400
end if
ls_regflag = f_redreg("3")
....
后面还有就不贴了。其中的f_encode(f_redreg(""))可根据不同的参数在注册表的不同项中读取出加密过的字符串并进行解密,之后进行校验,返回值为-100、-200、-300、-400其中一个的话程序就会报错退出。

至此,程序加密部分算法基本分析完毕,现在就要找出暴破点。我选择的是f_check_reg,即想办法让其所有返回值都为100(经分析,返回100表明是注册版)。难就难在PBKiller虽然能反编译出源代码,却不能编辑它。注意到其中的-100、-200等数字,转换为十六制后就是FF9C、FF38,考虑到存储时的高低位互换特性,因此实际存储的十六进制代码应为9CFFFFFF、38FFFFFF(PB中是这样的,花费了我好一会时间才摸索出规律),OK,用UltraEdit打开PBD文件,搜索十六进制9CFFFFFF,结果会有很多,注意到地f_check_reg中有代码段:
 if check_result = 0 then
  return 200
 else
  return -200
 end if
说明200和-200相离很近,因此选择搜索-200的十六进制表示(搜索200也可以),并且每搜索到一个就向上看,找找附近有没有C800(200的十六进制表示),这样用不了多久就能确定其位置了,在其附近还能找到100、-300、-400等的十六进制表示,用UltraEdit将找到的-100、-200、-300、-400十六进制表示全部改为100的十六进制表示。存盘退出,将系统时间延后两个月,程序正常运行。

小结:PBD文件经过反编译后能看到其源代码,结合汇编知识,理论上应该能利用UltraEdit找出每一句代码及数据对应的地址并进行修改。但确实比较繁琐,其实PBKiller自带了一个PBL阅读器,能比较好的区分PBD的相应函数、窗口代码段,再在其中利用本文介绍的方法应该能更快的确定要修改的代码段。可惜的是我水平实在有限,也没那么时间去研究PB伪代码中跳转、判断的对应十六进制代码及其修改方法,希望有高手能总结出来。好累,到此为止了。

posted @ 2006-06-11 11:15 心野 阅读(22699) | 评论 (11)编辑 收藏

首先定义一函数如下:

function SetPrivilege(PrivilegeName: String; Enable: Boolean): Boolean;
  var
      NewState, PreviousState: TTokenPrivileges;
      token: THandle;
      dwRetLen: DWord;
  begin
      Result := False;
      OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, token);
      NewState.PrivilegeCount := 1;
      if LookupPrivilegeValue(nil, PChar(PrivilegeName),NewState.Privileges[0].LUID) then
      begin
        if Enable then
          NewState.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED
        else
          NewState.Privileges[0].Attributes := 0;
        dwRetLen := 0;
        Result := AdjustTokenPrivileges(token,False, NewState, SizeOf(PreviousState),PreviousState, dwRetLen);
      end;
      CloseHandle(token);
  end;

如果你想实现定时关机,可以加入一定时器,在一Edit或ComboBox中设定时间段(也可以是时刻,但同样可以根据当前时间计算出时间差),例如设定定时器间隔为1000毫秒,TimeSet为经由Edit或ComboBox而得到的关机时间(假设单位为秒),Count为自定义的一整形数据,代表经历的时间,则定时器的触发函数可以定义为:

procedure TFormMain.Timer1Timer(Sender: TObject);
begin
  Count := Count + 1;
  if Count >= TimeSet then
  begin
    SetPrivilege('SeShutdownPrivilege', True);
    if not ExitWindowsEx((ewx_logoff+ewx_force+EWX_shutdown+ewx_poweroff),0) then
      SetPrivilege('SeShutdownPrivilege', False);
    close;
  end;
end;

如果你经常进行BT下载,想实现下载完成后自动关机(BitCommit好像不支持下载完毕自动关机),可以定义定时器的触发函数为:

procedure TFormMain.Timer1Timer(Sender: TObject);
begin
  if FileExists(Trim(EditFileName.Text)) then
  begin
    DeleteFile(Trim(EditFileName.Text));
    SetPrivilege('SeShutdownPrivilege', True);
    if not ExitWindowsEx((ewx_logoff+ewx_force+EWX_shutdown+ewx_poweroff),0) then
      SetPrivilege('SeShutdownPrivilege', False);
  end;
end;

其中EditFileName是你设定的文件名,这里利用了一般BT下载完毕会自动更改文件名这个特点。
posted @ 2006-06-09 20:26 心野 阅读(1122) | 评论 (0)编辑 收藏

仅列出标题
共4页: 1 2 3 4