728x90
728x90




781년, 투생에 있던 엘프의 왕국이 끝났다. 1500년이 넘게 지속되었던 한 시대가 마침내 저물었다.


엘프들은 그들의 상아빛 도시를 버리고 산으로 달아났다. 가지고 갈 수 있는 것들은 모두 챙긴 뒤 나머지는 모두 파괴했다. 그들이 가지고 갈 수도 없고 부수거나 태울 수도 없었던 것에는 저주를 내렸다.


엘프의 마지막 군주 디베사프는 200년 동안 세계의 변화를 지켜보아 왔지만 아직도 아름다운 젊은이 같았다. 그는 마침내 패배했다. 그는 영원히 어릴 것만 같은 형제자매들로 구성된 군대의 죽음에 흐느끼다가, 투생의 첫 인간 왕 뤼도빅(공평하게 말하자면 당시에는 노인이 아니었지만, 마치 사오바인 다음 날의 밤처럼 찌그러지고 못생긴 사람이었다)에게 충성의 맹세를 하기로 했다.




뤼도빅은 거드름을 피우며 자랑했다.


"저자를 봐라. 자존심 넘치는 엘프가 내 앞에 절할 것이며, 수치심에 젖어 내 귀한 발끝에 입맞출 것이다!"


디베사프에게 더 큰 모욕을 주기 위해서, 뤼도빅은 이제 막 엘프 왕이 떠나게 된 궁에서 충성의 맹세를 듣기로 했다. 뤼도빅이 뻔뻔하게 차지하고 앉은 그 왕좌에는 얼마 전 엘프들이 떠나기 전에 그곳을 완전히 태워 버리려다 남긴 불의 자국이 남아있었다.


그로써 자존심 강한 엘프 왕은 인간 왕 앞에 절을 올렸고, 빵과 포도주뿐만 아니라 그의 검과 방패도 공물로 바쳤다.


뤼도빅은 조롱을 아끼지 않았다. 그리고 충성의 맹세가 끝나자마자 경비들을 시켜 디베사프를 궁의 대문 바깥으로 끌고 가게 했고, 거지처럼 계단 아래로 던져버리라고 명령했다.


목격자들의 말에 따르면, 이 모든 일이 벌어지는 동안 그 자존심 강한 엘프는 평온함을 유지했다고 한다. 하지만 혼자 남겨졌을 때 디베사프는 얼굴에서 피를 닦아내고는 그 왕을 향해 잔혹한 복수를 맹세했다고 한다. 왕의 심장만큼이나 차가운 바위와 같은 복수를.



하지만 그는 그 저주의 말을 지키지 못했다. 782년, 다시 한 번 충성의 맹세를 해야 하는 해가 오기도 전에, 투생인들은 고르곤 산비탈에서 비인간들을 학살하는 것으로 엘프 군주의 항복을 기념하기로 했고 디베사프는 남아있던 병사들의 곁에서 마지막 숨을 몰아쉬었다. 거의 아무도 살아남지 못했다.



관련 퀘스트






728x90
728x90
728x90
728x90




[1권 - 생르투 계곡]


아름다운 투생 공국에서 지내는 동안, 카스텔 라벨로를 방문하는 것을 잊어서는 안 된다. 이곳에서 나는 포도들은 에르벨루스, 피오라노, 포미노 그리고 유명한 에스트에스트의 포도주의 맛을 내는 데에 사용된다. 하지만 만약 백포도주가 취향이라면 경쟁관계의 포도 농장인 코로나타와 버멘티노에서 나는 것들을 진심으로 추천한다. 북부 왕국에서 인기있는 보끌레흐 백포도주는 사실 카스텔 토리셀라 포도 농장의 수출품이긴 하지만 말이다. 안타깝게도, 심각한 경제 위기 탓에 저명한 포도 농장인 코르보 비앙코[각주:1]와 투포가 파산에 이르렀다. 코르보 비앙코는 엘더어(그들의 그 멋진 세프레멘토[각주:2]란!)로 그윈 세르빈이라 불린다. 글쎄, 이 농장들이 열정적인 새 주인을 찾아 이전의 영광을 되찾기를 바랄 뿐이다.




[2권 - 블레슈아 계곡]


