对象:学英语-口语与单词 2006 Build 0308
特别提示:这是个好东东啊,学英语,用它,方便着!可惜限制太严了!~郁闷
限制:功能限制
注册验证:重启验证
PEiD查壳得:PE Pack 1.0 -> ANAKiN,脱壳后用OD加载。
输入假码后,信息经过变形存入注册表:software\EngQQ
超级字串查找“software\EngQQ”,只有一处:004F185F
下断,运行中断后f8单步,(一路下来没发现特别的地方)几经周折来到:004AC048 PUSH EBP,如下所示:
004AC048 /. 55 PUSH EBP
004AC049 |. 8BEC MOV EBP,ESP
004AC04B |. 51 PUSH ECX
004AC04C |. 53 PUSH EBX
004AC04D |. 56 PUSH ESI
004AC04E |. 57 PUSH EDI
004AC04F |. 84D2 TEST DL,DL
004AC051 |. 74 08 JE SHORT EngQQ__.004AC05B
004AC053 |. 83C4 F0 ADD ESP,-10
004AC056 |. E8 FD7FF5FF CALL EngQQ__.00404058
004AC05B |> 8855 FF MOV BYTE PTR SS:[EBP-1],DL
004AC05E |. 8BD8 MOV EBX,EAX
004AC060 |. 33D2 XOR EDX,EDX
004AC062 |. 8BC3 MOV EAX,EBX
004AC064 |. E8 EB33FAFF CALL EngQQ__.0044F454
004AC069 |. 804B 24 02 OR BYTE PTR DS:[EBX+24],2
004AC06D |. 8BC3 MOV EAX,EBX
004AC06F |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
004AC071 |. FF92 CC000000 CALL DWORD PTR DS:[EDX+CC]
004AC077 |. 8B83 08020000 MOV EAX,DWORD PTR DS:[EBX+208]
004AC07D |. FF40 48 INC DWORD PTR DS:[EAX+48]
004AC080 |. 8B83 08020000 MOV EAX,DWORD PTR DS:[EBX+208]
004AC086 |. 8378 34 00 CMP DWORD PTR DS:[EAX+34],0
004AC08A |. 7E 54 JLE SHORT EngQQ__.004AC0E0
004AC08C |. B2 01 MOV DL,1
004AC08E |. A1 585F4100 MOV EAX,DWORD PTR DS:[415F58]
004AC093 |. E8 2C7CF5FF CALL EngQQ__.00403CC4
004AC098 |. 8BF0 MOV ESI,EAX
004AC09A |. 89B3 40020000 MOV DWORD PTR DS:[EBX+240],ESI
004AC0A0 |. 8B83 08020000 MOV EAX,DWORD PTR DS:[EBX+208]
004AC0A6 |. 8B50 34 MOV EDX,DWORD PTR DS:[EAX+34]
004AC0A9 |. 8BC6 MOV EAX,ESI
004AC0AB |. E8 D4C8F6FF CALL EngQQ__.00418984
004AC0B0 |. 8B83 40020000 MOV EAX,DWORD PTR DS:[EBX+240]
004AC0B6 |. 8B78 08 MOV EDI,DWORD PTR DS:[EAX+8]
004AC0B9 |. 4F DEC EDI
004AC0BA |. 85FF TEST EDI,EDI
004AC0BC |. 7C 22 JL SHORT EngQQ__.004AC0E0
004AC0BE |. 47 INC EDI
004AC0BF |. 33F6 XOR ESI,ESI
004AC0C1 |> B2 01 /MOV DL,1
004AC0C3 |. A1 48254200 |MOV EAX,DWORD PTR DS:[422548]
004AC0C8 |. E8 EF7BF7FF |CALL EngQQ__.00423CBC
004AC0CD |. 8BC8 |MOV ECX,EAX
004AC0CF |. 8B83 40020000 |MOV EAX,DWORD PTR DS:[EBX+240]
004AC0D5 |. 8BD6 |MOV EDX,ESI
004AC0D7 |. E8 F8C7F6FF |CALL EngQQ__.004188D4
004AC0DC |. 46 |INC ESI
004AC0DD |. 4F |DEC EDI
004AC0DE |.^ 75 E1 \JNZ SHORT EngQQ__.004AC0C1
004AC0E0 |> 8B83 08020000 MOV EAX,DWORD PTR DS:[EBX+208]
004AC0E6 |. 8378 3C 00 CMP DWORD PTR DS:[EAX+3C],0
004AC0EA |. 7E 6B JLE SHORT EngQQ__.004AC157
004AC0EC |. B2 01 MOV DL,1
004AC0EE |. A1 585F4100 MOV EAX,DWORD PTR DS:[415F58]
004AC0F3 |. E8 CC7BF5FF CALL EngQQ__.00403CC4
004AC0F8 |. 8BF0 MOV ESI,EAX
004AC0FA |. 89B3 44020000 MOV DWORD PTR DS:[EBX+244],ESI
004AC100 |. 8B83 08020000 MOV EAX,DWORD PTR DS:[EBX+208]
004AC106 |. 8B50 3C MOV EDX,DWORD PTR DS:[EAX+3C]
004AC109 |. 8BC6 MOV EAX,ESI
004AC10B |. E8 74C8F6FF CALL EngQQ__.00418984
004AC110 |. 8B83 44020000 MOV EAX,DWORD PTR DS:[EBX+244]
004AC116 |. 8B78 08 MOV EDI,DWORD PTR DS:[EAX+8]
004AC119 |. 4F DEC EDI
004AC11A |. 85FF TEST EDI,EDI
004AC11C |. 7C 39 JL SHORT EngQQ__.004AC157
004AC11E |. 47 INC EDI
004AC11F |. 33F6 XOR ESI,ESI
004AC121 |> B2 01 /MOV DL,1
004AC123 |. A1 D82B4200 |MOV EAX,DWORD PTR DS:[422BD8]
004AC128 |. E8 BFAFF7FF |CALL EngQQ__.004270EC
004AC12D |. 8BC8 |MOV ECX,EAX
004AC12F |. 8B83 44020000 |MOV EAX,DWORD PTR DS:[EBX+244]
004AC135 |. 8BD6 |MOV EDX,ESI
004AC137 |. E8 98C7F6FF |CALL EngQQ__.004188D4
004AC13C |. 8B83 44020000 |MOV EAX,DWORD PTR DS:[EBX+244]
004AC142 |. 8BD6 |MOV EDX,ESI
004AC144 |. E8 3FC6F6FF |CALL EngQQ__.00418788
004AC149 |. 8958 14 |MOV DWORD PTR DS:[EAX+14],EBX
004AC14C |. C740 10 0CD24>|MOV DWORD PTR DS:[EAX+10],EngQQ__.004AD>
004AC153 |. 46 |INC ESI
004AC154 |. 4F |DEC EDI
004AC155 |.^ 75 CA \JNZ SHORT EngQQ__.004AC121
004AC157 8BCB MOV ECX,EBX
004AC159 B2 01 MOV DL,1
004AC15B A1 84B64A00 MOV EAX,DWORD PTR DS:[4AB684]
004AC160 E8 B7FDFFFF CALL EngQQ__.004ABF1C
004AC165 8983 10020000 MOV DWORD PTR DS:[EBX+210],EAX
004AC16B 8BC3 MOV EAX,EBX
004AC16D E8 4A050000 CALL EngQQ__.004AC6BC 我在这里跟入
004AC172 |. 8B93 18020000 MOV EDX,DWORD PTR DS:[EBX+218]
004AC178 |. 8BC3 MOV EAX,EBX
004AC17A |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
004AC17C |. FF91 D0000000 CALL DWORD PTR DS:[ECX+D0]
004AC182 |. 8D83 3C020000 LEA EAX,DWORD PTR DS:[EBX+23C]
004AC188 |. 50 PUSH EAX
004AC189 |. 6A 01 PUSH 1
004AC18B |. 8B83 18020000 MOV EAX,DWORD PTR DS:[EBX+218]
004AC191 |. 50 PUSH EAX
004AC192 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
004AC194 |. FF50 58 CALL DWORD PTR DS:[EAX+58]
004AC197 |. E8 00B0FFFF CALL EngQQ__.004A719C
004AC19C |. 8B83 08020000 MOV EAX,DWORD PTR DS:[EBX+208]
004AC1A2 |. F640 44 02 TEST BYTE PTR DS:[EAX+44],2
004AC1A6 |. 75 32 JNZ SHORT EngQQ__.004AC1DA
004AC1A8 |. F683 3E020000>TEST BYTE PTR DS:[EBX+23E],2
004AC1AF |. 75 0C JNZ SHORT EngQQ__.004AC1BD
004AC1B1 |. 8B83 08020000 MOV EAX,DWORD PTR DS:[EBX+208]
004AC1B7 |. F640 44 01 TEST BYTE PTR DS:[EAX+44],1
004AC1BB |. 74 1D JE SHORT EngQQ__.004AC1DA
004AC1BD |> 8BC3 MOV EAX,EBX
004AC1BF |. 85C0 TEST EAX,EAX
004AC1C1 |. 74 05 JE SHORT EngQQ__.004AC1C8
004AC1C3 |. 2D 9CFDFFFF SUB EAX,-264
004AC1C8 |> 50 PUSH EAX
004AC1C9 |. 8B83 18020000 MOV EAX,DWORD PTR DS:[EBX+218]
004AC1CF |. 50 PUSH EAX
004AC1D0 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
004AC1D2 |. FF50 0C CALL DWORD PTR DS:[EAX+C]
004AC1D5 |. E8 C2AFFFFF CALL EngQQ__.004A719C
004AC1DA |> 8D83 1C020000 LEA EAX,DWORD PTR DS:[EBX+21C]
004AC1E0 |. E8 3BA6F5FF CALL EngQQ__.00406820
004AC1E5 |. 50 PUSH EAX
004AC1E6 |. 68 64C24A00 PUSH EngQQ__.004AC264
004AC1EB |. 8B83 18020000 MOV EAX,DWORD PTR DS:[EBX+218]
004AC1F1 |. 50 PUSH EAX
004AC1F2 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
004AC1F4 |. FF10 CALL DWORD PTR DS:[EAX]
004AC1F6 |. E8 A1AFFFFF CALL EngQQ__.004A719C
004AC1FB |. F683 3D020000>TEST BYTE PTR DS:[EBX+23D],4
004AC202 |. 74 09 JE SHORT EngQQ__.004AC20D
004AC204 |. 33D2 XOR EDX,EDX
004AC206 |. 8BC3 MOV EAX,EBX
004AC208 |. E8 230BFAFF CALL EngQQ__.0044CD30
004AC20D |> F683 3E020000>TEST BYTE PTR DS:[EBX+23E],1
004AC214 |. 74 0A JE SHORT EngQQ__.004AC220
004AC216 |. A1 74C24A00 MOV EAX,DWORD PTR DS:[4AC274]
004AC21B |. 8943 50 MOV DWORD PTR DS:[EBX+50],EAX
004AC21E |. EB 08 JMP SHORT EngQQ__.004AC228
004AC220 |> A1 78C24A00 MOV EAX,DWORD PTR DS:[4AC278]
004AC225 |. 8943 50 MOV DWORD PTR DS:[EBX+50],EAX
004AC228 |> F683 3D020000>TEST BYTE PTR DS:[EBX+23D],60
004AC22F |. 0F94C2 SETE DL
004AC232 |. 8BC3 MOV EAX,EBX
004AC234 |. E8 EF75FAFF CALL EngQQ__.00453828
004AC239 |. 53 PUSH EBX ; /Arg1
004AC23A |. E8 9D1F0000 CALL EngQQ__.004AE1DC ; \EngQQ__.004AE1DC
004AC23F |. E8 58AFFFFF CALL EngQQ__.004A719C
004AC244 |. 8BC3 MOV EAX,EBX
004AC246 |. 807D FF 00 CMP BYTE PTR SS:[EBP-1],0
004AC24A |. 74 0F JE SHORT EngQQ__.004AC25B
004AC24C |. E8 5F7EF5FF CALL EngQQ__.004040B0
004AC251 |. 64:8F05 00000>POP DWORD PTR FS:[0]
004AC258 |. 83C4 0C ADD ESP,0C
004AC25B |> 8BC3 MOV EAX,EBX
004AC25D |. 5F POP EDI
004AC25E |. 5E POP ESI
004AC25F |. 5B POP EBX
004AC260 |. 59 POP ECX
004AC261 |. 5D POP EBP
004AC262 \. C3 RETN
单步到004AC16D CALL EngQQ__.004AC6BC,f7跟入后如下:
004AC6BA 8BC0 MOV EAX,EAX
004AC6BC /$ 55 PUSH EBP
004AC6BD |. 8BEC MOV EBP,ESP
004AC6BF |. 33C9 XOR ECX,ECX
004AC6C1 |. 51 PUSH ECX
004AC6C2 |. 51 PUSH ECX
004AC6C3 |. 51 PUSH ECX
004AC6C4 |. 51 PUSH ECX
004AC6C5 |. 51 PUSH ECX
004AC6C6 |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
004AC6C9 |. 33C0 XOR EAX,EAX
004AC6CB |. 55 PUSH EBP
004AC6CC |. 68 D6C74A00 PUSH EngQQ__.004AC7D6
004AC6D1 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
004AC6D4 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
004AC6D7 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004AC6DA |. F640 1C 10 TEST BYTE PTR DS:[EAX+1C],10
004AC6DE |. 0F85 88000000 JNZ EngQQ__.004AC76C
004AC6E4 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004AC6E7 |. 8B80 08020000 MOV EAX,DWORD PTR DS:[EAX+208]
004AC6ED 8378 28 00 CMP DWORD PTR DS:[EAX+28],0
004AC6F1 74 79 JE SHORT EngQQ__.004AC76C
004AC6F3 |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
004AC6F6 |. E8 25A1F5FF CALL EngQQ__.00406820
004AC6FB |. 50 PUSH EAX
004AC6FC |. 68 E4C74A00 PUSH EngQQ__.004AC7E4
004AC701 |. 6A 00 PUSH 0
004AC703 |. 6A 05 PUSH 5
004AC705 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004AC708 |. 8B80 08020000 MOV EAX,DWORD PTR DS:[EAX+208]
004AC70E |. 50 PUSH EAX
004AC70F |. E8 3491F6FF CALL <JMP.&ole32.CoGetClassObject>
004AC714 |. E8 83AAFFFF CALL EngQQ__.004A719C
004AC719 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
004AC71C |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
004AC71F |. 8B92 08020000 MOV EDX,DWORD PTR DS:[EDX+208]
004AC725 |. 8B52 28 MOV EDX,DWORD PTR DS:[EDX+28]
004AC728 |. E8 878BF5FF CALL EngQQ__.004052B4
004AC72D |. 55 PUSH EBP
004AC72E |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
004AC731 |. A1 A8A65200 MOV EAX,DWORD PTR DS:[52A6A8]
004AC736 |. E8 CDA5F5FF CALL EngQQ__.00406D08
004AC73B |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
004AC73E |. 50 PUSH EAX
004AC73F |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004AC742 |. 05 18020000 ADD EAX,218
004AC747 |. E8 D4A0F5FF CALL EngQQ__.00406820
004AC74C |. 50 PUSH EAX
004AC74D |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
004AC750 |. 50 PUSH EAX
004AC751 |. 68 F4C74A00 PUSH EngQQ__.004AC7F4
004AC756 |. 6A 00 PUSH 0
004AC758 |. 6A 00 PUSH 0
004AC75A |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004AC75D |. 50 PUSH EAX
004AC75E |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
004AC760 |. FF50 1C CALL DWORD PTR DS:[EAX+1C]
004AC763 |. 5A POP EDX ; |
004AC764 |. E8 FBFEFFFF CALL EngQQ__.004AC664 ; \EngQQ__.004AC664
004AC769 |. 59 POP ECX
004AC76A |. EB 3F JMP SHORT EngQQ__.004AC7AB
004AC76C 55 PUSH EBP
004AC76D 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
004AC770 A1 04AB5200 MOV EAX,DWORD PTR DS:[52AB04]
004AC775 E8 8EA5F5FF CALL EngQQ__.00406D08
004AC77A 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
我经过这里的时 候看到:ASCII "License information for %s not found.You cannot use this control in design mode"
004AC77D 50 PUSH EAX
004AC77E 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004AC781 05 18020000 ADD EAX,218
004AC786 E8 95A0F5FF CALL EngQQ__.00406820
004AC78B 50 PUSH EAX
004AC78C 68 F4C74A00 PUSH EngQQ__.004AC7F4
004AC791 6A 05 PUSH 5
004AC793 6A 00 PUSH 0
004AC795 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004AC798 8B80 08020000 MOV EAX,DWORD PTR DS:[EAX+208]
004AC79E 50 PUSH EAX
004AC79F E8 AC90F6FF CALL <JMP.&ole32.CoCreateInstance>
004AC7A4 5A POP EDX
004AC7A5 |. E8 BAFEFFFF CALL EngQQ__.004AC664
004AC7AA |. 59 POP ECX
004AC7AB |> 33C0 XOR EAX,EAX
004AC7AD |. 5A POP EDX
004AC7AE |. 59 POP ECX
004AC7AF |. 59 POP ECX
004AC7B0 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
004AC7B3 |. 68 DDC74A00 PUSH EngQQ__.004AC7DD
004AC7B8 |> 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
004AC7BB |. BA 02000000 MOV EDX,2
004AC7C0 |. E8 DF82F5FF CALL EngQQ__.00404AA4
004AC7C5 |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
004AC7C8 |. E8 D789F5FF CALL EngQQ__.004051A4
004AC7CD |. 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
004AC7D0 |. E8 4BA0F5FF CALL EngQQ__.00406820
004AC7D5 \. C3 RETN
004AC7D6 .^ E9 AD7CF5FF JMP EngQQ__.00404488
004AC7DB .^ EB DB JMP SHORT EngQQ__.004AC7B8
004AC7DD . 8BE5 MOV ESP,EBP
004AC7DF . 5D POP EBP
004AC7E0 . C3 RETN
经过004AC775后在004AC77A处可看到:(ASCII "License information for %s not found. You cannot use this control in design mode")
自作聪明地以为这个就算注册验证出错信息了,大喜,根据“菜鸟爆破定律”在出错信息上面找它的跳转,修改~~~~修改后程序异常,进程终止。:(
请教各位大哥,这是怎么回事啊?居然能不遵守“菜鸟爆破定律”。^0^
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课