Giter Site home page Giter Site logo

marcussacana / stringreloads Goto Github PK

View Code? Open in Web Editor NEW
86.0 6.0 14.0 12.92 MB

A tool to inject strings into a game using low level code

License: The Unlicense

C# 95.32% Batchfile 3.58% C++ 0.96% C 0.15%
hooking modding modding-tools reverse-engineering

stringreloads's Issues

AdvHD D3D9 Wrapper Bug

The test game is Golden Marriage -Jewel Days-
I tried using the auto-install feature of x86 SRLwrapper, but it just crashed on black screen at startup
.
The game uses the adv engine and the is original
I move both, SRL.ini and SRLWrapper.dll to the game folder (where .exe is), then i rename SRLWrapper.dll to d3d9.dll, open the SRL.ini and set the AutoInstall=true

EntisGLS error

First of all, thank you for making a good tool.
I wanted to change the font of the translated game using this tool, and I was able to change it eventually.
But there is a little problem.
Most of the time, there is no problem, but there is a bug in which the game stops in very few sections.
This bug varies from person to person, and the interval that occurs is not constant.
But for some people, it happens unconditionally in certain sections.

f02f211fc814695e72885d470df8c96e2878a30727981b6902e54689cbef260a
5d0eb0ccca8f506ea25b61653b4196ac7c7543dccba9db618efc2247a94f5fe6

I tried many things, and after tracking the cause, I found out that the dll file (library file) I attached to change the font was the cause.
In areas where bugs occur unconditionally,
If you didn't use the wrapping function, you could see that there was no bug.

We received the latest version of the 32-bit SRLWrapper file released here, and we modified the SRLWrapper.dll file to winmm.dll.

I wanted to create a log file for you, but when I changed the settings to create a log file,
the game would freeze as soon as I started it, so I couldn't create a log file.

In this game, if you don't change the font, the string is truncated, so you must be able to change the font and font size.
And since the translation work has already been completed, I hope the bug will be fixed.

[link removed]

I think it's a difficult problem to predict just by the explanation, so I'm attaching the entire package. The font is in a separate font folder, so you can install it.

We may have to make a boring check for the test, but I attached a save file for the section where there are many errors.(Last file)

I ask for your help me. Thank you.

SoftPAL engine issue

I tested with 2 games and it shows this:

No Supported Engine Detected, Auto SRL Installer Disabled
I tested:
Koi x Shin Ai Kanojo
Anata ni Koi Suru Ren'ai Recette

Koi x Shin Ai Kanojo also shows:
Import Hook Failed: user32.dll => CreateWindowExW
Import Hook Failed: user32.dll => SetWindowPos

Anata ni Koi Suru Ren'ai Recette:
Import Hook Failed: user32.dll => CreateWindowExW

Am I doing something wrong?

SRL.ini's config is the same as The Witch's Love Diary.

AdvHD Incompatible Game

I try to enable the autoinstall featured (with the x64 SRLwrapper) but the game just start and doesn't do anything more (I even follow the tutorial video), and with the x32 the game crash at the initial launch. The game uses ADVHD engine!

Thanks in advance!

Some problems with Chinese

Game:

Chinkamo Twins! Futago no Imouto-tachi ni Natsukareteru no wa Wakatteta kedo Masaka Ren'ai Kanjou ni Kawaru Nante Omottenakatta Ken/ちんかもツインズ! ~ふたごの妹たちに懐かれてるのはわかってたけどまさか恋愛感情に変わるなんて思ってなかった件~

Engine:

Softpa

Problems

Use AutoInstall it work well in English,but,when i tried to translate the text to Chinese,something went wrong.
Correct text:
测试文字是否正常
很显然不是很正常,接下里是一段测试文本,测试。
苟利国家生死以,岂因祸福避趋之
QQ截图20200820172541

Why is this happening and what can I do to resolve this?
waiting for my request,thanks.

AdvHD D3D9 Wrapper Bug

I use StringReloads today
Found a problem. The error report is as follows

