飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 6189|回复: 11

【教学】Windows编程课程之Crack-Me 第一课 练习题

  [复制链接]
  • TA的每日心情
    慵懒
    2019-3-12 17:25
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2010-9-20 21:40:11 | 显示全部楼层 |阅读模式
    本帖最后由 whypro 于 2010-9-23 13:51 编辑

    1.反汇编MessageBox的参数,获得不同的输出。

    就是通过od修改MessageBox的参数,弹出不同的对话框

    2.在winmain下利用文件操作API完成文件读写工作:
    HANDLE CreateFile (
       LPCTSTR lpName,
       DWORD dwAccess,
       DWORD dwShareMode,
       LPSECURITY_ATTRIBUTES lpSecurityAttributes,
       DWORD dwCreate,
       DWORD dwAttrsAndFlags,
       HANDLE hTemplateFile)

    BOOL ReadFile (
       HANDLE hFile,
       LPVOID lpBuffer,
       DWORD nNumberOfBytesToRead,
       LPDWORD lpNumberOfBytesRead,
       LPOVERLAPPED lpOverlapped)

    BOOL WriteFile (
       HANDLE hFile,
       LPCVOID lpBuffer,
       DWORD nNumberOfBytesToWrite,
       LPDWORD lpNumberOfBytesWritten,
       LPOVERLAPPED lpOverlapped)

    主要是让大家熟悉API是如何互相配合来完成一项工作的。
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2020-2-22 19:39
  • 签到天数: 114 天

    [LV.6]常住居民II

    发表于 2010-9-20 22:26:36 | 显示全部楼层
    占位交作业了
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2024-1-15 22:57
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2010-9-20 23:18:29 | 显示全部楼层
    占位交作业了
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-9-20 23:24:34 | 显示全部楼层
    本帖最后由 Bker 于 2010-9-20 23:26 编辑

    00401010 >|> \55               push    ebp                           ;  (initial cpu selection)
    00401011  |.  8BEC             mov     ebp, esp
    00401013  |.  83EC 40          sub     esp, 40
    00401016  |.  53               push    ebx
    00401017  |.  56               push    esi
    00401018  |.  57               push    edi
    00401019  |.  8D7D C0          lea     edi, dword ptr [ebp-40]
    0040101C  |.  B9 10000000      mov     ecx, 10
    00401021  |.  B8 CCCCCCCC      mov     eax, CCCCCCCC
    00401026  |.  F3:AB            rep     stos dword ptr es:[edi]
    00401028  |.  8BF4             mov     esi, esp
    0040102A  |.  6A 00            push    0                             ; /Style = MB_OK|MB_APPLMODAL
    0040102C      68 1C204200      push    0042201C;和下一句调换的代码                      ;  hellomsg
    00401031      68 34204200      push    00422034;和上一句调换的代码                      ;  hello, windows 98!
    00401036  |.  6A 00            push    0                             ; |hOwner = NULL
    00401038  |.  FF15 ACA24200    call    dword ptr [<&USER32.MessageBo>; \MessageBoxA
    0040103E  |.  3BF4             cmp     esi, esp
    00401040  |.  E8 3B000000      call    _chkesp
    00401045  |.  33C0             xor     eax, eax
    00401047  |.  5F               pop     edi
    00401048  |.  5E               pop     esi
    00401049  |.  5B               pop     ebx
    0040104A  |.  83C4 40          add     esp, 40
    0040104D  |.  3BEC             cmp     ebp, esp
    0040104F  |.  E8 2C000000      call    _chkesp
    00401054  |.  8BE5             mov     esp, ebp
    00401056  |.  5D               pop     ebp
    00401057  \.  C2 1000          retn    10
    虽然输出的结果不同,但是没有达到题目的要求,就是简单的上下互换了代码。等待最佳答案!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-9-20 23:37:56 | 显示全部楼层
    交作业了,O(∩_∩)O~
    在附件中!!! 001.rar (26.59 KB, 下载次数: 10)
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-9-21 07:57:50 | 显示全部楼层
    第一次作业提交。。。。。。

    ngm20第一次作业.rar

    207.87 KB, 下载次数: 3, 下载积分: 飘云币 -2 枚

    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-9-21 18:03:06 | 显示全部楼层
    0040102A  |.  6A 00            push    0                             ; /Style = MB_OK|MB_APPLMODAL
    0040102C      68 1C204200      push    0042201C;和下一句调换的代码                      ;  hellomsg
    00401031      68 34204200      push    00422034;和上一句调换的代码                      ;  hello, windows 98!
    00401036  |.  6A 00            push    0                             ; |hOwner = NULL
    00401038  |.  FF15 ACA24200    call    dword ptr [<&USER32.MessageBo>; \MessageBoxA



    应该所指的是 0040102A  |.  6A 00            push    0   这里吧

    讲SDK的话 还是老罗那本比较详细
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2019-3-12 17:25
  • 签到天数: 3 天

    [LV.2]偶尔看看I

     楼主| 发表于 2010-9-21 18:30:19 | 显示全部楼层
    谢谢n大支持!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-9-22 09:56:31 | 显示全部楼层
    回复 7# Nisy


        就是那两句互换,谢N大关注!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-9-24 13:25:14 | 显示全部楼层
    本帖最后由 whypro 于 2010-9-24 18:47 编辑

    我先占个位置~~等一会交作业。。。。(用VS2010做)
    先交第一部分作业
    第一节课第一部分.rar (60.36 KB, 下载次数: 0)
    1. 004113AE    8BF4            MOV ESI,ESP
    2. 004113B0    6A 00           PUSH 0
    3. 004113B2    68 44574100     PUSH WinMain.00415744
    4. 004113B7    68 3C574100     PUSH WinMain.0041573C
    5. 004113BC    6A 00           PUSH 0
    6. 004113BE    FF15 38834100   CALL DWORD PTR DS:[<&USER32.MessageBoxW>>; USER32.MessageBoxW
    7. 004113C4    3BF4            CMP ESI,ESP
    8. 004113C6    E8 66FDFFFF     CALL WinMain.00411131
    9. 004113CB    5F              POP EDI
    10. 004113CC    5E              POP ESI
    11. 修改:
    12. 004113A7    B8 CCCCCCCC     MOV EAX,CCCCCCCC
    13. 004113AC    F3:AB           REP STOS DWORD PTR ES:[EDI]
    14. 004113AE    8BF4            MOV ESI,ESP
    15. 004113B0    6A 32           PUSH 32              //改这个
    16. 004113B2    68 3C574100     PUSH WinMain.0041573C  //交换下面和本身
    17. 004113B7    68 44574100     PUSH WinMain.00415744
    18. 004113BC    6A 00           PUSH 0
    19. 004113BE    FF15 38834100   CALL DWORD PTR DS:[<&USER32.MessageBoxW>>; USER32.MessageBoxW
    20. 004113C4    3BF4            CMP ESI,ESP
    21. 004113C6    E8 66FDFFFF     CALL WinMain.00411131
    22. 004113CB    5F              POP EDI
    23. 004113CC    5E              POP ESI
    24. 004113CD    5B              POP EBX
    25. 004113CE    81C4 C0000000   ADD ESP,0C0

    复制代码
    未命名.jpg
    Q  不知道,内容如何更换·~~嘿嘿·
    A  改地址里的内容
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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