IPsniffer
ICQ에서 자신의 IP를 가린 사용자의 IP를 볼 수 있게 한다

ICQ flood
상대방의 IP와 쓰고 싶은 메시지를 적은 다음 원하는 숫자 (30~50개가 적절함) 만큼 보낼 수 있다

Modem Jammer
해커들은 자신의 경로를 반드시 지워야 한다. 인터넷에 접속하기 전에 이 프로그램을 실행시키고 서버에 전화를 건다면 접속 이후에 자신의 경로는 현재 자신의 IP 뿐이다

Back Oriffice
백오리피스 1.2

Winspoof
IRC상에서 자신의 IP를 자신이 원하는데로 바꿔서 접속하게 하는 프로그램

HakTek
mailbomb 기능 외에도 다양한 각종 기능들이 복합적으로 합쳐진 프로그램

Kaboom3
가장 유명한 강력한 mailbomb 프로그램

Quickfyre
간편한 mailbomb 프로그램

Anonymail
자신의 e-mail 주소를 원하는데로 적고 메시지를 적어서 e-mail를 보내는 유용한 프로그램

mIRC541t
최신버젼의 mIRC 프로그램

7th Sphere 3.0
가장 유명한 mIRC 스크립트로써 다양한 기능과 툴들을 내장하고 있다

Divint:
DiViNE INTERVENTION 의 세 번째 버전으로 OOB nuke, IRC nuke, ping flood, ICQ flood, mail bomb, mass mailing, DCC flood bot, text flood bot 등의 엄청난 기능을 갖춘 프로그램

Wnewk-x
mIRC상에서 ICMP에러를 통해 상대를 mIRC서버에서 끊기게 하는 강력한 프로그램

John the Ripper
가장 유명하고 강력한 크래킹프로그램으로 전설적인 크래킹기록을 세움

Xhu
복합적인 크래킹프로그램

Revelation
현존하는 최고의 암호해독프로그램으로써 *****로 표시된 그 어떤 saved password도 간단히 해독한다

Wwwhack
브라우저를 통한 HTTP 암호를 조합하는 프로그램으로 일종의 크래커와 유사하다

Autoupd
wwwhack을 실행시키기 위해 필요한 프로그램

Ik
키보드를 통해 누른 그 어떤 글자도 날짜별로 체계적으로 입력됨으로써 사용자의 암호등을 쉽게 얻을 수 있다

Virii-1
Michelan과 Microsoft 문서를 감염시키는 Macro 바이러스 등 유명 바이러스 모음

Virii-2
공포의 bizatch 바이러스를 포함한 각종 바이러스 모음

Virii-3
36개의 다양한 바이러스 모음

Cha0scan
지정한 사용자의 IP를 스캔해서 열린 포트를 알아내는 프로그램

Portscan
위와 같은 유형의 프로그램

i586
인텔 펜티엄 586 CPU에서 관련된 버그를 건드리는 프로그램으로 586사용자의 컴퓨터는 실행동시에 멈춘다

HexEdit
Hex의 조작을 하는 프로그램

Cyberkit
ping, traceroute, finger, whois, ns lookup, qod 의 기능이 하나로 합쳐진 프로그램

Firewall98
해커의 침임을 막는 방화벽 프로그램

Netmonitor
현재 자신의 컴퓨터와 신호를 교환하는 모든 포트와 신호를 모니터링하는 프로그램

BOremove
백오리피스가 자신의 컴퓨터에 있는지 빠른 속도로 스캔하고 지워주는 프로그램

Cleaner 2.0
38종류의 최신 트로이목마가 컴퓨터에 숨어있나 스캔해 주고 바로잡아 주는 프로그램

NoNuke
NUKE 방지툴

Nuke
NUKE 윈도우 95용

Net Bus
넷버스 (백오리피스 종류의 리모트 프로그램) 1.70

PP Hucker
백오리피스와 유사하지만 실행방식이 다른 트로이목마 프로그램

A_dial
강력한 워다이얼러 프로그램으로써 제시된 캐리어를 통해 전화접속 컴퓨터를 찾아내 해킹가능한 상대의 전화번호를 알려준다

락다운 2000
Trojan Virus 전문 검사+치료 프로그램!!

Cleaner 2.0
역시 해킹 방지 검사+치료 프로그램 (비교적 널리 쓰입니당)

BO Scanner
BO 전문 차단 프로그램 (쓸만합니당)

Nuke Nabber
더 이상 핵폭탄을 맞을 순 없다!! 누킹 방지 프로그램!!

신고
  1. 2015.04.26 16:58

    비밀댓글입니다

1. 산요(SMP-017S)
먼저, 휴대폰은 잠금 상태여야 한다.
그 상태에서 * 를 꾹 누르고 있는다
곧 SEURITY CODE 를 입력하라는 화면이 나오는데,
여기에 *72696#767 이라고 쓴다.
그러면 이 휴대폰의 비밀번호는 초기화가 되어
0000 으로 바뀌게 된다

2. LG 싸이언 폴더 011용
잠금상태든, 아니든 상관 없다
메뉴 버튼을 누르고 0 번을 누른다
비밀번호를 누르라는 말이 나오는데
모든 칸을 0 으로 다 채운다.
그러면 테스트 모드 같은게 나오는데
서비스 설정으로 들어간다
확인 버튼을 눌러서 계속 넘어가다
휴대폰 번호가 찍혀있는 화면이 나올 것이다
여기서 휴대폰 번호를 다시 쓰고
계속 확인 버튼을 누른다
그러면 전원이 꺼졌다 다시 들어오면서
비밀번호는 0000 이 된다
- 플립(WEVER)에서 해 보았으나 실패 했음

3. 삼성 애니콜 - 되는 것두 있고 안되는 것도 있음
애니콜 폴더는 됨
잠금상태에서 112 를 누르고 통화 버튼을 누른다
그러면 화살표가 전화기 쪽으로 이동하는데
그 화살표와 전화기가 만나는 때를 잘 노려
종료 키를 누르면 '이 번호를 저장할까요?'
라는 말이 뜨면서 비번은 깨진다
그러나 만약 사용자가 사생활 보호 기능을 해 놓았다면
문자등을 보는것은 불가능하다
이 방법은 실로 성공 확률이 매우 적다

