| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 521 人关注过本帖
标题:请问这流程对吗
只看楼主 加入收藏
月下鸢尾
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-12-27
结帖率:0
收藏
 问题点数:0 回复次数:2 
请问这流程对吗

008A7D27 - 68 80000000   - Jmp MyFun1   //原来:push 00000080
008A7D2C - E8 3B9AB5FF   - call 0040176C

____________________________________________________________________________
程序代码:
viod MyFun1()
{
    Code
    Code
    Code
    Code
    MyFun2()
}

viod MyFun2()
{
    __asm
    {
        push 00000080
        Jmp 008A7D2C
    }
}
2016-01-05 02:06
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
是不是应该是void?
2016-01-05 08:10
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
应该不对,call myfun2指令没有释放入栈的地址,由于你是直接跳进myfun1的,也应该在myfun1中直接跳出,即不执行myfun1的ret指令,修改如下:
viod MyFun1()
{
    Code
    Code
    Code
    Code
    MyFun2()
    Jmp 008A7D2C
}

viod MyFun2()
{
    __asm
    {
        push 00000080

    }
}

能编个毛线衣吗?
2016-01-05 08:24
快速回复:请问这流程对吗
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019954 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved