首页 > 缓冲区溢出 > ISCC2011基础关-小明的程序

ISCC2011基础关-小明的程序

题目描述:
一年级的小明编写生成了一个小程序用来保存很少用但又怕忘记的博客密码,同时为了防止别人轻易获得,他“隐藏”了密码,需要时只需通过简单的溢出就能重获密码,小明的程序和一段残缺的调用代码都在附件里,你能获得密码吗?
附上小明的程序的“部分代码”,帮助你补写出完整的调用代码:

void Function1(void) ;
void Function2(void) ;
typedef void (*PF)(void) ;
int main(int argc, char *argv[])
{
	PF pf ;
	char buffer[4] = {0} ;
	pf = (PF) Function1 ;
	printf("The address of Function1 is: 0x%08x\n", Function1) ;
	printf("The address of Function2 is: 0x%08x\n", Function2) ;
	if(argc > 1) memcpy(buffer, argv[1], 10) ;
	printf("pf = 0x%08x\n", pf) ;
	pf() ;
	return 0 ;
}

解题方法:忘了当时候是怎么做的了。题目意思是要写一段shellcode,把密码搞出来。不过现在我直接用OllyDbg逆向一下,就看到密码了。
答案:bit090561

OllyDbg调试得到密码


觉得文章还不错?点击此处对作者进行打赏!


本文地址: 程序人生 >> ISCC2011基础关-小明的程序
作者:代码疯子(Wins0n) 本站内容如无声明均属原创,转载请保留作者信息与原文链接,谢谢!


更多



  1. 本文目前尚无任何评论.