4. BONUS - 삼성 애니콜 테스드 모드
일반 상태에서 5809540*45680 을 하면
테스트 모드가 나오고,
여기서 48을 누르면 진동 ON, 49는 진동 OFF
27은 백라이트 ON, 28은 백라이트 OFF,
25는 램프 ON, 26은 램프 OFF, 02는 종료이다
숫자가 안 적혀질땐 # 를 한번 누르고 쓰면 된다

5. 모토로라 MP-9000(9100)
잠기지 않은 상태에서 해야 될 것이다(기억이 가물가물~~)
147*369#789@**@##@
여기서 @ 는 편지 모양 버튼을 뜻한다
그러면 여러가지 메뉴가 나오는데
서비스 설정이였던가?.....
어쨌든 여기 어딘가에 비밀번호가 찍혀있다

6. 걸리버 폴더
잠긴 상태에서 *5625# 을 누르면
메뉴가 나타날 것이다(아마...)
거기서 1번(맞을꺼야...^^)을 누르면
그 중에 LOCK CODE 라고 적혀서
비밀번호가 적혀 있을 것이다

7. 스카이 IM-1100,1200 - 버전이 높으면 안될수도 있음...^^
먼저 전화번호부 로 들어가서
이름으로 찾기에 들어간다
그 다음에 그림문자중에 2칸을 차지하는 그림을 7개 넣는다
맨 처음으로 가서 아무 버튼이나 꾹 누른다
그러면 숫자가 찍힌다
거기서 같은 버튼이든, 다른 버튼이든, 또 누른다
그러면 숫자가 적힘과 동시에 화면이 깨지는데,
여기서 앞으로 쭉 가다 보면
비밀번호가 찍혀있다(날짜 앞에...^^)

8. BONUS - 스카이 테스트 모드
#7583538324#8378#

9. BONUS2 - 스카이 NAM 설정 모드
#7583538324#626

신고

Source : http://www.zdnet.co.kr/news/internet/hack/0,39031287,39168885,00.htm

 

서울지방경찰청에 구속된 이모(50)씨 등이 하나은행 해킹시도에 사용한 ‘스니핑’이란 공격이 화제이다. 이 공격방식을 무선 인터넷 뱅킹에 적용한 것은 지금까지 전례가 없었다.

스니핑은 특정 서버가 아니라 무선 인터넷 정보가 오가는 AP(액세스 포인트) 자체를 탈취하는 악의적 방식이다. 일반적인 은행 AP 장치는 사용자 노트북과 인터넷 뱅킹 정보를 주고받는데, 이씨 일당은 그 길목을 점거한 것. 여기에는 정보감지용 지향성 안테나까지 동원됐다.

이씨 일당은 이를 통해 하나은행 외부 고객용 PC 관리자 번호를 확보했고, 본격적인 은행 전산망 침투를 12차례 시도하던 중 다행히 검거됐다.

이중 김모씨는 카이스트 산하 고등과학원에서 네트워크 유지보수 업무를 맡았었고, 또 다른 이씨도 네트워크 전문가로 드러났다.

경찰은 “다른 은행들도 대부분 인터넷 뱅킹에 AP를 사용하고 있기에 이런 공격을 주의해야 한다”고 밝혔다.

옆집 당하면 나도 피해

더 큰 문제는 일반 가정 PC도 이와 비슷한 공격을 받아 개인정보가 유출될 수 있다는 것이다. 이는 ‘스니핑’의 친구(?) 겪인 ‘스푸핑’이란 방식으로 공격자가 자신의 랜카드 주소(MAC)를 특정 PC IP와 연결하면서 시작된다. 이 과정이 끝났다면 공격자는 해당 PC가 놓인 네트워크 상의 모든 PC에 악성코드를 뿌릴 수 있다. 곧, 첫 번째 공격한 PC가 일종의 게이트웨이가 되는 것이다.



◇사진설명 : 스푸핑 공격 구성도(제공 : KISA)

쉽게 옆집 PC가 당하면 우리 집 PC도 당하는 공격이라 생각하면 된다. 개인 사용자가 악성코드를 감지해 치료, 혹은 포맷까지 해도 급한 불만 꺼질 뿐이다. 공격자는 게이트웨이 PC를 통해 악성코드를 다시 전파하면 그만이기 때문.

또, 이 공격은 단순 악성코드 전파 뿐 아니라 위 하나은행 경우처럼 PC에 드나드는 데이터를 공격자가 열람할 수 있어 더 위험하다. 공격자는 이메일 내용, 주요 사이트 비밀번호 등을 감쪽같이 텍스트 형태로 갈취할 수 있다.

실제로 지난 6월 KISA 인터넷침해사고대응지원센터는 한 아파트 단지가 이 공격에 당하는 것을 발견했다. 이때 이 아파트는 인터넷에 특별한 문제가 없는데도 통신 장애를 겪고 있었다.

안철수연구소 김지훈 연구원은 “많은 사용자가 동일한 스위치를 공유하는 아파트나 PC방이 스푸핑 공격의 주 먹잇감”이 될 수 있다고 경고했다.

■“일반인은 해결 못해”…네트워크 전문가 역량 키워야

이렇게 ‘스니핑’과 ‘스푸핑’ 공격이 심각하지만 일반 사용자가 할 수 있는 일은 별로 없다. 김지훈 연구원은 “현재 일반 사용자가 스푸핑을 감지하거나 차단하게 할 프로그램은 없다”며 “백신으로 악성코드 침투를 최대한 막는 것이 그나마 최선”이라고 밝혔다.

키는 전문가, 곧 네트워크 관리자가 쥐고 있다. 네트워크 관리자의 능력에 따라 스푸핑과 스니핑을 차단할 수도, 아님 반대의 경우가 올 수도 있다.

김지훈 연구원은 “네트워크 관리자는 특정 스위치 포트의 ARP 프로토콜 급증 여부를 면밀히 살펴야 한다”며 “무료 모니터링 툴인 ‘ARP WATCH’ 등을 사용하는 것도 좋은 방법”이라고 설명했다.

