오토프로그램 제작 원리가 궁금합니다.

pogusm의 이미지

제가 게임을 잘 안하는 편이라 잘 모르는 상태로 호기심에 질문을 드립니다.

아주 오래전, 리니지1 초장기에 리니지1을 잠깐 해본적이 있었는데요
그때 오토 프로그램을 실행한후 f1~f10 중 어느 키를 누르면
게임상 마우스가 캐릭터 주위를 돌아가며 자동클릭을 해줘서 아이템등을 쉽게 얻을 수 있게
해주는걸 사용해본적이 있습니다.

이렇게 게임이 실행중인 상태에서, 단축키를 눌러서 마우스를 조작하는 기술은
그냥 windows API를 이용한 프로그램인건가요?

그리고 자동사냥(자동장사) 프로그램이란것도 있다고 알고 있는데
자동사냥 프로그램은 화면상에 나타는 적을 감지하여 공격명령을 내리거나
캐릭터의 체력이 거의 떨어진 것을 감지하여 자동으로 회복아이템을 사용할때
화면에 표시된 영상을 직접 분석 하여 감지 하는건가요?
아니면 메모리상의 데이터를 분석해서 감지하는건가요?

영상을 분석해서 감지하는건 저의 지나친 상상같고, 메모리상의 데이터를 분석해서 감지하는거 같은데
A프로그램이 실행중일때, B프로그램에서 A프로그램이 사용중인 메모리 영역의 정보를 보는게 어렵지 않은 기술인가요?

cleansugar의 이미지

마우스 찍는 건 핸들을 후킹해서 메시지를 보내는 겁니다.

관련 책도 있습니다.

온라인 게임 해킹(해커들이 사용하는 실전 해킹 공격법과 기술)
http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8956744211

오토핫키로 만들 때 이차원 이미지 인식기능도 쓰더군요. 스크린샷을 찍은 다음 비교하는 초보적인 기능정도요.

삼차원은 어떻게 하는지 저도 궁금합니다.

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

red10won의 이미지

모니터에서 출력되는 픽셀도 감지합니다.
WDM이나 DDK공부해보시면 좋을듯합니다 ㅋ

저도 둘다 해보진 못했습니다 ㅎ

pogusm의 이미지

openCV2 취미로 공부해봤었는데
로또 번호 인식용으로 나름 만들어 봤었는데, 생각만큼 인식률이 높지 않아서 실망했었는데

생각해보니까 오히려 게임화면같은건 훨씬 정확하게 인식할 수도 있겠다 라는 생각이 드는군요.

신기한 세상입니다. ㅋ

hiseob의 이미지

게임쪽은 여러가지 방법이 있지만, 전체적으로 보면....

UI 자체가 변동이 없는 경우나 단축키로 모든것을 처리 할 수 있는 종류 -> 키보드나 마우스를 후킹해서 매크로를 사용 하게 되고요...
그 이외의 종류 -> 프로세스 메모리를 직접 접근해서 화면 구성하는 데이터를 가져와서 처리를 해서 매크로 FPS 쪽이 주로 이런 종류고.....

주로 소프트웨어로 이런걸 하게 되고요.
오토 마우스같은 하드웨어는 국내 온라인 게임 환경에서 게임가드니 안랩이니 그런게 오토 소프트웨어를 감지하기 시작하니까 아예 밖으로 빠진 경우죠

다른 쪽은 모르겠고 FPS 쪽은 창모드로 게임할 경우 화면 캡쳐해서 머리쪽으로 갔다 대주는 종류들도 있습니다
이건 영상인식으로 처리를 하는 부분이 있을거 같네요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.