2011-10-27 2 views
1

저는 온라인에서 실행되는 애플릿을 가지고 있으며 사람들이 애플릿을 조작하기 위해 Java 로봇 클래스를 사용할 수 없도록하고 싶습니다. yahoo는 게임 플랫폼 중 일부에서이 작업을 수행한다는 것을 알고 있으며, 누군가가 어떻게 성취했는지 알고 있는지 궁금해하고있었습니다.로봇 마우스 클릭과 사람 마우스 클릭을 구분하십시오.

+1

* "사람들이 자바 로봇 클래스를 사용할 수 없도록하고 싶습니다."* 그래서 다른 언어의 API와 같은 클래스의 로봇을 사용한다면 괜찮습니까? –

+0

선호하지 않는다면 선호하지만, Java에서 Robot 클래스에 대한 감지 방법에 대한 질문에 집중하고 싶었 기 때문에 그렇게 말했습니다. –

답변

3

마우스 움직임을 살펴보고 한 곳에서 다른 곳으로 "점프"가 보이지 않는지 확인하십시오. Sun/Oracle의 J2SE 자습서에서는 마우스 이동 이벤트를 수행하는 방법을 보여줍니다. http://download.oracle.com/javase/tutorial/uiswing/events/mousemotionlistener.html

터치 스크린이나 태블릿 입력 장치에서 로봇과 사람의 차이를 감지하지 못할 수도 있습니다.

다른 주목할 점은 사용자가 동일한 픽셀을 클릭하는지, 아니면 같은 주변을 클릭하는지 여부입니다. 인간은 상당히 부정확합니다. 로봇은 일반적으로 프로그래밍되지 않은 한 일반적으로 없습니다.

또한이 정보를 컴파일하고 사용자의 실제 움직임을 추적하는 제스처 로거를 넣을 것입니다. 속임수를 쓰는 사람이 의심되면 실제 마우스 움직임이 어떤 모습인지보고이를 알려진 사람과 비교할 수 있습니다. 그것은 우리 중 누구도 머리 꼭대기에서 벗어날 수없는 것보다 당신이 찾고자하는 것이 무엇인지에 대한 더 나은 생각을 줄 것입니다.

+1

+1 데이터를 조합하고이를 사용하여 알고리즘/발견 적 (heuristics) 세트를 개발합니다. 나는 최근에이 개념을 설명하는 [기사] (http://worrydream.com/LadderOfAbstraction/)을 읽었습니다. – Bringer128

+0

그것은 내가 방금 읽었을 때 북마크 한 위대한 기사입니다. 간단한 예제로 매우 유익합니다. – SplinterReality

1

은 시간 경과에 따른 마우스 위치 분포를 추적합니다. 인간은 마우스를 클릭 할 때마다 위치를 정확히 알 수있는 로봇과 다르게 마우스를 움직입니다. 물론 똑똑한 로봇이 이러한 방어에 대응할 수 있습니다.

관련 문제