飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2107|回复: 1

交第三课作业!

[复制链接]

该用户从未签到

发表于 2005-9-30 17:16:05 | 显示全部楼层 |阅读模式
破解作者】西岭秋风
【作者邮箱】[email protected]
【破解平台】windows XP
【软件名称】笑看人生(试用版)V2.01
【软件大小】1.23M
【加壳方式】无壳   
【破解工具】PEiD0.93、flyOD1.10
【破解目的】干净退出程序-------学习破解。
【破解声明】我乃一只小菜鸟,偶得一点心得,愿与大家分享

【破解内容】

查壳为Borland Delphi 6.0 - 7.0,无壳
退出时软件会打开网页 http://5green.nease.net

方法一:
OD载入,Find ASCII,查找“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                         ; |hWnd
004B0450       E8 3331F8FF       call <jmp.&shell32.ShellExecuteA> ; <=========此处下断
004B0455    .  8BC3              mov eax,ebx
004B0457    .  E8 649DFAFF       call unpack.0045A1C0
004B045C    .  5B                pop ebx
004B045D    .  C3                retn

运行——点“退出”中断在004B0450处


F7进入004B0450的CALL来到:

00433588    $- FF25 0C784B00  jmp dword ptr ds:[<&shell32.ShellEx>;  shell32.ShellExecuteA

<===改为 jmp 004335B4
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   

此修改直接跳过调用弹出网页的程序,软件顺利退出!

方法二:
OD载入,Find ASCII,查找“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> <====NOP掉
004B0455    .  8BC3              mov eax,ebx
004B0457    .  E8 649DFAFF       call unpack.0045A1C0
004B045C    .  5B                pop ebx
004B045D    .  C3                retn
=============================================================================
【破文标题】PYG学员作业三

用老大的教程步骤在命令行下断点;bp rtcMsgBox,用改法二将开始的NAG窗口去掉了,生成新文件"3课1"
再用OD载入"3课1" 命令行下断点;bp rtcMsgBox
F9运行程序,点击关闭按钮中断在660DC5F3处,在堆栈处出现以下代码:

0012F3D0   00402623   返回到 3课1.00402623 来自 MSVBVM60.rtcMsgBox   <===点右键--"在反汇编窗口跟随"
0012F3D4   0012F46C
0012F3D8   00000040
0012F3DC   0012F45C
0012F3E0   0012F44C

来到:
0040260B      8D45 AC           lea eax,dword ptr ss:[ebp-54]
0040260E      8D4D BC           lea ecx,dword ptr ss:[ebp-44]
00402611      50                push eax
00402612      8D55 CC           lea edx,dword ptr ss:[ebp-34]
00402615      51                push ecx
00402616      52                push edx
00402617      8D45 DC           lea eax,dword ptr ss:[ebp-24]
0040261A      6A 40             push 40
0040261C      50                push eax
0040261D      FF15 18104000     call dword ptr ds:[<&MSVBVM60.#595>>; MSVBVM60.rtcMsgBox

向上找到此段开始处:
00402570      55                push ebp <==改为: jmp 402664
使其直接跳到此段结束处,跳过调用NAG窗口.

==============================================================================
命令行下断方式,怎么知道在哪个情况下该用哪样的命令呢?很是不明白,请多多指教!

[ Last edited by 西岭秋风 on 2005-9-30 at 05:17 PM ]
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-12-1 11:04
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2005-9-30 20:42:18 | 显示全部楼层
    恩~~ 要善于用跳转语句。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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