吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10717|回复: 1
收起左侧

[分享] QQ影音里的一个视频转码器 去校验分析.

[复制链接]
女孩不可信 发表于 2010-5-11 22:56
本帖最后由 女孩不可信 于 2010-5-11 22:58 编辑

最新版的QQ影音里多了一个视频转码器,使用了下转换的比一些转码软件好多了,但每次想用就要启动QQ影音,太麻烦了!

找到QQ影音目录,QPToolbox.exe这个就是转码器的主程序了,双击无法打开!看来有校验了。

我先想看看是不是QQ影音启动QPToolbox.exe带了命令行参数,我自己写了个DLL,代码很简单

OutputDebugString(GetCommandLine());

然后注入到了从QQ影音打开的QPToolbox.exe中,打开DebugView,出来一行

[1544] "D:\QQPlayer\QPToolbox.exe" 420 578 *

看来被我猜对了 确实是带参数运行的

测试一下 开始-运行 输入D:\QQPlayer\QPToolbox.exe 420 578 *

OK QPToolbox.exe就被打开了....纯属辖猫碰到死老鼠!~~

清楚什么原因了,这里可以写个Hook GetCommandLine 或者 winexec 或者 爆破一下。。。还是爆破省力

我们在OD里看一下吧

载入程序 bp GetCommandLineW

说一下GetCommandLine是取程序启动参数的 因为程序是UNICODE的 所以要加个W,GetCommandLineW。

下好断点以后 F9 运行程序 断下来了

7C817023 >  A1 0450887C     mov eax,dword ptr ds:[7C885004]
7C817028    C3              retn

F8一下 然后看eax
EAX 00020890 UNICODE ""D:\QQPlayer\QPToolbox.exe""  //这个就是启动参数拉!

再次按一下F8,返回到程序领空了