스푸핑 방어에 대한 더 구체적인 기술들은 인터넷침해사고대응센터 홈페이지(www.krcert.or.kr)에서 확인할 수 있다. @

신고

에디트는 얼마 전까지만 해도 일부 고급 이용자들에게만 알려진 어려운 기술이었다. 이 어려운 것을 단일 프로그램의 에디트를 목적으로 사용하기 쉽게 제작할 수 있는 툴을 만들어, 에디트를 보편화 시킨 사람은 Gemt 의 제작자인 오수택 이다. Gemt 는 16진수(Hex) 데이터 형식의 수치를 편집할 수 있는 에디터의 제작툴이므로 Hex 에디터에 대해 완전한 이해 없이는 제작이 어렵다. 여기서는 바로 이 Gemt 의 사용법에 대해 설명하겠다.

Array

▲ 이번 강의부터는 그림 크게 보기를 지원하는 그림에 "▲" 표시를 넣는다..

Gemt를 실행하면 새로운 에디터를 제작하도록 설정된다. 전에 작업 하던 내용을 불러 오려면 "읽어 오기"를 누르면 된다. 작업 결과는 동일한 폴더의 gemt.cfg 파일에 저장된다.

Array

▲ 필자가 제작한 코룸3 에디터의 File Name 설정 화면

먼저 File Name 버튼은 에디트할 게임의 세이브 데이터 이름을 적는 곳이다. 각 번호마다 그 게임의 세이브 데이터 이름을 확장명을 포함하여 번호순으로 적어두면 된다.

다음으로 데이터 검색 버튼은 찾고자 하는 데이터의 주소를 알아내는데 사용되지만, 이것을 사용하는 것은 좋지 않다. 그러면 데이터 검색 버튼을 사용하지 않기 위해 울트라 에디트로 데이터의 주소를 알아내는 방법을 배워보자.

Array

울트라 에디트로 에디트 하려는 세이브 데이터를 불러온다. 왼쪽에 있는 것이 행번호 인데, 번호를 살펴보면 모두 0으로 끝난다는 것을 알 수 있다. b230 행에서 첫 번째 열의 데이터 주소는  b230 이고, 그 오른쪽의 데이터는 b231 이다. 예를 들어 3d23 이라는 주소에 있는 데이터를 찾으려면 3d20 행의 4번째 열에 있는 값을 찾으면 된다.

Array 

▲ 화면 아래쪽에 주소가 표시된다.

Array

그 데이터를 클릭하면 화면 하단에 (3d23H, 15651) 식으로 주소값이 표시된다. 왼쪽에 H 로 표시된 값은 직접 에디트를 할 때 이용하기 쉽고, 그 오른쪽에 10진수로 표시된 값(15651) 이 에디터 제작에 필요한 값이다. 에디트 하려는 수치를 Alt + F3 으로 찾고, 그 수치의 주소를 적어둔다. 2칸에 표현되는 값은 둘 중 앞쪽의 수치값을 사용한다. 주소를 적었다면 gemt 로 돌아온다. (꼭 멍청하게 따라한다고 15651 적어놓고 안된다고 난리치는 인간들이 있다. 이건 언제까지나 예로 든 것일 뿐이다. Alt + F3 으로 찾은 수치의 주소를 적는거다.)

Array

▲화면 구성 버튼을 누르면 에디터의 제목, 제작자, 데이터가 없을 때 출력될 문장을 입력하는 난이 뜬다. 제목과 제작자는 여러분이 채워 넣고, 세이브 데이터가 없을 때 출력될 메시지에는 간단한 안내문을 적어두자.(ex: 세이브 데이터가 없습니다.)

이 때, 한/영 전환은 [한/영] 버튼이 아니라 Shift + Space Bar 이다.

이제 본격적인 에디터 제작을 시작한다.

Array
▲ 항목 수정 버튼을 누르면 먼저 에디트될 데이터의 이름을 묻는다. 어떻게 입력하든 제작에는 영향을 미치지 않지만, 이용자들이 알아볼 수 있도록 H.P 등의 데이터 이름을 기록한다. 입력한 데이터의 이름은 제작될 에디터에 아래와 같이 나타난다.

Array 

▲데이터 이름이 왼쪽에 나타난다.

다음으로는 데이터의 형식을 묻는다. 0번은 수치형, 1번은 문자열형, 2번은 참고형, 3번은 아이템형 이라고 화면 하단에 설명된다. 가장 많이 쓰이는 것은 참조형과 수치형 인데, 참조형은 데이터 에디트를 위한 항목이 아니라 일종의 안내와 같은 것을 할 때보통 쓰인다.

Array

▲ 참조형의 예

H.P 는 수치형이므로 일단 0번을 입력하고 다음 단계로 넘어간다. 다음으로는 주소 값을 입력하는 난이 뜬다. 여기에 아까 적어둔 주소 값을 넣는데, 이때 주의할 점은 주소 값에 1을 더한 값을 입력해야 한다는 것이다. 이것은 hex 에디터에서는 첫 번째 데이터를 0으로 인식하지만 gemt 에서는 1로 인식하기 때문이다. 주소값을 입력한 다음은 수치의 최대값을 지정하는데, 한 칸에 기록되는 수치는 보통 255나, 99로 설정하고, 두칸에 기록되는 수치는 65535나 999 로 지정하는 것이 일반적이다.

같은 방법으로 M.P 등의 모든 수치를 입력하고 저장하면 에디터 제작이 끝난다. 도움말은 에디터 사용 도중에 F1을 눌렀을 때 나타나는 말을 적는 기능이다.

에디터는 세이브 데이터가 있는 폴더에서 사용해야 하고, 인터넷 등에 배포할 때는 Editor.exe 와 gemt.cfg 두 파일을 압축하여 같이 업로드 하면 된다. 둘 중의 한 파일이라도 빠지면 에디터는 재대로 작동하지 않는다.

