www.shetef.com
这个软件的主页上还有个注册表监视工具和文件读写监视工具。Touch Typing是用VB5写的。破解的关键在于__vbaStrComp( )和rtcR8ValFromBStr( )。
#include
#include
void main(void)
{
char SerialStr[64]="Touch-Typing_000";
char PasswordStr[64]="PA00";
char buf[64];
long serial;
long password;
printf("KeyGen for Touch Typing version 98 3.3.\n");
printf("Input a magic number: ");
scanf("%lu", &password);
sprintf(buf,"%lu", password);
buf[6] = '\0';
sscanf(buf, "%lu", &password);
strcat(PasswordStr, buf);
serial = password * 142L + 48935L;
sprintf(buf, "%lu", serial);
strcat(SerialStr, buf);
printf("Your serial: ");
puts(SerialStr);
printf("Your password: ");
puts(PasswordStr);
}
标 题:顺便再说一下,破解VB程序最好能熟悉一下x86常用的浮点运算指令。若不懂浮点指令则无法写这个程序的注册机 (2千字)
发信人:郭大志
时 间:2000-6-7 10:24:29
详细信息:
另外,在SoftICE中敲wf命令可以把x86的浮点寄存器栈窗口打开,便于观察浮点运算的过程。rtcR8ValFromBStr( )负责把一个字符串转换成一个浮点数,在rtcR8ValFromBStr( )的函数体的尾部会把转换得到的浮点数用FLD指令加载到浮点寄存器中,如下所示,在执行完指令FLD REAL8 PTR [EBP-08]后敲“dl ebp-8”命令可以看见局部变量[ebp-8]中存放的是转换后的浮点数,且浮点寄存器ST0中也存放该数。然后跟踪,看它如何处理ST0中的这个数即可。
MSVBVM50!rtcR8ValFromBstr
0167:7998D1FE PUSH EBP
0167:7998D1FF MOV EBP,ESP
0167:7998D201 SUB ESP,10
0167:7998D204 PUSH ESI
0167:7998D205 PUSH EDI
0167:7998D206 MOV EDI,[EBP+08]
0167:7998D209 TEST EDI,EDI
0167:7998D20B JNZ 7998D21B
0167:7998D20D FLD REAL8 PTR [7999C918]
0167:7998D213 POP EDI
0167:7998D214 POP ESI
0167:7998D215 MOV ESP,EBP
0167:7998D217 POP EBP
0167:7998D218 RET 0004
0167:7998D21B PUSH EDI
0167:7998D21C CALL [798B19E4]
0167:7998D222 MOV ECX,EAX
0167:7998D224 MOV ESI,EAX
0167:7998D226 MOV AX,[EDI]
0167:7998D229 TEST AX,AX
0167:7998D22C JZ 7998D25D
0167:7998D22E CMP AX,0009
0167:7998D232 JZ 7998D252
0167:7998D234 CMP AX,000A
0167:7998D238 JZ 7998D252
0167:7998D23A CMP AX,000D
0167:7998D23E JZ 7998D252
0167:7998D240 CMP AX,0020
0167:7998D244 JZ 7998D252
0167:7998D246 CMP AX,3000
0167:7998D24A JZ 7998D252
0167:7998D24C MOV [ECX],AX
0167:7998D24F ADD ECX,02
0167:7998D252 ADD EDI,02
0167:7998D255 MOV AX,[EDI]
0167:7998D258 TEST AX,AX
0167:7998D25B JNZ 7998D22E
0167:7998D25D MOV [ECX],AX
0167:7998D260 PUSH 05
0167:7998D262 LEA EAX,[EBP-10]
0167:7998D265 MOV [EBP-08],ESI
0167:7998D268 MOV WORD PTR [EBP-10],0008
0167:7998D26E PUSH EAX
0167:7998D26F CALL 7998D657
0167:7998D274 MOV EDI,EAX
0167:7998D276 PUSH ESI
0167:7998D277 CALL [798B1988]
0167:7998D27D TEST EDI,EDI
0167:7998D27F JGE 7998D289
0167:7998D281 PUSH 00
0167:7998D283 PUSH EDI
0167:7998D284 CALL 798BB385
0167:7998D289 FLD REAL8 PTR [EBP-08] //这里是在取转换结果
0167:7998D28C JMP 7998D213
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>