Chinaunix

标题: 学习debug的时候也用机器码编个Hello,world [打印本页]

作者: mlmyf    时间: 2007-01-19 15:25
标题: 学习debug的时候也用机器码编个Hello,world
E100 B4 02 B2 40 CD 21 B4 02 B2 48 CD 21 B4 02 B2 65 CD 21
E112 B4 02 B2 6C CD 21 B4 02 B2 6C CD 21 B4 02 B2 6F CD 21
E124 B4 02 B2 2C CD 21 B4 02 B2 57 CD 21 B4 02 B2 6F CD 21
E136 B4 02 B2 72 CD 21 B4 02 B2 6C CD 21 B4 02 B2 64 CD 21
E148 B4 02 B2 40 CD 21 CD 20
G
在dos下输入debug把,上面代码复制到debug程序里面,回车就打出@Hello,world@字样了。高手们也可以加上几行做成exe文件或com文件
『声明』呵呵,其实这个程序很烂,我还不会用循环指令,代码长了,请高手不要见笑,要嘴下留情,不是为了显摆,纯是为了提高学习兴趣,抛出一块砖。

[ 本帖最后由 mlmyf 于 2007-1-19 15:32 编辑 ]
作者: bleem1998    时间: 2007-01-19 15:47
把汇编也打出来看看嘛
作者: sl_stanley    时间: 2007-01-19 16:02
-_-!!!
够晕的........debug直接看不就可以了
作者: mlmyf    时间: 2007-01-19 16:11
在debug下直接反汇编就知道了是什么了
作者: nnnqpnnn    时间: 2007-01-19 17:01
没有debug怎么办?不是x86怎么办?
作者: nully    时间: 2007-01-19 23:09
GNU 牌的 Debug行不?
作者: mlmyf    时间: 2007-01-21 11:59
只要是x86就行,只要你有办法把这些代码加载到内存就行,只要你有办法运行那段内存的程序就行!
作者: mlmyf    时间: 2007-01-24 15:21
我自己也来顶一下
作者: onubuntu    时间: 2010-12-15 08:47
回复 1# mlmyf


    [attach]419530[/attach]
先把代码粘贴到debug中
[attach]419531[/attach]
[attach]419532[/attach]
如上两图
输入 n d:\helloworld.com 用 字符化  
然后输入 r cx   意思是 用cx寄存器来存储 要写入 d:\helloworld.com的字节数  r 是 往寄存器中写 数据的意思
然后回车  出现 第三幅图,意思是要你输入cx的输入,你可以数一下从地址100h(十六进制) 到最后一行是以148开始,你可以数一下 最后一行第一个数是148 第二个是149 一直到最后一个就是15e
总共 有5e个字符
然后 输入w 命令 写入文件的意思
然后你就可以到d盘找到 helloworld.com了


能告诉我怎么学 机器码吗 ,谢谢
作者: hellioncu    时间: 2010-12-15 09:01
还用机器码{:3_182:}
作者: davelv    时间: 2010-12-15 09:02
回复 9# onubuntu
学机器码?找intel的指令手册  背诵即可。
作者: cores_cu    时间: 2010-12-15 09:18

还真像使用 01 写出个操作系统来呀。。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2