주의 사항 - 에디터를 배포하기 전에 반드시 여러 환경에서 테스트 할 것. 테스트 되지 않은 에디터의 대부분은 세이브 데이터를 파괴한다. 그 대표적인 예가 코룸3 이다. 저장된 슬롯 번호, 수치값, 주인공의 위치 등이 세이브 데이터의 주소값에 영향을 줄 수 있다는 것을 명심하고, 충분한 테스트를 한다. 여러분이 만든 에디터는 많은 사람들이 사용할 것이므로, 결함이 있어서는 안된다.

 

 

출처 : http://savant2.com.ne.kr

신고

메모리 에디트는 최근에 쉬운 사용법으로 가장 많이 사용되는 방법이다.

이 방법은 Alt + Tab 으로 프로그램을 잠시 빠져나올 수 있어야 하는 게임에서만 사용이 가능하며, 메모리 에디트의 가장 큰 단점은 도중에 다운 현상이 잘 일어난다는 것이다.

오늘은 Falcom 사의 Ys ETERNAL을 예로 들어 에디트를 해보겠다.

Array
▲ 메모리 에디트도 예외는 아니다. 스테이터스 확인이 먼저다.

RPG 게임의 경우 다른 수치들을 잘못 건드리면 후에 레벨업을 하게되면서 오류가 나는 경우가 매우 많다. 그러나 경험치의 에디트는 비정상적인 수치를 얻는 것이 아니라, 레벨업을 통해서 수치를 올리기 때문에 대부분 경험치와 돈만을 에디트 한다.

게임에서 스테이터스 확인을 하였다면 Alt + Tab을 눌러 잠시 빠져나온뒤 게임핵을 실행시켜보자.

Array

▲ Game Hack 2.0

맨 왼쪽의 기어모양 버튼(Select process for hacking)은 에디트할 프로그램을 선택하는 버튼이다. 클릭한뒤 이스 이터널은 선택한다.

이제 경험치의 에디트를 시작해 보려는데, 주인공의 경험치가 0이다. 메모리 에디트에서는 0인 수치를 에디트 할 수 없다. 따라서 전투 등을 통해 주인공의 경험치를 0이 아닌 다른 수로 바꿔주어야 한다.

Array

▲ 에디트할 수치를 0이 아닌 다른 수치로 고쳐주었다.

경험치를 전투를 통하여 4로 바꾸었다.

Array

▲ 쌍안경 버튼을 누른다.

찾기 시작(Start search) 버튼을 눌러 찾기 창을 띄운뒤 빈칸에 경험치인 4를 입력한다. 그러면 프로그램 위의 그래프가 올라가면서 작업이 시작되는데, 이 작업은 메모리 안에서 "4" 라는 숫자는 몽땅 검색해서 메모리의 어디에 위치해있는지 알아두는 작업이다.

검색이 끝나면 메시지가 뜨는데 해석해보면 "수치가 너무 많아서 표시할 수 없습니다." 라고 쓰여있다.

Array

▲ 경험치가 바뀌었다.

다시 게임으로 돌아와 전투 등을 통해 경험치를 다른 숫자로 바꿔준다.

Array

▲ 가장 실수를 많이하는 부분이다.

Alt + Tab을 눌러 게임을 빠져나온뒤 이번에는 Next search 버튼을 누르고 바뀐 숫치를 입력한다. 이때 주의할 점은 Start search 버튼을 누르면 찾기를 처음부터 다시 해야 한다는 것이다. 이번에도 그래프가 올라가며 작업이 시작되는데, 이번 작업은 아까 Start search 버튼으로 검색했을 때 메모리 안에서 4였던 수치들 중에서 10으로 바뀐 수치들을 몽땅 검색하는 작업이다.

Array

▲ 이번에는 3개의 수치가 찾아졌다.

이렇게 3개의 수치가 찾아졌지만, 이 중에 무슨 수치가 경험치인지 알 수 없다. 이런 경우 게임에서 전투 등을 통해 다시한번 경험치를 바꿔준뒤 앞의 Next search 작업을 한번 더 해주면 된다.

Next search 작업을 한번 더 해 주어도 결과는 마찬가지로 3개가 나타난다. 그것은 세 개의 수치 모두가 경험치임을 나타내는 것이다.

Array

▲이제 수치 변경을 시작해보자.

주소값들을 모두 더블클릭하여 아래 창으로 내려준다. 다음 Value를 클릭하여 바꾸고자 하는 수치를 넣어준다. 마찬가지로 아래의 두 값도 바꾸려는 수치로 똑같이 바꿔준다.

Description 왼쪽의 버튼은 바꾼 수치를 고정하는 버튼이다. HP 에 사용하면, HP 가 고정되어 달지 않는다.

Array

▲값이 변경되었다.

다시 게임에 들어가면 수치가 변경되어 있지 않을 것이다. 그럴 때는 다른 방법을 통해 그 수치에 "새로고침" 효과를 주어야 한다. 즉 경험치를 에디트했으므로 전투를 한번 해주면 된다.

전투를 한번 해주면 레벨업과 함께 수치들이 완전히 에디트되어 있을 것이다.

다른 수치도 에디트 하려면 Start search 버튼을 누르면 된다.

 

 

출처 : http://savant2.com.ne.kr

신고

'Application > Debug' 카테고리의 다른 글

nPotect 유감: nProtect 키보드 보안 프로그램의 CPU 리소스 점유, 시스템 상주 문제  (0) 2008.04.01
에디터 제작  (0) 2008.02.17
Game Hack 2.0  (0) 2008.02.17
Cheat O'Matic  (0) 2008.02.17
Hex 방식의 에디트  (0) 2008.02.17
Text 방식의 에디트  (0) 2008.02.17

※ 온라인 게임의 에디트는 불가능합니다. ※

메모리 에디트는 최근에 쉬운 사용법으로 가장 많이 사용되는 방법이다.

이 방법은 Alt + Tab 으로 프로그램을 잠시 빠져나올 수 있어야 하는 게임에서만 사용이 가능하며, 메모리 에디트의 가장 큰 단점은 도중에 다운 현상이 잘 일어난다는 것이다.

