飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4000|回复: 12

为什么我只在内存里面看到了push命令,没有看到pop命令?

[复制链接]

该用户从未签到

发表于 2005-6-14 21:46:12 | 显示全部楼层 |阅读模式
为什么我只在内存里面看到了push命令,没有看到pop命令?
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-1-6 12:21
  • 签到天数: 90 天

    [LV.6]常住居民II

    发表于 2005-6-16 06:46:19 | 显示全部楼层
    你没有看到?不可能吧,除非程序用汇编写的,并且很有赖性的把所有的POP命令修改成具有同等作用的多句命令代码,但我想这几乎是不可能的,因为这没有什么作用阿!
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2005-6-16 15:31:08 | 显示全部楼层
    在od里面,确实没有看到pop呀!
    做了好多crackme,就是没有看到pop呀!
    你不信呀!
    所以我分析程序时感到很茫然!不知道怎么下手!
    还有就是call的入口参数我也看不出来!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-1-6 12:21
  • 签到天数: 90 天

    [LV.6]常住居民II

    发表于 2005-6-17 12:01:06 | 显示全部楼层
    不是吧!
    call 的参数可以是压入堆栈中的东西,也可以是寄存器里面的数据。一般在调用的前面,在OD里面可以显示部分API和VC的参数
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-1-6 12:21
  • 签到天数: 90 天

    [LV.6]常住居民II

    发表于 2005-6-17 12:05:02 | 显示全部楼层
    有没有POP你现在没有必要去琢磨!SP是可调整的。如果不需要从堆栈中返回数据和平衡的话就不会出现拉
    你做过这个板块的CRACKME没有?

    [ Last edited by 东方青石 on 2005-6-17 at 12:27 PM ]
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2005-6-17 15:19:46 | 显示全部楼层
    堆栈这个东东实在是搞不懂!
    那就贴上些代码!pyg新手入会的crackme的片断!

    0040847A    .  51                push ecx
    0040847B    .  8D85 04FFFFFF     lea eax,dword ptr ss:[ebp-FC]
    00408481    .  52                push edx
    00408482    .  50                push eax
    00408483    .  8D8D 14FFFFFF     lea ecx,dword ptr ss:[ebp-EC]
    00408489    .  6A 40             push 40
    0040848B    .  51                push ecx
    0040848C    .  FF15 34104000     call dword ptr ds:[<&MSVBVM60.#595>;  MSVBVM60.rtcMsgBox
    00408492    .  8D95 E4FEFFFF     lea edx,dword ptr ss:[ebp-11C]
    00408498    .  8D85 F4FEFFFF     lea eax,dword ptr ss:[ebp-10C]
    0040849E    .  52                push edx
    0040849F    .  8D8D 04FFFFFF     lea ecx,dword ptr ss:[ebp-FC]
    004084A5    .  50                push eax
    004084A6    .  8D95 14FFFFFF     lea edx,dword ptr ss:[ebp-EC]
    004084AC    .  51                push ecx
    004084AD    .  52                push edx

    都是push,就没有pop!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-1-6 12:21
  • 签到天数: 90 天

    [LV.6]常住居民II

    发表于 2005-6-21 20:32:57 | 显示全部楼层
    因为它不需要用堆栈传回数据阿!是不是?
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2005-6-22 00:53:08 | 显示全部楼层
    那么看来,在这里堆栈的作用只是用来传送数据了!
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2005-6-22 00:54:55 | 显示全部楼层
    要是有CAll前面出现的话,只是给CALL传递参数了!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-1-6 12:21
  • 签到天数: 90 天

    [LV.6]常住居民II

    发表于 2005-6-22 06:30:19 | 显示全部楼层
    但也可能是为了保护寄存器中的数据!不全是作为参数的,要注意!
    作为保护的话,就会有POP了
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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