分类分类
关注+2004-10-15作者:蓝点
这是我第一次写pj文章,希望大家能给点鼓励:)
QuickCD V1.0.4
软件大小: 59 KB
软件语言: 简体中文
软件类别: 国产软件 / 共享版 / 光驱工具
应用平台: Win9x/NT/2000/XP
界面预览: 无
加入时间: 2003-04-18
联 系 人: QuickMore@Hotmail.com
开 发 商: http://www.websamba.com/morequick
软件介绍:
QuickCD 可以帮助你方便快捷的打开关闭光驱门,你可以选择热键或者鼠标点击两种方式:1.热键(F9:打开光驱门,F10:关闭光驱门,F11:弹出设置对话框),当然你可以设置新的热键.2.鼠标点击(点击托盘图标:打开光驱门,右击托盘图标:关闭光驱门,右双击托盘图标:弹出菜单)
下载地址:http://www.skycn.com/soft/6381.html
工具:softice4.05
进入软件注册画面:
输入注册码:12345678
调出softice,下断点bpx getwindowtexta,回到软件,点击注册后中断,F12返回程序领空,
到这里
001B:0040A9C6 8B4C2408 MOV ECX,[ESP+08]
001B:0040A9CA 6AFF PUSH FF
001B:0040A9CC E8FA380000 CALL 0040E2CB
001B:0040A9D1 EB0C JMP 0040A9DF
001B:0040A9D3 8B01 MOV EAX,[ECX]
001B:0040A9D5 FF742408 PUSH DWORD PTR [ESP+08]
001B:0040A9D9 FF9088000000 CALL [EAX+00000088]
001B:0040A9DF 5E POP ESI
一直按F10,此时Eax值没有变化,所以一直走下去
到这里
001B:00402342 8B442414 mov eax, dword ptr [esp+14]//这里eax变化,用d eax,看到什么?我的机器吗!!!
001B:00402346 50 push eax//机器码入栈,为下面的call做准备
001B:00402347 E84B180000 CALL 00403B97//这个call的作用是将机器吗的十进制值转化为十六进制值,怎么知道呢?call完之后用?eax就知道了
001B:0040234C 8B4C2410 MOV ECX,[ESP+10]//假注册码给Ecx
001B:00402350 8BF8 MOV EDI,EAX//eax赋值给edi,也就是edi中放着机器吗
001B:00402352 51 PUSH ECX//ecx(假注册码)入栈
001B:00402353 E83F180000 CALL 00403B97//同上面的call一样把假注册码转为十六进制值
001B:00402358 57 PUSH EDI//机器吗入栈,机器吗和假注册码都入栈了,后面有好戏看了:)
001B:00402359 8BE8 MOV EBP,EAX//eax赋值给ebp
001B:0040235B E860FFFFFF CALL 004022C0//这个call不知道是干嘛的,搁着.....
001B:00402360 83C40C ADD ESP,0C
001B:00402363 3BC5 CMP EAX,EBP//关键比较
001B:00402365 0F8587000000 JNZ 004023F2//关键跳转,怎么知道是关键跳转呢?这里有个技巧,用r fl z将zf置1,接着按F5,看到了什么?注册错误!!!说明这是个关键跳转,不用说上面就是关键跳转了,那么是什么改变了eax呢?在001B:00402359处eax不是赋值给了ebp吗?两者应该相等才对!!!
呵呵,现在应该知道0040235B处的call是干什么的吧,他就是关键call,计算注册码后,改变了eax的值,现在我们F8进入到关键call 004022C0
001B:004022C0 8B442404 MOV EAX,[ESP+04]//机器吗放入eax
001B:004022C4 35AC0BBB02 XOR EAX,02BB0BAC//eax与0X02BB0BAC异或结果放入eax
001B:004022C9 05FD593202 ADD EAX,023259FD//eax+0X023259FD
001B:004022CE 7905 JNS 004022D5//SF=0则跳走
001B:004022D0 99 CDQ
001B:004022D1 33C2 XOR EAX,EDX
001B:004022D3 2BC2 SUB EAX,EDX
001B:004022D5 C3 RET
注册码的计算过程就这么一点,简单吧:)
注册成功后注册码写入同目录下的QuickCD.ini文件中
c++源码:
#include
void main()
{
int mac_code,reg_code;
cout<<"\n*************KenGen BY NetFox*************"<<<"\n";
cout<<"Machine Code Please:";
cin>>mac_code;
mac_code^=0x02bb0bac;
reg_code=mac_code+0x023259fd;
cout<<"Your Register Code Is:"<
}
相关文章
更多+相同厂商
热门推荐
点击查看更多
点击查看更多
点击查看更多
说两句网友评论