그 중에서도 치트 오매틱은 메모리 에디터 중 다운이 가장 잦고, 기능면에서도 많이 뒤쳐지지만, 그만큼 사용법이 어떠한 툴보다도 쉽기 때문에, 초보자들이 선호하는 툴이다.

치트오매틱 강의는 TGL 사의 Farland Saga를 예로 들어 에디트를 해보겠다. 치트오매틱의 사용법은 어떤 게임이든 동일하니, 자신이 원하는 게임이 아니라고 에디트를 포기하지 말고, 적당히 자신의 게임에 따라 적용시키기 바란다.

Array
▲ 어떤 에디트방식이든 첫 번째 단계는 능력치 확인이다.

RPG 게임의 경우 다른 수치들을 잘못 건드리면 후에 레벨업을 하게되면서 오류가 나는 경우가 매우 많다. 그러나 경험치의 에디트는 비정상적인 수치를 얻는 것이 아니라, 레벨업을 통해서 수치를 올리기 때문에 대부분 경험치와 돈만을 에디트 한다.

주인공의 경험치를 에디트 하려는데, 경험치값이 0이다. 메모리 에디트 방식에서는 0인 수치는 에디트할 수 없다.

Array
▲ 에디트할 경험치 수치를 전투를 통하여 0이 아닌 수로 바꿔준다.

Array
▲ 경험치가 6으로 바뀌었다.

따라서 에디트를 시작하기 전에 전투를 통하여 경험치를 0이 아닌 수로 바꿔주어야 한다.

에디트할 수치가 0이 아닌 수로 바뀌었다면, 이제 Alt + Tab을 눌러 잠시 빠져나온뒤 치트오매틱을 실행시킨다. 이 때, 에디트할 수치의 값(6)을 기억해둔다.

Array
Cheat O'Matic

프로그램을 실행시키면 제일 먼저 "에디트하고자 하는 프로그램을 목록에서 선택하시오." 라는 메시지가 뜬다. 위의 빈 칸을 클릭하고, 에디트하려는 게임을 선택한다.

Array
에디트할 수치를 입력한다.

빈칸에 경험치인 6를 입력한다. 그러면 프로그램 위의 그래프가 올라가면서 작업이 시작되는데, 이 작업은 메모리 안에서 "4" 라는 숫자는 몽땅 검색해서 메모리의 어디에 위치해있는지 알아두는 작업이다.

문제는 여기서 발생한다. 이 때에 다운이 상당히 지주 일어난다는 것이다. 따라서 치트오매틱을 이용하여 에디트를 할 때에는 다른 프로그램들은 종료하고, 게임과 치트오매틱 프로그램만을 켜도록 한다.

그래도 다운이 발생하면, 치트오매틱 대신, 윈도우 2000~XP 사용자는 Game Wiz를, 윈도우 95~Me 사용자는 Game Hack을 사용할 것을 추천한다.

작업이 무사히 수행된다면 프로그램 안에서 수치를 다르게 바꾼 뒤 바뀐 수치를 입력하고 "찾기"버튼을 누르시오." 라는 메시지가 뜬다.

Array
▲ 전투를 통해서 경험치값을 다른 값으로 바꿔준다.

Array
▲ 스테이터스 확인

Array

다시 게임으로 돌아와 전투 등을 통해 경험치를 다른 숫자로 바꿔준 뒤, 이번엔 치트오매틱데 바뀐 수치를 입력해준다.

이런식으로, '에디트할 수치를 전투 등을 통해 바꿔줌- 치트오매틱에 바뀐 수치를 입력하고 찾기 버튼을 누름' 작업을 반복 수행하다보면 다음과 같은 창이 뜬다.

ArrayArray
수치를 찾게 되면 왼쪽과 같은 창이 뜨고, 수치 찾기에 실패하면 오른쪽과 같은 창이 뜬다.

수치 찾기에 성공했다면 빈칸에 바꿔주고자 하는 값을 입력한 뒤, Set 버튼을 누른다.

틀리지 않고 잘 따라했는데도 오른쪽과 같은 창이 뜬다면, 에디트가 방지된 게임일 가능성이 크다.

"고정" 키는 변경한 수치가 다른 수치로 바뀌지 않도록 고정하는 기능을 가지고 있다. 예를 들어, HP를 에디트 한 뒤, 고정 키를 누르면 HP 가 떨어지지 않으므로 주인공을 무적으로 만드는 것이 가능하다.

Array
▲ 경험치 에디트에 성공하였다.

에디트에 성공하였다. 그런데, 경험치만 바뀌었을 뿐, 레벨은 그대로인 것을 볼 수 있다. 이럴 때에는 전투 등을 통하여 게임상에 "새로고침" 효과를 주면 된다.

Array
▲전투를 할 때마다 레벨이 오르게 된다.

이렇게 하여 치트오매틱 강좌가 끝났다. 아쉽게도 치트오매틱은 이 이상 다른 이용법도 없고, 더 이상의 다른 기능도 없다. 따라서 고급 옵션을 사용하려면 Game Hack 이나 Game Wiz를 사용해야 한다.

 

 

출처 : http://savant2.com.ne.kr

신고

'Application > Debug' 카테고리의 다른 글

에디터 제작  (0) 2008.02.17
Game Hack 2.0  (0) 2008.02.17
Cheat O'Matic  (0) 2008.02.17
Hex 방식의 에디트  (0) 2008.02.17
Text 방식의 에디트  (0) 2008.02.17
W32/Parite.B  (0) 2008.02.15

Hex 에디트는 어려우면서도 무한한 응용의 가능성이 있는 에디트 방법이다.

이 강의를 보기 전에 이전의 16진수에 대한 강의를 먼저 보도록 한다.

Array
▲ 에디트의 준비단계는 스테이터스 확인이다.

이번에 예로 들 게임은 Compile 사의 After Devil Force -미치광이 왕의 후계자- 이다.

병사수와 최대 병사수를 9999로 에디트할 예정이다. 병사수는 1000, 최대 병사수도 1000 이다.

1000 의 에디트형은 E8 03 이다. (이 부분은 이전의 강의에서 설명하였다.) 물론 필자는 계산하는 것보다는 직접 만든 프로그램인 "16진수 변환 프로그램"을 사용하고 있다.

