- UID
- 5592
注册时间2005-12-21
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 慵懒 2019-1-18 17:27 |
---|
签到天数: 30 天 [LV.5]常住居民I
|
【文章标题】: QQ聊天记录查看器 4.5 寻码手记
【文章作者】: lzq1973[PYG][CZG][OCN]
【作者邮箱】: [email protected]
【作者QQ号】: 150787972
【软件名称】: QQ聊天记录查看器 4.5
【软件大小】: 96KB
【下载地址】: http://nj.onlinedown.net/soft/47456.htm
【加壳方式】: 无
【保护方式】: SN
【编写语言】: Microsoft Visual C++ 6.0
【使用工具】: OD、PEID
【操作平台】: WIN2000
【软件介绍】: QQ聊天记录查看器 又名QQ聊天记录者或QQ聊天记录读取器本软件绿色软件,无需安装,对所有QQ版本都有效. 使用方法,把本程序放到QQ安装目录下,双击启动.然后通过启动QQ按钮来启动QQ,这个时候可以不需要密码就可以登录本机上已经登录过的QQ号,验证的时候会出现网络密码验证错误,点击确定,不要理会,然后你点中一个QQ好友,右键点击查看聊天记录,你就可以看到这个QQ号的所有本地聊天记录了
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
这个星期如何过呢,看到胡一刀大哥出的是补丁,我想可否找到注册码呢,于是就干上了~~~~
OD载入,很容易来到这里
00402BA0 . 6A FF PUSH -1
00402BA2 . 68 58344200 PUSH QQ聊天记.00423458 ; SE 处理程序安装
00402BA7 . 64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
00402BAD . 50 PUSH EAX
00402BAE . 64:8925 00000>MOV DWORD PTR FS:[0],ESP
00402BB5 . 83EC 08 SUB ESP,8
00402BB8 . 56 PUSH ESI
00402BB9 . 8BF1 MOV ESI,ECX
00402BBB . 6A 01 PUSH 1
00402BBD . E8 56720100 CALL QQ聊天记.00419E18
00402BC2 . A1 24E64200 MOV EAX,DWORD PTR DS:[42E624]
00402BC7 . 894424 04 MOV DWORD PTR SS:[ESP+4],EAX
00402BCB . 8D8E 1C010000 LEA ECX,DWORD PTR DS:[ESI+11C]
00402BD1 . C74424 14 000>MOV DWORD PTR SS:[ESP+14],0
00402BD9 . 51 PUSH ECX
00402BDA . 8D4C24 08 LEA ECX,DWORD PTR SS:[ESP+8]
00402BDE . E8 F4860100 CALL QQ聊天记.0041B2D7
00402BE3 . 51 PUSH ECX
00402BE4 . 8D5424 08 LEA EDX,DWORD PTR SS:[ESP+8]
00402BE8 . 8BCC MOV ECX,ESP
00402BEA . 896424 0C MOV DWORD PTR SS:[ESP+C],ESP
00402BEE . 52 PUSH EDX
00402BEF . E8 63830100 CALL QQ聊天记.0041AF57
00402BF4 . E8 77FEFFFF CALL QQ聊天记.00402A70 ; 这里是算法部分
00402BF9 . 83C4 04 ADD ESP,4
00402BFC . 85C0 TEST EAX,EAX
00402BFE . 6A 00 PUSH 0
00402C00 . 68 A0E24200 PUSH QQ聊天记.0042E2A0 ; ngnsss
00402C05 74 15 JE SHORT QQ聊天记.00402C1C
00402C07 . 68 A8E24200 PUSH QQ聊天记.0042E2A8 ; 注册成功
00402C0C . 8BCE MOV ECX,ESI
00402C0E . E8 A96A0100 CALL QQ聊天记.004196BC
00402C13 . 8BCE MOV ECX,ESI
00402C15 . E8 C8990100 CALL QQ聊天记.0041C5E2
00402C1A . EB 0C JMP SHORT QQ聊天记.00402C28
00402C1C > 68 94E24200 PUSH QQ聊天记.0042E294 ; 注册号无效
00402C21 . 8BCE MOV ECX,ESI
00402C23 . E8 946A0100 CALL QQ聊天记.004196BC
00402C28 > 8D4C24 04 LEA ECX,DWORD PTR SS:[ESP+4]
00402C2C . C74424 14 FFF>MOV DWORD PTR SS:[ESP+14],-1
00402C34 . E8 A9850100 CALL QQ聊天记.0041B1E2
00402C39 . 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C]
00402C3D . 5E POP ESI
00402C3E . 64:890D 00000>MOV DWORD PTR FS:[0],ECX
00402C45 . 83C4 14 ADD ESP,14
00402C48 . C3 RETN
00402C49 90 NOP
----- 在这里 00402BF4 . E8 77FEFFFF CALL QQ聊天记.00402A70 F7跟进 ------
00402A70 /$ 6A FF PUSH -1
00402A72 |. 68 38344200 PUSH QQ聊天记.00423438 ; SE 处理程序安装
00402A77 |. 64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
00402A7D |. 50 PUSH EAX
00402A7E |. 64:8925 00000>MOV DWORD PTR FS:[0],ESP
00402A85 |. 83EC 18 SUB ESP,18
00402A88 |. 53 PUSH EBX
00402A89 |. 8B4C24 2C MOV ECX,DWORD PTR SS:[ESP+2C] ; (ASCII "9265811133659283")
00402A8D |. 33C0 XOR EAX,EAX
00402A8F |. 894424 05 MOV DWORD PTR SS:[ESP+5],EAX
00402A93 |. 33DB XOR EBX,EBX
00402A95 |. 66:894424 09 MOV WORD PTR SS:[ESP+9],AX
00402A9A |. 895C24 24 MOV DWORD PTR SS:[ESP+24],EBX
00402A9E |. 884424 0B MOV BYTE PTR SS:[ESP+B],AL
00402AA2 |. 8B41 F8 MOV EAX,DWORD PTR DS:[ECX-8]
00402AA5 |. 83F8 10 CMP EAX,10 ; 注册码位数16
00402AA8 |. 885C24 04 MOV BYTE PTR SS:[ESP+4],BL
00402AAC |. 0F8C C0000000 JL QQ聊天记.00402B72 ; 不为16则跳
00402AB2 |. 56 PUSH ESI
00402AB3 |. 68 04010000 PUSH 104
00402AB8 |. 8D4C24 34 LEA ECX,DWORD PTR SS:[ESP+34]
00402ABC |. E8 E08A0100 CALL QQ聊天记.0041B5A1
00402AC1 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
00402AC3 |. 33F6 XOR ESI,ESI
00402AC5 |. 895424 10 MOV DWORD PTR SS:[ESP+10],EDX
00402AC9 |. 8B48 04 MOV ECX,DWORD PTR DS:[EAX+4]
00402ACC |. 894C24 14 MOV DWORD PTR SS:[ESP+14],ECX
00402AD0 |. 8B50 08 MOV EDX,DWORD PTR DS:[EAX+8]
00402AD3 |. 895424 18 MOV DWORD PTR SS:[ESP+18],EDX
00402AD7 |. 8B40 0C MOV EAX,DWORD PTR DS:[EAX+C]
00402ADA |. 894424 1C MOV DWORD PTR SS:[ESP+1C],EAX
00402ADE |> 8A4C34 10 /MOV CL,BYTE PTR SS:[ESP+ESI+10] ; 逐一检验
00402AE2 |. 51 |PUSH ECX
00402AE3 |. E8 68FFFFFF |CALL QQ聊天记.00402A50
00402AE8 |. 83C4 04 |ADD ESP,4
00402AEB |. 884434 10 |MOV BYTE PTR SS:[ESP+ESI+10],AL
00402AEF |. 46 |INC ESI
00402AF0 |. 83FE 10 |CMP ESI,10
00402AF3 |.^ 7C E9 \JL SHORT QQ聊天记.00402ADE ; 循环
00402AF5 |. 33C0 XOR EAX,EAX ; EAX=36353406
00402AF7 |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
00402AFB |. 5E POP ESI
00402AFC |> 8A51 01 /MOV DL,BYTE PTR DS:[ECX+1] ; 注册码的偶数位(从左至右),即十位
00402AFF |. 8A19 |MOV BL,BYTE PTR DS:[ECX] ; 注册码的奇数位(从左至右),即个位
00402B01 |. C0E2 04 |SHL DL,4 ; 偶数位乘10(即十位)
00402B04 |. 02D3 |ADD DL,BL ; 再加个位
00402B06 |. 83C1 02 |ADD ECX,2
00402B09 |. 885404 04 |MOV BYTE PTR SS:[ESP+EAX+4],DL
00402B0D |. 40 |INC EAX
00402B0E |. 83F8 08 |CMP EAX,8
00402B11 |.^ 7C E9 \JL SHORT QQ聊天记.00402AFC ; 循环
00402B13 |. 8A4424 07 MOV AL,BYTE PTR SS:[ESP+7] ; 堆栈 SS:[0012F07B]=11,第8、7位
00402B17 |. 8A5C24 04 MOV BL,BYTE PTR SS:[ESP+4] ; 堆栈 SS:[0012F078]=29 (')'),第2、1位
00402B1B |. 8A4C24 0B MOV CL,BYTE PTR SS:[ESP+B] ; 堆栈 SS:[0012F07F]=38 ('8'),第16位、15位
00402B1F |. 8A5424 05 MOV DL,BYTE PTR SS:[ESP+5] ; 堆栈 SS:[0012F079]=56 ('V'),第4位、3位
00402B23 |. 32C3 XOR AL,BL ; AL=XOR(AL1,BL1)
00402B25 |. 8A5C24 06 MOV BL,BYTE PTR SS:[ESP+6] ; BL=第4、3位
00402B29 |. 32CA XOR CL,DL ; CL=XOR(CL,DL)
00402B2B |. 8A5424 09 MOV DL,BYTE PTR SS:[ESP+9] ; DL=第12、11位
00402B2F |. 32D3 XOR DL,BL
00402B31 |. 8A5C24 08 MOV BL,BYTE PTR SS:[ESP+8] ; BL=第10、9位
00402B35 |. 325C24 0A XOR BL,BYTE PTR SS:[ESP+A]
00402B39 |. 3C 38 CMP AL,38
00402B3B 75 35 JNZ SHORT QQ聊天记.00402B72
00402B3D |. 80F9 6E CMP CL,6E
00402B40 75 30 JNZ SHORT QQ聊天记.00402B72
00402B42 80FA 4E CMP DL,4E
00402B45 75 2B JNZ SHORT QQ聊天记.00402B72
00402B47 |. 80FB 1A CMP BL,1A
00402B4A |. 75 26 JNZ SHORT QQ聊天记.00402B72
00402B4C |. 8D4C24 2C LEA ECX,DWORD PTR SS:[ESP+2C]
00402B50 |. C74424 24 FFF>MOV DWORD PTR SS:[ESP+24],-1
00402B58 |. E8 85860100 CALL QQ聊天记.0041B1E2
00402B5D |. B8 01000000 MOV EAX,1
00402B62 |. 5B POP EBX
00402B63 |. 8B4C24 18 MOV ECX,DWORD PTR SS:[ESP+18]
00402B67 |. 64:890D 00000>MOV DWORD PTR FS:[0],ECX
00402B6E |. 83C4 24 ADD ESP,24
00402B71 |. C3 RETN
00402B72 |> 8D4C24 2C LEA ECX,DWORD PTR SS:[ESP+2C]
00402B76 |. C74424 24 FFF>MOV DWORD PTR SS:[ESP+24],-1
00402B7E |. E8 5F860100 CALL QQ聊天记.0041B1E2
00402B83 |. 8B4C24 1C MOV ECX,DWORD PTR SS:[ESP+1C]
00402B87 |. 33C0 XOR EAX,EAX
00402B89 |. 5B POP EBX
00402B8A |. 64:890D 00000>MOV DWORD PTR FS:[0],ECX
00402B91 |. 83C4 24 ADD ESP,24
00402B94 \. C3 RETN
--------------------------------------------------------------------------------
【经验总结】
看了下,算法不是很难,试着分析了下。
奇数位 1 3 5 7 9 11 13 15
偶数位 2 4 6 8 10 12 14 16
BL1 DL1 BL2 AL1 BL3 DL2 BL4 CL1
上面的(1、2、3、....15、16)表示对应的注册码位数(长度必须为16位),BL1、DL1、BL2、AL1、BL3、DL2、BL4、
CL1为对应的注册码(十位为偶数,个位为奇数)。
现举例如下:
分析代码得知,
AL=38
CL=6E
DL=4E
BL=1A
令BL4=32,则
BL3=XOR(BL,BL4)
=XOR(1A,32)
=28
令BL2=57,DL1=DL2,则
DL2=XOR(DL,BL2)
=XOR(4E,57)
=19
CL1=XOR(CL,DL1)
=XOR(6E,19)
=77
令BL1=11,则
AL1=XOR(AL,BL1)
=XOR(38,11)
=29
注:所有假设的(如,BL4、BL2、BL1),参与异或后的值应数字,只有满足此条件,以已等式才能成立。
注册码一:9265811133659283
注册码二:8393770022938375
注册码三:1191759282912377
--------------------------------------------------------------------------------
【版权声明】: 本文纯属技术交流[请支持正版], 转载请注明作者并保持文章的完整, 谢谢!
2006年04月09日 8:37:08 |
|