黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 软件破解 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[推荐]软件破解教程-第四节拆解教程
      ★★★★

软件破解教程-第四节拆解教程

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-3-9 9:19:43

第3章 动态分析技术


第四节 拆解教程

========================================================================
ED!SON's Windows 95 拆解教程 V1.00           (中文翻译: JIM TYAN)
========================================================================
目录
========
1.  Windows 拆解简介
2.  SoftICE for windows 2.00 快速入门
3.  如何找注册码
    3.1  Task Lock 3.00 - 一个简单的、仅有注册号保护的拆解例子
    3.2  Command Line 95 - 容易的“用户名/注册号"注册方式的拆解 
4.  为Command Line 95制作注册器 
5.  当程序调用一个函数时,PUSH和CALL这些指令是如何工作的 
6.  关于VB程序
附录
========
A.  如何让SOFTICE载入符号
B.  函数的语法
C.  到哪里获取软件
D.  如何与我联系
1. WINDOWS拆解简介
===================================
拆解一个WINDOWS程序要比拆解一个在DOS下运行的程序要容易得多。因为在WINDOWS
中,只要WINDOWS的函数被使用了,想对任何真正要寻找蛛丝马迹的人隐藏什么东西
是比较困难的。
你需要的第一个(常常也是唯一的一个)工具就是SoftICE/Win 2.oo, 它是NuMega
出品的一个非常强大的调试工具。有些人发现它很难用,但我会教你如何使用它进行
有效的调试,也希望你们能够明白我将要告诉你们的:-)。 你应该看看在附录A 中有
关SoftICE/Win 2.oo的一些资料。我在安装SoftICE中从来没有碰到任何问题, 如果
你碰到了,我只好让你查它的参考手册了。
你所需要的所有软件的URL列在附录C中
- ED!SON, edison@ccnux.utm.my
2. SOFTICE/WIN 2.OO 快速入门
=========================================
首先你应该对SOFTICE的屏幕有个大概的了解
|--------------------|
|     寄存器窗       |  用 'R' 编辑
|--------------------|
|     数据窗         |  用 'D' 列出某个地址的数据, 用 'E' 编辑
|--------------------| 
|     代码窗         |  用 'U' 反汇编, 'A' 加入汇编代码
|--------------------| 
|     命令窗         |  在这里输入命令和读出结果
|--------------------|
其它重要的功能键(在缺省的键定义下)
'H'/F1   - 在线帮助
F5/Ctr+D - 运行
F8       - 单步执行,切入子程序和中断
F10      - 单步执行,跳过子程序和中断
F11      - 跳出子程序,回到CALL的下一条指令
3. 如何寻找注册码
=============================
最容易的练习莫过于找个共享软件来试试把它注册。
3.1 Task Lock 3.00 - 一个简单的、仅有注册号保护的拆解例子
=================================================================
这是一个简单的保护,只有一个而且不会变化的注册码。
3.1.1 检查程序
===========================
它是16 bit程序,还是32 bit的? 在哪里输入注册信息? 在它的帮助里有没有
发现关于注册的一些线索?在你继续往下读之前,去把它们找一找!
....你现在应该在找吧!.....你是在找吗?.....你找到了吗?.......
好,你现在知道了,它是一个32位的WINDOWS 95应用程序,你可以在一个选择了
“Register|Register..."菜单就会弹出来的对话框中,输入一个注册码来注册
程序。通过阅读它的帮助,你也知道可以有两种注册方式:Individual和Site
License。所以这里对合法的注册码就可能有两次核对。
3.1.2 捕捉注册代码
===========================
注册码通常在普通的WINDOWS文字框中输入。为了检查输入的注册码, 程序必须
采用下面这些函数中的一个来把文字框中的内容读出来。
        16-bit                      32-bit
        ------                      ------
        GetWindowText               GetWindowTextA, GetWindowTextW
        GetDlgItemText              GetDlgItemTextA, GetDlgItemTextW
32-BIT函数的最后一个字母告诉我们函数是使用单字节还是双字节字符串。双字
节的注册码是很少见的。
也许你已经体会到我的意思了...“如果我能在GetWindowText时中断...", 你
的确能这样做!但是你首先必须确认这些符号已经由SOFTICE载入了(详见附录A)
在SoftICE中设定一个“陷阱"(实际上我们叫断点),你得先按Ctrl+D进入调
试状态,然后用命令BPX,后面跟著是函数的名字或者内存地址。因为Task Lock
是32位程序,所以我们在GetWindowTextA处设一个断点。 如果这个不行, 我们
可以再试其它的。
象这样在SoftICE中输入:
        :bpx getwindowtexta
如果你得到“No LDT"这样的错误信息,就要注意不要运行其它程序。我已经注
意到Norton Commander/Dos 会干扰这个功能。 你可以列出所有断点来检查一下
是否设好断点:
        :bl
你会看到这样的信息:
        00)   BPX USER32!GetWindowTextA C=01
你可以再按一次Ctrl+D,从SoftICE中退出,。
好了,不管怎么样,你已经设定好了断点以捕捉任何对GetWinowTextA的调用。
现在我们来在该输入注册码的地方输入一些数字,然后按下OK....你只得到了
一个信息框告诉你输入的注册码是无效的。看来不是GetWindowTextA....我们
来试试GetDlgItemTextA。首先删除旧的断点:
        :bc 0
(0 表示在断点列表中的第0个断点)
 然后设定新的断点:
        :bpx getdlgitemtexta
 再来试一次.....
 

[1] [2] [3] 下一页

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886