에디트에 사용될 프로그램은 Ultra Edit 이다.

Array
▲ 울트라 에디트에 로드된 상태

이 게임을 저장하고 울트라 에디트로 세이브 데이터를 불러오도록 한다.(세이브 데이터에 대한 설명은 "Text 방식의 에디트"에서 이미 다루었다.)

Array
찾기(Alt + F3) 창

Alt + F3을 눌러 찾기 창을 띄우자. 여기에 병사수(1000)의 에디트형인 E8 03을 넣고 찾기를 누른다.

Array
▲ 수치를 찾은 상태

Text 방식의 에디트에서도 그러했듯이 이 수치가 찾고자 하는 1사단의 병사수가 맞는지는 아직 장담할 수 없다. 주위에 다른 능력치(최대 병사수) 가 있는지 확인해본다.(위의 그림을 클릭하면 크게 볼 수 있다.)

Array
▲ 1000을 999 로 살짝 고쳐보았다.

그러나 이 경우는 재대로 확인해볼 수 없는 경우이다. 이럴 경우 직접 바꿔보고 게임상에서 확인해 보는 방법이 가장 좋다. 1000을 999 로 살짝 고쳐준 뒤 저장하고 게임상에서 로드하여 확인하기로 하였다.

시험을 목적으로 수치를 고치는 경우는 수치를 살짝만 바꾸어 보도록 한다. 오류의 최소화를 위해서이다.

Array
▲ 수치가 999로 바뀌었다.

수치가 999로 바뀐 것을 확인할 수 있다. 이것으로 그 수치가 1사단의 병사수임을 알아냈다. 이제 이 수치를 9999 로 바꾸어 보자.

Array
▲ 수치를 9999로 바꾸었다.

9999의 에디트형은 0F 27 이다. 이 수치를 0F 27 로 바꾸고 저장한다.

Array
▲ 수치가 재대로 바뀐 것을 확인할 수 있다.

게임에서 이 세이브 데이터를 로드하여 재대로 에디트 되었는지 확인해본다. 에디트가 재대로 되지 않았다면 울트라 에디트에서 그 수치를 다시 원래대로 고쳐놓아야 한다.

 

 

출처 : http://savant2.com.ne.kr

신고

'Application > Debug' 카테고리의 다른 글

Game Hack 2.0  (0) 2008.02.17
Cheat O'Matic  (0) 2008.02.17
Hex 방식의 에디트  (0) 2008.02.17
Text 방식의 에디트  (0) 2008.02.17
W32/Parite.B  (0) 2008.02.15
Goodcode(?) 정보  (0) 2007.11.10

텍스트 에디트는 세이브 데이터를 조작하는 에디트 방식중에서 가장 쉬운 방법이다. 그러나 이러한 방식으로 에디트가 가능한 게임은 얼마 되지 않는다.

에디트를 할 수치가 무엇인지를 먼저 결정하자.

Array
여기서는 은하영웅전설V를 예로 들었다.

우주전함의 수를 예로 들어 에디트를 해보겠다. 먼저 위의 수치들을 메모지 등에 적어둔 뒤(2000, 1200, 800…) 게임에서 세이브(저장)을 하고 윈도우로 잠시 빠져 나온다.

에디트의 시작은 세이브 데이터를 여는 것으로 시작되는데, 초보자들이 에디트를 시작할 때 제일 애먹는 부분이 바로 이 부분이다. 세이브 데이터는 게임이 설치된 디렉토리에 보통 확장명이나 파일명이 sav 이거나 Save의 약자가 포함되어있기도 하고, 아니면 세이브 데이터 폴더가 따로 있기도 한다. 어떤 게임(ex : 전사 라이안, 은하영웅전설4 EX)은 세이브 데이터의 이름을 직접 지정하므로 이런 경우는 별 어려움은 없을 것이다. Save 의 약자가 포함되어있는 파일도 없고, 세이브 데이터 폴더가 따로 있지도 않으면, 감으로 찍는수박에 없다. 이럴 때 숫자가 붙어있는 경우 대부분 세이브데이터가 맞다.

Array
은하영웅전설5의 경우 이렇게 세이브 데이터 폴더가 존재하고, 그 안에 세이브 데이터가 있다.

Array
세이브 데이터를 메모장으로 드래그 앤 드롬(Drag and drop;끌어놓기) 하면 열린다.

Array

세이브 데이터를 메모장으로 열어본다. 우리는 아까 뮈젤함대의 전함수를 수정하려고 했다. 메모장의 찾기 기능으로 바꾸고자 하는 수치인 2000을 찾아본다.

Array

이제 2000을 찾았다. 그러나 이것이 뮈젤함대의 통솔력이 맞는지는 아직 장담할 수 없다. 다른 어떤 능력치에 2000이 있을 수도 있기 때문이다. 이런 경우 근처에 뮈젤함대의 다른 수치들도 있는지를 알아보면 된다. 스테이터스(첫 그림)에서 뮈젤함대의 고속전함은 1200, 공격항모는 800이였다. 그렇다면 주위에 1200, 800이 있는지 알아본다.

Array

근처에 고속전함수치인 1200과 공격함모수치인 800이 있으므로 이 수치가 뮈젤함대의 우주전함 수치가 맞는다는 것을 알 수 있다.

Array
이 수치를 9999로 바꿔주고 저장한다.

이제 게임에서 세이브 데이터를 로드하여 수치가 재대로 바뀌었는지 확인해보자. 만약 에디트가 잘못 되었다면, 이 부분을 다시 2000으로 바꿔주어야 한다.

Array

수치가 재대로 바뀌었다. 마찬가지로 고속전함의 숫자도 바꿔보자.

Array

이번에는 찾을 필요 없이 바로 옆의 고속전함 수치인 1200을 바꿔주고 저장하면 된다. 이렇게 해서 우주전함 수치와 고속전함 수치를 9999 로 바꾸어보았다.

 

 

출처 : http://savant2.com.ne.kr/

신고

'Application > Debug' 카테고리의 다른 글

