p8 xdbg책 94쪽 코드 분석 실습
TEST And function to Flags, no result 첫 번째 오퍼랜드와 두 번째 오퍼랜드를 AND하여 그 결과로 플래그 세트
RET Return from CALL CALL로 스택에 PUSH된 주소로 복귀
JE/JZ Jump on Equal / Zero 결과가 0이면 분기
jmp jmp proc 특정한 곳으로 분기 분기
1. 플래그 수정
값을 전달받은후 test를 통해 ZF를 변환
1일경우 통과 0일경우 실패
test연산까지 실행한후 ZF를 1로 변환해주면 je의 조건문에 만족해서 정답으로 분기
2. 레지스터 값을 직접 변경
3. jmp 문 변경
4. Nop 처리
pep8로 메모리, 어셈블리 알아보기
trojan프로젝트 시작
placeholder 파이썬 분석하기
client.py
ddos.py
encryption.py
keylog.py
messageRelayServer.py
packet.py
passwords.py
server.py
zip.py
messageRelayServer.py
import socket
import sys
from StringIO import StringIO
import threading, time
from packet import Packet
from Queue import Queue,Empty
import errno
class RelayServer
runvius = 5715
runclient = 5720
packet.py
class Packet:
def __init__(self):
self.toIP = ""
self.returnIP = ""
self.state = ""
self.length = ""
self.data = ""
우분투 24.04를 이용한 중계 서버 구축
아나콘다 설치