: 안뇽하세엽~ 너굴휩니다...
:
: 프로그램 실행할 경우에 패스워드를 걸고 싶은데요...
:
: 디비를 사용해서 사용자 정보를 저장할까 하는데..
:
: 파라독스 디비를 사용하고 있습니다.
:
: database explorer나 database desktop같은걸로 테이블 정보를
:
: 볼 경우에 패스워드에 해당하는 디비 내용을 "*"로 대체해서 보이도록
:
: 할 수 없을까요?
:
: 그리구 패스워드 물어 보는 폼을 메인폼의 OnActivate 이벤트가
: 일어날 경우에 보여주게 했더니만 프로그램 시작할때 뿐만
:
: 아니라 도중에도 뜨더군여.. --;
:
: 그래서 폼 생성 시기를 바꿔서 해 봤는데..그것도 여러가지
:
: 에러들이 발생하길래 원래대로 해 논 상태입니다.
:
: 어케 해야 할지... ==;;
:
: 디비로써 패스워드를 관리하는 것에 대해서는 어떻게 생각하시는지
: 궁금합니다.
:
:
: @ 프로그램 설명하는 문서에는 대충 무슨 항목이 들어가는게 좋지요?
: @ 에공 프로그램 초짜가 고민하고 있습니다.
:
:
안녕하세요? 최지수 입니다.
제가 알기로는 필드자체가 패스워드케릭터(*)로 변하는 경우는 못봤고 또, 그렇게 되지 않는걸로 알고 있습니다.(확실한건 아닌데 금방도 이것저것 해 봤는데 안되더군요 ^^;)
제가 처리하는 방법을 말씀드리자면 하드디스크의 시리얼넘버를 읽어와서 임의의 수(예를 들면 2)로 곱합니다. 그걸 데이터베이스에 넣고 프로그램 시작시에 그 데이터가 맞는지 검색해서 맞다면 시작하고 맞지 않다면 패스워드 입력창만 띄워주는거죠.
프로그램을 깔아주고 전화로 패스워드입력창에 뜨는 번호(하드디스크시리얼넘버)를 가르쳐 달라고 한후 위의예에선 2를 곱했으니까 2를 곱한 값을 알려주는 겁니다 그러면 맞다고 판단하고 프로그램이 시작하는 거죠.
그 프로그램을 그대로 카피해서 딴 하드에서 실행한다고 해도 위에서 알려준 값으로는 패치가 안되는겁니다. 왜냐 하드디스크 시리얼넘버가 다르니까...
프로그램을 시작할때는 일단 하드디스크의 패스워드 필드의 내용을 검색한후 시리얼넘버 * 2가 맞다면 통과 틀리거나 비어있다면 패스워드 입력창만 띄워주면 되는겁니다.
물론 DB안의 필드의 내용을 본다고 해도 그것만 가지고 다른 컴퓨터에서 돌리지도 못할거구요.
위의방법역시 해킹을 할려면 할수도 있는 겁니다만 DB를 이용해서 프로그래밍을 하시는걸 보면 해킹을 전문적으로 하시는 분들이 사용하실것이 아니라는 판단이 서는군요.
일반인들은 잘 풀지 못할겁니다.
시리얼넘버 *2+400정도만 해도....
그럼 유용하게 쓰시기 바랍니다.
궁금한 사항있으시면(시리얼넘버 알아내는법..그리고 그걸 적용시키는 방법등) 메일 주세요. 제가 샘플로 만들어 놓은게 있으니까.
choi@youngnam.net
최지수 입니다
|