• 标 题:Wise Installer cracking tips (1千字)
  • 作 者:blowfish  
  • 时 间:2004-01-17 11:12:31
  • 链 接:http://bbs.pediy.com

目前似乎没看到Wise安装脚本的反编译器,破解Wise install serial比InstallShield的难度感觉要大些。 

wise install serial一般也可以分为三类: 

1、Wise install password 

Wise password比较简单,只是将password的ASCII码求反了一下,用bpx GetWindowTextA然后再BPM一般可以找到求反后比较的地方。 

2、通过Wise install script判断serial 

这种难度最大,因为动态跟踪的话都是在脚本解释器里面打转,运气不好可能搞不定,但也有迹可循。既然wise script检查sn要用到字符串操作和整数操作,就可以从这里入手。 
对于字符串操作,可选择的断点有bpx lstrcpyA do "d *(esp+8)"然后BPM、CompareStringA(lstrcmp系列函数最终都是调用CompareStringA的);对于整数操作来说,切入点可以选择bpx _atol do "d *(esp+4)"作为断点,atoi/atol哪里去找呢?Wise installer会在临时目录下解压出一些GLxxx.tmp文件,这些文件中有一个150K左右的是Wise自己的runtime DLL,用IDA的sig功能在里面可以识别出_atoi/_atol函数。 

3、通过调用外部DLL来检查sn 

这种和InstallShield一样,用bpx LoadlibraryA do "d *(esp+4)")、bpx GetProcAddress do "d *(esp+8)"。不过要注意的是,名字象"f6"、"f19"这样的函数可能是Wise自己的支撑函数,但检查sn的函数名可能也类似。 

Wise installer可能会每次在你按下Next或OK按钮后都加载临时目录下解压出的GLxxx.tmp文件(实际上是DLL文件),这样softice的断点可能无法保持,每次需要重设。