Cheat O'Matic  (0) 2008.02.17
Hex 방식의 에디트  (0) 2008.02.17
Text 방식의 에디트  (0) 2008.02.17
W32/Parite.B  (0) 2008.02.15
Goodcode(?) 정보  (0) 2007.11.10
Good Code(?) 정보.  (0) 2007.08.28
이 글들을 읽을땐 C나 Asm에 대한 약간의 지식이나 API에 대한 사전 지식은 도움이 됩니다.


테트리스 블럭 조작 기법
Written by A #Dual_Root




서론

이 글에서는 테트리스 게임의
블럭 조작 기법을 소개합니다.






필요한 도구들

- Olly Dbg






대상 프로그램 링크

저작권상의 이유로 링크할순 없습니다. - 넷마블 테트리스+




본문




1.테트리스?
안녕하세요~ Dual입니다. ;) 홈페이지에서 왠만하면 GameHacking기법에 대해선 다루지 않으려고 했지만, 왠지 하나쯤은 있어도 괞찮겠다는 생각이 들어서 글을 쓰게 되었습니다. ;) 그리고 이글에서는 노가다적인 Memory Finding을 쓰면서 하는것이 아닌, 테트리스 게임에 대한 분석을 통해서 얻어낼수 있는 사항들을 가지고 디버거 툴을 가지고 패치하는 법에 대해서 다루도록 해보겠습니다. ;p 예~! 본격적인 패치 작업을 시작하기 전에 블럭 조작을 위해서 필요한 사항이 무엇인지 파악하는것이 중요합니다. 먼저, 테트리스의 블럭(모양)수는 몇개일까요? 위에서의 그림 처럼, 블럭의 갯수는 7개 입니다. ;p (이것을 미리 알아두는 것은 아주 중요합니다.) Tetris게임은 블럭을 Random적으로 생성해내어, 이값을 배열에 저장해두고, 배열의 값을 하나씩 읽어와서 그 해당 블럭을 출력하는 방법을 취하고 있습니다. (미리 블럭 배열을 생성 해두는 이유는 게임의 속도 떄문일것입니다.) 여기서 의문점이 생길수 있습니다. 과연 Random적으로 블럭의 값을 생성해내는 방법은? 어떤 함수를 이용하는 것일까? 라는 의문점이죠. Random Number를 우리 나라 말로 하면 난수가 됩니다. 난수란 어떤 규식성이 없이 무작위로 발생한 수를 말하는 것이죠. 그리고 이 난수를 발생시키는 함수는 VC 내장 함수인 rand() 함수입니다. rand() 함수를 이용하여 블럭의 갯수(=7개)만큼의 난수를 발생시킬떈 밑에와 같이씁니다. rnd = rand() % 7; 아무리 큰수가 되더라도 7로 나눈 나머지(mod연산)을 구하면 7이하의 값이 되게 됩니다. 이를 어셈블리어로 표시해보면 밑에와 같을 것입니다. call rand //rand함수를 호출한다. cdq xor eax,edx //eax와 edx를 xor 연산한다. mov ecx,7 //나누는 수는 ecx에 저장한다. sub eax,edx //eax에서 edx를 뺸다. cdq idiv ecx //eax의 값을 ecx 나눈다. 우리는 이와 같은 형태의 부분을 찾으면 되는 것입니다. ;p 이제 이론적인 부분을 알게 되었으니, 남은 일은 OllyDbg를 이용하여 실제로 저거와 비슷한 부분을 찾아내면 되는것 입니다. ;) OllyDbg를 키고 대상 프로그램으로 넷마블 테트리스+ 를 지정합니다. (Attach) 올리디버거 메뉴 상단의 E<=버튼을 클릭하여 모듈 목록을 띄운후에, Tetrisplus.exe를 마우스 오른쪽 버튼으로 클릭하면 뜨는 메뉴중, View Names 메뉴를 클릭해서 함수목록을 띄웁니다. 함수 목록이 떳다면, rand()함수가 있는지 찾아봅니다. 역시 우리의 기대를 져버리지 않고, rand()함수가 존재하는것을 볼수 있습니다. ;) rand 함수를 마우스 오른쪽 버튼으로 클릭하여 뜨는 메뉴중 Find References 라는 메뉴를 클릭하여 rand()함수를 호출하는 주소들을 볼수 있습니다. 정말 많은곳에서 rand()함수를 호출해다가 쓰는곳을 볼수 있습니다. 이것을 하나씩 Follow In Disassembler 하여 보는 것은 엄청난 노가다 작업이 될듯함으로 ;) Set Break On Every Command 메뉴를 이용해서 모두 브레이크 포인트를 건후, 게임을 시작할떄 브레이크 포인트가 걸리는것중 우리가 찾는 부분과 비슷한것이 있는지 찾아 보는 형식으로 해보겠습니다. ;) 첫번쨰 브레이크 포인트가 걸린지점은, 00442103 E8 A2B40700 CALL TetrisPl._rand 00442108 99 CDQ 00442109 B9 32000000 MOV ECX,32 0044210E 8B1D 20895400 MOV EBX,DWORD PTR DS:[<&WINMM.timeGetTim>; WINMM.timeGetTime 00442114 F7F9 IDIV ECX 우리가 찾는 값은 7인데 여기선 32임으로 아니니, 브레이크 포인트를 해제하고 넘어갑니다. 0044213E E8 67B40700 CALL TetrisPl._rand 00442143 8B8E B8010000 MOV ECX,DWORD PTR DS:[ESI+1B8] 00442149 89BE F4010000 MOV DWORD PTR DS:[ESI+1F4],EDI 0044214F 85C9 TEST ECX,ECX 00442151 74 07 JE SHORT TetrisPl.0044215A 두번째 브레이크 포인트가 걸린 지점역시 아닌듯 합니다. 브레이크 포인틀르 해제하고 넘아갑니다. 00442197 E8 0EB40700 CALL TetrisPl._rand 0044219C 8B86 F0010000 MOV EAX,DWORD PTR DS:[ESI+1F0] 004421A2 85C0 TEST EAX,EAX 004421A4 74 09 JE SHORT TetrisPl.004421AF 004421A6 50 PUSH EAX 004421A7 E8 33E30D00 CALL TetrisPl.??3@YAXPAX@Z 세번쨰 지점 역시 아닌듯 합니다. ;) 00442221 E8 84B30700 CALL TetrisPl._rand 00442226 89BE A8010000 MOV DWORD PTR DS:[ESI+1A8],EDI 0044222C 8B76 0C MOV ESI,DWORD PTR DS:[ESI+C] 0044222F 85F6 TEST ESI,ESI 네번쨰 역시도 아닙니다 T.T 004410EB E8 BAC40700 CALL TetrisPl._rand 004410F0 99 CDQ 004410F1 B9 32000000 MOV ECX,32 다섯번쨰 역시 아닙니다. 00441146 E8 5FC40700 CALL TetrisPl._rand 0044114B 99 CDQ 0044114C B9 0A000000 MOV ECX,0A 00441151 F7F9 IDIV ECX 여섯번쨰 지점은 상당히 흡사하여 보이지만, 우리가 찾는것은 0xA가 아닌 0x7임으로 넘어갑니다. 004339FD E8 A89B0800 CALL TetrisPl._rand 00433A02 99 CDQ 00433A03 B9 0A000000 MOV ECX,0A 00433A08 F7F9 IDIV ECX 일곱번쨰 역시 우리가 찾는 부분이 아닙니다. 004393DC E8 C9410800 CALL TetrisPl._rand 004393E1 99 CDQ 004393E2 33C2 XOR EAX,EDX 004393E4 B9 07000000 MOV ECX,7 004393E9 2BC2 SUB EAX,EDX 004393EB 99 CDQ 004393EC F7F9 IDIV ECX 8번쨰에 우리가 찾던 부분을 찾을수 있었습니다. ;p 아직 확실하지 않음으로 몇번더 OllyDbg를 돌립니다. ;0 00439406 E8 9F410800 CALL TetrisPl._rand 0043940B 99 CDQ 0043940C 33C2 XOR EAX,EDX 0043940E B9 07000000 MOV ECX,7 00439413 2BC2 SUB EAX,EDX 00439415 99 CDQ 00439416 F7F9 IDIV ECX 9번쨰 브레이크 포인트가 걸린지점은 8번쨰 부분과 똑같이 생겼으며, 8번쨰 포인트 바로 아래부분에 있는것으로 보아 넷마블 테트리스+의 프로그래머 분께서 블럭 체크를 위해 같은 부분을 두곳만들어 둔것이 아닌가 생각됩니다. ;) 우리는 패치해야할 주소를 알아낸 것입니다. 이제 패치하는 방법에는 두가지 방법이 있습니다. ------------------------------------------------ ① ecx의 값을 수정하여 범위를 좁아지게 만든다. ② eax의 값을 수정하여 무조건 어떤 블럭이 나오도록 만든다. ------------------------------------------------ 2번쨰 방법은 넷마블 테트리스+의 경우 같은 블럭이 연속으로 여러번 떨어질 경우 잘못된 패킷이라 간주하고, 방에서 접속이 끊어짐으로 첫번쨰 방법을 사용 하도록 해보겠습니다. ;) 8번쨰와 9번쨰 부분의, 004393E4 B9 07000000 MOV ECX,7 0043940E B9 07000000 MOV ECX,7 를 각각 MOV ECX,2로 바꾸었습니다. ;) 이제 테트리스에서 패치가 적용되었는지 확인해 보겠습니다. ;) 이제 어디 부분을 패치해줘야 되는지 알았음으로 Memory Patch식으로 만들거나(추천), 실행 파일에 직접 수정을 가해줄수 있겠습니다. (이방법 쓰면 게임이 재미없어지겠죠) 우리는 테트리스의 블럭의 계수가 7개이며, 난수를 발생시키는 함수는 rand() 함수였다는 사실을 통해 rand()함수에 브레이크 포인트를 걸고 적절한 부분을 찾는 방법을 통해 성공적으로 패치 해낼수 있었습니다. ;) 이것은 테트리스 만의 것이 아님으로 여러가지 게임에 응용해 볼수 있을것입니다. ;) 간단한 예로 지뢰찾기 같은 프로그램 부터 시작해서 N뭐 게임사의 MxxxxxSxxxy 같은 게임에서 초기 스텟을 주사위로 정하는거 같은 게임까지 말이죠 ;) 그럼 오늘 글도 여러분에게 많은 도움이 됬었길 바라며, 오늘도 즐거운 밤입니다. 출처: http://dualpage.muz.ro/
신고

