• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運(yùn)轉(zhuǎn),開(kāi)心的工作
            簡(jiǎn)單、開(kāi)放、平等的公司文化;尊重個(gè)性、自由與個(gè)人價(jià)值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            ?2009-05-02, 20:45? 【原創(chuàng)】[TX][XX],密碼輸入窗口的一點(diǎn)分析???

            --------------------------------------------------------------------------------

            [軟件][XX]2009 bate 2
            [工具]OD
            [目的]搞到明文的wm_keydown點(diǎn),告訴一些發(fā)帖的同志,窗口是存在的。

            2008年的時(shí)候,我把[XX]的破了,寫(xiě)了個(gè)基于鍵盤的記錄xxx,但是沒(méi)搞完,就是特征罵定位的什么,由于以前工作原因,朋友叫我不要在這發(fā)[TX]的xxx。所以發(fā)了就,立刻刪除了。恩2009了,lv up了,我也不存在工作上的一些原因了。我決定再發(fā)一篇搞[XX]的。

            我就喜歡在pediy搞[TX]。

            今天下午花了4個(gè)鐘頭的樣子,分析了下[TX][XX]。的缺修補(bǔ)了我2008年的時(shí)候找到的那個(gè)地方。不過(guò)也不咋的。我們就再來(lái)搞盤它。

            沒(méi)搞完,等我哪天心情再不好的時(shí)候,再把它搞完。這時(shí)候,我喜歡的電視就要開(kāi)播了。痞子英雄。不錯(cuò)。

            首先,我們要觀察程序。

            傻[TX],由于軟件大了,所以要找的點(diǎn)也很多。當(dāng)然切入點(diǎn)多了,要記錄密碼也不是啥子難事了。

            首先在CreateWindowExA下點(diǎn)

            0012F340?? 03572DEC? /CALL 到 CreateWindowExA 來(lái)自 TSSafeEd.03572DE9
            0012F344?? 00000000? |ExtStyle = 0
            0012F348?? 0012F38C? |Class = "EDIT"
            0012F34C?? 0012F39E? |WindowName = "S"
            0012F350?? 40010020? |Style = WS_CHILD|WS_TABSTOP|20
            0012F354?? 00000005? |X = 5
            0012F358?? 00000005? |Y = 5
            0012F35C?? 000000A0? |Width = A0 (160.)
            0012F360?? 00000010? |Height = 10 (16.)
            0012F364?? 00180338? |hParent = 00180338 ('[XX]2009 Beta2',class='TXGuiFoundation',parent=001B01C0)
            0012F368?? 00000000? |hMenu = NULL
            0012F36C?? 00400000? |hInst = 00400000
            0012F370?? 00000000? \lParam = NULL

            恩,那個(gè)TSSafeEd.dll就是它那個(gè)密碼輸入筐筐的保護(hù)dll.該dll,大量掛接操作,主要針對(duì)user32.dll.

            user32.dll本質(zhì)就是窗口的一些xxx.

            然后我們跳到那個(gè)dll去。

            在esp點(diǎn)下斷,也就是03572DEC 這個(gè)地方下斷,然后F9

            一般情況createwindow后,就showwindow了,然后我們一路f8跟過(guò)去。

            做這些事,是要想快速找到該窗口的消息處理函數(shù),找到了消息過(guò)程函數(shù)后,我們才可以xxxx。拿到wm_keydown.
            一路f7.

            為什么要f7而不f8.是因?yàn)閷?xiě)這個(gè)保護(hù)的人,可能用了些匯編。用了匯編,你就不能保證它的寫(xiě)法和正常的call法是平衡或者一枝的了。簡(jiǎn)單點(diǎn)說(shuō),堆棧不平衡了。

            create windows的返回?cái)?shù)據(jù)是窗口的handle.用你的大腦記下來(lái)。
            依次的執(zhí)行過(guò)程是

            先send message?? WM_SETFOSE一個(gè)
            再show window?? 一個(gè)

            然后就getwindowLog,取窗口過(guò)程了。

            [TX]真好,連窗口過(guò)程都幫我們?nèi)〕鰜?lái)了。位置在這里。
            03572E5C??? 8989 596AFC57?? mov???? dword ptr [ecx+57FC6A59], ecx
            03572E62??? FF56 1C???????? call??? dword ptr [esi+1C]
            03572E65??? 8945 08???????? mov???? dword ptr [ebp+8], eax?????????? ; USER32.77D3B3B4
            03572E68??? 8D45 E0???????? lea???? eax, dword ptr [ebp-20]
            03572E6B??? 68 30905703???? push??? 03579030
            03572E70??? 50????????????? push??? eax
            03572E71??? E8 D3E7FFFF???? call??? 03571649
            03572E76??? 59????????????? pop???? ecx
            03572E77??? 59????????????? pop???? ecx
            03572E78??? 68 94285703???? push??? 03572894
            03572E7D??? 6A FC?????????? push??? -4
            03572E7F??? FFB6 70010000?? push??? dword ptr [esi+170]
            03572E85??? FF56 14???????? call??? dword ptr [esi+14]
            03572E88??? 51????????????? push??? ecx
            03572E89??? E8 04000000???? call??? 03572E92
            03572E8E? - 0F88 EB1059EB?? js????? EEB03F7F
            03572E94??? 0250 33???????? add???? dl, byte ptr [eax+33]
            03572E97??? 83C1 02???????? add???? ecx, 2
            03572E9A??? EB 02?????????? jmp???? short 03572E9E
            03572E9C? ^ 76 90?????????? jbe???? short 03572E2E
            03572E9E??? 51????????????? push??? ecx
            03572E9F??? C3????????????? retn
            03572EA0??? 8989 598B8678?? mov???? dword ptr [ecx+78868B59], ecx
            03572EA6??? 0100??????????? add???? dword ptr [eax], eax

            取的是一個(gè)user32.dll里的窗口過(guò)程。

            好的,那我們斗切做第一個(gè)測(cè)試,在那下條件斷點(diǎn)攔截wm_keydown.消息。0x77d3b3b4下條件斷點(diǎn)
            dword ptr [esp+0x08] == 0x100

            100h斗是wm_keydown了。
            77D3B3B4 >??? 8BFF????????? mov???? edi, edi
            77D3B3B6?? .? 55??????????? push??? ebp
            77D3B3B7?? .? 8BEC????????? mov???? ebp, esp
            77D3B3B9?? .? 8B4D 08?????? mov???? ecx, dword ptr [ebp+8]
            77D3B3BC?? .? 56??????????? push??? esi
            77D3B3BD?? .? E8 0ED1FDFF?? call??? 77D184D0
            77D3B3C2?? .? 8BF0????????? mov???? esi, eax
            77D3B3C4?? .? 85F6????????? test??? esi, esi
            77D3B3C6?? .? 74 40???????? je????? short 77D3B408
            77D3B3C8?? .? 8B55 0C?????? mov???? edx, dword ptr [ebp+C]
            77D3B3CB?? .? 3B15 0801D777 cmp???? edx, dword ptr [77D70108]
            77D3B3D1?? .? 0F87 A3000000 ja????? 77D3B47A
            77D3B3D7?? .? 33C0????????? xor???? eax, eax
            77D3B3D9?? .? 8BCA????????? mov???? ecx, edx
            77D3B3DB?? .? 83E1 07?????? and???? ecx, 7
            77D3B3DE?? .? 40??????????? inc???? eax
            77D3B3DF?? .? D3E0????????? shl???? eax, cl
            77D3B3E1?? .? 57??????????? push??? edi
            77D3B3E2?? .? 8B3D 0C01D777 mov???? edi, dword ptr [77D7010C]


            然后,我們來(lái)看它的wparam.正常的wparam應(yīng)該是,一個(gè)hex數(shù)據(jù),這個(gè)hex數(shù)據(jù)是鍵盤上按的字符的asc2碼對(duì)照。


            OK,很不幸運(yùn)的是,在每次那個(gè)wm_keydown的數(shù)據(jù),都無(wú)法正常的對(duì)照鍵盤。

            這個(gè)時(shí)候,我們就要做點(diǎn)回碩跟蹤了。

            這里,談?wù)勬I盤。要想從本質(zhì)級(jí),改變鍵盤的編碼,當(dāng)然是r0下。但是我覺(jué)得2009的[XX]應(yīng)該和2008的[XX]一樣,不會(huì)存在r0下的一些修改。

            大概就是通過(guò)串改user32實(shí)現(xiàn)鍵盤的編碼變換。

            既然知道了是串改user32進(jìn)行編碼變換。那我們用od就足夠了。


            好,我們繼續(xù)來(lái)看定位點(diǎn)。

            我們明白了這點(diǎn)后,我們又知道TSSafeEd.dll是那個(gè)保護(hù)的的xxx,那我們就想辦法跳到那個(gè)TSSafeEd.dll里去看在wm_keydown之前,它搞了啥。

            我這里使用的方法是,在multibytetowidechar這個(gè)地方下點(diǎn)。,因?yàn)槊看屋斎胍粋€(gè)字符的時(shí)候,[XX]它斗會(huì)切轉(zhuǎn)換一次。

            斷下來(lái)后,一路ctrl加F9,就來(lái)到了這里

            03572C50??? 0FBF45 16?????? movsx?? eax, word ptr [ebp+16]
            03572C54??? 8B8E A4915703?? mov???? ecx, dword ptr [esi+35791A4]
            03572C5A??? 50????????????? push??? eax
            03572C5B??? 0FBF45 14?????? movsx?? eax, word ptr [ebp+14]
            03572C5F??? 50????????????? push??? eax
            03572C60??? E8 A00B0000???? call??? 03573805
            03572C65??? FF75 14???????? push??? dword ptr [ebp+14]
            03572C68??? FF75 10???????? push??? dword ptr [ebp+10]
            03572C6B??? 57????????????? push??? edi
            03572C6C??? FF75 08???????? push??? dword ptr [ebp+8]
            03572C6F??? FFB6 9C915703?? push??? dword ptr [esi+357919C]
            03572C75 >? FF96 A0915703?? call??? dword ptr [esi+35791A0]????????? ; USER32.CallWindowProcA----在這里怎個(gè)條件斷點(diǎn),還是斷0x100,這個(gè)消息
            03572C7B??? 5F????????????? pop???? edi
            03572C7C??? 5E????????????? pop???? esi
            03572C7D??? 5B????????????? pop???? ebx
            03572C7E??? C9????????????? leave
            03572C7F??? C2 1000???????? retn??? 10

            ?


            恩,這時(shí)候,我們就知道了。先是xxx處理正常的wm_keydown消息,然后變換了過(guò)后,再切發(fā)到那個(gè)窗口的處理過(guò)程里頭切。大概就是用函數(shù)CallWindowProcA


            回碩,回碩。。。。。

            ?

            想搞[XX]的,大家,就自己切研究了哈。:)


            祝大家51快樂(lè)。


            ?

            Feedback

            # re: 2009-05-02, 20:45 【原創(chuàng)】[TX][XX],密碼輸入窗口的一點(diǎn)分析  回復(fù)  更多評(píng)論   

            2010-01-29 23:22 by cnlamb
            呼。。。很強(qiáng)的文章
            久久成人国产精品免费软件| 狠狠色丁香婷综合久久| 久久婷婷五月综合97色直播 | 伊人久久大香线蕉综合热线| 亚洲中文字幕无码久久2017| 久久精品国产亚洲沈樵| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 伊人色综合久久天天| 亚洲美日韩Av中文字幕无码久久久妻妇 | 亚洲午夜福利精品久久| 97久久精品人妻人人搡人人玩 | 国产精品久久久久久| 漂亮人妻被中出中文字幕久久| 久久精品中文字幕久久| 久久精品国产清自在天天线| 精品国产91久久久久久久a | 国内精品久久久久国产盗摄| 久久国产热精品波多野结衣AV| 久久影院亚洲一区| 国产精品狼人久久久久影院 | 久久伊人五月丁香狠狠色| 久久国产成人午夜aⅴ影院| 99精品久久精品| 久久久无码人妻精品无码| 中文国产成人精品久久不卡| 婷婷久久综合九色综合绿巨人| 久久精品黄AA片一区二区三区| 国产精品一区二区久久精品涩爱| 久久精品国产黑森林| 99久久精品无码一区二区毛片 | 亚洲国产精品综合久久网络| 精品久久久久久国产三级| 天天综合久久久网| 999久久久免费国产精品播放| 久久久一本精品99久久精品88| 久久e热在这里只有国产中文精品99 | 久久青青国产| 综合久久一区二区三区 | 国内精品伊人久久久影院| 亚洲中文字幕伊人久久无码 | 狠狠人妻久久久久久综合蜜桃|