飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2219|回复: 3

pentacle的第3课作业(0928)~~飘云再来看看

[复制链接]
  • TA的每日心情
    擦汗
    2017-9-28 11:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2005-9-30 17:07:19 | 显示全部楼层 |阅读模式
    作业3
    学员:pentacle[PYG学员]
    壳:无
    目标:除去笑看人生(试用版)V2.01 的NAG~~及干净退出
    软件:OD、WinHex、W32Dasm
    思路:
    去除限制鼠标的NAG~~

    经过查看,为Delphi写的。按下鼠标就弹出NAG。
    我笨笨,不知道怎么下断(用MessageBoxA无效)。
    但我转过一下,我用MessageBoxA无效是不是可以通过鼠标的动作去想一下呢~~
    于是我用DEDE反编译了一下,从主窗口中找到了mouse的动作~~
    来到
    004B03E4  /.  55            PUSH EBP
    004B03E5  |.  8BEC          MOV EBP,ESP
    004B03E7  |.  84C9          TEST CL,CL
    004B03E9  |.  74 05         JE SHORT unpack.004B03F0                 ;  此处74改75
    004B03EB  |.  80F9 01       CMP CL,1
    004B03EE  |.  75 0B         JNZ SHORT unpack.004B03FB                ;  改为75改EB
    004B03F0  |>  8B80 80030000 MOV EAX,DWORD PTR DS:[EAX+380]
    004B03F6  |.  8B10          MOV EDX,DWORD PTR DS:[EAX]
    004B03F8  |.  FF52 30       CALL DWORD PTR DS:[EDX+30]
    004B03FB  |>  5D            POP EBP
    004B03FC  \.  C2 0C00       RETN 0C

    上面修改后就可以去除NAG窗口了~~
    用WinHex修改。找Offset 后面的那个地址
    004B03E9  @Offset 000AF7E9h  此处74改75
    004B03EE  @Offset 000AF7EEh  此处75改EB

    ===================================

    干净退出:
    004B0438   .  53            PUSH EBX
    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

    上面修改后就可以去除NAG窗口了~~
    用WinHex修改。找Offset 后面的那个地址
    004B0450  @Offset 000AF850h  此处改为NOP,也就是5个90。

    再看了一下别人的作业,看到飘云教师的评语,我想了这第二个方法:
    004B043B     /EB 1A         JMP SHORT unpack.004B0457

    //为什么是EB 1A? 是这样来的:004B0457-004B043D=1A,哈哈~~



    另存为unpack1.exe,这个软件的几个烦人的东西就没有了~~

    心得:今天做这个作业的最大体会就是当一条路行不通的时候可以走第二条路~~
    本作业的目的:找到NAG所并去除NAG,懂得如何使用WinHex修改软件。如果用OD下断点~~

    问题:1、为什么我这样修改会弹出一个声音~好像是警告音?<当用第二种方法时就没有这种声音了~>
    2、这个该如何下断,为什么我下MessageBoxA无效?

    [ Last edited by pentacle on 2005-9-30 at 09:31 PM ]
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2017-9-28 11:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

     楼主| 发表于 2005-9-30 18:14:17 | 显示全部楼层
    老实说~
    我做完这二课时候,教程才下载完,而且只有第3课知道密码~~
    所以也没有来得急看~~
    当时飘云的要求干净退出我也没有看明白。
    开始以为是要求去除点mouse时弹出的NAG,
    做完后想想,搞得完美点吧,便顺便把弹出的网页做点。
    因为这是第一次。所以只知道用NOP可以做了、
    交完作业后看飘云的给别人的评语才次。还可以用跳的方法。
    所以我又重做了一下~
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-12-1 11:04
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2005-9-30 20:39:43 | 显示全部楼层

    答你的问题

    如果代码改对了就不会有警告音

    因为是弹出网页。所以用MessageBoxA 无效,

    需用 ShellExecuteA 函数
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2017-9-28 11:05
  • 签到天数: 3 天

    [LV.2]偶尔看看I

     楼主| 发表于 2005-9-30 21:14:42 | 显示全部楼层
    Originally posted by 飘云 at 2005-9-30 08:39 PM:
    如果代码改对了就不会有警告音

    因为是弹出网页。所以用MessageBoxA 无效,

    需用 ShellExecuteA 函数

    唉,看来你是很忙啊~
    没有仔细看我写的啊~~
    我的意思是在去除NAG窗口时的下断的方法啊~~
    在测算这页,还有一个NAG窗口呢~~
    一按mouse就弹出来~~
    我就不知道怎么下这个地方的断点啊~~

    PS:下mouse动作,我应该在哪个API上下断~~
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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