b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

海啸录音机

电脑杂谈  发布时间:2016-04-18 14:36:37  来源:网络整理

你是否正在寻找关于海啸录音机的内容?让我把最实在的东西奉献给你:

  • 标 题:海啸录音机
  • 作 者:ShenGe
  • 时 间:2003/04/20 10:32am
  • 链 接:
  • 破解软件:海啸录音机
    破解工具:TRW1.22
    破解难度:易
    软件下载:?id=5071&url=http://on165-down.skycn.net/down/hxrecord.zip
    软件说明:“瘟酒吧”中自带的录音机只能录1分钟,而本录音软件无此限制,录音时间取决于你的硬盘大小。操作简便,可以边放音乐边录音。怎么样,够酷吧!未注册版只能使用65秒。

    这是用VB编写的,任意填入用户名ShenGe和注册码12345678,自然用__vbastrcomp下断,程序被中断,来到如下代码
    0167:6602471F RET 08
    0167:66024722 CMP DWORD [ESP+04],BYTE +02
    0167:66024727 JZ NEAR 660470E0
    0167:6602472D PUSH DWORD 00030001
    0167:66024732 PUSH DWORD [ESP+08]
    0167:66024736 PUSH DWORD [ESP+10]
    0167:6602473A PUSH DWORD [ESP+18]
    0167:6602473E CALL `OLEAUT32!VarBstrCmp`
    0167:66024744 TEST EAX,EAX
    0167:66024746 JL NEAR 660470E7
    0167:6602474C DEC EAX
    0167:6602474D RET 0C
    你会发现上面的代码只是判断有无输入注册码,按F12跳出,接着按F10,注意看各寄存器的值,来到如下代码:
    ......
    0167:0040D7F1 PUSH EAX
    0167:0040D7F2 CALL `MSVBVM60!__vbaHresultCheckObj`
    0167:0040D7F8 MOV EDX,[EBP-20]
    0167:0040D7FB MOV EDI,[00401124]
    0167:0040D801 LEA ECX,[EBP-24]
    0167:0040D804 MOV DWORD [EBP-20],00
    0167:0040D80B CALL EDI
    0167:0040D80D MOV ECX,[EBP-1C] <---取输入的注册码
    0167:0040D810 LEA EDX,[EBP-24] <---取输入的用户名
    0167:0040D813 PUSH ECX
    0167:0040D814 PUSH EDX
    0167:0040D815 CALL 0040CF30 <---此Call为计算正确注册码
    0167:0040D81A MOV EDX,EAX <---D EDX可看到正确注册码
    0167:0040D81C LEA ECX,[EBP-28]
    0167:0040D81F CALL EDI
    0167:0040D821 PUSH EAX
    0167:0040D822 CALL `MSVBVM60!__vbaStrCmp` <---注册码比较
    0167:0040D828 MOV EDI,EAX
    0167:0040D82A LEA EAX,[EBP-28]
    0167:0040D82D NEG EDI
    0167:0040D82F LEA ECX,[EBP-1C]
    0167:0040D832 PUSH EAX
    0167:0040D833 SBB EDI,EDI
    0167:0040D835 LEA EDX,[EBP-24]
    0167:0040D838 PUSH ECX
    0167:0040D839 INC EDI
    0167:0040D83A PUSH EDX
    0167:0040D83B PUSH BYTE +03
    0167:0040D83D NEG EDI
    0167:0040D83F CALL `MSVBVM60!__vbaFreeStrList`
    跟进上面的那个计算注册码的Call,可看到以下代码:
    0167:0040CF30 PUSH EBP
    0167:0040CF31 MOV EBP,ESP
    0167:0040CF33 SUB ESP,BYTE +0C
    0167:0040CF36 PUSH DWORD 00401276
    0167:0040CF3B MOV EAX,[FS:00]
    0167:0040CF41 PUSH EAX
    0167:0040CF42 MOV [FS:00],ESP
    0167:0040CF49 SUB ESP,BYTE +78
    0167:0040CF4C PUSH EBX
    0167:0040CF4D PUSH ESI
    0167:0040CF4E PUSH EDI
    0167:0040CF4F MOV [EBP-0C],ESP
    0167:0040CF52 MOV DWORD [EBP-08],00401228
    0167:0040CF59 XOR ESI,ESI
    0167:0040CF5B MOV EDX,00406D6C
    0167:0040CF60 LEA ECX,[EBP-30]
    0167:0040CF63 MOV [EBP-20],ESI
    0167:0040CF66 MOV [EBP-2C],ESI
    0167:0040CF69 MOV [EBP-30],ESI
    0167:0040CF6C MOV [EBP-34],ESI
    0167:0040CF6F MOV [EBP-44],ESI
    0167:0040CF72 MOV [EBP-54],ESI
    0167:0040CF75 MOV [EBP-64],ESI
    0167:0040CF78 CALL `MSVBVM60!__vbaStrCopy`
    0167:0040CF7E MOV EDI,[EBP+08]
    0167:0040CF81 LEA EAX,[EBP-64]
    0167:0040CF84 PUSH BYTE +0F
    0167:0040CF86 LEA ECX,[EBP-44]
    0167:0040CF89 PUSH EAX
    0167:0040CF8A PUSH ECX
    0167:0040CF8B MOV [EBP-5C],EDI
    0167:0040CF8E MOV DWORD [EBP-64],4008
    0167:0040CF95 CALL `MSVBVM60!rtcLeftCharVar`
    0167:0040CF9B LEA EDX,[EBP-44]
    0167:0040CF9E PUSH EDX
    0167:0040CF9F CALL `MSVBVM60!__vbaStrVarMove`
    0167:0040CFA5 MOV EBX,[00401124]
    0167:0040CFAB MOV EDX,EAX
    0167:0040CFAD MOV ECX,EDI
    0167:0040CFAF CALL EBX
    0167:0040CFB1 LEA ECX,[EBP-44]
    0167:0040CFB4 CALL `MSVBVM60!__vbaFreeVar`
    0167:0040CFBA MOV EAX,[EDI]
    0167:0040CFBC PUSH EAX
    0167:0040CFBD CALL `MSVBVM60!__vbaLenBstr` <---取输入用户名长度
    0167:0040CFC3 CMP EAX,BYTE +06 <---比较用户名的长度是否大于6
    0167:0040CFC6 MOV [EBP-28],EAX
    0167:0040CFC9 JL NEAR 0040D12C
    0167:0040CFCF MOV ECX,01
    0167:0040CFD4 MOV [EBP-18],ECX
    0167:0040CFD7 CMP ECX,EAX
    0167:0040CFD9 JG NEAR 0040D120
    0167:0040CFDF LEA EDX,[EBP-44]
    0167:0040CFE2 LEA EAX,[EBP-64]
    0167:0040CFE5 PUSH EDX
    0167:0040CFE6 PUSH ECX
    0167:0040CFE7 LEA ECX,[EBP-54]
    0167:0040CFEA PUSH EAX
    0167:0040CFEB PUSH ECX
    0167:0040CFEC MOV DWORD [EBP-3C],01
    0167:0040CFF3 MOV DWORD [EBP-44],02
    0167:0040CFFA MOV [EBP-5C],EDI
    0167:0040CFFD MOV DWORD [EBP-64],4008
    0167:0040D004 CALL `MSVBVM60!rtcMidCharVar` <---按位取用户名的每个字符
    0167:0040D00A LEA EDX,[EBP-54]
    0167:0040D00D PUSH EDX
    0167:0040D00E CALL `MSVBVM60!__vbaStrVarMove`
    0167:0040D014 MOV EDX,EAX
    0167:0040D016 LEA ECX,[EBP-20]
    0167:0040D019 CALL EBX
    0167:0040D01B LEA EAX,[EBP-54]
    0167:0040D01E LEA ECX,[EBP-44]
    0167:0040D021 PUSH EAX
    0167:0040D022 PUSH ECX
    0167:0040D023 PUSH BYTE +02
    0167:0040D025 CALL `MSVBVM60!__vbaFreeVarList`
    0167:0040D02B MOV EDX,[EBP-20]
    0167:0040D02E ADD ESP,BYTE +0C
    0167:0040D031 PUSH EDX
    0167:0040D032 CALL `MSVBVM60!rtcAnsialueBstr` <---取得字符的十六进制制值
    0167:0040D038 PUSH EAX
    0167:0040D039 CALL `MSVBVM60!__vbaStrI2` <---将字符的16进制值与0AH除取其余数,。
    1.S 53 ----->8 3
    2.h 68 ----->1 0 4
    3.e 65 ----->1 0 1
    4.n 6E ----->1 1 0
    5.G 47 ----->7 1
    6.e 65 ----->1 0 1
    0167:0040D03F MOV EDX,EAX
    0167:0040D041 LEA ECX,[EBP-20]
    0167:0040D044 CALL EBX
    0167:0040D046 MOV EAX,[EBP-20]
    0167:0040D049 PUSH EAX
    0167:0040D04A CALL `MSVBVM60!__vbaLenBstr`
    0167:0040D050 MOV [EBP+FFFFFF7C],EAX
    0167:0040D056 MOV EDI,01
    0167:0040D05B CMP EDI,[EBP+FFFFFF7C]
    0167:0040D061 JG 0040D0D0
    0167:0040D063 LEA ECX,[EBP-20]
    0167:0040D066 LEA EDX,[EBP-44]
    0167:0040D069 MOV [EBP-5C],ECX
    0167:0040D06C PUSH EDX
    0167:0040D06D LEA EAX,[EBP-64]
    0167:0040D070 PUSH EDI
    0167:0040D071 LEA ECX,[EBP-54]
    0167:0040D074 PUSH EAX
    0167:0040D075 PUSH ECX
    0167:0040D076 MOV DWORD [EBP-3C],01
    0167:0040D07D MOV DWORD [EBP-44],02
    0167:0040D084 MOV DWORD [EBP-64],4008
    0167:0040D08B CALL `MSVBVM60!rtcMidCharVar`
    0167:0040D091 LEA EDX,[EBP-54]
    0167:0040D094 PUSH EDX
    0167:0040D095 CALL `MSVBVM60!__vbaI2ErrVar` <---按位取上面得到的余数值
    0167:0040D09B MOVSX EAX,AX
    0167:0040D09E ADD EAX,ESI <---累加到ESI中
    1.8 3 ----->B
    2.1 0 4 ----->5
    3.1 0 1 ----->2
    4.1 1 0 ----->2
    5.7 1 ----->8
    6.1 0 1 ----->2
    0167:0040D0A0 LEA ECX,[EBP-54]
    0167:0040D0A3 JO NEAR 0040D186
    0167:0040D0A9 MOV ESI,EAX
    0167:0040D0AB LEA EDX,[EBP-54]
    0167:0040D0AE PUSH ECX
    0167:0040D0AF LEA EAX,[EBP-44]
    0167:0040D0B2 PUSH EDX
    0167:0040D0B3 PUSH EAX
    0167:0040D0B4 PUSH BYTE +03
    0167:0040D0B6 CALL `MSVBVM60!__vbaFreeVarList`
    0167:0040D0BC MOV EAX,01 <---EAX=01
    0167:0040D0C1 ADD ESP,BYTE +10
    0167:0040D0 ADD EAX,EDI <---上面的累加值再加1
    1.B+1 ----->C
    2.5+1 ----->6
    3.2+1 ----->3
    4.2+1 ----->3
    5.8+1 ----->9
    6.2+1 ----->3
    0167:0040D0C6 JO NEAR 0040D186
    0167:0040D0CC MOV EDI,EAX
    0167:0040D0CE JMP SHORT 0040D05B
    0167:0040D0D0 MOV ECX,[EBP-2C]
    0167:0040D0D3 ADD ESI,BYTE +01
    0167:0040D0D6 JO NEAR 0040D186
    0167:0040D0DC PUSH ECX
    0167:0040D0DD PUSH ESI
    0167:0040D0DE CALL `MSVBVM60!__vbaStrI4` <---此Call同上,用最后的累加和与0AH除取其余数
    1.C ----->1 2
    2.6 ----->6
    3.3 ----->3
    4.3 ----->3
    5.9 ----->9
    6.3 ----->3
    0167:0040D0E4 MOV EDX,EAX
    0167:0040D0E6 LEA ECX,[EBP-34]
    0167:0040D0E9 CALL EBX
    0167:0040D0EB PUSH EAX
    0167:0040D0EC CALL `MSVBVM60!__vbaStrCat`<--将得到的各余数连接成注册码,我的正确注册码为:1263393
    0167:0040D0F2 MOV EDX,EAX
    0167:0040D0F4 LEA ECX,[EBP-2C]
    0167:0040D0F7 CALL EBX
    0167:0040D0F9 LEA ECX,[EBP-34]
    0167:0040D0FC CALL `MSVBVM60!__vbaFreeStr`
    0167:0040D102 MOV ECX,[EBP-18]
    0167:0040D105 MOV EDI,[EBP+08]
    0167:0040D108 MOV EAX,01
    0167:0040D10D ADD EAX,ECX
    0167:0040D10F JO 0040D186
    0167:0040D111 MOV [EBP-18],EAX
    0167:0040D114 MOV ECX,EAX
    0167:0040D116 MOV EAX,[EBP-28]
    0167:0040D119 XOR ESI,ESI
    0167:0040D11B JMP 0040CFD7
    0167:0040D120 MOV EDX,[EBP-2C]
    0167:0040D123 LEA ECX,[EBP-30]
    0167:0040D126 CALL `MSVBVM60!__vbaStrCopy`
    0167:0040D12C PUSH DWORD 0040D170
    0167:0040D131 JMP SHORT 0040D15F
    0167:0040D133 TEST BYTE [EBP-04],04
    0167:0040D137 JZ 0040D142
    0167:0040D139 LEA ECX,[EBP-30]
    0167:0040D13C CALL `MSVBVM60!__vbaFreeStr`
    0167:0040D142 LEA ECX,[EBP-34]
    0167:0040D145 CALL `MSVBVM60!__vbaFreeStr`
    0167:0040D14B LEA EDX,[EBP-54]
    0167:0040D14E LEA EAX,[EBP-44]
    0167:0040D151 PUSH EDX
    0167:0040D152 PUSH EAX
    0167:0040D153 PUSH BYTE +02
    0167:0040D155 CALL `MSVBVM60!__vbaFreeVarList`
    0167:0040D15B ADD ESP,BYTE +0C
    0167:0040D15E RET
    0167:0040D15F MOV ESI,[00401144]
    0167:0040D165 LEA ECX,[EBP-20]
    0167:0040D168 CALL ESI
    0167:0040D16A LEA ECX,[EBP-2C]
    0167:0040D16D CALL ESI
    0167:0040D16F RET
    0167:0040D170 MOV ECX,[EBP-14]
    0167:0040D173 MOV EAX,[EBP-30]
    0167:0040D176 POP EDI
    0167:0040D177 POP ESI
    0167:0040D178 MOV [FS:00],ECX
    0167:0040D17F POP EBX
    0167:0040D180 MOV ESP,EBP
    0167:0040D182 POP EBP
    0167:0040D183 RET 04
    0167:0040D186 CALL `MSVBVM60!__vbaErrorOverflow`
    0167:0040D18C NOP


    分析写得有点简单,欢迎指正。
    软件注册成功后将注册信息保存在注册表的
    “HKEY_LOCAL_MACHINE/Software/HX/HXRecord”中

    以上就是关于海啸录音机的全部内容,相信你一定会非常满意。


    本文来自电脑杂谈,转载请注明本文网址:
    http://www.pc-fly.com/a/shenmilingyu/article-1668-1.html

      相关阅读
        发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

        每日福利
        热点图片
        拼命载入中...