• 标 题:winamp的皮肤制作软件skinner注册框之去除篇 (爆破难度:中等) (4千字)
  • 作 者:小球
  • 时 间:2001-3-18 11:19:07
  • 链 接:http://bbs.pediy.com

winamp的皮肤制作软件skinner注册框之去除篇 (爆破难度:中等)

工具:softice for9x,w32dasm ver 8.93 ,hiew

首先用w32反汇编,在工具栏中找到strn ref按钮,找到出错的关键字:
"Wrong registration number!"
双击,它在程序中有两个地址。来到这里:
* Possible StringData Ref from Data Obj ->"Wrong registration number!"
                                  |
:00406C2E 6894584200              push 00425894
:00406C33 56                      push esi
向上查找....
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00406BB4(C)  *注意这里!!!
|
:00406C22 83F801                  cmp eax, 00000001
:00406C25 751D                    jne 00406C44 *改这里为je
:00406C27 6A00                    push 00000000
再双击来到这里:
* Possible StringData Ref from Data Obj ->"Wrong registration number!"
                                  |
:0040B87A 6894584200              push 00425894
:0040B87F 56                      push esi
还是向上查找:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040B83A(C)
|
:0040B86E 83F801                  cmp eax, 00000001
:0040B871 751D                    jne 0040B890 *改为je
:0040B873 6A00                    push 00000000
以上只是把出错信息跳过。
记得这里吧!
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00406BB4(C)  *找到这个跳转地址
|
:00406C22 83F801                  cmp eax, 00000001
:00406C25 751D                    jne 00406C44
:00406C27 6A00                    push 00000000

来到这:
* Reference To: USER32.DialogBoxParamA, Ord:008Eh
                                  |
:00406BAB FF154C254300            Call dword ptr [0043254C]
:00406BB1 83F803                  cmp eax, 00000003
:00406BB4 756C                    jne 00406C22 *改为je,当你按ok时就会变为This product is licensed to

那位问了:“能不能一直让它显示This product is licensed to 呢?”当然能。再在串式内容参考清单中,找到This product is licensed to,双击它发现也有两个地址,来到这里:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00406AC9(C)
|
:00406AD7 A33C524200              mov dword ptr [0042523C], eax
:00406ADC 85C0                    test eax, eax
:00406ADE 7440                    je 00406B20 *这里改为jne
:00406AE0 8B742478                mov esi, dword ptr [esp+78]

* Possible StringData Ref from Data Obj ->" This product is licensed to "
                                  |
:00406AE4 6850594200              push 00425950
再运行试试。
可是问题又出来了,当你按注册按钮时还是会弹出注册框,改掉它。运行程序来到注册处,
用ice下断bpx hmemcpy
按ok
程序被中断, bc*清除断点(以下同理),按f12来到这里:
:00406D81 FFD7                    call edi *看到了吗?这就是调用注册框的call
:00406D83 8D442438                lea eax, dword ptr [esp+38] *程序会被中断到这里
:00406D87 6A29                    push 00000029
:00406D89 50                      push eax

向上查找吧...
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00406D1B(C)
|
:00406D5B 668B442470              mov ax, word ptr [esp+70]
:00406D60 663D0100                cmp ax, 0001
:00406D64 0F8519010000            jne 00406E83 *改为je
再运行试试,怎么样?没有了吧?
还有一个问题是:当你要保存你做好的skin时,它还会弹出注册框。
来吧干掉它!
用ctrl+d 呼出ice
用bpx sendmessage下断
程序被断,按f12 n次来到这里:(它的领空哦)
:0040B1B8 FFD7                    call edi
:0040B1BA 83F801                  cmp eax, 00000001
:0040B1BD 0F85CD060000            jne 0040B890
:0040B1C3 68027F0000              push 00007F02
:0040B1C8 6A00                    push 00000000
一直按f10,按啊,按啊,按啊......直到出现注册框为止。应该是这里:
* Possible Reference to Dialog: DialogID_00F0
                                  |
:0040B816 68F0000000              push 000000F0
:0040B81B 50                      push eax
:0040B81C FFD7                    call edi *这是那个出错框
:0040B81E 85C0                    test eax, eax
:0040B820 746E                    je 0040B890
:0040B822 6A00                    push 00000000
:0040B824 A170FB4200              mov eax, dword ptr [0042FB70]
:0040B829 68006D4000              push 00406D00
:0040B82E 56                      push esi
向上查找,来到:
:0040B7F6 FF15C0254300            Call dword ptr [004325C0]
:0040B7FC 833D3C52420000          cmp dword ptr [0042523C], 00000000
:0040B803 0F8587000000            jne 0040B890 *改为je
好了,试试吧!如果没有错的话。应该成功了!

  • 标 题:注册码 (129字)
  • 作 者:夜月
  • 时 间:2001-3-18 19:43:25

WINAMP SKIN MAKER
:00406DEB    CMP EDI,EBX
? EDI        十进制为真注册码!
? EDI        十进制为你输入的注册码!