[INF] SRL - StringReloads v7.6.18
[INF] Created by Marcussacana
[DBG] Working Directory: G:\game\gal\WillPlus\44\StringReloads
[DBG] Initializing SRL...
[DBG] Cache not found, Building database...
[DBG] 0 Database(s) Loaded
[DBG] 0 Remap(s) Loaded
[DBG] 0 Alternative Remap(s) Loaded
[DBG] 0 Hashes Ready
[DBG] Hook "gdi32.dll->CreateFontA" Compiled; Hook: 0x0000000002D71F1E; Bypass: 0x000000000F9A0000
[DBG] Hook "gdi32.dll->CreateFontW" Compiled; Hook: 0x0000000002D71E3E; Bypass: 0x000000000F9B0000
[DBG] Hook "gdi32.dll->CreateFontIndirectA" Compiled; Hook: 0x0000000002D71E8E; Bypass: 0x000000000F9C0000
[DBG] Hook "gdi32.dll->CreateFontIndirectW" Compiled; Hook: 0x0000000002D71EDE; Bypass: 0x000000000F9D0000
[DBG] Hook "gdi32.dll->ExtTextOutA" Compiled; Hook: 0x0000000002D71F6E; Bypass: 0x000000000F9E0000
[DBG] Hook "gdi32.dll->ExtTextOutW" Compiled; Hook: 0x0000000002D71FBE; Bypass: 0x000000000F9F0000
[DBG] Hook "gdi32.dll->GetCharABCWidthsFloatA" Compiled; Hook: 0x0000000002D7200E; Bypass: 0x000000000FFA0000
[DBG] Hook "gdi32.dll->GetCharABCWidthsFloatW" Compiled; Hook: 0x0000000002D7205E; Bypass: 0x000000000FFB0000
[DBG] Hook "gdi32.dll->GetCharacterPlacementA" Compiled; Hook: 0x0000000002D720AE; Bypass: 0x000000000FFD0000
[DBG] Hook "gdi32.dll->GetCharacterPlacementW" Compiled; Hook: 0x0000000002D75196; Bypass: 0x0000000012070000
[DBG] Hook "gdi32.dll->GetGlyphOutlineA" Compiled; Hook: 0x0000000002D7539E; Bypass: 0x0000000012080000
[DBG] Hook "gdi32.dll->GetGlyphOutlineW" Compiled; Hook: 0x0000000002D753C6; Bypass: 0x0000000012090000
[DBG] Hook "gdi32.dll->GetTextExtentPoint32A" Compiled; Hook: 0x0000000002D750CE; Bypass: 0x00000000120A0000
[DBG] Hook "gdi32.dll->GetTextExtentPoint32W" Compiled; Hook: 0x0000000002D7507E; Bypass: 0x00000000120B0000
[DBG] Hook "kernel32.dll->lstrcpyA" Compiled; Hook: 0x0000000002D7534E; Bypass: 0x00000000120C0000
[DBG] Hook "kernel32.dll->lstrcpyA" Compiled; Hook: 0x0000000002D750A6; Bypass: 0x00000000120D0000
[DBG] Hook "OleAut32.dll->SysAllocString" Compiled; Hook: 0x0000000002D7511E; Bypass: 0x00000000120E0000
[DBG] Hook "Kernel32.dll->MultiByteToWideChar" Compiled; Hook: 0x0000000002D752AE; Bypass: 0x00000000120F0000
[DBG] Hook "Kernel32.dll->WideCharToMultiByte" Compiled; Hook: 0x0000000002D7520E; Bypass: 0x0000000012100000
[DBG] Hook "gdi32.dll->TextOutA" Compiled; Hook: 0x0000000002D7502E; Bypass: 0x0000000012110000
[DBG] Hook "gdi32.dll->TextOutW" Compiled; Hook: 0x0000000002D75376; Bypass: 0x0000000012130000
[DBG] Hook "OleAut32.dll->SysAllocString" Compiled; Hook: 0x0000000002D75F6E; Bypass: 0x00000000121A0000
[INF] AdvHD Engine Detected.
[INF] SRL Initialized
[TRC] Character Remaped from to
[ERR] [EntryPoint.cs:74(ProcessW)]
System.Exception: No Database Loaded
in StringReloads.Engine.SRL.get_CurrentDatabase()
in StringReloads.Engine.Match.BasicMatch.MatchString(String String)
in StringReloads.Engine.SRL.MatchString(IMatch This, String String)
in StringReloads.Engine.SRL.ProcessString(String String)
in StringReloads.Engine.SRL.ProcessString(WCString pString)
in StringReloads.EntryPoint.ProcessW(Void* Value)
[ERR] [EntryPoint.cs:74(ProcessW)]
System.Exception: No Database Loaded
in StringReloads.Engine.SRL.get_CurrentDatabase()
in StringReloads.Engine.Match.BasicMatch.MatchString(String String)
in StringReloads.Engine.SRL.MatchString(IMatch This, String String)
in StringReloads.Engine.SRL.ProcessString(String String)
in StringReloads.Engine.SRL.ProcessString(WCString pString)
in StringReloads.EntryPoint.ProcessW(Void* Value)
[ERR] [EntryPoint.cs:74(ProcessW)]
System.Exception: No Database Loaded
in StringReloads.Engine.SRL.get_CurrentDatabase()
in StringReloads.Engine.Match.BasicMatch.MatchString(String String)
in StringReloads.Engine.SRL.MatchString(IMatch This, String String)
in StringReloads.Engine.SRL.ProcessString(String String)
in StringReloads.Engine.SRL.ProcessString(WCString pString)
in StringReloads.EntryPoint.ProcessW(Void* Value)
[ERR] [EntryPoint.cs:74(ProcessW)]
System.Exception: No Database Loaded
in StringReloads.Engine.SRL.get_CurrentDatabase()
in StringReloads.Engine.Match.BasicMatch.MatchString(String String)
in StringReloads.Engine.SRL.MatchString(IMatch This, String String)
in StringReloads.Engine.SRL.ProcessString(String String)
in StringReloads.Engine.SRL.ProcessString(WCString pString)
in StringReloads.EntryPoint.ProcessW(Void* Value)
[ERR] [EntryPoint.cs:74(ProcessW)]
System.Exception: No Database Loaded
in StringReloads.Engine.SRL.get_CurrentDatabase()
in StringReloads.Engine.Match.BasicMatch.MatchString(String String)
in StringReloads.Engine.SRL.MatchString(IMatch This, String String)
in StringReloads.Engine.SRL.ProcessString(String String)
in StringReloads.Engine.SRL.ProcessString(WCString pString)
in StringReloads.EntryPoint.ProcessW(Void* Value)
[ERR] [EntryPoint.cs:74(ProcessW)]
System.Exception: No Database Loaded
in StringReloads.Engine.SRL.get_CurrentDatabase()
in StringReloads.Engine.Match.BasicMatch.MatchString(String String)
in StringReloads.Engine.SRL.MatchString(IMatch This, String String)
in StringReloads.Engine.SRL.ProcessString(String String)
in StringReloads.Engine.SRL.ProcessString(WCString pString)
in StringReloads.EntryPoint.ProcessW(Void* Value)
[CRI] [EntryPoint.cs:77(ProcessW)]
System.Exception: No Database Loaded
in StringReloads.Engine.SRL.get_CurrentDatabase()
in StringReloads.Engine.Match.BasicMatch.MatchString(String String)
in StringReloads.Engine.SRL.MatchString(IMatch This, String String)
in StringReloads.Engine.SRL.ProcessString(String String)
in StringReloads.Engine.SRL.ProcessString(WCString pString)
in StringReloads.EntryPoint.ProcessW(Void* Value)