생르투 계곡의 포도주가 너무 심심하다고 느낀다면, 블레슈아 계곡의 덜 알려졌지만, 맛은 마찬가지로 훌륭한 상표들을 추천한다. 우선 포메롤 포도 농장에서 생산되는 놀라운 코트 드블레슈아부터 시작해야 할 것이다. 특히 1260-1263년에 생산된 것들을 추천한다. 향미가 확실히 풍부하다. 한편으로는 근처의 주바란 성에서는 달지 않은 가스텔 드 뉴프를 제공한다. 투생 북부의 누라구스와 산체레는 적포도주에 특화되어 있으며 북부 왕국에는 투생 적포도주라고 알려진 포도주를 공동으로 생산하고 수출한다. 한 때는 카스텔다시아에서 뛰어난 로제 포도주를 찾을 수 있었지만, 그곳의 주인이 사망한 후로는 포도농장은 비극적인 몰락으로 접어들었다.




  1. 게롤트가 투생 공국 군주로부터 하사받은 영지(포도농장)로, 세계지도 설명에는 전 주인의 방탕한 생활로 빚더미에 올라 결국 공국 재무부의 손에 넘어가 경매에 올라간 상태였다고 한다. [본문으로]
  2. 코르보 비앙코 포도 농장에서 만들어진 와인 [본문으로]
728x90
728x90
728x90
728x90




르테는 공식홈페이지에서 회원가입해외결제가 가능한 방법을 통해서 라이센스를 구입해 사용할 수 있으며 최대 일주일 내에 출금됩니다. 


자신이 구입한 해당 버전 르테의 라이센스는 등록한 이메일

그리고 공식 홈페이지에서 로그인을 한 후 상단 탭 'CLIENT AREA(클라이언트 에어리어)'에 들어가 확인할 수 있습니다.



아래 주소는 르테 공식 홈페이지에서 곧바로 르테를 구입/다운로드 할 수 있는 주소입니다. 자신이 원하는 프로그램을 찾아서 'Buy Now!(구입)'하거나 'Download(다운로드)' 하세요.


https://www.fmrte.com/fmrte


라이센스를 구입하고 프로그램을 다운받았다면 아래와 같이 라이센스를 활성화시켜 본격적으로 사용하시면 됩니다 ~ ^^

( '-(하이픈)' 포함하여 복사 붙여넣기!, 라이센스 키 Order ID/Order Reference를 헷갈려서 입력하지 마세요! 라이센스 키는 4개의 '-(하이픈)'이 들어가있습니다! )


gif보기




728x90
728x90
728x90
728x90




3개월 리더십 훈련 코스 마치고 난 후 결과가 시원치 않을 때(실패했을 때) 나오는 보고서


현 토트넘 골키퍼 주장 위고 요리스 (리더십 15)


디종 풋볼 CO 공격수 (리더십 12)

#fm19 #fm2019



728x90
728x90
728x90
728x90





음악을 듣고 있다가 종료 후에 다시 키면 그 당시 듣고 있던 재생 위치에서 재실행 되나요?


처음 부터 다시 듣게 할 수 있었으면 좋겠다구요?


그럴 땐 이렇게 하면 됩니다




곰오디오 메인창 왼쪽 상단에 위치한 톱니바퀴(환경설정)를 클릭하세요!

또는 곰오디오 창을 띄운 채로 단축키(F5)를 눌러도 무방합니다!


환경설정창이 뜨면 기본그룹에서 재생메뉴를 클릭하고 첫번째탭(재생)-일반에서


'종료시 재생중이던 파일 위치 기억하기' 체크를 해제합니다


닫기 클릭하고 즐기기 ^^


끄읕!




728x90
728x90
728x90
728x90




6단계 : 포인터 (Pointer)


 포인터(Pointer)란 무엇인가요?

포인터 위키백과로 더 알아보기

포인터 나무위키로 더 알아보기

c언어에서의 포인터

