首页
社区
课程
招聘
[讨论]怎样把控制符(0xd)输入到文本框?
发表于: 2011-5-14 11:40 21611

[讨论]怎样把控制符(0xd)输入到文本框?

2011-5-14 11:40
21611
看了密码区的这个贴:http://bbs.pediy.com/showthread.php?t=114578
表示鸭梨很大,其它先不管,这里我向各位请教请教,控制符真可以输入到文本框吗?当然,是输入到别人的程序.
我写了个小例子,大家试试吧?如果你能输入,请告诉小弟,小弟成分感谢!
PS:这里不讨论crackme,死马爆破呀,内存补丁呀,就不要来了
// 带回车的密码.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "stdio.h"
#include <iostream>
#include <wtypes.h>
using namespace std;
int main(int argc, char* argv[])
{
	BYTE password[]={0x31,0x30,0x31,0xd,0x31,0x32,0x30,0x31,0x00};
	char sn[10],*p;	
	p=(char*)password;
	cout<<"Input Password:";
	cin>>sn;
	MessageBox(NULL,p,NULL,NULL);//调试断点
	if (strcmp(p,sn))
	{
		cout<<"No!\n";
	}
	else
	{
		cout<<"Yse\n";
	}
	return 0;
}



[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 1149
活跃值: (833)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
2
alt +数值
不知道 你说的是不是我知道的...试试
2011-5-14 12:12
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
先新建一个txt,用C32asm写进0x0D,然后用记事本打开,全选,复制,粘贴就可以了
2011-5-14 13:11
0
雪    币: 1596
活跃值: (25)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
4
我也试过,但粘贴后,只有0x0d前面的字符!
2011-5-14 13:14
0
雪    币: 1149
活跃值: (833)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
5
       为什么 不试试....
上传的附件:
2011-5-14 14:15
0
雪    币: 1596
活跃值: (25)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
6
N为英文字母第14位,所以CTRL+N为输入14或0xE
---------------------------------------------------------
不好意思是我搞错了,应该把0xE改为0xD
BYTE password[]={0x31,0x30,0x31,0xd,0x31,0x32,0x30,0x31,0x00};
你的方法还是不行
2011-5-15 09:57
0
雪    币: 1596
活跃值: (25)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
7
ALT+13不行,相当于直接输入了回车!
2011-5-15 09:59
0
雪    币: 1149
活跃值: (833)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
8
我发现 有个地方我确实没发现....
ps:那进行输入两次,第一次将回车保留至数组,第二次继续存后面的...........
2011-5-15 14:49
0
雪    币: 1149
活跃值: (833)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
9
[QUOTE=柳州小林;958936]N为英文字母第14位,所以CTRL+N为输入14或0xE
---------------------------------------------------------
不好意思是我搞错了,应该把0xE改为0xD
BYTE password[]={0x31,0x30,0x31,0xd,0x...[/QUOTE]

2011-5-15 15:06
0
雪    币: 1596
活跃值: (25)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
10
第一次输入回车程序已经运行了,没第二次机会了.
--------------------------------------------------
再问问,WIN7下,WIN32控制台程序总是一闪过,不让你"Press any key to continue"
2011-5-15 18:03
0
雪    币: 214
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
恩,这个简单,system("pause") or _getch() or atexit()都可以对付丫的。
2011-6-9 07:18
0
雪    币: 429
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
楼主别想了,不可能做到的,控制符是可以输的没错,但是回车很特别,cin等输入函数都是以它做为结束符的,而且是以二进制码方式检测的,所以无论你是以什么方式输入了0x0D,它检测到此字符之后就会认为你输入结束了,就和字符串中以0x00来判断结束是一样的原理,你有办法在一个字符串的中间插入'\0',然后用一个strcpy将此字符串完整拷贝吗?
除非用内存补丁或是修改cin的原码才能办到的
2011-6-9 11:37
0
游客
登录 | 注册 方可回帖
返回
//