殼亂彈單步分析(5)破解教程

來源:互聯網
上載者:User

【破解作者】 layper
【作者郵箱】 layper2002@yahoo.com.cn
【作者首頁】 www.sy135.com
【使用工具】 peid,od,
【破解平台】 Win9x/NT/2000/XP
【軟體名稱】 殼亂彈單步分析(5)
【破解聲明】 我是一隻小菜鳥,偶得一點心得,願與大家分享:)
--------------------------------------------------------------------------------
【破解內容】

寫到這篇,我感覺在分析這個殼的過程中學到了很多東西(雖然很多錯漏),我很早就想單步分析殼了,但一直下不了決心,誰知道在這個胡
侃的文章中我竟然實現了這個想法.呵呵,太好了.其實在國外,我們crack經常研究的一個項目是逆向工程(Reverse Engineer),
就是把程式的源碼用crack工具逆向出來,這是我們學習編程和系統低層的一種好辦法,但可惜,在我們國內似乎非常少看
見這種文章,我這種單步分析的辦法雖然不是逆向工程,經過前幾篇的分析後,我確實感受到了逆向工程的好處,真希望逆向工程
在我們這裡發揚光大.
廢話少說,繼續分析我們的ASProtect 1.2x - 1.3x殼,經過上次的代碼之後,我們返回了這裡
00FE1000    90                      nop                      ;這個nop估計是增加系統的相容性吧
00FE1001    60                      pushad                   ;儲存所有寄存器的資料
00FE1002    E8 40060000             call 00FE1647            ;跟進
00FE1007    EB 44                   jmp short 00FE104D

00FE1647    8B2C24                  mov ebp,dword ptr ss:[esp] ;ebp=堆棧 ss:[0012FF68]=00FE1007
00FE164A    81ED 4B294400           sub ebp,44294B             ;ebp=00B9E6BC
00FE1650    C3                      retn                       ;返回

00FE1007   /EB 44                   jmp short 00FE104D         ;返回這裡,跳

00FE104D   /BB 44294400             mov ebx,442944             ;ebx=442944
00FE1052    03DD                    add ebx,ebp                ;EBX=00FE1007-44294B+442944=00FE1000,奸詐,竟然是移向00FE1000
00FE1054    2B9D 71294400           sub ebx,dword ptr ss:[ebp+442971] ;ebx=00FA0000
00FE105A    83BD D8304400 00        cmp dword ptr ss:[ebp+4430D8],0   ;ss:[00FE1794]=00000000
00FE1061    899D 2F2E4400           mov dword ptr ss:[ebp+442E2F],ebx ;ss:[00FE14EB]=ebx=00FA0000
00FE1067    0F85 3E050000           jnz 00FE15AB                      ;不等則跳
00FE106D    8D85 E0304400           lea eax,dword ptr ss:[ebp+4430E0] ;eax=地址=010F179C, (ASCII "kernel32.dll")
00FE1073    50                      push eax                          ;壓入棧
00FE1074    FF95 EC314400           call dword ptr ss:[ebp+4431EC]    ;ss:[010F18A8]=7C80B529 (kernel32.GetModuleHandleA)返回kernel32.dll模組的控制代碼
00FE107A    8985 DC304400           mov dword ptr ss:[ebp+4430DC],eax ;ss:[010F1798]=EAX=78C00000
00FE1080    8BF8                    mov edi,eax                       ;EDI=EAX=78C0000
00FE1082    8D9D ED304400           lea ebx,dword ptr ss:[ebp+4430ED] ;ebx=地址=010F17A9, (ASCII "VirtualAlloc")
00FE1088    53                      push ebx
00FE1089    50                      push eax
00FE108A    FF95 E8314400           call dword ptr ss:[ebp+4431E8]
00FE1090    8985 79294400           mov dword ptr ss:[ebp+442979],eax
00FE1096    8D9D FA304400           lea ebx,dword ptr ss:[ebp+4430FA]
00FE109C    53                      push ebx
00FE109D    57                      push edi
00FE109E    FF95 E8314400           call dword ptr ss:[ebp+4431E8]
00FE10A4    8985 7D294400           mov dword ptr ss:[ebp+44297D],eax
00FE10AA    8B85 2F2E4400           mov eax,dword ptr ss:[ebp+442E2F]
00FE10B0    8985 D8304400           mov dword ptr ss:[ebp+4430D8],eax
00FE10B6    6A 04                   push 4
00FE10B8    68 00100000             push 1000
00FE10BD    68 46050000             push 546
00FE10C2    6A 00                   push 0
00FE10C4    FF95 79294400           call dword ptr ss:[ebp+442979]
00FE10CA    8985 75294400           mov dword ptr ss:[ebp+442975],eax
00FE10D0    8D9D 452A4400           lea ebx,dword ptr ss:[ebp+442A45]
00FE10D6    50                      push eax
00FE10D7    53                      push ebx
00FE10D8    E8 74050000             call 00FE1651
00FE10DD    8BC8                    mov ecx,eax
00FE10DF    8DBD 452A4400           lea edi,dword ptr ss:[ebp+442A45]
00FE10E5    8BB5 75294400           mov esi,dword ptr ss:[ebp+442975]
00FE10EB    F3:A4                   rep movs byte ptr es:[edi],byte ptr d>
00FE10ED    8B85 75294400           mov eax,dword ptr ss:[ebp+442975]
00FE10F3    68 00800000             push 8000
00FE10F8    6A 00                   push 0
00FE10FA    50                      push eax
00FE10FB    FF95 7D294400           call dword ptr ss:[ebp+44297D]
00FE1101    8D0E                    lea ecx,dword ptr ds:[esi]
00FE1103    8551 2C                 test dword ptr ds:[ecx+2C],edx
00FE1106    44                      inc esp
00FE1107    07                      pop es
00FE1108    50                      push eax
00FE1109    C3                      retn

 

--------------------------------------------------------------------------------
【著作權聲明】 本文純屬技術交流, 轉載請註明作者並保持文章的完整, 謝謝!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.