- 메모리에는 바이트 단위로 그 위치를 식별할 수 있는 물리적인 주소값이 있다. 주소값은 0번지부터 차례로 부여된다. 만약 메모리의 용량이 64키로바이트라면 주소값은 0번지부터 65535번지까지 존재할 것이다. (1kbyte = 1024byte ∴ 64kbyte = 65536byte) 변수를 선언하면 그 자료형의 크기만큼 메모리에 연속된 바이트의 기억공간이 할당되고 자동으로 주소값을 가지게 된다. 예를 들어, Int 형 변수를 선언하면 메모리에 4바이트가 할당되고, 그 시작 주소값이 100번지라면 100번지부터 103번지까지의 주소값을 갖게 될 것이다. 이 때 시작 주소값 100번지를 포인터라고 한다. 프로그램에서 변수명은 알 수 있지만 그 변수가 실제 메모리의 몇 번지에 할당되는지 알 수 없다. 따라서 포인터를 사용하기 위해서는 먼저 그 주소값을 알아 내는 과정이 필요하다. 이 포인터에는 아주 특별한 정보가 숨겨져 있는데 바로 자신이 어떤 자료형으로부터 만들어졌는지에 대한 정보를 가지고 있다는 것이다. 포인터가 특정 자료형에 대한 정보를 가지고 있다는 것을 나타낼 때 간단히 "가리킨다"는 표현을 사용한다. 즉, 포인터의 값 자체는 메모리에서 1바이트의 주소값이지만 연속된 바이트를 대표하는 의미를 가지는 것이다. (-뇌를 자극하는 C 프로그래밍/한빛미디어)





이전 단계에서 코드 찾기를 사용하여 변화하는 위치를 처리하는 방법을 설명했습니다. 그러나 그 방법만으로 원하는 값을 설정하기 위한 주소를 찾기가 어렵습니다.


그래서 포인터가 있는 이유입니다.


Step 6 튜토리얼 창 맨 아래에 두 개의 단추가 있을 겁니다. 하나는 Value(값)를 변경하고 다른 하나는 Value(값)와 Pointer(포인터, 값의 위치) 둘 모두를 변경합니다.




이 단계에서 당신은 어셈블러를 알 필요는 없지만, 알고있다면 많은 도움이 될 것입니다.


먼저 값의 주소를 찾으십시오. 발견했다면 해당 주소를 더블클릭하여 주소리스트에 추가 시키고 또 다시 해당 주소를 마우스 오른쪽 클릭하여 Find out what accesses this address(이 주소에 접근하는 것이 무엇인지를 알아내라) 기능을 눌러 사용하십시오. 주소를 클릭한다음 단축키를 사용해도 좋습니다.




Change value(값을 변경) 버튼을 클릭하면 방금 열은 창 목록에 항목이 나타납니다. 일단 4개중 첫번째 해당하는 항목을 더블클릭하십시오. 또는 항목을 한 번 누르고 More information(추가 정보)를 클릭해도 됩니다.


(4개의 명령어가 떴습니다. 이는 값에 변화를 주었을 때 관여하는 명령어들이란 얘기입니다. 대충 어떤 명령인지 해석해보면 대괄호는 포인터라는 뜻이고 mov eax, [rax]는 [rax]가 가르키는 곳의 값을 eax에 저장해라 라는 뜻입니다.)



그렇다면 새 창 즉 Extra info 창이 열리고 명령이 실행될 때 어떤 일이 발생했는지에 대한 자세한 정보가 함께 표시됩니다.


(1번 문구에 "아마도 포인터 주소가 00000184 일 것이다" 라고 말하고 있습니다. 이 주소를 기억하거나 대괄호 즉 빨간색으로 칠해진 '[ ]' 사이의 문구와 상응하는 Hex 주소값을 아래에서 찾을 수 있고 창을 띄운 채로 적어도 됩니다. 이 주소는 저마다 다르니 자신이 찾은 주소를 알아 두셔야 합니다.)



어셈블러 명령어에서 '['  ']' 사이에 아무것도 없는 경우에는 목록에 있는 다른 항목을 사용하십시오. 만약 그렇게 한다면, 자기가 생각하는 당신이 필요한 포인터의 값을 보여줄 겁니다. (그러니까 대괄호 안이 비어있으면 다른 항목을 이용해라 이 말입니다.)


주 치트엔진 창으로 돌아간 다음 기억해둔 Hex(16진수, Hexadecimal) 주소값을 입력하고 4바이트로 스캔하십시오.


