KOEI/태합입지전 시리즈

태합입지전5 DX의 히라가나 독음 입력 우회 트레이너 (시험판)

K66Google 2022. 5. 26. 12:47

태합입지전5는 구판이나 DX판이나 망할 히라가나 독음 입력이 발목을 잡고 있다.

그나마 신무장 생성때는 미리 독음을 넣어주지만, 사용자가 실수로 지워버리면 어쩔 도리가 없다.

무기나 방어구같은 걸 제작하고 이름 붙일때는 아예 독음도 넣어주지 않아서 이건 사용자가 어떻게든 입력해야 된다.

 

결국 일본어 IME 키보드 사용이 강제된다는 말이다.

이걸 어떻게든 돌파할 방법이 없을까?

그러니까 게임 상에서 abcd 라고 입력하고 트레이너에서 버튼 한번 딱 누르면 あいうえ 뭐 이런 식으로 치환할 수 없느냐는 것이다.

 

...거의 써보지도 않은 치트엔진의 메모리 변경 소스를 찾아서 어떻게든 그런 시도를 해보도록 한다.

아래는 ver1의 소스 내용이다. (길어서 접었다. 더보기 눌러서 보면 된다.)

 

----------------------------

더보기

[ENABLE]

{$lua}

if syntaxcheck then return end

cheat_name = "MyCheat"


local pattern = "82 81 82 82 82 83 82 84 00"

local replace = "82 A0 82 A2 82 A4 82 A6 00"

-- edit the name of the cheat

-- edit the pattern to search

-- edit the replacement bytes

-- use ?? to ignore the bytes

-- do not edit the code below

local scans = AOBScan(pattern)

if scans == nil then

showMessage("Unable to find pattern:\n"..pattern)

else

local saved = {}

local length = (#replace + 1) / 3

for i = 0, scans.Count - 1 do

local backup = readBytes(scans[i], length, true)

local bytes = {}

for hex in string.gmatch(replace, "%S+") do

local size = #bytes + 1

if hex == "??" then

bytes[size] = backup[size]

else

bytes[size] = tonumber(hex, 16)

end

end

saved[i] = backup

writeBytes(scans[i], bytes)

end

_G[cheat_name] = {

["scans"] = scans,

["saved"] = saved

}

end

[DISABLE]

{$lua}

local vars = _G[cheat_name]

if vars ~= nil then

local scans = vars.scans

local saved = vars.saved

for i = 0, scans.Count - 1 do

-- writeBytes(scans[i], saved[i])

end

scans.Destroy()

vars.scans = nil

vars.saved = nil

vars = nil

_G[cheat_name] = nil

end

----------------------------

ver1의 소스 코드 출처는 https://forum.cheatengine.org/viewtopic.php?t=584688 이고, 

소스 코드 수정에 참고한 출처는 https://www.cheatengine.org/forum/viewtopic.php?p=5615462&sid=9fe69f370db926d42fbc03e777497d4d 이다.

 

이 소스를 바탕으로 치트엔진 내 트레이너 생성 기능을 통해 exe 파일로 출력시켰다.

 

 

ver1의 스크린샷.

그렇게 해서 ver1을 완성시켰다. 그런데 여기서 좀 더 응용을 해보기로 한다.

아예 사용자가 abcd를 임의의 단어/문장으로 치환할 수 있게 하는 것이다. 이렇게 해서 한국어 입력도 우회적으로 구현해 보도록 한다.

그렇게 하려면 트레이너 폼에 CEEdit(비베로 치면 TextBox)하고 버튼 컨트롤이 필요하다.

버튼을 클릭하면 치환 코드가 작동되도록 하면 될 것이다.

치환 코드는 너무 길어서 게시물에 적을 수 없고, 아래 txt 파일에 두었다.

치트엔진히라가나우회툴진화.txt
0.37MB

 

ver2의 스크린샷.

치트엔진 상에서 인식을 못하는 일부 기호들때문에 작업에 애를 먹었다. 해당 기호들을 쳐내고 어떻게든 ver2를 완성시켰다.

사용법은 다음과 같다.

 

1. 게임 내 입력창에서 트레이너 입력값에 있는 글자를 입력한다. (기본값은 abcd니까 게임 상에서도 abcd라고 입력한다.)

2. 트레이너에서 '글자 변환' 버튼을 누른다.

3. '작업 완료...' 메시지가 뜨면 게임 내 입력창에서 스페이스 한 번, 백스페이스 한 번 친다.

4. 게임 내 입력창의 글자가 트레이너의 치환값으로 바뀐 것을 확인한다.

 

치환값에 あいうえ를 지우고 한국어 입력을 한다면, 무장이나 제작물의 이름/열전에서도 활용할 수 있다.

 

* 다운로드

(아직 시험판입니다. 정상작동을 보장할 수 없습니다.)

 

taiko5dx_Shit_Hiragana_read.7z
3.33MB

(구버전)

 

taiko5dx_Shit_Hiragana_read_ver2.7z
3.38MB

(ver2 신버전)

 

( ★ 비번 : taiko5dx ★ )

메모리 치환 방식이라서 당연히 백신이 트집을 잡을 겁니다. 그럴때는 예외처리를 해주세요.  
그래도 사용하기 좀 그렇다면 그냥 일본어 IME 키보드 깔고 직접 입력하세요.

 

그럼 이만...