비주얼 베이직을 열고 새 프로젝트를 만듭시다. 그 후에 커맨드 버튼을 폼의 중앙에 배치합니다.


그리고 접속 버튼을 누르면 게임이 실행되게 하는 이벤트를 발생시키기 위해 CommandButton1을 더블 클릭합니다.


서버의 아이피가 123.123.123.123이라 가정하고 포트는 8484라 가정해봅시다.


Private Sub Command1_Click()

Shell "localhost 123.123.123.123 8484"

End Sub


그리고 이것을 EXE화 시킨 뒤에 이 프로그램의 확장자를 txt로 바꿔주시고, 열어봅시다.


확인해보시면, 서버의 아이피가 노출되어 있는것을 확인하실 수 있습니다.


아이피를 아스키코드화 시킨 뒤에 빌드한다면 이것을 방지할 수 있습니다. 




우선 위의 프로그램을 받아주세요.


프로그램을 실행한 뒤, 변환하고 싶은 코드에 서버 아이피를 적고 암호화 시작을 눌러주세요.


123.123.123.123을 아스키코드로 변환하였더니 아래와 같은 결과를 얻을 수 있었습니다.

Chr(49)&Chr(50)&Chr(51)&Chr(46)&Chr(49)&Chr(50)&Chr(51)&Chr(46)&Chr(49)&Chr(50)&Chr(51)&Chr(4

6)&Chr(49)&Chr(50)&Chr(51)


그럼 이제 이 변환된 아스키코드 값을 가지고 다시 수정해볼까요?


Private Sub Command1_Click()

Shell "localhost " & Chr(49) & Chr(50) & Chr(51) & Chr(46) & Chr(49) & Chr(50) & Chr(51) & Chr(46) & Chr(49) & Chr(50) & Chr(51) & Chr(46) & Chr(49) & Chr(50) & Chr(51) & " 8484"

End Sub


그런 뒤에 EXE화 시키고 다시 txt로 바꾸어 확인해봅시다.



아이피 부분이 사라졌죠? 이런식으로 변환하여 막을 수도 있으나, UPX, ASPACK 같은 패커를 이용해서 패킹하여 막을 수도 있습니다. 물론 상대방이 패킹된 프로그램을 언패킹 한다면 소용이 없지만 말입니다.