首页
社区
课程
招聘
今天重装了系统,写了一个控制台程序,先是无法输出,然后OD调试不了,怪了.
发表于: 2009-5-20 15:39 6007

今天重装了系统,写了一个控制台程序,先是无法输出,然后OD调试不了,怪了.

2009-5-20 15:39
6007
今天重装了系统,写了一个控制台程序,先是无法输出,然后OD调试不了,怪了.
难道是我昨天中了一个 pinf 病毒的问题,但是我已经在安全模式下全盘杀毒,然后重装的系统,系统是 XP SP3.
太奇怪了,大家看图



就是这么个简单输出一段字符串,用的是 TC2 和 TC3 编译器,都是这样,更怪的是有时候,也能显示出来,大概运行十次能有三次显示出来文字.
用 VC6 显示是正常的,也不太可能是 TC 编译器的问题,因为没装系统之前,我就一直用 TC 编译,没出现过这个问题.

哪位大侠碰到过这个问题,给解答一下吧.



下面这个是有问题的EXE
NONAME1.rar

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 340
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
编译器给被感染了? 我以前的masm就被感染过,当时好像生成了奇怪的程序
2009-5-20 15:41
0
雪    币: 340
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
话说这两天论坛更新越来越慢了.....
2009-5-20 15:47
0
雪    币: 251
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我已经把备份的TC编译器换上了,一样的结果.
2009-5-20 15:48
0
雪    币: 340
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
发上来看看
2009-5-20 15:52
0
雪    币: 360
活跃值: (82)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
6
......
2009-5-20 15:54
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
中毒不浅
2009-5-20 15:57
0
雪    币: 93
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
在运行处输入command,然后再这个command窗口中运行编译后的程序,理论上看到结果的可能性大一些。因为CMD是虚拟DOS地,偶尔输入输出有点毛病也情有可原嘛。OD不能调试TC编译出的程序很正常,16位的东西最好用16位专用的调试器。最好是装个虚拟机Win98下玩TC,绝对不会出现此问题。
2009-5-20 16:26
0
雪    币: 462
活跃值: (53)
能力值: ( LV9,RANK:460 )
在线值:
发帖
回帖
粉丝
9
你写的明明是dos程序,非要说是控制台程序。甚至还用OD打开16位程序
2009-5-20 16:27
0
雪    币: 53
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
强悍
2009-5-20 16:42
0
雪    币: 251
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我习惯上把 MS DOS 下运行的行序叫 控制台程序,各位大侠见笑了.

刚才又试了一下,更奇怪的事情又发生了, 我手动再 开始 -> 运行 -> cmd -> MS DOS 中用 TC 命令行编译(用的TC2编译器),又正常了,OD 也能调式了.

以前编译我用的是以前写的"批处理命令"编译的,然后用批处理调用TC3的编译器,生成的程序,还是有问题,OD也不能调式,而TC2的可以,因为TC2 先是手动到命令行下编译的,再用批处理编译也正常了.
难道重装系统后,需要先手动在命令行下编译一下,才可以吗? 这是什么毛病.
2009-5-20 17:14
0
雪    币: 93
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
个人建议玩TC还是在虚拟的win98下玩比较好。如果是64位的系统的话就会直接拒绝TC运行。由于年代久远,有点不兼容也是很正常的,不必太在意具体的原因。即使能用OD在XP下调试,一开始的反汇编代码肯定是在CMD虚拟机中转的,个人感觉在XP下调试DOS程序不太利于逆向学习,或者直接用VC编译器编译成32位的研究也是不错的选择。

个人意见仅供参考.
2009-5-20 17:26
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
13
dos程序,在nt架构下,是由ntvdm来运行的,一个dos程序运行的时候,你能够在任务管理器中找到一个叫ntvdm.exe的东西。而控制台程序是能直接被运行的
2009-5-20 18:12
0
游客
登录 | 注册 方可回帖
返回
//