목록분류 전체보기 (427)
안 쓰던 블로그
프로그램 실행-input: 이라는 게 뜨고 입력하면 종료된다 문자열 검색-input이 있다 사실 여기서도 누가봐도 플래그 같이 생긴 문자열이 있긴 하다.. input으로 이동한다 처음에는 input: 을 출력한다 그리고 256바이트를 입력 받는다 CALL 0x00007FF7B2B41000 해서 해당 함수를 호출한다 호출해서 나온 결과값을 비교해서 0이면 corret 틀리면 wrong을 출력한다 일단 함수에 따라 들어가보면 아래처럼 있다 위에서 입력받은 값을 Compar3_the_str1ng과 strcmp함수로 비교한다 strcmp는 동일하면 0을 반환한다 JNE로 0이 아니면 1이고 0이면 0을 리턴한다 어쨌든 여기서도 플래그를 확인할 수 있다 Compar3_the_str1ng 여기서 0으르 리턴하면 위..
main코드부터 본다 push rbp mov rbp, rsp sub rsp, 16 먼저 main 시작 전의 rbp레지스터 주소를 push로 스택에 넣는다. 이제부터 main함수에서 rbp가 베이스 포인터 역할을 하게 될 것이기 때문에 원래 가지고 있던 이전 rbp주소를 미리 저장해 두는 용도이다 mov로 현재 스택 포인터 rsp값을 rbp에 복사한다. rbp는 main의 스택 베이스 포인터로, main의 스택 프레임을 생성하는 부분이다 sub로 rsp에서 16을 뺀다. 스택에서 16바이트를 확보한다 mov DWORD PTR [rbp-4], 1 mov eax, DWORD PTR [rbp-4] mov edi, eax mov eax, 0 call sequare 스택의 rbp-4 에 1를 넣는다. 4바이트 변수..
1편: foxtrotin.tistory.com/277 2편: foxtrotin.tistory.com/284 이번엔 이모지 반응 말고 유저가 어떤 메시지를 쓰면 봇이 메시지로 반응해 본다 역시 wait_for()을 사용할 것이다 @client.event async def on_message(message): if message.content.startswith('!hello'): channel = message.channel await channel.send('hello라고 말해 주세요') def check(m): return m.content == 'hello' and m.channel == channel msg = await client.wait_for('message', check=check) awa..
이전 글: foxtrotin.tistory.com/277 저번 글에서 썼던 코드는 몇 가지 문제가 있었다 1. 다른 사람이 반응을 눌러도 봇이 반응한다 2. 반응을 취소했다가 다시 누르면 또 반응한다 3. 메시지를 올릴 때마다 중복된다 해결 방법은 다음과 같다 1->if문으로 현재 message에 반응한 유저와 명령어를 실행한 유저가 동일 인물인지 확인 2->try문으로 한 번만 실행하게 한다 3->유저가 반응하면 바로 끝나고, 반응하지 않으면 일정 시간 뒤 자동 종료한다 @client.event async def on_message(message): if message.content.startswith('!thumb'): channel = message.channel await channel.send(..
ITEMS = ["STEP", "REDEMPTION", "SNAKE", "ASSASSIN", "STUN", "CAFFEINE", "REDBULL", "BOMB"] item = "asdf" if item not in ITEMS: return "Please enter the item name correctly" not in 을 쓰면 없는지 확인할 수 있다 in을 쓰면 있는지 확인할 수 있다
컬럼에 값 추가할 때 기존+신규 컬럼으로 값을 넣으려고 아래 처럼 했더니 Truncated incorrect DOUBLE value 오류 UPDATE 내테이블 SET 컬럼 = 컬럼 + '신규값' WHERE ... 이렇게 CONCAT으로 바꿔주면 해결 UPDATE 내테이블 SET 컬럼 = CONCAT(컬럼,'신규값') WHERE ...
Tkinter Tkinter는 Tcl/Tk에 대한 파이썬 Wreapper로, Tcl/Tk를 파이썬에 사용할 수 있도록 한 GUI모듈이다 (Tcl은 Tool Command Language의 약자로 프로그래밍 언어라고 할 수 있으며, Tk는 크로스 플랫폼에 사용하는 GUI 툴킷이다) Tkinter는 파이썬 표준 라이브러리라 기본 내장되어 있어서 쉽고 간단한 GUI 프로그램을 만들 때 좋다 기본 문장 from tkinter import * tk = Tk() label = Label(tk, text="라벨") label.pack() txt = Entry(tk) txt.pack() btn = Button(tk, text="버튼") btn.pack() tk.mainloop() Tkinter 모듈을 import해서 ..