• 标 题:【 标题:SmartWhoIs 3.0 (build 21) 破解手记 】
  • 作 者:mcny@work
  • 时 间:2000-11-30 3:33:38
  • 链 接:http://bbs.pediy.com

【 标题:SmartWhoIs 3.0 (build 21) 破解手记  】
==========================================================================================
软件      :SmartWhoIs 3.0 (Build21)
软件简介  :网络查询工具,能查询IP地址或域名的位置、注册人、联系信息等,它还可以对数据
            进行缓存,使你可以建立自己的数据库,支持Socks5防火墙

下载处    :http://www.tamos.com/
            若以上连接找不到(build21)次版本号的,可以到我这里下载:
            http://www.freedrive.com/ASP/PostFolderShortcut.asp?fsc=15913190
            (找share\SmartWhoIs\sw3.zip ,需有freedrive的免费帐号)

注册方式  :keyfile (*.s3l / *.swl )

程序保护  :Asprotect 加壳 + Checksum 检测 + Regmon/Filemon检测 + 加密'Evaluation' 等字样。
            (有检测Debugger,但不知是否与保护有关)

过期方式  :未过期时,主窗口有Evaluation Version 字样。程序结束前,会出现一个对话框。
            过期后,会在其子目录 \ico 下拷贝建立一个 itReserved.png 文件(拷贝自文件
            ico\itDomName.png)。
            可以换另一个方式说,若发现 ico\itReserved.png 文件,则程序运行后出现过期对话框,
            并马上结束。若没有发现,则继续试用。
           
破解      :使不过期。
使用工具  :W32Dasm 8.93 , Filemon4.22 , Regmon4.22 , UltraEdit 7.20   
     

《 在写本文的当儿,CORE也刚刚发布了注册机。可去 http://hambo.yeah.net 》
==========================================================================================

1)此程序是用 Asprotect 加壳的, 用 Caspr0.952 可以正常脱壳。已脱壳的程序,运行后马上结束。
  这是由于 Checksum 的关系。以下可以避开Checksum 失败。

  004E619D  jz 004E71A4  -->  jmp 004E71A4


2)用W32Dasm发现 StrnREF 中有字符串"FilemonClass"、"RegmonClass" 。用文本编辑器UltraEdit将它们改
  成其它字符就可以避开对 Filemon 和 Regmon 的检测了。
  无论有无避开检测,以上两个软件都可以运行,然而结果就有微小区别。好比Filemon 中的
  ico\itReserved.png ,若事先不避开是不会记录在案的。(我差点儿就走宝了!)


3)004E60CA  call 004B9E10  为 Keyfile 的关键。


4)"Would you like to purchase this product? "
  "Thank You for trying this evaluation version !"
  " - Evalution Version"
    以上三个字符串都被加密,(有多处)皆调用  call 004B95F8 来还原。


5)关键代码(局部),仅供参考。
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004E60AF(C)
|
:004E60CA E8413DFDFF              call 004B9E10      //开始运行时,对KeyFile的检测、操作部分 <= 注意!
:004E60CF E8F8C8F1FF              call 004029CC      //时间计算。
:004E60D4 A198954E00              mov eax, dword ptr [004E9598]
:004E60D9 833800                  cmp dword ptr [eax], 00000000
:004E60DC 754D                    jne 004E612B
:004E60DE E8CD30FCFF              call 004A91B0      //检测Filemon的存在,
:004E60E3 84C0                    test al, al
:004E60E5 7544                    jne 004E612B        //若检测到Filemon,则跳转。
:004E60E7 8B15BC924E00            mov edx, dword ptr [004E92BC]
:004E60ED 8B12                    mov edx, dword ptr [edx]
:004E60EF 8D45F0                  lea eax, dword ptr [ebp-10]

* Possible StringData Ref from Data Obj ->"ico\itReserved.png"
                                  |
:004E60F2 B928624E00              mov ecx, 004E6228
:004E60F7 E84CDEF1FF              call 00403F48
:004E60FC 8B45F0                  mov eax, dword ptr [ebp-10]
:004E60FF E80C2DF2FF              call 00408E10
:004E6104 84C0                    test al, al
:004E6106 7423                    je 004E612B        //若没有该文件则跳转,否则出现过期对话框。
:004E6108 8D4DEC                  lea ecx, dword ptr [ebp-14]
:004E610B 66BA1F00                mov dx, 001F

* Possible StringData Ref from Data Obj ->"S>|演e?u?=?I|~??ǹ顄?幊;}璃8椴痞"
                                  |
:004E610F B844624E00              mov eax, 004E6244
:004E6114 E8DF34FDFF              call 004B95F8                  //这个调用将以上密文转换成如下文本
:004E6119 8B45EC                  mov eax, dword ptr [ebp-14]  //[eax]="Would you like to
                                                                        purchase this product? "
:004E611C E8B730FCFF              call 004A91D8
:004E6121 E8BE41FDFF              call 004BA2E4

==========================================================================================
【笔者的所有改动】: WD=W32Dasm  UE=UltraEdit
==========================================================================================
1) CHECKSUM
  WD:004E619D  7405    jz 004E71A4    --> eb05    jmp 
  UE:000E559Dh

2)"RegmonClass" and "FilemonClass"
  UE: 000A85C9h  FilemonClass  --> FilemanClose
  UE: 000A85A4h      RegmonClass     --> RegmanClose

3) 避开所有加密字的符串,即避开过期限制。
  WD:004E2530  7407    je 004e2539    --> 9090    nop  nop
  UE:000E1930h

  WD:004BA2EB  7548    jne 004ba335    --> eb48    jmp 
  UE:000B96EBh

  WD:004CA1BE  753B    jne 004CA1FB    --> eb3b    jmp
  UE:000C95BEh

  WD:004E27E5  733C    jnb 004E2823    --> eb3c    jmp
  UE:000E1BE5h

  WD:004E391A  7242    jb 004E395E    --> eb42    jmp
  UE:000E2D1Ah

  WD:004e60DC  754D    je 004E612B    --> eb4d    jmp
  UE:000E54E3h

  WD:004CAE6C  753C    jne 004CAEAA    --> eb3c    jmp
  UE:000CA26Ch


4)最后,莫忘了留下名字 8^)
  UE: 00f4d13h    "Evaluation Version" --> "McNy@Work [200011]"    (change to my name)
  UE: 00f4b85h  "Order Now!"    --> alls  00 00 00 00 00 00 00 00 00 00  (delete link)

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
笔者      :McNy@Work
网址      :http://mcny.yeah.net  或  http://mcny.iscool.net  (施工缓慢,请见谅。。。)
日期      :2000年11月29日
Email      :mcny_work@yahoo.com
            (邮件主题请以"WANTED:McNycn"开始,注意英文字母大小写,否则我将收不到喔!)
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~