기본 콘텐츠로 건너뛰기

2021 새해 인사말

안녕하세요. DHelper 제작자입니다.  2017년 DHelper을 제작하고 벌써 2021년이 되었습니다.  2018년도에 한번에 업데이트가 있었지만 게임을 플레이 하지 않는다는 핑계?로  유지보수를 진행하지 못하고 있습니다.  많은 불편함이 있을 것으로 예상되지만 사용해주셔서 감사합니다.  신경을 쓰지 않는 사이에 티스토리 블로그 정지를 먹었네요. 게임물관리위원회에서 요청 했다고 합니다.   * 게임물의 기술적 보호조치를 무력하게 하기 위하여 제작된 기기ㆍ장치 및 프로그램 해석하기 나름이지만 윈도우 키 입력 프로그램을 게임물의 기술적 보호 조치를 무력하게 만든다니.. 어이가 없습니다. 탁상행정 지긋지긋...  이에 블로그가 이사를 오게 되었습니다.. 아무튼.. 관리가 소홀한 점 사과드리며 늦지 않은 시기에 업데이트를 준비하도록 하겠습니다. 블로그가 날라가 요청하신 내용들이 모두 날라 가서 보지 못하오니  해당 댓글에 요청 사항 및 버그를 말씀 주시면 최대한 반영해보도록 하겠습니다. 2021년 새해 복 많이 받으시고 득템하시길 바랍니다.  감사합니다. 

DHelper 동작

 

안녕하세요. 오랜만에 블리즈컨 디아블로 소식을 접하고 홈페이지에 들어왔더니 이전보다 사용하시는 분이 많이 늘었네요. 

 아직 DHelper가 계정 제재당할 만한 무언가가 있을거라는 댓글에 그림으로 설명 드디려고 합니다. 


 

1. 게이머의 입력 처리 (후킹)


 게이머는 키보드와 마우스로 컴퓨터(OS)에 '입력'을 하게 됩니다. 

 그런데 OS(운영체제)는 키보드와 마우스로등의 외부장치로만 사용자의 '입력'을 받는게 아닙니다. 


 DHelper는 사용자의 입력을 '후킹(사용자의 입력 이벤트를 중간에 가져온다)'을 합니다. 

 

 '헬퍼 시작' '헬퍼 종료'등등의 기능을 실행할 때 Key를 등록 하셨을텐데요. 게이머가 이 키를 누르게 되면 DHelper는 이 이벤트를 후킹하여 

 반복키, 토글키등을 동작 시키는 원리입니다. 



2. 반복키, 기능키등등

  헬퍼를 시작하면 스킬을 지속적으로 사용할 수 있게 눌러주는 것 또한 헬퍼는 디아블로 클라이언트에 어떤 이벤트를 보내는게 아닙니다. 

  OS에 메세지를 보내게 되는거죠. 이는 마이크로 소프트에서 공식적으로 제공해주는 API를 통하여 메세지를 전달하기에 

  어떤 편법이나 불법적인 행위가 아닙니다. 


3. 특정 UI에 마우스 이벤트 막기 

  DHelper UI를 안눌리게 하는 기능이 있습니다.

  이건 아주아주아주 원시적인 방법인데요. 특정 좌표로 영역을 두고 그 좌표에서 이벤트가 들어오면 1번의 후킹을 통하여 가로챈 메세지를 

  무시하는 방법입니다. 

  

  이 또한 디아블로 클라이언트에 어떠한 조작을 하지 않고 OS의 해상도 영역을 지정하기 때문에 

  

  디아블로 창모드를 지원해드리지 못하는 겁니다. (디아블로 클라이언트가  항상 같은 곳에 있다면 가능하겠죠)



4. 인벤에 계정 정보 및 패스워드를 암호화 없이 저장한다는 게시물

   계정을 입력 받지도 않는데 뭘 저장한다는지 이해가 안되네요..

   서버에 데이터 저장할 때 배틀태그와 암호는 설사 저장된다고(저장되지도 않습니다...) 해도 계정을 알 수 있을까요..;;

   서버 저장은 이동 편의성과 헬퍼 설정 공유를 위하여 만들었습니다. 

   비번이 노출된다고 해도 큰 문제 없어 보이는데.. 제 생각만 그런건가요..

   아무튼 이번 업데이트에 로컬 저장도 포함하니 헬퍼 설정파일 도난?에 신경 쓰이신다면 로컬 저장 이용 부탁드립니다~!


 

 결론적으로 

  헬퍼는 디아블로 클라이언트에 어떠한 조작도 하고 있지 않고 마이크로 소프트가 제공하는 시스템 API 만 사용하고 있으며

  의심이 되신다면 제가 올려드린 오픈소스를 보시면 알 수 있습니다. 


  DHelper 말고 외에 모든 헬퍼 프로그램은 위와 같은 시스템을 사용하고 있습니다. 



 

