전체 : 4,150,784 명
어제 : 0 명
오늘 : 0 명

C언어에서 포인터 이용한 간단한 암호 ~

쫭구 | 2009.11.11 05:01 | 조회 9376

아시는지 모르겠지만 한번 올려 봅니다.

제가 C언어의 포인터에 대해서 상당한 매력을 가지고 있어요 ~ 그래서 여러가지 작업을 하다보니

아래의 결과가 나왔습니다.


....

DWORD nVal = 123456789;

double dVal;


dVal = *((double*)(&nVal));    //.2.6414349576398e-308

nVal = *((DWORD*)(&dVal));    //.123456789

...    ...


한번 해보세요 ~


암호라기보다는 기교라고 할지 ... 어쨋든 잘 모르겠어요 ~~~

이것도 자료가 되는지 ...

:)

twitter facebook me2day 요즘
흐음...직접 어떻게 되는지 분석은 않해봤지만 코드로 봐서는 처음에 i..

흐음...직접 어떻게 되는지 분석은 않해봤지만 코드로 봐서는

처음에 int형 변수의 주소값을 다시 가리킬땐 그 주소로부터 4바이트만 참조해서 값을 입력받게 됩니다.

하지만 double*로 바꿔주었으므로 아마 참조를 하게 된다면 8바이트를 참조하게 되겠죠.. 4바이트까진 123456789가 들어있지만 그 아래 4바이트엔 모르는 값이 들어있으므로 결국 dVal에 들어가는 값을 알지못하는 쓰레기 값이 들어가게 되는 것이죠.

그 아랫줄은 그 주소를 가지고 다시 4바이트만큼만 참조하게 만들어서 다시 123456789만 뽑아내는 것 인거 같습니다 ^^;

실제로 dVal 변수에 들어있는 값을 보니 4바이트 = 123456789 , 4바이트 = 쓰레기 값 이렇게 들어있군요..^^;

해당 변수 값 전체(8byte)를 본다면 무슨 값인지 모르겠지만 디버거로 메모리를 보게 된다면 123456789가 바로 보여버리겠군요..

님 말씀대로 암호화라기 보다는... 기교가 맞겠네요 -.-;;

11.12 21:29 | Ezbeat님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
의외로.. 괜찮다.. 랄까요..?!

의외로.. 괜찮다.. 랄까요..?!

11.15 20:14 | Avanzar님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
Ezbeat 님 코드분석이 괜찮네요 ~ 앞으로 많이 부탁드려요 ~

Ezbeat 님 코드분석이 괜찮네요 ~

앞으로 많이 부탁드려요 ~

11.16 03:59 | 쫭구님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
일반적으로 배우는것들만 배우다가 신세계같은곳을 접하네요 ..

일반적으로 배우는것들만 배우다가 신세계같은곳을 접하네요 ..

12.26 17:30 | 세종대마왕님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
굳이 포인터로 해야되나요?? ;; 잘은 모르지만 포인터로 말고 그대로..

굳이 포인터로 해야되나요?? ;;

잘은 모르지만

포인터로 말고 그대로 변수의 값을 대입해도 될것같은데;;

01.09 09:37 | 다크웨인님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
암호학 이군요..

암호학 이군요..

02.14 15:27 | 피닉스님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
으악.. 포인터는 언제 봐도 어렵군여 ㅠ

으악.. 포인터는 언제 봐도 어렵군여 ㅠ

12.11 17:09 | 겨울섬님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
헤롱헤롱 하네요..
헤롱헤롱 하네요..
01.22 06:11 | 김지웅님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
댓글쓰기 - 로그인한 후 댓글작성권한이 있을 경우 이용하실 수 있습니다.

비밀번호 확인

댓글 등록시에 입력했던 비밀번호를 입력해 주세요.
87개(1/5페이지)
rss
C
번호 제목 작성자 작성일 조회
87 배열설정 쉽게하기 부보 2012.12.22 2089
86 [고급]연습문제[11] 권율 2010.01.10 9548
>> [고급]C언어에서 포인터 이용한 간단한 암호 ~[8] 쫭구 2009.11.11 9377
84 [중급]BOF의 개념과 BOF를 이용한 해킹 방법[10] Ezbeat 2010.03.19 10141
83 [중급]ReadProcessMemory & WriteProcessMemory사진[8] COOLSOFT 2009.06.04 9938
82 [기초]C언어의 탄생 배경[20] COOLSOFT 2007.11.03 9979
81 [기초]비주얼 C++ 설치하기사진첨부파일[15] COOLSOFT 2007.10.27 7151
80 [기초]Microsoft Visual C++ Windows Applications by Example첨부파일[4] COOLSOFT 2009.04.03 7322
79 [기초][TIP]swap함수 매크로 한줄로 끝내기[9] secretofsh 2009.03.05 10501
78 [기초]c# 화면캡쳐프로그램 -소스포함 |첨부파일[12] 야옹이 2008.12.25 12855
77 [기초]주민번호를 만들어내는 규칙에 대해서 설명과 소스[26] COOLSOFT 2008.07.12 10104
76 [기초]윈도우 기본 창 생성 소스 -주석 포함-[7] 진혼이중주 2008.05.31 10796
75 [기초]WIN 32 API 시작하기전에 간단히 알아두기[10] 진혼이중주 2008.05.31 9384
74 [기초]c++ 강좌 #3 변수와 상수 (1)[15] 진혼이중주 2008.05.28 8850
73 [기초]C++ 강좌 #2 C++언어의 기본적인 구조[6] 진혼이중주 2008.05.28 5968
72 [기초]C++ 강좌 #1[12] 진혼이중주 2008.05.28 6743
71 [기초]리스트 자료구조의 기본적인 개념[3] 진혼이중주 2008.05.16 7971
70 [기초]두 자리 수 이상의 곱셈에 대한 알고리즘[5] 진혼이중주 2008.05.16 7198
69 [기초]Turbo 2.0 설치 및 사용법첨부파일[2] 진혼이중주 2008.05.16 8861
68 [기초]삼성 프로그래머들의 C/C++ 코딩 스타일의 지침서첨부파일[41] 진혼이중주 2008.05.05 15441
처음페이지이전 10 페이지12345다음 10 페이지마지막페이지