Comments (7)
There are 256 values (00->FF).
And maybe another game doesn't use xor for encryption.
We need more cases, then I can add a config to handle directly in D-Code.
I will close this issue.
from agent.
Thanks for sharing your code.
PS3 is Big Endian, try utf-16be
or utf-32be
.
https://onlineutf8tools.com/convert-utf8-to-utf16
https://onlineutf8tools.com/convert-utf8-to-utf32
from agent.
That's a good point. Unfortunately utf-16be and utf-32be give the same result (screenshots).
There's a file called StringList.dat in the game directory. When I opened it with hex editor, I found that it uses utf-8. Which means that the game might also use this encoding. Nevertheless Cheat Engine can't find anything for some reason.
from agent.
It's encrypted, the game processes the crypted data directly.
That's why we can't find any decrypted string from the memory.
72 3A 70 76 7D 32 7C 98 7C 82 7C 98
xor 0xFF
8D C5 8F 89 82 CD 83 67 83 7D 83 67
<- shift_jis
-> 最初はトマト
Unfortunately, D-CODE does not support that thing yet.
You can use the encrypted data find D-CODE.
and modify the read_text function.
const view = new Uint8Array(buf);
for (let i=0; i<view.length; i++) view[i]^=0xFF;
const str = decoder.decode(buf)
from agent.
Alright. Another D-Code is ready. Had to do everything twice, since the first signature hooked strings without the first byte.
Also added another regex expression to the script to remove garbage between lines.
Unfortunately, all addresses of instructions have a lot of calls (being called for every character of string). So, OnEnter spam seems to be inevitable.
As for unmasking bytecode, I think it would be great, if you added a checkbox to the Encode page.
from agent.
Cool!
Since the first signature hooked strings without the first byte.
The expressions feature can handle this.
added another regex expression
Hmm, filter 1+2+3 seems not to work, in this case.
instructions have a lot of calls
No worries, the debounce function (JS) will ensure decode called only once.
unmasking bytecode...added a checkbox to the Encode page
What do you mean?
from agent.
What do you mean?
On the Encode page we input text into a field to convert it to hex code in different encodings, right? I suggest adding a checkbox that will show encrypted (with ^=0xFF operation) hex instead, so we could use it for searching text in Cheat Engine. I bet Yandere Jigoku isn't the only game that doesn't store decrypted string in memory.
from agent.
Related Issues (20)
- Running on linux HOT 3
- CLI no longer launches & attaches to game automatically
- RegisterBlock Not Found HOT 1
- Emulated realm is not supported on this OS on Digimon Survive HOT 1
- Error: RegisterBlock not found! HOT 2
- Error: Emulated realm is not supported on this OS HOT 2
- Error: RegisterBlock not found! HOT 1
- P5R Steam Detach process HOT 1
- Tyrano+ Not all games support text speed to MAX
- The new Yuzu (12??+) broke some scripts. HOT 4
- Tsukihime english script HOT 1
- Agent v0.1 encode tab is no longer working HOT 1
- Script not showing up using Yuzu HOT 3
- I'm almost sure this isnt possible, but I'll ask anyway, Is it possible to indicate the gender of characters by name? My language (Portuguese) has gender in verbs, in the case of Tsukihime, women, when they don't have a "she"/"her", for example, always have a masculine gender.
- 13 sentinels script (yuzu) doesn't retrieve text in some cases HOT 12
- New tyranno game text not being hooked with the javascript/tyranno+ script app.asar is extracted already HOT 2
- Add option to disable clipboard HOT 1
- OCRserver "10060, 'A connection attempt failed" error
- Cannot read property "length" of undefined HOT 1
- data saved in current working directory on linux
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from agent.