[오토핫키] 쿠키런 매크로방지 뚫기(우회)
AutoHotkey(오토핫키)로 쿠키런 매크로방지 뚫기
쿠키런에 갑작스럽게 매크로방지가 생겼습니다. 사실 예상할 수 있었던 패치이긴 하지만, 오토핫키를 이용하면 왠만큼의 방지로는 매크로 돌리는 것을 막을 수 없을 것입니다. 이 글에서 전제로 하는 것은 블루스택을 이용해서 쿠키런을 돌릴 때를 전제로 하는 것이구요. 그 방법에 관해서는 아래 글을 참조하시기 바랍니다.
이 글에서 다룰 것은 오토핫키의 이미지서치를 이용하는 방법이구요, 아래와 같은 이미지가 필요합니다만 이 이미지는 돌리는 컴퓨터의 그래픽카드에 따라 달라지기 때문에 직접 찍으셔야 합니다. 아래와 같은 이미지가 필요합니다.
위 이미지를 인식해서 미니게임을 깨보도록 하겠습니다. (이미지는 C:\hotkey\game.bmp 에 저장합니다)
F12:: imagesearch, x1, y1, 0, 0, 1300, 900, *50 c:\hotkey\game.bmp if (ErrorLevel=0) { fMacroCheck() } return fMacroCheck() { fCardClick(1) fCardClick(2) fCardClick(1) fCardClick(3) fCardClick(1) fCardClick(4) fCardClick(1) fCardClick(5) fCardClick(1) fCardClick(6) fCardClick(2) fCardClick(3) fCardClick(2) fCardClick(4) fCardClick(2) fCardClick(5) fCardClick(2) fCardClick(6) fCardClick(3) fCardClick(4) fCardClick(3) fCardClick(5) fCardClick(3) fCardClick(6) fCardClick(4) fCardClick(5) fCardClick(4) fCardClick(6) fCardClick(5) fCardClick(6) return } fCardClick(card) { if (card=1) { mouseclick, left, 390,245 } else if (card=2) { mouseclick, left, 535,245 } else if (card=3) { mouseclick, left, 688,245 } else if (card=4) { mouseclick, left, 390,400 } else if (card=5) { mouseclick, left, 535,400 } else if (card=6) { mouseclick, left, 688,400 } sleep, 300 return }
원리는 간단합니다. F12키를 누르면 매크로방지 기능이 작동했는지 확인하고 작동하고 있으면 나올 수 있는 모든 조합을 눌러서 깨는 것이죠.. 사실 이미지서치를 사용하면 실제로 플레이 하는 것처럼 카드를 맞춰보는 수도 있습니다만 그렇게까지 할 필요는 없거든요.
쿠키런의 매크로 방지 기능이 더 강력해지면 다시 뚫는 법을 가지고 돌아오겠습니다. 궁금한점 있으면 질문해주세요 :) (비밀글은 다른 사람들에게 공유가 안되니 비밀글로 댓글주시면 답변 안달릴 수도 있습니다)
PS. 위 코드는 '매크로 방지를 뚫는' 부분입니다. 게임을 진행하게 하는 매크로는 직접 제작하셔야 합니다. 게임 진행하다가 위 코드를 삽입해주면 매크로방지가 실행되었을 때 자동으로 뚫고 계속 진행합니다.
'연재 > 오토핫키' 카테고리의 다른 글
[오토핫키] 쿠키런 곰젤리를 터치하세요! 뚫기 (283) | 2014.03.01 |
---|---|
[오토핫키] 특정한 창 혹은 프로그램에서만 동작하는 매크로 (5) | 2014.02.18 |
[오토핫키] 쿠키런 매크로방지 뚫기(우회) (40) | 2014.02.14 |
[오토핫키] 단축키를 눌렀을 때 클릭반복 시키는 매크로 (8) | 2014.02.13 |
[오토핫키] 이미지서치를 활용한 쿠키런 생명반사 매크로 (43) | 2014.02.01 |
[오토핫키] 간단한 클릭 반복 매크로 (7) | 2014.01.30 |
[오토핫키] 클립보드 제어하기 (1) | 2014.01.28 |
자 이제... 단순터치에서 A이미지를 만낫을때 A1의 함수를 불러오는 것을 알려주세용!!
B이미지를 만낫을때는 B1함수...
그러면 완벽하게 매크로 만들듯 ㅋ
...작업들...
return
}
function B() {
...작업들...
return
}
imagesearch, x1, y1, 0, 0, 1300, 900, *50 c:\hotkey\a.bmp
if (ErrorLevel=0) {
A()
}
imagesearch, x1, y1, 0, 0, 1300, 900, *50 c:\hotkey\a.bmp
if (ErrorLevel=0) {
B()
}
참고하세요.
고생하셨어요.
이 블로그에서 공유는 좀 힘듭니다. ㅎㅎ
imagesearch, x1, y1, 0, 0, 1300, 900, *50 c:\hotkey\game.bmp
if (ErrorLevel=0) {
fMacroCheck()
}
return
여기서 1300, 900은 뭘 나타내는 건가요?
저는 정확하겐 계산 안하고 대충 1300 900정도 되어서 그렇게 적용했구요,
블루스택 창 크기는 사람마다 다를거라고 봅니다. 글에서 한번 소개했었을텐데 window spy로 창크기 보신담에 적용하면 됩니다.
그리고 저거 자체로는 의미가 없고 다른 스크립트랑 같이 합쳐져 돌아가야 완성되는 겁니다.
fCardClick 함수가 있어도 저대로만 쓰면 포함하지 않다고 떠서 댓글 달아봅니다ㅎㅎ
함수 자체가 공개돼 있는데 제가 다른 스크립트를 썼다고 하시니 난감하네요;;
다른 스크립트에서 불러와야 되는데 호출을 안하신건 아닌지요? 아무튼 저 알고리즘 자체는 따로 필요한 스크립트 없습니다.
만약에 다 맞게 했는데도 그런거면 그건 오토핫키 오류구요.
제가 호출헝식이 아니라 F12::를 제외한 나머지 스크립트만 썼을때 안된다는 겁니다
결론은 제 스크립트가 안된거죠
지금은 함수 루틴이 어려워 gosub으로 돌리고 있습니다.
질문 하나만 더 해도 될까요?
돌리다보면 쿠키런 자체가 멈추는현상이 있어서
그 방안으로 블루스택을 재시작하고 싶은데
블루스택을 종료하고 재시작하는 명령어가 일을까요?
Settimer와 run을 이용하면 될것같은데 종료는 어떤 명령어가 있을지요?
도움이 확실히 되실듯한 페이지입니다.
부연 설명은 필요 없을거라 봅니다. ^^
아니면 다른 함수 안쪽에다가 이 코드를 넣으셨거나..
F10:: pause
F12::
mouseclick, left, 965, 608
sleep,1000
mouseclick, left, 965, 608
sleep, 8000
loop, {
MouseClick, left, 157, 603
sleep, 400
MouseClick, left, 155, 122
sleep, 400
}
이렇게 게임 시작하고 왼쪽 아래 클릭해서 무한점프 하는것까지 만들었거든요??
근데 쿠키가 죽기전에 끝내야하는데 죽고도 계속 점프 버튼을 연타합니다
쿠키가 죽기전에 무한점프 매크로를 끝내고 다른 스크립트로 넘어가게 하는 방법좀 알려주실수있을까요?
게임종료를 인식시키고 무한루프를 끝내게 해야합니다.
그리고 저 위에서 return의 역할이 뭔가요. 꼭 필요한 건가요?