울프툴 세이브 이름 무시 치트
울프툴은 게임 이름이랑 세이브에 저장된 게임 이름이 조금만 달라도 .anotherGame을 달면서 죽어버리는 쓰레기 툴입니다.
그래서 보통은 다들 게임을 언팩해서 내부 이름을 세이브에 맞추고 플레이합니다.
근데 원래 하던 세이브랑 다른 곳에서 받아온 세이브 두개가 있으면 둘 중 하나는 버려야 합니다.
아니 세이브 에디터가 없어요 이거
웹사이트에 하나 있었는데
최신 갱신이 18년입니다 아주
아무튼 이 쓸모없는 기능을 비활성화하기 위해 열심히 노력한 결과,
세이브 파일을 읽을 때 기존 게임 이름이랑 비교하는 구문을 비활성화하면 된다는 것을 알아냈습니다.
일단 디스어셈블러를 킨 다음,
1
여기서 5번째 줄에 있는 코드를 비활성화하면 되는데,
이게 말이 쉽지, 도않고 해당 코드를 일일히 찾기도 어렵습니다.
심지어 울프툴 버전이 바뀌면 위치를 다시 찾아야 합니다.
따라서 자동적으로 해당 부분의 코드를 찾아서 수정하도록 해야 합니다.
일단 치트엔진에서 .anotherGame이라는 내용을 달고 있는 문자열을 검색해줍니다.
게임 코드에 내장된 문자열이기 때문에 저렇게 초록색이 뜨면 됩니다.
얘를 더블 클릭해서 넣어주면 주소값이 보일텐데, 이제 이 주소를 가지고 2차 탐색을 해줍니다.
Fast Scan 조건은 꺼야 하고, 실행 가능 여부를 참으로 하고 탐색합시다.
이번엔 두개가 뜨는데, 위쪽이 제대로 된 값입니다.
위쪽이 게임 이름이 서로 다를 때 .anotherGame을 붙여주는 부분이고,
아래쪽은 게임의 최신버전보다 세이브의 최신 버전이 높을 때 .anotherGame을 붙여주는 부분 같습니다.
근데 순서 바뀌거나 뭐 더 생기면 달라질 수도 있어서 잘 몰라요
아무튼 위쪽 주소를 누르고 Ctrl + D 해서 어셈블리 코드로 확인해봅니다.
처음에는 약간 이상한 값이 뜨는데, 몇칸 위로 스크롤해줍시다.
이제 .anotherGame을 작성하는 실제 코드로 이동했습니다.
거의 바로 위에 if문에 대응하는 je 명령어도 보이네요.
저희는 이 코드가 실행되지 않기를 바라기 때문에 je를 jmp로 바꿔줍시다.
je 부분 더블 클릭하고 바꾸면 됩니다.
원래 잘 모르겠으면 Yes 누르는 겁니다.
이제 패치가 완료됐습니다.
혹시나 아래의 자동화 스크립트가 안먹거나, 혹은 다른 부분을 패치하고 싶으시면
이런 식으로 하시면 됩니다.
근데 이 방법은 복잡하니까 아래에 있는 치트테이블 데이터를 복사해서 저장한 다음
.ct 파일로 변경하시면 자동화된 스크립트를 사용하실 수 있습니다.
치트테이블
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="52">
<CheatEntries>
<CheatEntry>
<ID>741</ID>
<Description>"세이브 이름 무시"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end
local string_pattern = "2E 61 6E 6F 74 68 65 72 47 61 6D 65 00" -- ".anotherGame\0"
local string_addr = AOBScanModuleUnique(process, string_pattern)
if not string_addr then
error("오류: '.anotherGame' 문자열을 메모리에서 찾을 수 없습니다.")
end
local b1 = string.format("%02X", string_addr & 0xFF)
local b2 = string.format("%02X", (string_addr >> 8) & 0xFF)
local b3 = string.format("%02X", (string_addr >> 16) & 0xFF)
local b4 = string.format("%02X", (string_addr >> 24) & 0xFF)
local ptr_pattern = b1 .. " " .. b2 .. " " .. b3 .. " " .. b4
local ref_addr = AOBScanModuleUnique(process, ptr_pattern, "+X")
if not ref_addr then
error("오류: 문자열 주소를 참조하는 명령어를 검색 범위 내에서 찾을 수 없습니다.")
end
local current = ref_addr - 1
found_je = nil
for i = 1, 10 do -- 최대 10줄까지 역방향 추적
current = getPreviousOpcode(current)
if current == 0 or current == nil then break end
local dis = disassemble(current)
local address, opcode, bytes, extra = splitDisassembledString(dis)
local clean_bytes = string.gsub(bytes, " ", "")
if string.sub(clean_bytes, 1, 4) == "0F84" then -- long je
found_je = current
break
end
end
if not found_je then
error("오류: 참조 명령 주소 이전에서 'long je (0f 84 ...)' 구문을 찾지 못했습니다.")
end
original_bytes = readBytes(found_je, 6, true)
writeBytes(found_je, {0x90, 0xE9, original_bytes[3], original_bytes[4], original_bytes[5], original_bytes[6]})
{$asm}
[DISABLE]
{$lua}
if syntaxcheck then return end
if found_je and original_bytes then
writeBytes(found_je, original_bytes)
unregisterSymbol("patched_je_address")
original_bytes = nil
end
{$asm}
</AssemblerScript>
</CheatEntry>
</CheatEntries>
<UserdefinedSymbols/>
</CheatTable>
이 방법을 사용하면 울프툴 버전이 뭐가 됐든, 세이브 이름이 어떻게 다르든간에 상관없이 세이브 데이터를 로딩할 수 있습니다.
정말 모든 울프툴 버전에 되는지는 모르겠는데, 집에 있는 여판 3개랑 모노크롬 1개로 시도해봤을 때에는 전부 되는 것 같습니다.
다만 최신버전 세이브를 구버전 게임에서 로딩하는 경우에는 얄짤없이 안됩니다. 이건 어쩔 수가 없어요
아무튼 울프툴 관련해서 몇가지 더 테스트를 해보고 있는데,
범용 치트나 게임 파일/세이브 에디터를 건드려보고 있습니다.
근데 이게 아무래도 여러 버전의 게임에서 테스트를 해봐야하기 때문에 여러 게임이 필요할 것 같은데,
지금 가지고 있는 게임은 여판이랑 모노크롬밖에 없네요.
(3.260 프로, 3.693, 3.191, 2.24)
혹시 울프툴로 만들어진 게임 뭐 있는지 아신다면 질문글에 답변 부탁드립니다.
https://kone.gg/s/somisoft/dGQ7wc4EltNWz6-38oR58b
그리고 치트엔진 7.7로 업뎃하니까 시작할 때마다 이딴거 뜨는데 개열받습니다
s/somisoft
• 157,564 subscribers- 1. 게시물 규정 양식
업로드 시 링크 암호화 & 필수 정보를 기입할 것
- 2. 질문
국룰, 암호화 링크 등 기본사항 질문 금지, 탭 미준수시 차단 및 삭제
- 3. 요청
요청 기준 및 양식 미준수 & 댓글로만 자료 복구 요청 시 차단
- 4. 미성년자 / 근첩 / 페미 / 다중계정
조금이라도 의심되면 선 차단, 후 해명
- 5. 좆목 / 네임드화
닉언, 네임드화 등 친목질 금지
- 6. 분탕 및 어그로 / 혐짤 / 낚시 / 뇌절
해당 카테고리의 차단 기간 및 가중처벌은 처리자 재량으로 판단
- 7. 홍보 / 판촉 / 거래
허용되지 않은 모든 형태의 홍보, 거래, 교환, 조건부 공유 시 차단
- 8. 쌀먹 / 바이러스
조건부 공유 & 수익성 링크 & 고의적인 바이러스 유포 시 갱신차단
- 9. 자료 분류 / AI
미검수 시 표기 필수, 생성형 AI를 사용한 자료의 제목에 AI 미기입 시 차단
- 10. 실사 / 토들러
업로드시 갱신 차단
- 11. 기타 세부 규정은 서브 공지사항 참고