求个邀请码吧。
最近破解了一个很变态的小软件,居然是鼠标放在窗口上就进行验证,找到关键代码处跟了下:
00447234 55 PUSH EBP
00447235 8BEC MOV EBP,ESP
00447237 53 PUSH EBX
00447238 56 PUSH ESI
00447239 8BD9 MOV EBX,ECX
0044723B 8BF0 MOV ESI,EAX
0044723D 6A 00 PUSH 0
0044723F 66:8B0D 7072440>MOV CX,WORD PTR DS:[447270]
00447246 B2 02 MOV DL,2
00447248 B8 7C724400 MOV EAX,sadfas.0044727C ; 注册尚未成功,同志仍需努力! 8)
0044724D E8 42E4FFFF CALL sadfas.00445694
00447252 84DB TEST BL,BL
00447254 75 07 JNZ SHORT sadfas.0044725D
00447256 8386 18030000 0>ADD DWORD PTR DS:[ESI+318],2
0044725D 80FB 01 CMP BL,1
00447260 75 07 JNZ SHORT sadfas.00447269
00447262 8386 18030000 1>ADD DWORD PTR DS:[ESI+318],11
00447269 5E POP ESI
0044726A 5B POP EBX
0044726B 5D POP EBP
0044726C C2 0C00 RETN 0C
0044726F 000400 ADD BYTE PTR DS:[EAX+EAX],AL
00447272 0000 ADD BYTE PTR DS:[EAX],AL
00447274 FFFF ??? ; 未知命令
00447276 FFFF ??? ; 未知命令
00447278 2100 AND DWORD PTR DS:[EAX],EAX
0044727A 0000 ADD BYTE PTR DS:[EAX],AL
0044727C D7 XLAT BYTE PTR DS:[EBX+AL]
0044727D A2 B2E1C9D0 MOV BYTE PTR DS:[D0C9E1B2],AL
00447282 CE INTO
00447283 B4 B3 MOV AH,0B3
00447285 C9 LEAVE
00447286 B9 A6A3ACCD MOV ECX,CDACA3A6
0044728B AC LODS BYTE PTR DS:[ESI]
0044728C D6 SALC
0044728D BE C8D4D0E8 MOV ESI,E8D0D4C8
00447292 C5ACC1 A6A3A120 LDS EBP,FWORD PTR DS:[ECX+EAX*8+20A1A3A6>; 段寄存器更改
00447299 2038 AND BYTE PTR DS:[EAX],BH
0044729B A3 A9000000 MOV DWORD PTR DS:[A9],EAX
004472A0 55 PUSH EBP
004472A1 8BEC MOV EBP,ESP
004472A3 53 PUSH EBX
004472A4 56 PUSH ESI
004472A5 8BD9 MOV EBX,ECX
004472A7 8BF0 MOV ESI,EAX
004472A9 6A 00 PUSH 0
004472AB 66:8B0D DC72440>MOV CX,WORD PTR DS:[4472DC]
004472B2 B2 02 MOV DL,2
004472B4 B8 E8724400 MOV EAX,sadfas.004472E8 ; 注册尚未成功,同志仍需努力! 8)
004472B9 E8 D6E3FFFF CALL sadfas.00445694
004472BE 84DB TEST BL,BL
004472C0 75 07 JNZ SHORT sadfas.004472C9
004472C2 8386 18030000 0>ADD DWORD PTR DS:[ESI+318],3
004472C9 80FB 01 CMP BL,1
004472CC 75 07 JNZ SHORT sadfas.004472D5
004472CE 8386 18030000 1>ADD DWORD PTR DS:[ESI+318],13
004472D5 5E POP ESI
004472D6 5B POP EBX
004472D7 5D POP EBP
004472D8 C2 0C00 RETN 0C
004472DB 000400 ADD BYTE PTR DS:[EAX+EAX],AL
004472DE 0000 ADD BYTE PTR DS:[EAX],AL
004472E0 FFFF ??? ; 未知命令
004472E2 FFFF ??? ; 未知命令
004472E4 2100 AND DWORD PTR DS:[EAX],EAX
004472E6 0000 ADD BYTE PTR DS:[EAX],AL
004472E8 D7 XLAT BYTE PTR DS:[EBX+AL]
004472E9 A2 B2E1C9D0 MOV BYTE PTR DS:[D0C9E1B2],AL
004472EE CE INTO
004472EF B4 B3 MOV AH,0B3
004472F1 C9 LEAVE
004472F2 B9 A6A3ACCD MOV ECX,CDACA3A6
004472F7 AC LODS BYTE PTR DS:[ESI]
004472F8 D6 SALC
004472F9 BE C8D4D0E8 MOV ESI,E8D0D4C8
004472FE C5ACC1 A6A3A120 LDS EBP,FWORD PTR DS:[ECX+EAX*8+20A1A3A6>; 段寄存器更改
00447305 2038 AND BYTE PTR DS:[EAX],BH
00447307 A3 A9000000 MOV DWORD PTR DS:[A9],EAX
0044730C 55 PUSH EBP
0044730D 8BEC MOV EBP,ESP
0044730F 53 PUSH EBX
00447310 56 PUSH ESI
00447311 8BD9 MOV EBX,ECX
00447313 8BF0 MOV ESI,EAX
00447315 6A 00 PUSH 0
00447317 66:8B0D 4873440>MOV CX,WORD PTR DS:[447348]
0044731E B2 02 MOV DL,2
00447320 B8 54734400 MOV EAX,sadfas.00447354 ; 注册尚未成功,同志仍需努力! 8)
00447325 E8 6AE3FFFF CALL sadfas.00445694
0044732A 84DB TEST BL,BL
0044732C 75 07 JNZ SHORT sadfas.00447335
0044732E 8386 18030000 0>ADD DWORD PTR DS:[ESI+318],5
00447335 80FB 01 CMP BL,1
00447338 75 07 JNZ SHORT sadfas.00447341
0044733A 8386 18030000 1>ADD DWORD PTR DS:[ESI+318],17
00447341 5E POP ESI
00447342 5B POP EBX
00447343 5D POP EBP
00447344 C2 0C00 RETN 0C
00447347 000400 ADD BYTE PTR DS:[EAX+EAX],AL
0044734A 0000 ADD BYTE PTR DS:[EAX],AL
0044734C FFFF ??? ; 未知命令
0044734E FFFF ??? ; 未知命令
00447350 2100 AND DWORD PTR DS:[EAX],EAX
00447352 0000 ADD BYTE PTR DS:[EAX],AL
00447354 D7 XLAT BYTE PTR DS:[EBX+AL]
00447355 A2 B2E1C9D0 MOV BYTE PTR DS:[D0C9E1B2],AL
0044735A CE INTO
0044735B B4 B3 MOV AH,0B3
0044735D C9 LEAVE
0044735E B9 A6A3ACCD MOV ECX,CDACA3A6
00447363 AC LODS BYTE PTR DS:[ESI]
00447364 D6 SALC
00447365 BE C8D4D0E8 MOV ESI,E8D0D4C8
0044736A C5ACC1 A6A3A120 LDS EBP,FWORD PTR DS:[ECX+EAX*8+20A1A3A6>; 段寄存器更改
00447371 2038 AND BYTE PTR DS:[EAX],BH
00447373 A3 A9000000 MOV DWORD PTR DS:[A9],EAX
00447378 55 PUSH EBP
00447379 8BEC MOV EBP,ESP
0044737B 53 PUSH EBX
0044737C 56 PUSH ESI
0044737D 8BD9 MOV EBX,ECX
0044737F 8BF0 MOV ESI,EAX
00447381 6A 00 PUSH 0
00447383 66:8B0D B473440>MOV CX,WORD PTR DS:[4473B4]
0044738A B2 02 MOV DL,2
0044738C B8 C0734400 MOV EAX,sadfas.004473C0 ; 注册尚未成功,同志仍需努力! 8)
00447391 E8 FEE2FFFF CALL sadfas.00445694
00447396 84DB TEST BL,BL
00447398 75 07 JNZ SHORT sadfas.004473A1
0044739A 8386 18030000 0>ADD DWORD PTR DS:[ESI+318],7
004473A1 80FB 01 CMP BL,1
004473A4 75 07 JNZ SHORT sadfas.004473AD
004473A6 8386 18030000 1>ADD DWORD PTR DS:[ESI+318],1B
004473AD 5E POP ESI
004473AE 5B POP EBX
004473AF 5D POP EBP
004473B0 C2 0C00 RETN 0C
004473B3 000400 ADD BYTE PTR DS:[EAX+EAX],AL
004473B6 0000 ADD BYTE PTR DS:[EAX],AL
004473B8 FFFF ??? ; 未知命令
004473BA FFFF ??? ; 未知命令
004473BC 2100 AND DWORD PTR DS:[EAX],EAX
004473BE 0000 ADD BYTE PTR DS:[EAX],AL
004473C0 D7 XLAT BYTE PTR DS:[EBX+AL]
004473C1 A2 B2E1C9D0 MOV BYTE PTR DS:[D0C9E1B2],AL
004473C6 CE INTO
004473C7 B4 B3 MOV AH,0B3
004473C9 C9 LEAVE
004473CA B9 A6A3ACCD MOV ECX,CDACA3A6
004473CF AC LODS BYTE PTR DS:[ESI]
004473D0 D6 SALC
004473D1 BE C8D4D0E8 MOV ESI,E8D0D4C8
004473D6 C5ACC1 A6A3A120 LDS EBP,FWORD PTR DS:[ECX+EAX*8+20A1A3A6>; 段寄存器更改
004473DD 2038 AND BYTE PTR DS:[EAX],BH
004473DF A3 A9000000 MOV DWORD PTR DS:[A9],EAX
004473E4 53 PUSH EBX
004473E5 8BD8 MOV EBX,EAX
004473E7 81BB 04030000 3>
CMP DWORD PTR DS:[EBX+304],0C34
004473F1 74 36 JE SHORT sadfas.00447429
004473F3 90 NOP
004473F4 90 NOP
004473F5 90 NOP
004473F6 90 NOP
004473F7 81BB 08030000 0>CMP DWORD PTR DS:[EBX+308],230D
00447401 74 7C JE SHORT sadfas.0044747F
00447403 81BB 10030000 9>CMP DWORD PTR DS:[EBX+310],0F94
0044740D 75 70 JNZ SHORT sadfas.0044747F
0044740F 8B83 18030000 MOV EAX,DWORD PTR DS:[EBX+318] 这里是关键
00447415 3B83 14030000 CMP EAX,DWORD PTR DS:[EBX+314]
0044741B 75 62 JNZ SHORT sadfas.0044747F
0044741D 81BB 1C030000 E>CMP DWORD PTR DS:[EBX+31C],3E7
00447427 74 56 JE SHORT sadfas.0044747F
00447429 33D2 XOR EDX,EDX
0044742B 8B83 D8020000 MOV EAX,DWORD PTR DS:[EBX+2D8]
00447431 8B08 MOV ECX,DWORD PTR DS:[EAX]
00447433 FF51 5C CALL DWORD PTR DS:[ECX+5C]
00447436 33D2 XOR EDX,EDX
00447438 8B83 DC020000 MOV EAX,DWORD PTR DS:[EBX+2DC]
0044743E 8B08 MOV ECX,DWORD PTR DS:[EAX]
00447440 FF51 5C CALL DWORD PTR DS:[ECX+5C]
00447443 33D2 XOR EDX,EDX
00447445 8B83 E0020000 MOV EAX,DWORD PTR DS:[EBX+2E0]
0044744B 8B08 MOV ECX,DWORD PTR DS:[EAX]
0044744D FF51 5C CALL DWORD PTR DS:[ECX+5C]
00447450 33D2 XOR EDX,EDX
00447452 8B83 E4020000 MOV EAX,DWORD PTR DS:[EBX+2E4]
00447458 8B08 MOV ECX,DWORD PTR DS:[EAX]
0044745A FF51 5C CALL DWORD PTR DS:[ECX+5C]
0044745D A1 A8984400 MOV EAX,DWORD PTR DS:[4498A8]
00447462 83C0 70 ADD EAX,70
00447465 BA 8C744400 MOV EDX,sadfas.0044748C ; 厉害厉害真厉害!佩服佩服真佩服!!
0044746A E8 EDC4FBFF CALL sadfas.0040395C
0044746F BA B8744400 MOV EDX,sadfas.004474B8 ; 注册了
00447474 8B83 EC020000 MOV EAX,DWORD PTR DS:[EBX+2EC]
0044747A E8 3DCCFDFF CALL sadfas.004240BC
0044747F 5B POP EBX
00447480 C3 RETN
壳是个upx的,很简单就脱了,不要输入表调整。
另外程序是重启验证的,本人还是个菜鸟,通过 bp readfile,断点读取到:
00446D49 BA EC6D4400 MOV EDX,sadfas.00446DEC ; x:\ajj.126.c0m\j\o\j\o\ok.txt
x:\ajj.126.c0m\j\o\j\o\ok.txt不知道是什么东东,大家看看,是不是有可能在注册表里头的。
[课程]Linux pwn 探索篇!