快播资源哪里跑(逆向)
嗨,大家好,逆向學習有那么幾天了,得有點小產品吧,哈哈……,現在把逆向快播的經驗貼出來,大家技術交流啊,對了,只是技術交流啊,其它的與我無關…。
快播播放器里面有三個文件,我們需要用到,為什么呢?自己看吧,因為快播是p2p機制的傳輸協議,所以我們只要快播涉及p2p的軟件塊就行了。
好了,以下是部分分析,聰明的你們一定會摸索出他們的規律(主要是獲取任務的信息),主要代碼已經打包了哦。
有圖有真相……
成功的應用…?
先貼出OD加載快播時逆向的分析吧
加載時觸發
0049ECF9?????????????? |.? 8B0D 28835600 mov???? ecx, dword ptr [568328]??????????? ;?調用 568328? 加載時觸發? 1
0049ECFF?????????????? |.? 3BCB?????????cmp???? ecx, ebx?????????????????????????? ;? 判斷 dd_568328 是否為零
0049ED01?????????????? |.? 74 04????????je????? short 0049ED07
0049ED03?????????????? |.? 8B01?????????mov???? eax, dword ptr [ecx]
0049ED05?????????????? |.? FF10?????????call??? dword ptr [eax]??????????????????? ;? 調用 dd_568328? ??? ;無參
直接調用 _InitQvodNet ??
0049F444?????????????? |.? 8B0D 28835600 mov???? ecx, dword ptr [568328]??????????? ;?調用 568328 加載時觸發? 2
0049F44A?????????????? |.? 85C9?????????test??? ecx, ecx
0049F44C?????????????? |.? 74 55????????je????? short 0049F4A3
0049F44E???????????? ??|.?8B01????????? mov???? eax, dword ptr [ecx]
0049F450?????????????? |.? 56???????????push??? esi??????????????????? ;FFFFFFF
0049F451?????????????? |.? FF50 40??????call??? dword ptr [eax+40]???????????????? ;? 一個參數
傳遞一個參數為 FFFFFFF的值 給函數? call dword ptr [eax+40]
返回值為零
?
0049EDA7?????????????? |.? 8B0D 28835600 mov???? ecx, dword ptr [568328]??????????? ;?調用 568328 加載時觸發? 3
0049EDAD?????????????? |.? 8B11?????????mov???? edx, dword ptr [ecx]
0049EDAF?????????????? |.? 53???????????push??? ebx??????????????? ??? ;ebx=0
0049EDB0?????????????? |.? 50???????????push??? eax??????????????????????????????? ;? F:\Media\
0049EDB1?????????????? |.? FF52 0C??????call??? dword ptr [edx+C]????????????????? ;? 調用dd_568328+c函數
0049EDB4?????????????? |>? 8B35 34A35100 mov???? esi, dword ptr[<&KERNEL32.GetLogi>;?kernel32.GetLogicalDriveStringsW? 兩個參數
初始化路徑函數??? dword ptr [edx+c]("F:\Media\",0)
0049EE26?????????????? |.? 8B0D 28835600 |mov???? ecx, dword ptr [568328]?????????? ;?調用 568326?? 加載時觸發? 4
0049EE2C?????????????? |.? 8B01?????????|mov???? eax, dword ptr [ecx]
0049EE2E?????????????? |.? 53???????????|push??? ebx?????????????????? ebx=0
0049EE2F?????????????? |.? 56???????????|push??? esi?????????????????? ;路徑=F:\Media\
0049EE30?????????????? |.? FF50 0C??????|call?? ?dword ptr [eax+C]???????????????? ;? 初始化下載路徑吧? 兩個參數
初始化路徑?
0042D6FF?????????????? |.? 8B0D 28835600 ||mov???? ecx, dword ptr [568328]????????? ;?調用 568326?? 加載時觸發? 5
0042D705?????????????? |.? 8D5424 10????||lea???? edx, dword ptr [esp+10]
0042D709 ??????????????|.? 52???????????||push??? edx????????????????? ;weizhi
0042D70A?????????????? |.? 8D5424 34????||lea???? edx, dword ptr [esp+34]
0042D70E?????????????? |.? 8BF8?????????||mov???? edi, eax
0042D710?????????????? |.? 52???????????||push??? edx????????????????? ;weizhi
0042D711?????????????? |.? 897424 38????||mov???? dword ptr [esp+38], esi
0042D715?????????????? |.? 8B01?????????||mov???? eax, dword ptr [ecx]
0042D717?????????????? |.? 57???????????||push??? edi
0042D718?????????????? |.? FF50 30??????||call?? ?dword ptr [eax+30]?????????? ;三個參數
循環觸發? 獲得任務個數 以及某數值
?
00430940?????????????? |.? 8B0D 28835600 mov???? ecx, dword ptr [568328]??????????? ;?調用 dd568328??? 加載時觸發? 6? 兼?? 添加網絡任務觸發 順序3
00430946?????????????? |.? 8B01?????????mov???? eax, dword ptr [ecx]??????????
00430948?????????????? |.? 83C4 0C??????add???? esp, 0C
0043094B?????????????? |.? 8D5424 20????lea???? edx, dword ptr [esp+20]
0043094F?????????????? |.? 52???????????push??? edx??????????????????? ;未知
00430950?????????????? |.? FF7424 18????push??? dword ptr [esp+18]???????? ;未知?? 但數值顯示為256
00430954?????????????? |.? 56???????????push??? esi??????????????? ??? ;esi=DE4AB6647FA65E303165CACDCEAB741147387B07
00430955?????????????? |.? FF50 48??????call??? dword ptr [eax+48]? ;三個參數
?
連接觸發
?
0042FA84?????????????? |.? 8B0D 28835600 mov???? ecx, dword ptr [568328]??????????? ;?調用 568328? ??? 連接觸發
0042FA8A?????????????? |.? 8B11?????????mov???? edx, dword ptr [ecx]
0042FA8C?????????????? |.? 57???????????push??? edi??????????????????? ;edi=0
0042FA8D?????????????? |.? 83C0 04??????add???? eax, 4
0042FA90?????????????? |.? 50???????????push??? eax??????????????????? ;eax=hash=DE4AB6647FA65E303165CACDCEAB741147387B07
0042FA91?????????????? |.? FF52 28??????call??? dword ptr [edx+28]???????? ;兩個參數
?
?
斷開觸發
0042FA9C?????????????? |.? 8B0D 28835600 mov???? ecx, dword ptr [568328]??????? ;斷開觸發
0042FAA2?????????????? |.? 8B11?????????mov???? edx, dword ptr [ecx]
0042FAA4?????????????? |.? 57???????????push??? edi??????????????????? ;edi=0
0042FAA5?????????????? |.? 83C0 04??????add???? eax, 4
0042FAA8?????????????? |.? 50???????????push??? eax??????????????? ??? ;hash=DE4AB6647FA65E303165CACDCEAB741147387B07
0042FAA9?????????????? |.? FF52 24??????call??? dword ptr [edx+24]???????? ;兩個參數
?
?
修改路徑觸發
00491226?????????????? |.? 8B0D 28835600 mov???? ecx, dword ptr [568328]??????????? ;?調用 568328? ??? 修改路徑觸發
0049122C?????????????? |.? 85C9?????????test??? ecx, ecx
0049122E?????????????? |.? 74 08????????je????? short 00491238
00491230?????????????? |.? 8B1B?????????mov???? ebx, dword ptr [ebx]??????
00491232?????????????? |.? 8B01?????????mov???? eax, dword ptr [ecx]
00491234?????????????? |.? 53???????????push??? ebx??????????????????? ;//路徑
00491235?????????????? |.? FF50 18??????call??? dword ptr [eax+18]???? ;一個參數
?
全部連接觸發
004AA8CE?????????????? |.? 8B0D 28835600 mov???? ecx, dword ptr [568328]??????????? ;?全部連接觸發調用 568328
004AA8D4?????????????? |.? 83C4 0C??????add???? esp, 0C
004AA8D7?????????????? |.? 3BCB?????????cmp???? ecx, ebx
004AA8D9?????????????? |.^ 0F84 3CE4FFFF je????? 004A8D1B
004AA8DF???????? ??????|.?8B01????????? mov???? eax, dword ptr [ecx]?????????????? ;?
004AA8E1?????????????? |.? 6A 01????????push??? 1????????????????????????????????? ;? 估計個數
004AA8E3?????????????? |.? 8D9424 380A00>lea???? edx, dword ptr [esp+A38]
004AA8EA?????????? ????|.?52??????????? push??? edx??????????????????????????????? ;? 0
004AA8EB?????????????? |.? FF50 28??????call??? dword ptr [eax+28]???????? 兩個參數
//全部斷開觸發
004AA924?????????????? |.? 8B0D 28835600 mov???? ecx, dword ptr [568328]??????????? ;?調用 568328? ??? //全部斷開觸發
004AA92A?????????????? |.? 83C4 0C??????add???? esp, 0C
004AA92D?????????????? |.? 3BCB?????????cmp???? ecx, ebx
004AA92F?????????????? |.^ 0F84 E6E3FFFF je????? 004A8D1B
004AA935?????????????? |.? 33C0?????????xor???? eax, eax
004AA937????????? ?????|.?833D E48D5600>cmp???? dword ptr[568DE4], 1
004AA93E?????????????? |.? 6A 01????????push??? 1
004AA940?????????????? |.? 0F9FC0???????setg??? al
004AA943?????????????? |.? 8D9424 380A00>lea???? edx, dword ptr [esp+A38]
004AA94A?????????????? |.? 52???????????push??? edx??????????????????? =0
004AA94B?????????????? |.? A3 4C875600??mov???? dword ptr [56874C], eax
004AA950?????????????? |.? 8B01?????????mov???? eax, dword ptr [ecx]
004AA952?????????????? |.? FF50 24??????call??? dword ptr [eax+24]???????????????? ;? 全部斷開 兩個參數
刪除任務觸發
0042FE34?????????????? |.? 8B0D 28835600 mov???? ecx, dword ptr [568328]??????????? ;?調用 568328? 刪除任務觸發
0042FE3A?????????????? |.? FF75 A4??????push??? dword ptr [ebp-5C]???? ??? ;ebp-5c=hash=DE4AB6647FA65E303165CACDCEAB741147387B07
0042FE3D?????????????? |.? 8B01?????????mov???? eax, dword ptr [ecx]
0042FE3F?????????????? |.? FF50 20??????call??? dword ptr [eax+20]???????? ;一個參數
?播放觸發
0042F3DC?????????????? |> /8B0D 28835600 /mov???? ecx, dword ptr [568328]? ?????????;?調用 568328? 播放觸發
0042F3E2?????????????? |. |8B7424 2C???? |mov????esi, dword ptr [esp+2C]
0042F3E6?????????????? |. |8B01????????? |mov???? eax, dword ptr [ecx]
0042F3E8?????????????? |. |8D5424 18???? |lea????edx, dword ptr [esp+18]?????? ;edx=77CF7094(ntdll.KiFastSystemCallRet)
0042F3EC?????????????? |. |52??????????? |push??? edx
0042F3ED?????????????? |. |FF7424 14???? |push???dword ptr [esp+14]
0042F3F1?????????????? |. |56??????????? |push??? esi?????????????? ??? ;esi=DE4AB6647FA65E303165CACDCEAB741147387B07
0042F3F2?????????????? |. |FF50 3C?????? |call???dword ptr [eax+3C] ?????????? ;三個參數
循環觸發??? 每0.2秒觸發喲
0042D6A9?????????????? |.? 8B0D 28835600 |mov???? ecx, dword ptr [568328]?????????? ;?調用 dd_568328 循環觸發? 每0.2秒觸發喲
0042D6AF?????????????? |.? 69C0 54040000 |imul??? eax, eax, 454
0042D6B5?????????????? |.? 8D5424 10????|lea???? edx, dword ptr [esp+10]?????????? ;任務個數
0042D6B9?????????????? |.? 52???????????|push??? edx
0042D6BA?????????????? |.? 8D5424 34????|lea???? edx, dword ptr [esp+34]?????????? ;edx=330f
0042D6BE?????????????? |.? 52???????????|push??? edx?????????????????????????? ;
0042D6BF?????????????? |.? FF7424 1C????|push??? dword ptr [esp+1C]??????????????????? ;hash zhi ? (ASCII"03C61BC8CE96CB5072C9E149DE7771C9D6A03E24")
0042D6C3?????????????? |.? 894424 3C????|mov???? dword ptr [esp+3C], eax
0042D6C7?????????????? |.? 8B01?????????|mov???? eax, dword ptr [ecx]
0042D6C9?????????????? |.? FF50 30??????|call??? dword ptr [eax+30]??????????? ;三個參數?? 非常可疑
?
添加網絡任務觸發
0042F0D1?????????????? |.? 8B0D 28835600 mov???? ecx, dword ptr [568328]??????????? ;?調用 dd568328?? ??? 添加網絡任務觸發 順序1
0042F0D7?????????????? |.? 8B01?????????mov???? eax, dword ptr [ecx]
0042F0D9?????????????? |.? 53???????????push??? ebx??????????????????? ;ebx=0
0042F0DA?????????????? |.? 8D55 C4??????lea???? edx, dword ptr [ebp-3C]
0042F0DD?????????????? |.? 52???????????push??? edx??????????????????? ;edx=0?? 有十個四字節數為零
0042F0DE?????????????? |.? 57???????????push??? edi??????????????? ??? ;edi=qvod://189694296|DE4AB6647FA65E303165CACDCEAB741147387B07|你是我愛人_22.rmvb|
0042F0DF?????????????? |.? FF50 04??????call??? dword ptr [eax+4]????????? ;三個參數
?
0042F163?????????????? |.? 8B0D 28835600 mov???? ecx, dword ptr [568328]??????????? ;?調用 dd568328?? ??? 添加網絡任務觸發 順序2
0042F169?????????????? |.? 8B11?????????mov???? edx, dword ptr [ecx]
0042F16B?????????????? |.? 50???????????push?? ?eax??????????????????? ;估計 某內存塊地址? 因為為初始化
0042F16C?????????????? |.? 8945 C0??????mov???? dword ptr [ebp-40], eax???????
0042F16F?????????????? |.? 8D45 C4??????lea???? eax, dword ptr [ebp-3C]
0042F172?????????????? |.? 50???????????push??? eax??????????????? ??? ;eax=DE4AB6647FA65E303165CACDCEAB741147387B07
0042F173?????????????? |.? FF52 44??????call??? dword ptr [edx+44]???????? ;兩個參數
?
00430940?????????????? |.? 8B0D 28835600 mov???? ecx, dword ptr [568328]??????????? ;?調用 dd568328?? ??? 添加網絡任務觸發 順序3
00430946?????????????? |.? 8B01?????????mov???? eax, dword ptr [ecx]??????????
00430948?????????????? |.? 83C4 0C??????add???? esp, 0C
0043094B?????????????? |.? 8D5424 20????lea???? edx, dword ptr [esp+20]
0043094F?????????????? |.? 52???????????push??? edx??? ??????????????? ;未知
00430950?????????????? |.? FF7424 18????push??? dword ptr [esp+18]???????? ;未知?? 但數值顯示為256
00430954?????????????? |.? 56???????????push??? esi??????????????? ??? ;esi=DE4AB6647FA65E303165CACDCEAB741147387B07
00430955?????????????? |.? FF50 48??????call??? dword ptr [eax+48]? ;三個參數
看著上面的代碼,是不是顯得很無助啊?沒事,接著看,我來講解下原因。
快播啟動時,加載了QvodNet.dll文件,該文件有什么用呢?答案是控制p2p資源下載以及限速的操作,上面逆向代碼都是對這的分析,也就是說,只要圍繞這它,你就掌握了逆向快播了,隨時隨地下載快播資源,包括最新的電影,具體操作請下載下載包,看代碼吧。
代碼部分講解---
啟動時? ??
???? //#ifdef _DEBUG? cmd窗體?以后輸出的信息都在這顯示
???? AllocConsole();
???? freopen("CONOUT$","w+t",stdout);
//#endif
???? //為什么添加這段?防止快播自動下載更新。有些模塊地址不一樣,所以要禁止更新。
???? {
???????? TCHARpath[MAX_PATH] = {0};
???????? ::GetModuleFileName(NULL,path,MAX_PATH);
???????? CStringstrUpdate(path);
???????? strUpdate.Replace(_T("TestQvod.exe"),_T("update.jpg"));
???????? ::CreateFile(strUpdate,GENERIC_READ,FILE_SHARE_READ,NULL, ? ???? OPEN_ALWAYS,FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN,NULL);
???? }
?
程序中有全局變量
???? BYTE*m_byteBuffer=NULL;? //從內存中讀出的消息全部放到這變量中(消息含有任務MD5值、路徑、影片名、文件大小、已下載大小、是否下載……等等)
???? HMODULEm_hMouleQvodNet;? //句柄
???? DWORDm_dFunctionHandle,m_dHandle; //消息句柄
DWORDd_517864;? //一個地址
?
?
//逆向快播的初始化
???? void CTestQvodDlg::OnInitQvodNet()
?
//獲得任務信息,獲取任務個數,傳參任務的MD5,返回值為零成功,其它不成功,成功時讀取的信息有(消息含有任務MD5值、路徑、影片名、文件大小、已下載大小、是否下載……等等),每個任務都有,只是要懂的這個任務類的結構大小,就好定位了,源碼已經寫好了。
int?CTestQvodDlg::GetTaskInfo(int *pLength,int *task)
//點擊連接? 里面有測試MD5值
在項目中有文件videolist.db 里面有很多測試的任務,你們可以了解下。其它的就說了,詳細看代碼喲。
下載地址:http://download.csdn.net/detail/banketree/4416468
總結
以上是生活随笔為你收集整理的快播资源哪里跑(逆向)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python天下无敌表情包_这套打遍天下
- 下一篇: 真没想到!时隔3年,被废掉武功的快播,依