Translated String doesn't work

Greeting! I've use your method to translate a game using Willplus Engine and I've got SRL.log. However the game seems running without Strings-A_00.lst, therefore the translated strings didn't display in the game. So I'm seeking for a solution. Here's the SRL.log. Could you help me find the issue that cause it? Thank you for your help!
SRL.log

Struggling with font change to fix character limit.

I appreciate these tools being made for VN translation and I'm interested in translating Anata ni Koi Suru Ren'ai Recette. I've installed the plugin and got it to work after a lot of confusion but now I'm stuck on a character limit issue.
image
There it cuts off. I see there is a part of this for font stuff, which I assume is to help with issues like this, but I can't get it to work. I've been using the included [Font.0] in SRL.ini and changing its settings as well trying the different hooks but the text doesn't seem to change.

About hacking the rugp engine using StringReloads

Hi marcus. I have a problem with the rugp 6.2 engine of the Schwarzesmarken game by age. Through the debugger, I found this function (seen in the screenshot). Then, through the multiline assembler, I assemble the SRL code in the .patch section. After that, I change those two lines to jmp StrInject, and it seems like everything works fine, SRL is initialized, parses one line (parses correctly), but after that, the game immediately crashes. What could be the problem? Maybe the wrong function? Although, perhaps due to the fact that I do not know assembler at all.
In fact, I tried to do it with your YouTube video, but because I don’t know Portuguese (and English too), it didn’t work.
image
In any case, I now need help, since the translation of Schwarzesmarken into Russian was ready back in 2017, but I could not insert the translation into the game. I would be grateful for your help.

