0xdc00 / agent Goto Github PK
View Code? Open in Web Editor NEWUniversal script based text hooker (powered by FRIDA).
Home Page: https://discord.gg/sWeFsmJYJc
Universal script based text hooker (powered by FRIDA).
Home Page: https://discord.gg/sWeFsmJYJc
Please fix it I find it quite useful for myself
I don't know if it's possible, but my english isn't so good and I want to play the game in portuguese, but using the patch from Tsukihimates. I need some help, please.
sorry, im trying to use the scripts in agent (i tried with the older versions and this new one) but when i put them so i can translate the games it appears an error that says registerblock not found and idk what to do, i hope there is a solution...
I can't run on Linux, it seems to me the Linux version is a pre-compiled binary. I imagine that is an Ubuntu binary and I'm on Manjaro.
It would be nice if it was packed in a distro-agnostic format like Flatpack, since I don't have the source code to compile myself.
Hello!
I have few (+/-50) PSP games but only one of these has script in Agent. Can I make such script from game files? Is it even possible?
Agent saves the data in the current working directory instead of the directory the executable is in.
Running agent from the agent folder:
Running agent from home (default working directory) causes agent to store its data there:
Pinning agent to the task manager / making a shortcut to open it and opening it causes the issue too. This is what I did to find it in the first place.
The new Yuzu (12??+) broke some scripts.
FIX: Yuzu -> Configuration -> General -> Debug:
Tab Debug => check 'Enable CPU Debugging' (Advanced section)
Tab CPU => uncheck 'Enable block linking'
-> OK (apply changes -> restart game)
I am trying to hook tsukihime text from the game, yet when I try to attach the game to the agent, it just says the thing about broken scrpits and fix. I did the fix, but nothing has changed, I can't extract the text, what can I do?
(Updated scripts are checked)
Error: RegisterBlock not found!
' at getDoJitAddress (:80)
at (:10)
at call (native)
at (:213)
at load (/agent.js:1)
at _loadModule (/agent.js:l)
_ at (/agent.js:l)
‘ at require (/agent.js:l)
} at (: 9)
at call (native)
J at (:116)
[ at load (/agent.js:1)
at _loadMod111e (/agent.js:1)
‘ at (/agent.js:1)
L at main (/agent.js:l)
2 at (/agent.js:1)
) at (/agent.js:1)
I get the error register block not found while trying to texthook into the new Chaos Head Noah PC port using the latest version (1.3). Here is the error message:
Error: RegisterBlock not found!
at getDoJitAddress (:162)
at (:22)
at call (native)
at (:243)
at load (/agent.js:1)
at _loadModule (/agent.js:1)
at (/agent.js:1)
at require (/agent.js:1)
at (:11)
at call (native)
at (:249)
at load (/agent.js:1)
at _loadModule (/agent.js:1)
at (/agent.js:1)
at main (/agent.js:1)
at (/agent.js:1)
at (/agent.js:1)
I'm having the registerblock erro when trying to run with Tsukihime version 1.0.1,
I tried it on Yuzu versions 996, 851 and 837.
My scripts are up to date, the agent version is 0.1.3,
MessageError: {
"type": "error",
"description": "Error: RegisterBlock not found!",
"stack": "Error: RegisterBlock not found!\n at getDoJitAddress (:127)\n at (:11)\n at call (native)\n at (:208)\n at load (/agent.js:1)\n at _loadModule (/agent.js:1)\n at (/agent.js:1)\n at require (/agent.js:1)\n at (:101)\n at call (native)\n at (:231)\n at load (/agent.js:1)\n at _loadModule (/agent.js:1)\n at (/agent.js:1)\n at main (/agent.js:1)\n at (/agent.js:1)\n at (/agent.js:1)",
"fileName": "",
"lineNumber": 127,
"columnNumber": 1
}
Stack:
Error: RegisterBlock not found!
at getDoJitAddress (:127)
at (:11)
at call (native)
at (:208)
at load (/agent.js:1)
at _loadModule (/agent.js:1)
at (/agent.js:1)
at require (/agent.js:1)
at (:101)
at call (native)
at (:231)
at load (/agent.js:1)
at _loadModule (/agent.js:1)
at (/agent.js:1)
at main (/agent.js:1)
at (/agent.js:1)
at (/agent.js:1)
hi sorry for bothering again...i have a new problem when i try to translate one of the games in yuzu and its that when i start the game to translate it yuzu gets closed and idk if its because i need a new or an older version of yuzu (i have yuzu 1157)
I've been playing Tsukihime with yuzu and agent for the past few days and it's been running fine until today where I got this message when trying to attach agent
TypeError: cannot read property 'length' of undefined
at keys (native)
at setHook (E:\japanese\texthooker\agent\agent-v0.1.3-win32-x64\data\scripts\libYuzu.js:309)
at (E:\japanese\texthooker\agent\agent-v0.1.3-win32-x64\data\scripts\NS_01001DC01486A000_Tsukihime.js:115)
at call (native)
at (/agent.js:1)
at (/agent.js:1)
at (/agent.js:1)
at main (/agent.js:1)
at (/agent.js:1)
I've deleted and reinstalled yuzu, agent and the scripts but nothing changed. does anyone know how to fix this?
Hello!
I'm trying to setup JL to work with AI The somnium files (steam version) using text hooked with agent
And everything works except that every time JL main window display a new line it adds annoying unwanted information about what I guess is agent's internal processes.
=>
I tried a text hooking page (renji) and the text shows up perfectly
=>
I tried to play around with JL and agent settings but wasn't able to find a solution.
I opened an issue on JL github but he send me back here.
Have a nice day a thanks for the hard work!
(ps : I copy/pasted most of the original issue, hope you don't mind :) )
So when the agent is attached and I click to proceed with text it (idk how to word it) the script does not show up on agent. I tried redownloading/updating Yuzu also tried redownloading agent.
I do everything according to the guide and also used agent a few times back in June and didn't have this problem
Well, let me explain, I know there's a Linux release but this is what im trying to do. Im trying to follow this post https://www.reddit.com/r/LearnJapanese/comments/15wsgaq/linux_guide_how_to_use_text_hooker_agent_with/, im not using flatpak. So what's happening, when I start the game, agent doesnt start, I tried to run it with wine alone but it doesnt work.
wine agent.exe
002c:fixme:winediag:loader_init wine-staging 8.21 is a testing version containing experimental patches.
002c:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
0098:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0098:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0098:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0098:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
00a4:err:ole:start_rpcss Failed to start RpcSs service
00a4:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=0000000000000000, edge=3): stub
00a4:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=0000000000000000, edge=1): stub
00a4:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=0000000000000000, edge=0): stub
00a4:fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=0000000000000000, edge=2): stub
00d0:fixme:crypt:CryptBinaryToStringA Unimplemented type 4
00d0:fixme:crypt:CryptBinaryToStringA Unimplemented type 4
00d0:fixme:crypt:CryptBinaryToStringA Unimplemented type 4
00d0:fixme:crypt:CryptBinaryToStringA Unimplemented type 4
00d0:fixme:crypt:CryptBinaryToStringA Unimplemented type 4
00d0:fixme:crypt:CryptBinaryToStringA Unimplemented type 4
00d0:fixme:advapi:RegisterEventSourceA ((null),"UCManSvc"): stub
00d0:fixme:advapi:RegisterEventSourceW (L"",L"UCManSvc"): stub
00d0:fixme:advapi:ReportEventA (CAFE4242,0x0004,0x0000,0x00001b63,00000000,0x0001,0x00000000,0083F94C,00000000): stub
00d0:fixme:advapi:ReportEventW (CAFE4242,0x0004,0x0000,0x00001b63,00000000,0x0001,0x00000000,00CC1620,00000000): stub
00d0:fixme:advapi:DeregisterEventSource (CAFE4242) stub
00d0:fixme:advapi:RegisterEventSourceA ((null),"UCManSvc"): stub
00d0:fixme:advapi:RegisterEventSourceW (L"",L"UCManSvc"): stub
00d0:fixme:advapi:ReportEventA (CAFE4242,0x0004,0x0000,0x00001b63,00000000,0x0001,0x00000000,0083F954,00000000): stub
00d0:fixme:advapi:ReportEventW (CAFE4242,0x0004,0x0000,0x00001b63,00000000,0x0001,0x00000000,00CC1620,00000000): stub
00d0:fixme:advapi:DeregisterEventSource (CAFE4242) stub
00e8:fixme:ole:CoInitializeSecurity 003C9680, -1, 00000000, 00000000, 4, 3, 00000000, 0, 00000000 stub
00e8:fixme:advapi:RegisterEventSourceA ((null),"UCManSvc"): stub
00e8:fixme:advapi:RegisterEventSourceW (L"",L"UCManSvc"): stub
00e8:fixme:advapi:ReportEventA (CAFE4242,0x0004,0x0000,0x00001b58,00000000,0x0001,0x00000000,0161FA78,00000000): stub
00e8:fixme:advapi:ReportEventW (CAFE4242,0x0004,0x0000,0x00001b58,00000000,0x0001,0x00000000,00CC1620,00000000): stub
00e8:fixme:advapi:DeregisterEventSource (CAFE4242) stub
00e8:fixme:advapi:RegisterEventSourceA ((null),"UCManSvc"): stub
00e8:fixme:advapi:RegisterEventSourceW (L"",L"UCManSvc"): stub
00e8:fixme:advapi:ReportEventA (CAFE4242,0x0004,0x0000,0x00001b5e,00000000,0x0001,0x00000000,0161FA78,00000000): stub
00e8:fixme:advapi:ReportEventW (CAFE4242,0x0004,0x0000,0x00001b5e,00000000,0x0001,0x00000000,00CC1620,00000000): stub
00e8:fixme:advapi:DeregisterEventSource (CAFE4242) stub
00e8:fixme:advapi:RegisterEventSourceA ((null),"UCManSvc"): stub
00e8:fixme:advapi:RegisterEventSourceW (L"",L"UCManSvc"): stub
00e8:fixme:advapi:ReportEventA (CAFE4242,0x0001,0x0000,0x00001b5b,00000000,0x0001,0x00000000,0161F7B4,00000000): stub
00e8:fixme:advapi:ReportEventW (CAFE4242,0x0001,0x0000,0x00001b5b,00000000,0x0001,0x00000000,00CC1620,00000000): stub
00e8:err:eventlog:ReportEventW L"ucmgetkey(0) failed. (80090016)\n"
00e8:fixme:advapi:DeregisterEventSource (CAFE4242) stub
00e8:fixme:ole:CoInitializeSecurity 00000000, -1, 00000000, 00000000, 0, 3, 00000000, 0, 00000000 stub
00e8:fixme:wbemprox:client_security_SetBlanket 79F71850, 00CED228, 10, 0, (null), 3, 3, 00000000, 0
00e8:fixme:wbemprox:client_security_Release 79F71850
00e8:fixme:wbemprox:get_system_propval returning empty array for __DERIVATION
00e8:fixme:advapi:RegisterEventSourceA ((null),"UCManSvc"): stub
00e8:fixme:advapi:RegisterEventSourceW (L"",L"UCManSvc"): stub
00e8:fixme:advapi:ReportEventA (CAFE4242,0x0004,0x0000,0x00001b5e,00000000,0x0001,0x00000000,0161FA68,00000000): stub
00e8:fixme:advapi:ReportEventW (CAFE4242,0x0004,0x0000,0x00001b5e,00000000,0x0001,0x00000000,00CC1620,00000000): stub
00e8:fixme:advapi:DeregisterEventSource (CAFE4242) stub
00e8:fixme:wtsapi:WTSRegisterSessionNotification Stub 00020066 0x00000001
0138:fixme:powrprof:PowerRegisterSuspendResumeNotification (0x00000002,00007FFFFE8FFE30,00007FFFFE8FFE28) stub!
0138:fixme:uxtheme:SetPreferredAppMode 1: stub
0138:fixme:heap:RtlSetHeapInformation HEAP_INFORMATION_CLASS 1 not implemented!
0138:fixme:uxtheme:SetPreferredAppMode 1: stub
0138:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 000055DC00260F30, 16) stub
0138:fixme:winstation:GetUserObjectSecurity (0000000000000004 00007FFFFE8FF640 0000000000000000 len=0 00007FFFFE8FF5CC),stub!
0138:fixme:winstation:GetUserObjectSecurity (0000000000000004 00007FFFFE8FF640 00007FFFFEECAC70 len=40 00007FFFFE8FF5CC),stub!
0138:fixme:winstation:GetUserObjectSecurity (0000000000000008 00007FFFFE8FF5E0 0000000000000000 len=0 00007FFFFE8FF56C),stub!
0138:fixme:winstation:GetUserObjectSecurity (0000000000000008 00007FFFFE8FF5E0 00007FFFFEECAC70 len=40 00007FFFFE8FF56C),stub!
0138:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 00007FFFFE8FF5E4, 0000000000000000 00007FFFFE8FF5E0
0138:fixme:nls:get_dummy_preferred_ui_language (0x38 0x409 00007FFFFE8FF5E4 0000000000000000 00007FFFFE8FF5E0) returning a dummy value (current locale)
0138:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 00007FFFFE8FF5E4, 00007FFFFE8FF5C2 00007FFFFE8FF5E0
0138:fixme:nls:get_dummy_preferred_ui_language (0x38 0x409 00007FFFFE8FF5E4 00007FFFFE8FF5C2 00007FFFFE8FF5E0) returning a dummy value (current locale)
014c:fixme:thread:NtSetInformationThread ThreadPowerThrottling stub!
0138:fixme:win:RegisterSuspendResumeNotification 0000000000010080, 0: stub.
0138:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0138:fixme:process:GetProcessMitigationPolicy (FFFFFFFFFFFFFFFF, 4, 00007FFFFE8FF3A4, 4): stub
0154:fixme:thread:NtSetInformationThread ThreadPowerThrottling stub!
0138:fixme:thread:NtSetInformationThread ThreadPowerThrottling stub!
015c:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFFFFFFFFFA, 000075FD05FFFF50
0138:fixme:ver:GetPackageFamilyName (FFFFFFFFFFFFFFFF 00007FFFFE8FEFFC 00007FFFFE8FF000): stub
0138:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 00007FFFFE8FE6C0
And if I try to use the linux version, proton can't run it, it says it isnt a windows executable, so i dont know what i can do about this, im not sure if im missing any details, feel free to ask.
Can you upload the older version of the program?
I haven't faced this issue before and I'm afraid it's causing the program to not work since no text is being copied to my clipboard :(.
Is it possible for the hooked text to be resend back into the game in its translated form like some other tools (VNR) do?
Hi...already try different version of yuzu but the script frame still won't show up on yuzu emulator but the script in the agent still running...can suggest a solution? By the way, the game I'm playing is Tokimeki Memorial Girl's Side 4th Heart...thank you in advance
The agent in it self runs, no problem there, but OCR function is not running.
I start the the OCR server, it gives those first 3 lines, and noting happens...
Agent gives, "Agent Overlay" lines in its translation window, and no translation occurs.
After a while if I click on OCRserver window and press enter it pops message :
An exception occurred: TimeoutError(10060, 'A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond', None, 10060, None)
I have read around on this python based server and this error occurs in other implementations, when server detects this python script as scraper...
I know this solution is easy to implement and all, but would it be possible to do OCR and translation with offline solution, like Abby OCR and some of the opensource translators? The results would not be on online translation level, but at least it would work reliably.
So i was trying to play Kamigami no asobi Infinite on an emulator of psp , but when i tried to attach it gives me this error "Error: Emulated realm is not supported on this OS". The version of the psp emulator is 1.15.4 and agent is in v0.1.3 . So any solution to this?
So i was trying to play Fate extra ccc on an emulator of psp , but when i tried to attach it gives me this error "Error: RegisterBlock not found!". The version of the psp emulator is 1.15.4 and agent is in v0.1.3 . Anyone knows how to solve this ?
Agent really fills up the clipboard, which is annoying. Using websocket would be helpful.
Here's an example: https://github.com/kuroahna/textractor_websocket
The first 1.3 version this still works. In the latest 1.3 version you now manually have to click attach using the same script that still works in a previous build.
start agent --target="C:\Users\x\AppData\Local\yuzu-windows-msvc\yuzu.exe" --args=" -g \"A:\Games\Switch\yuzu\WITCH ON THE HOLY NIGHT version v0 (BASE).nsp\"" --script="A:\Games\Switch\agentnew\data\scripts\NS_010012A017F18000_Mahoyo.js" exit
I tried to use this with Tantei Bokumetsu (https://vndb.org/v30317) on Yuzu emulator.
The OCR worked fine with the first sentence. MEMORY_MAPPED was enabled. Out of JIS, UTF-16, UTF-8, only the last one produced some results.
Followed the instructions but either they didn't show anything or gave the error "Error: Invalid byte sequence in conversion input
at onMatch (/agent.js:40:41)".
For the 比治山隆俊 character, his second scene with delinquents (1985年廃工場裏/0%). The protagonist's phrases are captured by the Agent, but the text that other characters produce is not captured. Agent produces the error message for them:
onEnter name 2 (speech bubble)
onEnter dialogue 2 (speech bubble)
Error: access violation accessing 0x25c66800000
緒方稔二
System: Windows 11,
script 1388|yuzu 1675 | 十三機兵防衛圏 (64-bit) | 1.00 | AMD
Agent Version: 0.1.3
Yuzu version 1675 (2024-01-07)
So, I tried to find the D-Code of Tantei Bokumetsu 1.0.2 and was successful. I also had a pattern from before so it was easy to judge.
Now I am trying to find out the D-Code for Buddy Mission Bond (https://vndb.org/v30145) 1.0.1
It has shift_jis encoding.
I tried to follow your steps and found out 4 addresses
The third address showed instructions when I moved to the dialog B from A.
It had these many instructions with low count (address is different because CE crashed but I followed the same steps from before)
For the time being, I selected the 4th one because it had similar pattern from your tutorial (movzx, byte ptr).
But I don't know where to stop. Is it [eax, address] ?
So I have two questions regarding your explanation in wiki:
1. How do I find out the TerminatedPattern for a particular game?
2. In Step 3 from your tutorial where I am checking instructions, how do I decide the range of addresses to copy from memory viewer?
Is it possible to set a delay to certain amount of ms before it is sent to agent? Like having it in the agent's settings being able to set to 100, 150, 200, 250, 500 ms and so on.
That's it. Unable to hook, this issue always appears. Tried on Persona 4 Golden and Digimon Survive. Run as administrator.
Hi, I am very new to Cheat Engine and Agent in general, and I would like to learn more.
In the first step of finding D-Code, it says to Save State
at any dialogue (A).
And later on it says to Load State
The problem is: I haven't the slightest clue how to, and google hasn't been of much help.
I would really appreciate any assistance.
Please delete. Sorry for the trouble.
Hello - I would like to use this program to read scanned Japanese magazines. With some of these magazines the reading direction is western style left to right. However the OCR and translate functions seem to only operate from right to left. Is there an option to set this? If not would it be possible to implement? Thanks!
Edit - Sorry the magazine is read from left to right but vertical text is read right to left. I can't delete this so I will just close it.
Is this usable with wine? Any steps, if documented?
Thanks
Can you please add the ability to extract the script for the English version (I mean the fan translation) of "tsukihime"?
Would it be possible to build the Linux version of Agent to be compatible with 32-bit apps? I get this error when running it:
Error: Unable to handle 32-bit processes due to build configuration
I get agent working on any other game but there is a issue with the steam version where it automatically detaches itself from the game after a successful launch and loading script.
NOTE: There is no downgrade for this game, only different languages in the manifests.
// ==UserScript==
// @name Persona 5 Royal
// @Version 0.1
// @author Koukdw & [DC]
// @description Windows
// * Atlus
// *
Run:
No idea why it is doing this. I tried drag and drop but continues to detach from process with zero indication as to why.
I was testing agent with RPCS3 and was able to pick a D-CODE for Disorder 6 (BLJM61067), but stuck at the first step doing the same for Harem Tengoku da to Omottara Yandere Jigoku Datta (BLJS10266, https://vndb.org/v14536).
It seems that the game uses an encoding different from shift-jis, utf-8, utf-16 or utf-32, so I couldn't find address of an text string in memory.
Will there be a solution for this?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.