'Application > Debug' 카테고리의 다른 글

Good Code(?) 정보.  (0) 2007.08.28
SearchFree라는 프로그램은..  (0) 2007.07.16
[해킹] 테트리스 블럭 조작 기법  (0) 2007.07.11
악성코드 만들기.. -ㅅ-;;  (0) 2007.07.07
New Project : BadCode  (0) 2007.07.06
awvvu.dll, nnnonlk.dll 이것들이!!  (0) 2007.06.28

구글 코드 서치로 SQL Injection 코드 찾기


구글 코드 서치로 PHP 코드 중 SQL Injection 취약점이 있는 코드를 찾는 키워드가 공개되었습니다.

쿼리 : lang:php Where $_POST -addslashes
쿼리 결과 : http://www.google.com/codesearch?q=+lang:php+Where+%5C%24_POST+-addslashes&sa=N

쿼리를 잘 보시면 PHP 언어 중 Where 와 $_POST 절이 나타나면서 addslashes 함수를 사용하지 않는 코드를 찾고 있는 것을 보실 수 있습니다.

결과로 나오는 모든 코드가 취약한 것은 아니고, PHP 환경 설정의 영향도 받는다는 것을 고려해야 하겠습니다만... 유명한 제품에도 의외로 많은 결과가 나오는 것이 놀랍습니다.

조만간 구글 코드 서치 결과를 통해 발견된 다수의 버그가 버그트랙에 올라올까 두렵군요.

Web Application Security Hazard ~

 


 



출처: http://swbae.egloos.com/1430888
신고

+ Recent posts