Question regarding string replacing

Hi,

Really nice tool, using it to change fonts was pretty straight forward and results were good.

However I've got another question, I'm currently working on a translation of a game which has menus built in the .exe file.

Now most of the menus I was able to translate through simple hex editing and resource hacker, but some of the strings are either not defined through resources or are not static and as such I was not able to replace them through hex editing.

This is an example:
Capture

Can StringReloads be used to somehow translate these?

Thanks

font program

after i creater new font has char vietnamese corresponding char of SJIS but in game, chars vietnamese are gone in location of it

Game doesn't start

I'm trying to use SRL on a SoftPAL game, Bakunyuu Okami and am getting this error.
When I launch the game, it doesn't start up at all and just the command prompt shows up displaying this error.
I enabled AutoInstall and Debug in SRL.ini

[DBG] Hook "kernel32->LoadResource" Compiled; Hook: 0x0000000005161DB6; Bypass: 0x0000000007B10000
[ERR] [EntryPoint.cs:45(Process)]
System.NullReferenceException: Object reference not set to an instance of an object.
   at StringReloads.Hook.Base.MemoryCodeReader.ReadByte()
   at Iced.Intel.Decoder.ReadByte()
   at Iced.Intel.Decoder.Decode(Instruction& instruction)
   at StringReloads.Hook.Base.Extensions.DecodeMany(Decoder Decoder, UInt32 MinLength)
   at StringReloads.Hook.Base.Hook.AssemblyHook()
   at StringReloads.Hook.Base.Hook.Compile(Boolean ImportHook, Nullable`1 TargetModule)
   at StringReloads.Hook.Others.EntisGLS_eslHeapAllocate.Initialize()
   at StringReloads.AutoInstall.EntisGLS..ctor()
   at StringReloads.Engine.SRL.get_Installers()
   at StringReloads.Engine.Initializer.PluginsInitializer(SRL Engine)
   at StringReloads.Engine.Initializer.Initialize(SRL Engine)
   at StringReloads.Engine.SRL.ResolveRemap(IMatch This, Char Char)
   at StringReloads.EntryPoint.Process(Void* Value)
[ERR] [Initializer.cs:28(Initialize)]

I already have the .lst file from LSTGenerator and I'm using SRLWrapperx86 with d3d9.dll.
Here is the full log file
SRL.log
I also tried this on Ai Kiss and have the same error.

winmm.dll Wrapper Bug


stopping.exe - 无法找到入口

无法定位程序输入点 mixerGetNumDevs 于动态链接库 F:\BaiduNetdiskDownload[Nighthawk] Complete series ストッピング 13 [4G]\ストッピング!!! 陸上競技編\stopping.exe 上。

确定

When the game tries to load winmm.dll, it reports that it cannot find the entry point. What should I do? It doesn't display any CMD window or print any logs.

I only changed:

[StringReloads]
AutoInstall=true

[Hooks]
CreateFontIndirectA=true

[Font.0]
To=MS PGothic
Charset=128

OS: WIN10
dll: SRLWrapper.x86.zip

chrome_Xt3UGWcJ5c

Only winmm.dll elicits a response from game.exe, while others like d3d9.dll show no response at all. There are no pop-up windows or error dialogs.

StringReloads v7.7.0

I'm trying to inject StringReloads v7.7.0 into a game called "Otome ga Kanaderu Koi no Aria", which uses the AdvHD engine. I'm trying to change the font and its size using the StringReloads program, but I'm unsuccessful no matter what I do. I consistently get a "No Database Loaded" error in the log file, and the game crashes. Where can I get this database? How do I configure the program correctly? There aren't any guides, and the video in the readme is outdated.

Build problems

J@A(U 4T J}P2XWGIIE_P
l get two errors

Error	CS0246	The type or namespace name 'CoInitializeDelegate' could not be found (are you missing a using directive or an assembly reference?)	StringReloads	C:\StringReloads-master\StringReloads\Hook\Win32\CoInitialize.cs	9	Active
Error	CS1955	Non-invocable member 'Hook<CoInitializeDelegate>.Bypass' cannot be used like a method.	StringReloads	C:\StringReloads-master\StringReloads\Hook\Win32\CoInitialize.cs	23	Active

how can i solve this problem ?
Visual Studio Version 16.7.5

About CreateFont function

Hello Marcus! May I ask how to change font of games that have no CreateFont nor CreateFontIndirect function? Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.