004BA390 /$ 55 push ebp
004BA391 |. 8BEC mov ebp,esp
004BA393 |. 6A FF push -1
004BA395 |. 68 D3484C00 push QPToolbo.004C48D3
004BA39A |. 64:A1 0000000>mov eax,dword ptr fs:[0]
004BA3A0 |. 50 push eax
004BA3A1 |. 83EC 10 sub esp,10
004BA3A4 |. 53 push ebx
004BA3A5 |. 56 push esi
004BA3A6 |. 57 push edi
004BA3A7 |. A1 60605B00 mov eax,dword ptr ds:[5B6060]
004BA3AC |. 33C5 xor eax,ebp
004BA3AE |. 50 push eax
004BA3AF |. 8D45 F4 lea eax,[local.3]
004BA3B2 |. 64:A3 0000000>mov dword ptr fs:[0],eax
004BA3B8 |. FF15 60025500 call dword ptr ds:[<&KERNEL32.GetCommand>; [GetCommandLineW
004BA3BE |. 50 push eax ; \\返回启动参数
004BA3BF |. 8D4D F0 lea ecx,[local.4]
004BA3C2 |. FF15 AC045500 call dword ptr ds:[<&MFC80U.#283>] ; MFC80U.#6735
004BA3C8 |. 51 push ecx
004BA3C9 |. 8D45 F0 lea eax,[local.4]
004BA3CC |. 8BCC mov ecx,esp
004BA3CE |. 8965 E8 mov [local.6],esp
004BA3D1 |. 50 push eax
004BA3D2 |. C745 FC 00000>mov [local.1],0
004BA3D9 |. FF15 B8045500 call dword ptr ds:[<&MFC80U.#280>] ; MFC80U.#280
004BA3DF |. 68 1CA95800 push QPToolbo.0058A91C
004BA3E4 |. 6A 04 push 4
004BA3E6 |. 68 38A95800 push QPToolbo.0058A938 ; UNICODE "CQQMediaCenterApp::ParseCmdLine"
004BA3EB |. 68 EB000000 push 0EB
004BA3F0 |. 68 78A95800 push QPToolbo.0058A978 ; UNICODE ".\QQMediaCenter.cpp"
004BA3F5 |. BA B8A95800 mov edx,QPToolbo.0058A9B8 ; UNICODE "transcoding.logic"
004BA3FA |. E8 2176F4FF call QPToolbo.00401A20
004BA3FF |. 8B55 F0 mov edx,[local.4]
004BA402 |. 83C4 18 add esp,18
004BA405 |. 8D4D EC lea ecx,[local.5]
004BA408 |. 51 push ecx ; /pArgc
004BA409 |. 52 push edx ; |CmdLine
004BA40A |. FF15 E4095500 call dword ptr ds:[<&SHELL32.CommandLine>; \CommandLineToArgvW
004BA410 |. 85C0 test eax,eax ; \\貌似是取命令行参数
004BA412 |. 8945 E8 mov [local.6],eax
004BA415 |. 75 22 jnz short QPToolbo.004BA439
004BA417 |. 8D4D F0 lea ecx,[local.4]
004BA41A |. FF15 BC045500 call dword ptr ds:[<&MFC80U.#577>] ; MFC80U.#578
004BA420 |. B8 05400080 mov eax,80004005
004BA425 |. 8B4D F4 mov ecx,[local.3]
004BA428 |. 64:890D 00000>mov dword ptr fs:[0],ecx
004BA42F |. 59 pop ecx
004BA430 |. 5F pop edi
004BA431 |. 5E pop esi
004BA432 |. 5B pop ebx
004BA433 |. 8BE5 mov esp,ebp
004BA435 |. 5D pop ebp
004BA436 |. C2 0400 retn 4
004BA439 |> BF 01000000 mov edi,1
004BA43E |. 397D EC cmp [local.5],edi
004BA441 |. 7E 3D jle short QPToolbo.004BA480 ; 小于等于则跳
004BA443 |. 8B75 08 mov esi,[arg.1]
004BA446 |. 81C6 A4000000 add esi,0A4
004BA44C |. 8D6424 00 lea esp,dword ptr ss:[esp]
004BA450 |> 8B04B8 /mov eax,dword ptr ds:[eax+edi*4] ; //这个循环是设置窗体位置了 看来命令行参数是窗口坐标
004BA453 |. 50 |push eax
004BA454 |. 8D4D 08 |lea ecx,[arg.1]
004BA457 |. FF15 AC045500 |call dword ptr ds:[<&MFC80U.#283>] ; MFC80U.#6735
004BA45D |. 8D5D 08 |lea ebx,[arg.1]
004BA460 |. C645 FC 01 |mov byte ptr ss:[ebp-4],1
004BA464 |. E8 476CF4FF |call QPToolbo.004010B0
004BA469 |. 8BCB |mov ecx,ebx
004BA46B |. C645 FC 00 |mov byte ptr ss:[ebp-4],0
004BA46F |. FF15 BC045500 |call dword ptr ds:[<&MFC80U.#577>] ; MFC80U.#578
004BA475 |. 8B45 E8 |mov eax,[local.6]
004BA478 |. 83C7 01 |add edi,1
004BA47B |. 3B7D EC |cmp edi,[local.5]
004BA47E |.^ 7C D0 \jl short QPToolbo.004BA450
004BA480 |> 50 push eax ; /hMemory
004BA481 |. FF15 5C025500 call dword ptr ds:[<&KERNEL32.LocalFree>>; \\\释放内存
004BA487 |. 33C9 xor ecx,ecx
004BA489 |. 837D EC 01 cmp [local.5],1
004BA48D |. 0F9EC1 setle cl
004BA490 |. 8BF1 mov esi,ecx
004BA492 |. 8D4D F0 lea ecx,[local.4]
004BA495 |. FF15 BC045500 call dword ptr ds:[<&MFC80U.#577>] ; MFC80U.#578
004BA49B |. 8BC6 mov eax,esi
004BA49D |. 8B4D F4 mov ecx,[local.3]
004BA4A0 |. 64:890D 00000>mov dword ptr fs:[0],ecx
004BA4A7 |. 59 pop ecx
004BA4A8 |. 5F pop edi
004BA4A9 |. 5E pop esi
004BA4AA |. 5B pop ebx
004BA4AB |. 8BE5 mov esp,ebp
004BA4AD |. 5D pop ebp
004BA4AE C2 0400 retn 4

返回到

004BA6B5  |.  85C0          test eax,eax  //判断eax 为0
004BA6B7      74 34         je short QPToolbo.004BA6ED 为0则跳  这里要跳喔  改成jmp就算爆破了

其余的就是加载一些皮肤啊 一些DLL 读取一些参数之类的工作了..

分析的简单了点..写的不好不要喷我。。

这个程序入口很郁闷啊 上当了几次 有兴趣的朋友可以玩玩...

免费评分

参与人数 1威望 +1 收起 理由
CHHSun + 1 感谢您的分析,[吾爱破解]有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

yjd333 发表于 2010-12-31 15:10
学习了。又知道了个函数
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 06:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表