skyege 发表于 2005-6-6 20:23:26

海天屏幕广播 2.1 算法补充

too easy !!   查找出错信息就可以找到关键CALL

00401290   /$6A FF      PUSH -1
00401292   |.68 E03C4000PUSH HTServer.00403CE0                                    ;SE 句柄安装
00401297   |.64:A1 000000>MOV EAX,DWORD PTR FS:
0040129D   |.50         PUSH EAX
0040129E   |.64:8925 0000>MOV DWORD PTR FS:,ESP
004012A5   |.51         PUSH ECX
004012A6   |.8B4C24 14    MOV ECX,DWORD PTR SS:[ESP+14]        <----机器码装入ECX ,我的是 4288E28D
004012AA   |.B8 25499224MOV EAX,24924925                        <----压入常数:EAX = 24924925
004012AF   |.69C9 AD73050>IMUL ECX,ECX,573AD                        <----ECX 乘于 573AD ,值放进 ECX = E1077049
004012B5   |.F7E1         MUL ECX                                <----ECX 乘于 EAX ,值放进 EAX = F2BA0B8D , EDX = 2025A253
004012B7   |.2BCA         SUB ECX,EDX                                <----ECX 减上 EDX ,值放进 ECX = C0E1CDF6
004012B9   |.56         PUSH ESI
004012BA   |.D1E9         SHR ECX,1                                <----ECX 右移 1 位。ECX = 6070E6FB
004012BC   |.03CA         ADD ECX,EDX                                <----ECX 加上 EDX ,值放进 ECX = 8096894E
004012BE   |.C1E9 02      SHR ECX,2                                <----ECX 右移 2 位。ECX = 2025A253
004012C1   |.69C9 FD752C0>IMUL ECX,ECX,32C75FD                <----ECX 乘于 32C75FD ,值放进 ECX = D7A55B07
004012C7   |.F7D1         NOT ECX                                <----对 ECX 按位求反,值放进 ECX = 285AA4F8
004012C9   |.83C1 2F      ADD ECX,2F                                <----ECX 加上 2F ,值放进 ECX = 285AA527
004012CC   |.8BF1         MOV ESI,ECX                                <----把 ECX 的值放进 ESI
004012CE   |.0FAFF1       IMUL ESI,ECX                        <----ECX 乘于 ESI ,值放进 ESI = B9F74BF1
004012D1   |.8D4C24 18    LEA ECX,DWORD PTR SS:[ESP+18]
004012D5   |.E8 76250000CALL <JMP.&MFC42.#540_CString::CString>        〈--接下来开始转化 ESI 。
004012DA   |.56         PUSH ESI
004012DB   |.8D4424 1C    LEA EAX,DWORD PTR SS:[ESP+1C]
004012DF   |.68 4C604000PUSH HTServer.0040604C                                    ;ASCII "%u"
004012E4   |.50         PUSH EAX
004012E5   |.C74424 1C 00>MOV DWORD PTR SS:[ESP+1C],0
004012ED   |.E8 1E260000CALL <JMP.&MFC42.#2818_CString::Format>
004012F2   |.83C4 0C      ADD ESP,0C
004012F5   |.8D4C24 04    LEA ECX,DWORD PTR SS:[ESP+4]
004012F9   |.6A 08      PUSH 8        <-------------------------取前 8 位
004012FB   |.51         PUSH ECX
004012FC   |.8D4C24 20    LEA ECX,DWORD PTR SS:[ESP+20]
00401300   |.E8 05260000CALL <JMP.&MFC42.#4129_CString::Left>        〈----从左边开始取
00401305   |.50         PUSH EAX
00401306   |.8D4C24 1C    LEA ECX,DWORD PTR SS:[ESP+1C]
0040130A   |.C64424 14 01 MOV BYTE PTR SS:[ESP+14],1
0040130F   |.E8 F0250000CALL <JMP.&MFC42.#858_CString::operator=>
00401314   |.8D4C24 04    LEA ECX,DWORD PTR SS:[ESP+4]                〈-----EDX 里面的就是真正的注册码了
00401318   |.C64424 10 00 MOV BYTE PTR SS:[ESP+10],0
0040131D   |.E8 1C250000CALL <JMP.&MFC42.#800_CString::~CString>
00401322   |.8B5424 18    MOV EDX,DWORD PTR SS:[ESP+18]
00401326   |.52         PUSH EDX                                                ; /s = "31199917"


这东西注册价格为580元/套 。晕!!

[ Last edited by skyege on 2005-6-7 at 05:46 PM ]

[ 本帖最后由 tigerisme 于 2006-8-26 21:34 编辑 ]

冷血书生 发表于 2005-8-13 15:55:50

简洁!

学习加支持啦!

poycgn 发表于 2005-8-13 23:59:14

学习学习思路清晰

快雪时晴 发表于 2005-8-14 11:30:46

Step by Step, then Gotit

拯救者 发表于 2005-10-10 15:37:57

Originally posted by 冷血书生 at 2005-8-13 03:55 PM:
简洁!

学习加支持啦!
同意!!!!!!

渔歌子 发表于 2005-12-25 23:11:16

确实简洁明了,精炼呀。。。。。

zsl01 发表于 2008-9-19 09:31:14

学习学习思路清晰
页: [1]
查看完整版本: 海天屏幕广播 2.1 算法补充