Coder Social home page Coder Social logo

Comments (6)

TobiX avatar TobiX commented on September 9, 2024

also about that. its generally recommended to use ioPlus instead of kuio these days ;P

#1 ;)

from forcelang.

TobiX avatar TobiX commented on September 9, 2024

to get around this, you can put a hook on the loadStartModule or whatever, and make it place the hook there

Probably a useful addition...

or you could use a kernel plugin and hook the actual ksceRegMgrReadKeyInt function since all the user functions do is call this anyway, this would also mean you dont need kuio to break sandboxing.

At which point I wonder if it wouldn't be more useful to merge this functionality into LOLIcon - that way we could ditch the config files and just add new menu entries there :D

from forcelang.

LiEnby avatar LiEnby commented on September 9, 2024

to get around this, you can put a hook on the loadStartModule or whatever, and make it place the hook there

Well yes, thats how trophax got around the problem . since using a kernel plugin was not an option there ..
https://bitbucket.org/SilicaAndPina/trophax/src/bad8c2dbb14b3280954140e289c8c6928c0b50fd/trophax.c#lines-224

from forcelang.

Princess-of-Sleeping avatar Princess-of-Sleeping commented on September 9, 2024

I don't know what you draw with draw.c etc for some reason, but this problem should be solved just by hooking in the kernel module.
SceAppUtil just calls SceAppMgrUser (SceDriver Export?) Or SceAppMgr (kernel appmgr Export)

https://github.com/vitasdk/vita-headers/blob/master/db.yml#L187
https://github.com/vitasdk/vita-headers/blob/master/db.yml#L398

from forcelang.

xdanieldzd avatar xdanieldzd commented on September 9, 2024

So, let's see... I appreciate the trophax link, but that code is honestly going a bit over my head. I'm not exaggerating in the Readme when stating that this is "My First Vita Homebrew", so I don't quite "get" modules and libraries and hooking functions, in the context of the Vita specifically, just yet. It doesn't help that my C is rusty, as I've been mostly using C# for the past 10 years or so.

I did add hooks to sceSysmoduleLoadModule and sceSysmoduleUnloadModule in commit c9c97f2, but I assume my approach to trying to hook/unhook sceAppUtilSystemParamGetInt from there won't actually work? I don't think I have any game to test that does both, use multiple modules and determine its language using that function, either.

I tried hooking sceAppMgrSystemParamGetInt with various different combinations of module name and library NID, but taiHookFunctionImport always fails with, I think, TAI_ERROR_NOT_FOUND?

So I'm not sure what I'm doing wrong, and in turn I'm not sure if I'm the right one to attempt such a project in the first place. Maybe it'll be better for someone to just integrate this functionality into another plugin.

Ah yeah, draw.c is for a crude OSD of sorts, currently enabled and disabled by pressing Select + Triangle + Square while an app is running. It's not quite finished yet, and the font is ugly.

from forcelang.

Princess-of-Sleeping avatar Princess-of-Sleeping commented on September 9, 2024

taiHookFunctionExport(
&sceAppMgrSystemParamGetInt_ref,
"SceDriverUser",
0xa6605d6f, // SceAppMgrUser
0x5b75180c,
sceAppMgrSystemParamGetInt_patch
);

or

taiHookFunctionExportForKernel(
&_sceAppMgrSystemParamGetInt_ref,
"SceAppMgr",
0x8af17416, // SceAppMgr
0x18eb1dac,
_sceAppMgrSystemParamGetInt_patch
);

but SceDriverUser is a shared module, so hooking is not desirable

from forcelang.

Related Issues (3)

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.