여담으로 하나 말씀드리자면 

디아블로가 헬퍼를 인정하는건 예측컨대 못 잡아서라고 생각합니다. 


디아블로는 서버는 호스트와 엔티티를 연결해주는 역할을 합니다. 

게임은 호스트(4명의 유저 중1)명 / 유저 3명이 서로 TCP로 연결하여 게임플레이를 합니다. 


디아블로 여러 오브젝트와 빠른 스킬을 사용할 수 있는건 

모든 액션이 클라이언트 기반이기 때문입니다. 


호스트와 엔티티들의 모든 액션을 디아블로 서버에서 저장하고 있다면 그 양은 어마어마하고 서버 관리 또한 간단하지 않습니다. 


잡소리가 길었습니다. 조만간 불편해 하시는 업데이트 버전을 올리도록 하겠습니다. 





댓글

댓글 쓰기

이 블로그의 인기 게시물

[ 1.1.0] DHelper 다운로드

 기능 추가   1. 로컬 저장 / 불러오기 기능   2. 단일 반복키 3개로 확장  3. 프로그램 명칭 '디아블로 III'에서만 작동하도록 수정 ( 프로그램 명칭이 다르다면 설정에서 바꿔주세요)  4. 2440 X 1080 해상도 추가 

2021 새해 인사말

안녕하세요. DHelper 제작자입니다.  2017년 DHelper을 제작하고 벌써 2021년이 되었습니다.  2018년도에 한번에 업데이트가 있었지만 게임을 플레이 하지 않는다는 핑계?로  유지보수를 진행하지 못하고 있습니다.  많은 불편함이 있을 것으로 예상되지만 사용해주셔서 감사합니다.  신경을 쓰지 않는 사이에 티스토리 블로그 정지를 먹었네요. 게임물관리위원회에서 요청 했다고 합니다.   * 게임물의 기술적 보호조치를 무력하게 하기 위하여 제작된 기기ㆍ장치 및 프로그램 해석하기 나름이지만 윈도우 키 입력 프로그램을 게임물의 기술적 보호 조치를 무력하게 만든다니.. 어이가 없습니다. 탁상행정 지긋지긋...  이에 블로그가 이사를 오게 되었습니다.. 아무튼.. 관리가 소홀한 점 사과드리며 늦지 않은 시기에 업데이트를 준비하도록 하겠습니다. 블로그가 날라가 요청하신 내용들이 모두 날라 가서 보지 못하오니  해당 댓글에 요청 사항 및 버그를 말씀 주시면 최대한 반영해보도록 하겠습니다. 2021년 새해 복 많이 받으시고 득템하시길 바랍니다.  감사합니다. 

특수키 설정법

 특수키는 기존에 많이 사용하시던 기능이라 잘 아실겁니다.  헬퍼 기술키 반복을 시작하다가 특정 순간에 기술키 반복을 잠시 동안 멈추고 싶을 떄 사용하시는데요. 기존 많이들 사용하시는 헬퍼에서는 없는 2가지 기능이 있습니다.  1. 멈추고 싶은 기술 / 멈추고 싶지 않은 기술 선택  2. 멈춘 후 재시작 시 쿨타임 후에 반복 / 쿨타임 없이 바로 실행  말이 어려워 보이지만 간단합니다.  사진으로 예를 드리겠습니다.  1)  빨간색 으로 마킹된 부분은 체크가된 상태이니 '특수키'를 누르고 있는 동안 기술이 멈춥니다.  2)   노란색 으로 마킹된 부분은 체크가 해제 된 상태이니 '특수키'를 누르고 있는 동안 기술이 멈추지 않습니다.   즉 아래의 설정대로라면 1,2는 멈추고 3,4는 그대로 반복하겠죠. (수도사를 예를 들면 이동 중 진언, 눈뽕은 멈춰도 헤탈은 멈추면 안되죠..) --------------------------------------------------------------------------------------- 특수키 눌러 기술키들의 반복을 멈췄다면 땐 순간 기술키가 다시 반복되겠죠? 노란색으로 마킹된 부분(그림 참조)  1. 체크 상태라면       - 반복 잔여시간이 모두 소진 된 후 기술이 시전됩니다.       -  붉은색 기술키 시간 1초가 경과된 상태에서 특수키를 눌렀다.      -  특수키로 2~4초간 3초를 소진하고 특수키를 땐다면       -  체크 상태라면 1초 후에 기술 반복이 시작합니다.     2. 체크가 되지 않은 상태라면       - 특수키를 땐 4초에 바로 기술 반복이 됩니다.  각 직업마다 잘 활용해보세요!