스캔이 완료되면 1개 또는 수 백 개의 주소를 반환할 수도 있습니다. 당신이 필요한 대부분의 시간은 가장 작은 주소가 될 것입니다.


이제 (수동으로 주소 추가)를 클릭하고 (포인터 확인란)를 체크하십시오.




창이 바뀌면 그곳에

'오프셋offset[각주:1]()' 

'포인터 주소()' 를

입력할 수 있습니다.


방금 스캔하여 찾아진 주소를 포인터 주소 입력란에 입력하여 OK(확인)버튼을 누르면 하단 주소목록에 추가됩니다. 모든 것이 정상적으로 행해졌다면 추가된 목록의 주소가 P->xxxxx로 표시되고, xxxxx는 검색한 값의 주소가 된다. 만약 그게 틀렸다면, 당신이 뭔가 잘못했다는 겁니다.


그게 아니고 Value 값이 ?? 으로 나온다면 그 포인터는 우리가 원하는 것이 아니니 위에서 찾은 4개의 어셈블리 명령어중 첫번째를 제외한 나머지 3개도 똑같이 작업해 튜토리얼의 현재값과 비교하여 같은 값이 떴다면 성공이라고 할 수 있습니다.


어셈블러 명령어 끝에 계산식(예: [esi+12])이 있는 경우 오프셋 입력란에 값을 입력하십시오. 그게 아니라면 0으로 그냥 두십시오.

만약 그것이 좀 더 복잡한 명령이였다면, 다음의 계산을 살펴보아주십시오.



 [보다 복잡한 명령의 예]

[EAX*2+EDX+00000310] eax=4C 및 edx=00801234


이 경우 EDX는 포인터일 것이고,

EAX*2+00000310이므로, 입력할 오프셋은 4C*2+00000310='3A8'이 된다(모두 Hex이다).


Hex(16진수) 계산을 위해 윈도우 계산기에서 프로그래머용으로 바꾼 뒤 Hex로 계산해주면 편하다.





 여기까지 잘 따라왔다면 포인터를 이용하여

에서

으로

값을 변경하고


Freeze(여기서는 Active에 체크)

하십시오.


그런 다음 튜토리얼 Step 6 창에서 Change pointer(포인터 변경)를 클릭하고 모든 작업이 완료됐다면 Next(다음)이라는 버튼이 활성화될 겁니다.


추가:


