• 标 题:1.6正式版本PJ方法 (6千字)
  • 作 者:ircbox
  • 时 间:2002-6-27
  • 链 接:http://bbs.pediy.com

感谢DFCG的小白菜提供
出处:http://www.cn12.com

五笔快打1.6正式版本PJ方法
          =====================

软件名称:****1.6正式版
软件下载:
补丁下载:(正常运行可能要下补丁,我的机子可不要这个)
PJ工具:SOFTICE
特点:
  1、一机一码,每位注册码在输入时验证,前一位如不正确,将使下一位也不正确,全部输入共
五个窗口,每个窗口有不同的位置的验证!具体如下:
  2、对抗TRW,请不要使用TRW来跟踪!
  3、使用SOFTICE 要隐藏!

具体PJ方法:
=========
第一、在"帮助"->"关于"复制本机序列号
第二、在"帮助"->"注册"处粘贴本机序列号,我的序列号是:WBKD-CV35-36MH-J96W
第三、注册码PJ!
  
                  第一注册窗口-注册码PJ

  先设置断点:用soft(加载icedump.exe),设置bpx hmemcpy
在第一窗口处乱填第一位字母:H 立即被拦截,注意,请不要中断断点BD * ,否则也不能跟踪。

 按F12共12次来到
0167:00408E1E  FF7514              PUSH      DWORD PTR [EBP+14]
0167:00408E21  FF159CFB5800        CALL      [0058FB9C]
0167:00408E27  8A0D6CD25800        MOV      CL,[0058D26C]
按F10开始跟踪一直来到这里:
0167:00408E88  8D843510FFFFFF      LEA      EAX,[ESI+EBP-00F0]   
0167:00408E8F  50                  PUSH      EAX      //EAX 取序列号
0167:00408E90  8D45E0              LEA      EAX,[EBP-20]
0167:00408E93  50                  PUSH      EAX
0167:00408E94  FF1544F95800        CALL      [0058F944]
0167:00408E9A  53                  PUSH      EBX
0167:00408E9B  6870B35800          PUSH      0058B370
0167:00408EA0  E81E82FFFF          CALL      004010C3
0167:00408EA5  8D45C8              LEA      EAX,[EBP-38]
0167:00408EA8  50                  PUSH      EAX
0167:00408EA9  8D45E0              LEA      EAX,[EBP-20]
0167:00408EAC  50                  PUSH      EAX    //取第一部分的序列号    
0167:00408EAD  E88982FFFF          CALL      0040113B
0167:00408EB2  8D45C8              LEA      EAX,[EBP-38]
====
0167:00408F42  8D4512              LEA      EAX,[EBP+12]
0167:00408F45  50                  PUSH      EAX
0167:00408F46  FF1584FB5800        CALL      [0058FB84]  
0167:00408F4C  8A4435F8            MOV      AL,[ESI+EBP-08]  ////把假的注册码放入AL中!,
0167:00408F50  3A4512              CMP      AL,[EBP+12]   //[EBP+12]为真的注册码,真假比较
//第一注册窗口在比较验证,    即我的:h 与 K
//设置断点: bpx 00408F50
//按CTRL+D 返回,更改第一注册码为K,同时输入第二位注册码:K
//立即被拦截,此时,按F5,一次为验证第一位注册码,
//按F5,二次验证第二位,依此累推,真至本注册窗口输完!
//
// 我的第一窗口注册码是:KECQ

0167:00408F53  7527                JNZ      00408F7C    // 不相等就玩完!
0167:00408F55  8D4512              LEA      EAX,[EBP+12]
0167:00408F58  3BF3                CMP      ESI,EBX
0167:00408F5A  50                  PUSH      EAX
.....
0167:00408F83  E828770200          CALL      004306B0
0167:00408F88  83C40C              ADD      ESP,0C
0167:00408F8B  46                  INC      ESI  //完成后,ESI 加上1,作累加器
0167:00408F8C  3B750C              CMP      ESI,[EBP+0C]
0167:00408F8F  0F8CD7FEFFFF        JL        00408E6C   返上继续验证下一位↑
0167:00408F95  8B3584FB5800        MOV      ESI,[0058FB84]
0167:00408F9B  8D45F0              LEA      EAX,[EBP-10]
0167:00408F9E  50                  PUSH      EAX

          第二注册窗口-注册码PJ

第一步:方法如同第一窗口一样,
第二步:在00409174 处设置断点,
// 当输入第一位假的注册码后,按F5一次 D EBP+12 见真的注册码
// 当输入第二位假的注册码后,按F5二次 D EBP+12 见真的注册码
// 依此累推,真至本注册窗口输完!
// 我的注册码:****

0167:0040916A  FF1584FB5800        CALL      [0058FB84]

0167:00409170  8A4435F8            MOV      AL,[ESI+EBP-08] //把假的注册码放入AL中!
0167:00409174  3A4512              CMP      AL,[EBP+12]  // 真假比较![EBP+12]为真注册码!
0167:00409177  7527                JNZ      004091A0  //不相等就玩完!
0167:00409179  8D4512              LEA      EAX,[EBP+12]
0167:0040917C  3BF3                CMP      ESI,EBX
0167:0040917E  50                  PUSH      EAX
0167:0040917F  8D45F0              LEA      EAX,[EBP-10]
0167:00409182  C704B5383B5800010000MOV      DWORD PTR [ESI*4+00583B38],00000001
0167:0040918D  50                  PUSH      EAX
0167:0040918E  7508                JNZ      00409198
0167:00409190  FF1554F95800        CALL      [0058F954]
0167:00409196  EB17                JMP      004091AF
0167:00409198  FF1548F95800        CALL      [0058F948]
0167:0040919E  EB0F                JMP      004091AF
0167:004091A0  6A05                PUSH      05
0167:004091A2  8D45F0              LEA      EAX,[EBP-10]
0167:004091A5  53                  PUSH      EBX
0167:004091A6  50                  PUSH      EAX
0167:004091A7  E804750200          CALL      004306B0
0167:004091AC  83C40C              ADD      ESP,0C
0167:004091AF  46                  INC      ESI
0167:004091B0  3B750C              CMP      ESI,[EBP+0C]
0167:004091B3  0F8C9EFEFFFF        JL        00409057    返上比较下一位注册码
0167:004091B9  8B3584FB5800        MOV      ESI,[0058FB84]
===

          第三注册窗口-注册码PJ

第一步:方法如同第一窗口一样,
第二步:在00409375 处设置断点,
// 当输入第一位假的注册码后,按F5一次 D EBP+12 见真的注册码
// 当输入第二位假的注册码后,按F5二次 D EBP+12 见真的注册码
// 依此累推,真至本注册窗口输完!
// 我的注册码:****

==

          第四注册窗口-注册码PJ

第一步:方法如同第一窗口一样,
第二步:在00409705 处设置断点,
// 当输入第一位假的注册码后,按F5一次 D EBP+12 见真的注册码
// 当输入第二位假的注册码后,按F5二次 D EBP+12 见真的注册码
// 依此累推,真至本注册窗口输完!
// 我的注册码:****
===


          第五注册窗口-注册码PJ

第一步:方法如同第一窗口一样,
第二步:在00409AA9 处设置断点,
// 当输入第一位假的注册码后,按F5一次 D EBP+12 见真的注册码
// 当输入第二位假的注册码后,按F5二次 D EBP+12 见真的注册码
// 依此累推,真至本注册窗口输完!
// 我的注册码:****
=====

完成,我的序列号:WBKD-CV35-36MH-J96W
   我的注册码:KECQ-****-****-***-****