• 标 题:ok, cracked! (3千字)
  • 作 者:IceBird
  • 时 间:2000-5-24 16:46:42
  • 链 接:http://bbs.pediy.com

破 PowerStrip 2.67

    本文作者:IceBird
              http://nemc.yeah.net/
              icebird_crack@21cn.com

    所用工具:Soft-ice405  Procdump1.6.2  Uedit32
 
    PowerStrip 2.67 到这里下载:
    http://202.102.249.231/ftproot/6/pstrip267.exe

前言:
    这个软件用ASPack加壳,采用keyfile保护,因此我们先脱壳再破解 :)

1. 脱壳
   
    因为软件用ASPack加壳,我也不知道用的是ASPack的什么版本,所以请先跟我一起编辑
    Procdump 的 Script.ini 文件。
    在 Script.ini 文件中加上这些:

        P??=Aspack  ( ?? 是行号,注意是16进制的 ) 

        [Aspack]
        L1=OBJR
        L2=LOOK EB,?
        L3=JZ 5
    L4=QUIT
    L5=BP

    L6=WALK
    L7=OBJR
    L8=LOOK 61,75    
    L9=BP

    LA=STEP
    OPTL1=00000000

    OPTL2=01010001
    OPTL3=01010001
    OPTL4=00030000
    OPTL5=00000000 

    这样Procdump也就可以脱去到目前为止所有用ASPack加壳的软件了 :)
   
    用Procdump脱去pstrip.exe(在windows目录下)的壳,然后将脱壳后的文件复制到Windows
    目录下覆盖原文件。

2. 破解

    软件好象用了keyfile的保护,可惜小弟这只菜鸟算不出它的注册码 :(
    如果能算出注册码,当然也不必脱壳了。
    ok,go...
 
    启动 pstrip ,出现注册提示画面,ctrl-d 唤出 soft-ice ,下 bpx destroywindow ,
    按 F5 返回 window ,点击一下 OK ,马上被拦下,这时按一下 F12 ,回到pstrip的领空,
    下 s 0 l 90000000 'demo' ,搜索到 xxx:yyyyyyyy 的地址,地址应该是每个人的不同,
    下 bpm yyyyyyyy ,按 F5 返回 window ,退出 pstrip ,再一次启动 pstrip ,拦下后
    我们就开始按 F12 ,按多少次?我也不记得了,大概17次吧,反正也就是来到了这里:

    :004CB57D  E84AF40000          CALL      004DA9CC
    :004CB582  8B45FC              MOV      EAX,[EBP-04]
    :004CB585  80B84805000000      CMP      BYTE PTR [EAX+00000548],00
    :004CB58C  0F85A8000000        JNZ      004CB63A
    :004CB592  8B45FC              MOV      EAX,[EBP-04]
    :004CB595  80B84805000000      CMP      BYTE PTR [EAX+00000548],00
    :004CB59C  7433                JZ        004CB5D1
    :004CB59E  8D954CFEFFFF        LEA      EDX,[EBP-01B4]
    :004CB5A4  B801000000          MOV      EAX,00000001
    :004CB5A9  E80673F3FF          CALL      004028B4
    :004CB5AE  8B854CFEFFFF        MOV      EAX,[EBP-01B4]
    :004CB5B4  8D9550FEFFFF        LEA      EDX,[EBP-01B0]
    :004CB5BA  E899B3F3FF          CALL      00406958
    :004CB5BF  8B8550FEFFFF        MOV      EAX,[EBP-01B0]
    :004CB5C5  BA08C14C00          MOV      EDX,004CC108
    :004CB5CA  E8E982F3FF          CALL      004038B8
    :004CB5CF  7569                JNZ      004CB63A
    :004CB5D1  8B0D7C954F00        MOV      ECX,[004F957C]
    :004CB5D7  B201                MOV      DL,01
    :004CB5D9  B8D8644B00          MOV      EAX,004B64D8
    :004CB5DE  E8FD7AF4FF          CALL      004130E0
    :004CB5E3  A350DB4F00          MOV      [004FDB50],EAX    * we stop here *
    :004CB5E8  33C0                XOR      EAX,EAX
    :004CB5EA  55                  PUSH      EBP
    :004CB5EB  6833B64C00          PUSH      004CB633
    :004CB5F0  64FF30              PUSH      DWORD PTR FS:[EAX]
    :004CB5F3  648920              MOV      FS:[EAX],ESP
    :004CB5F6  A150DB4F00          MOV      EAX,[004FDB50]
    :004CB5FB  E898A7F4FF          CALL      00415D98  * 这里出现注册提示画面 *
    :004CB600  83F802              CMP      EAX,02
    :004CB603  750F                JNZ      004CB614

    我们停在 004CB5E3 处,当光标经过 004CB5FB 这里也就出现注册提示画面,于是向上看
    哪里可以跳过它。
    我找到了 004CB58C 和 004CB5CF 都可以跳过,第1个比较好一些,所以在 004CB585 处
    设断点,再来一次,在 004CB585 处拦下,这时 [EAX+00000548] 的值为 0 ,如果
    [EAX+00000548] 的值为 1 ,也就行了,因此我们把

     :004CB585  CMP  BYTE
PTR [EAX+00000548],00
    改成:
        :004CB585  INC  BYTE
PTR [EAX+00000548]

    因为少了一个 byte ,所以加一个 nop ,别忘了下 code on 指令

3. 用 Uedit32 打开已脱壳的 pstrip.exe 文件,
   
    查找:80B848050000000F85A8000000
    改成:FE804805000090------------

    运行 pstrip ,没有的干挠画面,看一下 ‘关于 PowerStrip’,
    在我的机上显示着:License #84653
    破解成功!

the end


标 题:精华2中的POWERZIP破解不完全,右键功能不能使用.如果文件属性不是只读,下一次启动又会恢复. (空)
  • 作 者:zlion
  • 时 间:2001-2-12 18:49:20
    详细信息: