안녕하세요 오토핫키를 제작하고 나눔을하는 사람입니다.
비록 부족하지만 오토핫키를 무료로 나눔을 하고있는데요..
너무 무분별하게 나눠주다보니 문제가 생기지 않을까 해서
호스팅에 하드웨어인증을 시켜놧습니다. 다만너무 다른사람이 핫키를 켜놓고
제가 인증을 끊어도 한번켜진핫키를 계속쓰게만드네요 ..
일정시간이 지나면 자동으로 꺼지게하던가 다시 인증을 하게 하는 방법이 없을까요 ?
핫키 원본입니다 .
DriveGet, hdd,serial,c:\
MsgBox, 일련번호 %hdd%가 클립보드에 저장되었습니다. `n 첫사용자는 클립보드에 저장된 숫자를 빛에게 보내주세요
Clipboard = %hdd%
urldownloadtofile, http://***/cer1.txt, cer1.txt
urldownloadtofile, http://***/cer2.txt, cer2.txt
urldownloadtofile, http://***:8080/cer3.txt, cer3.txt
urldownloadtofile, http://***:8080/cer4.txt, cer4.txt
urldownloadtofile, http://***:8080/cer5.txt, cer5.txt
urldownloadtofile, http://***:8080/cer6.txt, cer6.txt
urldownloadtofile, http://***:8080/cer7.txt, cer7.txt
urldownloadtofile, http://***:8080/cer8.txt, cer8.txt
urldownloadtofile, http://***:8080/cer9.txt, cer9.txt
urldownloadtofile, http://***:8080/cer10.txt, cer10.txt
fileread, cer1, cer1.txt
fileread, cer2, cer2.txt
fileread, cer3, cer3.txt
fileread, cer4, cer4.txt
fileread, cer5, cer5.txt
fileread, cer6, cer6.txt
fileread, cer7, cer7.txt
fileread, cer8, cer8.txt
fileread, cer9, cer9.txt
fileread, cer10, cer10.txt
FileDelete, cer1.txt
FileDelete, cer2.txt
FileDelete, cer3.txt
FileDelete, cer4.txt
FileDelete, cer5.txt
FileDelete, cer6.txt
FileDelete, cer7.txt
FileDelete, cer8.txt
FileDelete, cer9.txt
FileDelete, cer10.txt
if (hdd=cer1)
{
MsgBox, 어서오세요 제작자 빛 입니다.
goto, MAIN
}
if (hdd=cer2)
{
MsgBox, 어서오세요 제작자 빛 입니다.
goto, MAIN
}
if (hdd=cer3)
{
MsgBox, 어서오세요 제작자 빛 입니다.
goto, MAIN
}
if (hdd=cer4)
{
MsgBox, 어서오세요 제작자 빛 입니다.
goto, MAIN
}
if (hdd=cer5)
{
MsgBox, 어서오세요 제작자 빛 입니다.
goto, MAIN
}
if (hdd=cer6)
{
MsgBox, 어서오세요 제작자 빛 입니다.
goto, MAIN
}
if (hdd=cer7)
{
MsgBox, 어서오세요 제작자 빛 입니다.
goto, MAIN
}
if (hdd=cer8)
{
MsgBox, 어서오세요 제작자 빛 입니다.
goto, MAIN
}
if (hdd=cer9)
{
MsgBox, 어서오세요 제작자 빛 입니다.
goto, MAIN
}
if (hdd=cer10)
{
MsgBox, 어서오세요 제작자 빛 입니다.
goto, MAIN
}
MsgBox, 인증되지 않으셨습니다.`n프로그램이 종료됩니다.
ExitApp
Main:
MsgBox, 인증이 완료 되었습니다.`n 본 프로그램은 걸리면 본인책임입니다.
Gui,color,white
Gui, Add, GroupBox, x16 y10 w450 h500 , 제작: 리마스터 (빛)
Gui, Add, Button, x26 y80 w50 h20 Disabled, F1
Gui, Add, Edit, x86 y80 vF1, 전마1
Gui, Add, Button, x26 y110 w50 h20 Disabled, F2
Gui, Add, Edit, x86 y110 vF2, 전마2
Gui, Add, Button, x26 y140 w50 h20 Disabled, F3
Gui, Add, Edit, x86 y140 vF3, 전마3
Gui, Add, Button, x26 y170 w50 h20 Disabled, F4
Gui, Add, Edit, x86 y170 vF4, 전마4
Gui, Add, Button, x26 y200 w50 h20 Disabled, F5
Gui, Add, Edit, x86 y200 vF5, 전마5
Gui, Add, Button, x26 y230 w50 h20 Disabled, F6
Gui, Add, Edit, x86 y230 vF6, 전마6
Gui, Add, Button, x26 y260 w50 h20 Disabled, pgdn
Gui, Add, Edit, x86 y260 vF7, 귀추
Gui, Add, Button, x26 y290 w50 h20 Disabled, pgdn
Gui, Add, Edit, x86 y290 vF8, 귀각추
Gui, Add, Button, x26 y320 w50 h20 Disabled, `
Gui, Add, Edit, x86 y320 vF9, 투도
Gui, Add, Button, x156 y80 w50 h20 Disabled, F7
Gui, Add, Edit, x216 y80 vF10, 저주
Gui, Add, GroupBox, x26 y350 w420 h150 , 사용법
Gui, Add, Edit, x36 y390 w300 h100 , 제작자 빛 입니다. 추후 업데이트를 바라는 기능이 있으면 빛으로 귓주세요
Gui, Show, x228 y91 h532 w477, 리마스터 도우미 -v0.01
Return
GuiClose:
ExitApp
F1::
gui,submit,nohide
clipboard=%F10%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
sleep, 200
send,%F10%
sleep, 200
clipboard=%F1%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F1%
sleep, 200
clipboard=%F9%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F9%
send, {esc}
return
F2::
gui,submit,nohide
clipboard=%F10%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F10%
sleep, 200
clipboard=%F2%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F2%
sleep, 200
clipboard=%F9%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F9%
send, {esc}
return
F3::
gui,submit,nohide
clipboard=%F10%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F10%
sleep, 200
clipboard=%F3%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F3%
sleep, 200
clipboard=%F9%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F9%
send, {esc}
return
F4::
gui,submit,nohide
clipboard=%F10%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F10%
sleep, 200
clipboard=%F4%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F4%
sleep, 200
clipboard=%F9%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F9%
send, {esc}
return
F5::
gui,submit,nohide
clipboard=%F10%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F10%
sleep, 200
clipboard=%F5%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F5%
sleep, 200
clipboard=%F9%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F9%
send, {esc}
return
F6::
gui,submit,nohide
clipboard=%F10%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F10%
sleep, 200
clipboard=%F6%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F6%
sleep, 200
clipboard=%F9%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F9%
send, {esc}
return
pgdn::
gui,submit,nohide
clipboard=%F7%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F7%
sleep, 100
clipboard=%F8%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F8%
send, {esc}
return
`::
gui,submit,nohide
clipboard=%F9%
clipwait
Send,{Shift down}
Send,{z}
Send,{Shift up}
send,%F9%
send, {esc}
return
F12::ExitApp
상황은 잘 모르겠지만..
결론을 말하자면.
암호화 통신을 이용해야하지 않을까요?
SSL, TLS같은...
서버의 암호키를 직접적으로 알려주지 않으면서. 클라이언트측이 메세지를 해석할 수 있는...
서버는 "인증되었습니다." 문장을 클라이언트에게 보내고. 이때 Diffie-hellman?알고리즘으로 이용하여 암호화하고 통신.
이 암호화된 메시지는 클라이언트 측이 주기적으로 자주. 받으면서 확인해야함.
메시지를 못 받거나. "인증이 만료되었습니다."라는 메시지를 받으면 클라이언트 측은 실행이 종료되겠끔.
암호화 통신을 하지 않으면.
임의의 프로그램이 오토핫키가 인증을 요청하는 패킷을 확인하고.
이후 자기가 생성한 가짜 패킷을 오토핫키로 보낼 수 있기 때문이에요.
대표적으로 파이썬이 해킹 모듈이 좀 많죠...
저도 대층 이론만 아는 거라서.. 자세히는 모르겠네요.