기본 콘텐츠로 건너뛰기

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년 새해 복 많이 받으시고 득템하시길 바랍니다.  감사합니다. 

DHelper란?(디아블로 헬퍼)

  DHelper는 소프트웨어 매크로 프로그램이며 디아블로 III 에서만 동작합니다.  사용자의 학습, 불편을 줄이기 위해 기존에 대중적으로 사용되었던 헬퍼의 인터페이스를 표방하였습니다. DHelper는 기존에 많이 사용되는 D3Helper도 사용되고 있는 윈도우 API(마우스, 키보드 이벤트 및 후킹)외에 어떤 조작도 하고 있지 않으며 만약 DHelper가 블리자드 정책에 의해 계정정지가 된다면 D3Helper 또한 정지 대상입니다.   메모리 참조, 패킷 조작 등 계정 압류의 원인이 되는 기능들은 일체 포함되어 있지 않으나  블리자드 정책에 의해 정지된 계정에 대해서는 책임지지 않고 있으니 참고  부탁드립니다.      ※ 참고 :  2018/11/07 - [프로그래밍] - DHelper 동작 본 프로그램은 안전한 소프트웨어입니다.  .NET  FRAMEWORK  4.5.1  기반으로 만들어졌으며 WINDOWS 10에서 제작 및 테스트 되었음을 알려드립니다. 프로그램이 실행되지 않는다면 링크를 통해 설치 부탁드립니다.  본 프로그램은 무료이지만 상업적인 용도로 사용이 불가능 합니다. 본 사이트 외 재배포를 금합니다.  [DHepler 기능] [키]   5버튼 마우스 XBUTTON1 , XBUTTON2 를 지원합니다. [시작 / 종료키]   시작/종료키는 마우스 왼쪽/오른쪽 지정되지 않습니다. [기술키]  기술키 멈춤 여부를 선택할 수 있습니다. 체크를 해제하면 특수키 동작 시 기술이 멈추지 않습니다.    [특수키]   해당 키를 누르고 있으면 체크가 된 기술키를 실행하지 않습니다.   특수키는 총 3개를 지원 합니다.   ※ 참고 :     2018/11/10 - [DHelper-기능소개] - 특수키 [시간조절키]   이동 중에 기술반복을 느리게 하거나 빠르게 동작시키고 싶을때 필요한 기능입니다.      ※ 참고 :   2018/11/10 - [DHelper-기능소개] - 시간조절키 [퀘스트키]   해당 키를 누르고 모든 기술이 정지되고 키를 때면 다시