그리고 당신은 또한 포인터 스캐너 기능을 사용하여 이 주소에 대한 포인터를 찾을 수 있다는 걸 알아두시라!





  1. 오프셋이란, 두 번째 주소를 만들기 위해 기준이 되는 주소에 더해진 값을 의미한다. 예를 들어, 만약 아래의 수식에서 C가 100번지의 주소를 가리키고 있다면, 그 수식의 결과는 107번지를 의미할 것이다. < C + 7 > 여기서 이 수식 내의 "7"이, 바로 오프셋이다. 오프셋을 이용하여 주소를 나타내는 것을 상대주소 지정방식이라고 부르는데, 그 이유는 결과 주소가 다른 지점의 상대적인 위치가 되기 때문이다. 오프셋을 다른 말로 "변위"라고도 부른다. (출처-http://www.terms.co.kr) [본문으로]
728x90
728x90
728x90
728x90




5단계: 코드 파인더 (Code finder)


게임을 다시 시작할 때 또는 게임을 하는 동안 값이 저장된 위치가 변경되는 경우에 다음 2가지를 사용하여 여전히 게임에서 효과가 있는  치트테이블(Cheat Table - CT파일)을 만들 수 있습니다.



 

- 치트엔진을 통해 만든 치트테이블(Cheat Table - CT파일)파일 -



이 단계에서는 첫번째로 코드 파인더 기능을 사용하는 방법을 먼저 설명하겠습니다.

여기에 있는 값은 튜토리얼을 시작할 때마다 다른 위치에 있으므로 주소 목록의 일반적인 항목이 작동하지 않을 겁니다.


먼저 주소를 찾으십시오. (하나의 값이 나올 때까지 찾으십시오.)


주소를 찾았으면 Cheat Engine에서 주소를 마우스 오른쪽 버튼으로 누르고 "Find out what writes to this address(이 주소에 쓸 항목 찾기)"를 선택하십시오. 또는 주소를 마우스 왼쪽 클릭하고 Ctrl + F6을 누르십시오. 그러면 빈 목록의 창이 뜰 것입니다.



("이것은 치트 엔진의 디버거를 현재 프로세스에 연결합니다. 계속 하시겠습니까?", "YES")






그런 다음 이 튜토리얼에서 Change value 버튼을 클릭하고 Cheat Engine으로 돌아가십시오. 모든 것이 제대로 되었다면 assembler code(어셈블러 코드)가 있는 주소가 생성돼 있어야 합니다.





해당 코드를 누르고 아무 동작도 없는 코드로 바꾸려면 대체 옵션을 선택하십시오. 그것은 또한 고급 옵션 창의 코드 목록에 코드 주소를 추가할 것이다. (테이블을 저장하면 어느 것이 저장되는지)

중지 버튼을 클릭하여 게임이 다시 정상적으로 실행되고 창을 닫으십시오.


이제 Change value(값 변경)를 클릭하십시오. 모든 것이 제대로 된 경우 Next(다음) 버튼을 사용하십시오.

참고: 주소를 충분히 빠른 속도로 동결할 경우 다음에 어떤 식으로든 볼 수 있게 될 수 있음





728x90
728x90
728x90
728x90




4단계: 부동 소수점(Floating points)


이전 튜토리얼에서는 바이트(2byte, 4byte 등등)를 사용하여 스캔했지만, 일부 게임은 정보를 소위 '부동 소수점' 표기법으로 저장하기도 합니다. (단순한 메모리 스캐너가 쉽게 찾을 수 없도록)


부동 소수점은 점 뒤에 숫자가 있는 값입니다. (5.12 또는 11321.1과 같이)

부동소수점 나무위키 더 알아보기

아래에 당신의 체력(Health)과 탄약(Ammo)이 있습니다.

둘 다 부동 소수점 표시로 저장되지만, 체력(Health) Float로 저장되고 탄약은 Double로 저장됩니다.


체력(Health)을 잃으려면 'Hit me(날 때리시오)' 버튼을 클릭하고,

0.5씩 탄약을 줄이기 위해서는 'Fire(발사)' 버튼을 누르십시오.




다음 단계로 진행하려면 두 값을 모두 5000 이상으로 설정해야 합니다.


Exact Value(정확한 값) 스캔은 여기서 잘 작동하지만, 다른 유형으로도 실험해 볼 수 있습니다.





728x90
728x90
728x90
728x90




3단계: 알 수 없는 초기 값(Unknown initial value)


좋습니다, 당신이 정확한 값을 사용하여 값을 찾는 방법을 알아낸 것 같군요.


그럼 다음 단계로 넘어가보죠.



우선 첫째로  New Scan(새 스캔)을 해야하기 때문에 스캔을 시작하려면 먼저 New Scan(새 스캔)을 클릭해야 합니다. (당신은 이 단계가 이해하기 쉬울 거라고 생각할 수도 있지만, 얼마나 많은 사람이 그 단계에서 해메고 있는지 놀랄 것이다) 이 단계를 다시 설명하지 않을 테니 명심하십시오. 이제  New Scan(새 스캔)을 시작했으니 계속해 봅시다.


이전 테스트에서는 초기 값을 이미 알고 있었으므로 스캔 유형으로 정확한 값을 선택해서 스캔할 수 있었겠지만, 지금은 시작 값을 모르는 상태입니다.


우리는 그 값이 0에서 500 사이라는 것만 압니다. 그리고 'Hit me(날 때리시오)'를 클릭할 때마다 당신은 Health를 잃습니다. 매번 'Hit me' 버튼을 누를 때마다 손실되는 양은 상태 표시줄(초록색) 위에 표시됩니다.



 

-알 수 없는 초기값의 총량이 다 소진 되었을 때 나오는 창-

: "다시 해야될 것 같아 보이네요! 초기값을 교체해 드리죠! (그리고 재스캔 하시구요!)"




다시 한번 그 값을 찾는 몇 가지 다른 방법이 있습니다. (decreased value by ... : ~까지 감소한 값) 하지만 가장 쉬운 부분만 설명하겠습니다.


바로 "Unknown initial value(알 수 없는 초기 값)"  "Decreased Value(감소된 값)"


현재 값이 무엇인지 모르기 때문에 정확한 값은 아무런 도움이 되지 않으므로 'Unknown initial value(알 수 없는 초기 값)'으로 맞추고, 값 유형은 4바이트로 해줍니다(대부분의 Windows 앱은 4바이트를 사용). 'First Scan'을 클릭하고 스캔이 완료될 때까지 기다리십시오.


완료되면 'Hit me(날 때리시오)' 버튼을 클릭하십시오. 당신은 'Health'를 잃을 것입니다. (몇 초 동안 감소량이 뜨고 사라지지만 별 상관없습니다. 즉 사라질 때까지 기다릴 필요가 없습니다.)


이제 Cheat Engine으로 이동하여 'Decreased Value(감소된 값)'를 선택하고 'Next Scan'을 클릭하십시오


스캔이 완료되면 다시 'Hit me(날 때리시오)' 버튼을 누르고 왼쪽 목록에 몇 개만 찾을 때까지 위의 내용을 반복하십시오. 


우리는 값이 0에서 500 사이라는 것을 알고 있으니, 우리가 필요로 하는 주소에 가장 적합한 것을 골라 목록에 추가하십시오.


이제 'Health' 값을 5000으로 바꿔서 다음 단계로 진행하십시오.





728x90
728x90
728x90
728x90




2 단계 : 정확한 값(Exact Value) 검색


이제 치트 엔진 튜토리얼의 다음 단계로 넘어갔다면 Step 2 창 하단에 Health : xxx 라는 텍스트가 있을겁니다.


이 때 'Hit me'를 클릭 할 때마다 Health 감소합니다.




다음 단계로 넘어가려면 이 값(Health)을 찾아 1000으로 변경해야합니다.


값(value)을 찾으려면 여러 가지 방법이 있지만 가장 쉬운 '정확한 값(Exact Value)'에 대해 알려 드리겠습니다.


먼저 값 유형을 적어도 2Byte(2바이트) 또는 4Byte(4바이트)로 설정하십시오. 1Byte(1바이트)도 물론 작동하겠지만, 당신이 주소를 찾아서 바꾸려는 문제를 쉽게 해결할 수 있을 겁니다. 8Byte(8바이트)는 주소 뒤의 바이트가 0이라면 아마 작동하겠지만 저라면 내기는 하지 않을 겁니다.




Single, Double 및 다른 유형의 값 스캔을 할 시에 값을 다른 방식으로 저장하기 때문에 제대로 작동하지 않습니다.


값 유형이 올바르게 설정되면 'Scan Type(스캔 유형)'이 'Exact Value(정확한 값)'으로 설정되었는지 확인하십시오.




그런 다음, 값 검색창에 해당하는 값(Health)을 기입하십시오. 그리고 'First Scan'을 클릭하십시오.


잠시 후 스캔이 완료되고 결과가 왼쪽의 목록에 표시됩니다.


주소가 두 개 이상이고 주소가 확실하지 않은 경우 다시금 'Hit me'을 클릭하고 값 검색창에 새로운 값을 입력 한 다음 'Next Scan(다음 검사)'를 클릭하십시오.


당신이 그것을 확실히(이게 내가 찾던 값이구나! 알 때까지) 발견 할 때까지 이것을 반복하십시오.


이제 왼쪽 목록에서 주소를 두 번 클릭하십시오. 이렇게하면 하단의 목록에 주소 팝업이 나타나 현재 값을 보여줍니다.




하단의 목록에서 해당 주소의 Value(값)을 두 번 클릭 (또는 선택하고 Enter 키를 누름) 한 다음 값을 1000으로 변경합니다.


모든 것이 정상적으로 진행되면 다음 버튼이 활성화되고 다음 단계로 넘어갈 준비가 되었습니다.



주석

스캔하는 동안 잘못 수행 한 경우 "새 스캔(New Scan)"을 클릭하고 스캔을 다시 반복하십시오. 또한 값을 가지고 놀고 'hit me'를 클릭하십시오.





728x90
728x90

+ Recent posts