飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 1168|回复: 0

第三课作业

[复制链接]

该用户从未签到

发表于 2006-1-5 19:12:32 | 显示全部楼层 |阅读模式
【破文标题】作业
【破文作者】Iceman
【作者邮箱】9icrack@gmail.com
破解工具】OD、PEID
【破解平台】XP sp2

------------------------------------------------------------------------
一、练习

1、查壳 Microsoft Visual Basic 5.0 / 6.0 无壳

2、载入OD

命令行运行 bp rtcMsgBox,运行

第一个NAG

73472F29 M>  55              push ebp             //停在这
73472F2A     8BEC            mov ebp,esp
73472F2C     83EC 4C         sub esp,4C

Alt+F9 执行到用户代码

00402503     8D4D AC         lea ecx,dword ptr ss:[ebp-54]  //来到这里,往上看,找程序开始处

来到这
00402450     55              push ebp        //程序开始处。
00402451     8BEC            mov ebp,esp
00402453     83EC 0C         sub esp,0C

找到返回处
00402544     C3              retn

把00402450 处 push ebp 改为 jmp 402544

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

第二个NAG

点关闭CRACKME

又一次中断下来
73472F29 M>  55              push ebp              //停在在
73472F2A     8BEC            mov ebp,esp
73472F2C     83EC 4C         sub esp,4C


Alt+F9 执行到用户代码

00402623     8D4D AC         lea ecx,dword ptr ss:[ebp-54]


把 00402570 处  push ebp 改为 jmp 402664

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

保存修改后的文件,试运行,NAG全部不见




------------------------------------------------------------------------
二、作业

载入OD

查找字符串 "http://5green.nease.net"

双击它,来到

004B0441      68 60044B00       push unpack.004B0460                               ; ASCII "http://5green.nease.net"       //停在这
004B0446      6A 00             push 0
004B0448      8BC3              mov eax,ebx
004B044A      E8 6D3EF9FF       call unpack.004442BC
004B044F      50                push eax
004B0450      E8 3331F8FF       call <jmp.&shell32.ShellExecuteA>             //下断点,运行到这里后,F7进入
004B0455      8BC3              mov eax,ebx
004B0457      E8 649DFAFF       call unpack.0045A1C0
004B045C      5B                pop ebx
004B045D      C3                retn                                                                  


F7进入

00433588    - FF25 0C784B00     jmp dword ptr ds:[<&shell32.ShellExecuteA>]        ; shell32.ShellExecuteA         
0043358E      8BC0              mov eax,eax
00433590      55                push ebp
00433591      8BEC              mov ebp,esp
00433593      33C0              xor eax,eax
00433595      55                push ebp
00433596      68 B5354300       push unpack.004335B5
0043359B      64:FF30           push dword ptr fs:[eax]
0043359E      64:8920           mov dword ptr fs:[eax],esp
004335A1      FF05 206B4B00     inc dword ptr ds:[4B6B20]
004335A7      33C0              xor eax,eax
004335A9      5A                pop edx
004335AA      59                pop ecx
004335AB      59                pop ecx
004335AC      64:8910           mov dword ptr fs:[eax],edx
004335AF      68 BC354300       push unpack.004335BC
004335B4      C3                retn

F7 CALL中,按F8,来到这时,打开IE,浏览那个网页
7D610EE4      E8 6CFCFFFF       call shell32.ShellExecuteExA

F8单步走,最后返回到
004B0455      8BC3              mov eax,ebx   

因此,让00433588处直接跳到F7 CALL中的那个返回,就能解决弹出网页

把 00433588  处的  jmp dword ptr ds:[<&shell32.ShellExecuteA>]   改为 jmp  4335B4

保存后,运行,退出时,不再弹出网页



这个软件利用了“ShellExecuteA”函数,不知道这个函数除了这种打开网页外,还有没有别的作用。系统函数实在是太多了,只能慢慢积累

------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!

[ 本帖最后由 Iceman 于 2006-1-6 14:00 编辑 ]
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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