Game Dev/Binary

Float의 메모리 내용을 Float 값으로 변환하기

AKer 2011. 3. 30. 12:27
반응형
OllyDbg 등 외부 디버거로 테스트 할 때 메모리가 어떤 값에서 어떤 값으로 변했는지 알기가 힘들어서 급하게 발코딩 했음...

		printf("Input Float's 4Bytes(=8Chars) Memory in Hex\n");
		printf("ex) 0010FA42\n\n\t");

		char mem[12] = {0};
		scanf(
				"%c%c%c%c%c%c%c%c",
				mem+0, mem+1,
				mem+3, mem+4,
				mem+6, mem+7,
				mem+9, mem+10
			);

		char num[4] = {0};
		for (int i = 0; i < 4; ++i)
		{
			num[i] = (char)strtoul(mem+(i*3), NULL, 16);
		}
		
		float f = 0.0f;
		memcpy(&f, num, sizeof(float));

		printf(
				"\n\tInput Mem [%s %s %s %s] is Float [%f]\n\n\n\n",
				mem, mem+3, mem+6, mem+9, f
			);

		gets(mem); // Eat Line Feed


반응형

'Game Dev > Binary' 카테고리의 다른 글

DLL Injector  (0) 2011.07.06
Batman Arkham Asylum Shader  (0) 2009.10.11
PC 사양 체크하기  (1) 2009.09.25
유용한 Install Wizard App  (0) 2009.04.22