| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4822 人关注过本帖
标题:用汇编写的代码OD打开以后多了很多东西,找不到原程序代码
取消只看楼主 加入收藏
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
结帖率:91.43%
收藏
已结贴  问题点数:20 回复次数:4 
用汇编写的代码OD打开以后多了很多东西,找不到原程序代码
源码如下:
程序代码:
DATA SEGMENT
    BUF DB 'HELLO WORLD!  THIS IS MY FIRST ASM FILE! $'
DATA ENDS

 
CODE SEGMENT
    ASSUME  CS:CODE,DS:DATA
START:   MOV AX,DATA
    MOV DS,AX
    LEA DX,BUF
    MOV AH,09
    INT 21H
    MOV AH,4CH
    INT 21H
CODE ENDS
END START


用IDA打开以后还正常,只是数据段和函数名有些东西变了,但是主体的代码段没变
但是用OD打开以后,多了很多函数,而且找不到INT 21h 的中断  
如图,图片依次为OD打开exe以后的起始位置、输出字符串的函数位置、输出字符串函数里的一个循环(该循环能循环很久很久,我调了很久一直在循环中,后来用自动步过,过了好久分钟以上,才停下来输出了字符串;该循环在每次返回上面之前所有寄存器的值都没有变过。)
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册


问题:用OD找不到代码段在哪里,整个里面也没有看到INT XX的中断语句,而是由很多的call。但是自己没有写,不明白为什么

link之后的exe:
3.rar (502 Bytes)
2015-01-15 09:54
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
表达有误,不是所有寄存器的值没有变,是每次循环以后的值和上一次的值一样
2015-01-15 09:56
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
回复 3楼 zklhp
知道了,谢谢。还有一个问题没有解决,就是中断。我怎么也找不着一个中断,是编译器把中断用其他方式表示出来了吗?
2015-01-15 14:39
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
回复 6楼 zklhp
谢谢。因为是刚开始接触汇编,从网上下的几十道代码挺适合的,但是没想到是16位的。
2015-01-15 17:02
lyl930130
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:323
专家分:111
注 册:2013-5-13
收藏
得分:0 
回复 8楼 wmf2014
看来我的教材已经被淘汰很久了。。。。要更新了
2015-01-15 21:53
快速回复:用汇编写的代码OD打开以后多了很多东西,找不到原程序代码
数据加载中...
 
   



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

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