=79、HyperSnap-DX v3.00 破解法 ==========================================

以下称此软体为HS...

1.执行HS...出现延迟画面...

2.Ctrl-D 切入S-ICE...

3.下bpx lockmytask指令...

4.按F5切回HS...按OK...

5.S-ICE拦下後...BD * 把拦中断的功能关掉
  按几次F12...跳回HS领空(HSDX主程式模组)...

6.然後一直按F10....直到下面:

  XXXX:0040F6FE PUSH 0046CC44
  XXXX:0040F703 PUSH ECX
  XXXX:0040F704 PUSH EAX
  XXXX:0040F705 CALL [00490D54] ;用F10带过此行...
  XXXX:0040F70B TEST EDI,EDI     延迟画面就跑出来啦...
  XXXX:0040F70D JZ 0040F745

所以往上看...看哪里可以避开此CALL...
如下:

7.
  XXXX:0040F685 CALL 00426C10
  XXXX:0040F68A CMP DWORD PTR [0048547C],00 ;比对旗标值
  XXXX:0040F691 PUSH EBX
  XXXX:0040F692 PUSH ESI
  XXXX:0040F693 PUSH EDI
  XXXX:0040F694 JNZ 0040F745 ;若[0048547C]之值等於00...
                              那就死定罗!!!

8.所以在0040F685那行设断...再重新执行一次...
  拦下後...追进去...
  但是...发觉...好像没有更动[0048547C]的指令出现...
  不信邪...
  下BPM XXXX:YYYYYYYY (即[0048547C]的位址)...
  按下G...结果还是在XXXX:0040F691 PUSH EBX拦下...
  表示此行的上一行XXXX:0040F68A CMP DWORD PTR [0048547C],00
  有读写此位址...当然嘛...要比较...当然要去读咩...
  除此之外就没读写那锅位址的指令...
  我偏不信邪...BPM XXXX:YYYYYYYY仍然开著...
  重新载入执行...哇勒...还是在老地方拦下...
  但是重头载入执行...你会发觉
  XXXX:0040F68A CMP DWORD PTR [0048547C],00被栏两次(检查两次)
  可见没有其他的指令读写那锅位址...
  算了...那就不管啦...
  执行到XXXX:0040F694 JNZ 0040F745
  下CODE ON...记下机械码...
  然後下A...
  改成JMP 0040F745
  嗯...强迫跳过啦...:p

9.这一套破的蛮丑的...
  还有Unregistered version的标记...
  不管啦...用UltraEdit改掉就好啦...
  刚试了一下(2000年)...功能都没问题...
  应该ok啦...收工!!!

10.重新整理一次:

软体名: HyperSnap-DX v3.00

改 HSDX.EXE

FIND: 83 3D 7C 54 48 00 00 75 2A 8D 45 0C 50
EDIT: -- -- -- -- -- -- -- EB -- -- -- -- --

--: 表不用修改之处。