飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 1433|回复: 2

作业三

[复制链接]

该用户从未签到

发表于 2006-1-8 11:32:03 | 显示全部楼层 |阅读模式
【破文标题】作业三
【破文作者】520531546
【作者邮箱】w.yx@msn.com
【作者主页】无
破解工具】PEID/OD
【破解平台】winXP
【软件名称】笑看人生(试用版)V2.01

【软件大小】1.23M
【原版下载】
【保护方式】无
【软件简介】
------------------------------------------------------------------------
用PEID查壳为Borland Delphi 6.0 - 7.0,无壳!试用软件,退出时弹出网页 http://5green.nease.net
OD载入,右键-搜索-字符参考-搜索文本,输入http://5green.nease.net,找到后双击,

004B0438      53            PUSH EBX=====================双击修改为jmp 004b45d
004B0439      8BD8          MOV EBX,EAX
004B043B   .  6A 01         PUSH 1
004B043D   .  6A 00         PUSH 0
004B043F   .  6A 00         PUSH 0
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>        ; \ShellExecuteA
004B0455   .  8BC3          MOV EAX,EBX
004B0457   .  E8 649DFAFF   CALL unpack.0045A1C0
004B045C   .  5B            POP EBX
004B045D   .  C3            RETN



一、把004B0438      53            PUSH EBX 修改为004B0438     /EB 23         JMP SHORT unpack.004B045D
保存文件。打开程序,退出程序时,没有弹出网页。
奇怪的是,我再重新操作一遍的时候,打开程序,退出时,点“退出”为何没有反映的? 难道我用的方法不对?

二、004B0450   .  E8 3331F8FF   CALL <JMP.&shell32.ShellExecuteA>        ; \ShellExecuteA  ==== 把这里改为nop
保存文件,退出程序时,会弹出错误对话框!


三、把代码开始处004B0438      53            PUSH EBX修改为004B0438     /EB 1D         JMP SHORT unpack.004B0457

保存文件,打开程序,正常退出。

[ 本帖最后由 520531546 于 2006-1-8 12:40 编辑 ]
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2006-1-8 12:11:37 | 显示全部楼层
练习
用bp rtcMsgBox拦截,F9运行,提示这里0012FA54   00402503  返回到 3课.00402503 来自 MSVBVM60.rtcMsgBox  反汇编窗口中跟随  把此处004024FD      FF15 18104000 CALL DWORD PTR DS:[<&MSVBVM60.#595>]     ;  MSVBVM60.rtcMsgBox  修改为nop
保存文件,打开,第一个nag没有了。 再OD载入修改后的文件,再用用bp rtcMsgBox拦截,运行,退出,提示0012F470   00402623  返回到 1.00402623 来自 MSVBVM60.rtcMsgBox
右键反汇编窗口中跟随  把0040261D   .  FF15 18104000 CALL DWORD PTR DS:[<&MSVBVM60.#595>]     ;  MSVBVM60.rtcMsgBox

修改为nop
退出,运行程序,成功。。2个nag全没有了。。还有点疑问,为什么有时候保存文件,提示没有修改?

有一个问题,我知道代码的结束处为retn 开始处为push 那怎么找这段代码的开始处? 向上找上一个代码的结束处retn?
还有,同样的操作,为什么多次处理后的结果不同? 有时正常,有时弹出错误对话框,,有时没反映。。

[ 本帖最后由 520531546 于 2006-1-8 12:51 编辑 ]
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-12-17 14:52
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2006-1-9 15:34:20 | 显示全部楼层
    原帖由 520531546 于 2006-1-8 12:11 发表
    练习
    用bp rtcMsgBox拦截,F9运行,提示这里0012FA54   00402503  返回到 3课.00402503 来自 MSVBVM60.rtcMsgBox  反汇编窗口中跟随  把此处004024FD      FF15 18104000 CALL DWORD PTR DS:[<&MSVBVM60. ...



    因为你修改那处CALL时,OD自动就跳到了下一条语句,如果不注意直接就保存,当然提示没有修改
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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