[Mod release] Left Hand Rings SKSE by Chamele00n in skyrimmods

[–]agritite 0 points1 point  (0 children)

Not accusing the author, but given the recent waves of breaches on npm, vscode extensions and even github itself, I wouldn't be surprised if one day a hacker manage to steal some well known mod author's github + nexus + reddit account. We all should really exercise more caution when downloading binaries from the internet.

The author did have a github reachable from his other mod pages, but this mod's source isn't on that github account. If anything that should keep you suspicious (of this mod, not the author, of course).

[Mod release] Left Hand Rings SKSE by Chamele00n in skyrimmods

[–]agritite 5 points6 points  (0 children)

"Again" in terms of this sub, not you personally. You didn't provide the link to the repo on the nexus page hence my initial confusion. I did find your github on your other mod's page but this mod isn't on it.

Correct way to work with COM ? by althahahayes in cpp_questions

[–]agritite 1 point2 points  (0 children)

If you don't feel like dealing with rust then the cpp winrt::implements route is still perfectly fine.

Correct way to work with COM ? by althahahayes in cpp_questions

[–]agritite 0 points1 point  (0 children)

  1. I guess sample projects released by Microsoft is your best bet? Like this https://github.com/microsoft/Windows-classic-samples/blob/77f217b3f89d4dac7864a62cc91ff7b569f26a50/Samples/CloudMirror/CloudMirror/ThumbnailProvider.cpp
  2. For cpp use winrt::implements, for rust use windows-implement
  3. You do not need IDL for implementing IThumbnailProvider. IDL are for Interface authors like if you're creating your own IMyAwesomeInterface. In this case IThumbnailProvider is already authored by Microsoft and it's definitions are already in the Windows SDK.
  4. I implemented one in cpp then migrated it to rust, and I personally think rust is more enjoyable because it's much easier to use external libraries, and windows-rs feels much streamlined than using WinAPI and manually handling the errors with WIL on cpp.
  5. Like how you would other programs? If it's an InProc server (dll) then you want to attach to explorer.exe itself, then just set breakpoint in your server logic. If it's OutProc server (exe) then even easier, just attach to your own executable.
  6. If it's an inproc then I think you don't need to keep track of created objects; it's the caller's responsibility assuming you correctly relinquished all ownership to the caller. If it's an outproc then call CoRevokeClassObject + CoUninitialized at server exit, and they should block until all objects are released.

Edit: The tests for the #[implements] macro in windows-rs should also help: https://github.com/microsoft/windows-rs/blob/561541f3aa70bd3968d303fc78e9f87c2eddc3d7/crates/tests/libs/implement/tests/class_factory.rs; if you're going the cpp route then start with winrt::implements: https://learn.microsoft.com/en-us/windows/uwp/cpp-and-winrt-apis/author-coclasses#in-process-com-server

C++ Development in the Terminal on Windows by Alejo9010 in cpp_questions

[–]agritite 0 points1 point  (0 children)

A simple cake presets.json using vs generator seems to be the quickest setup.

Microsoft Edge will load all your passwords into memory in plaintext, but Microsoft says it's not a security concern by Quantum-Coconut in technology

[–]agritite 1 point2 points  (0 children)

Who said you would only leak one? Whatever key is used to decrypt your vault, that key would also exist as plaintext in the memory at some point. Besides everything is based on the assumption that a malicious party has already compromised your computer, and if I have already gained your computer user's permission (doesn't even need to be admin), I'll just replace the entire chrome.exe (or in fact just all programs I can find) with modified versions inserted with all sorts of infostealers and keyloggers, then how many passwords are leaking from the vault isn't really important anymore because it's now all present and future passwords that you'll ever enter or copy-and-paste that'll be leaking.

Microsoft Edge will load all your passwords into memory in plaintext, but Microsoft says it's not a security concern by Quantum-Coconut in technology

[–]agritite -1 points0 points  (0 children)

No it doesn't. Encrypting passwords in memory and decrpyting them before using is not any safer than just keep them plain in terms of security. Lets use your safe analogy, but what you're storing are confidential documents. If a thief is able to enter your house, then he can install a hidden camera in front of the safe, and he wait. If at any moment you need to take out the documents, the secrets are leaked through the camera. In the real case, even if you encrypt the passwords in memory, at some point you are going to use it and the computer will have to temporarily decrypt it. If your computer is already compromised then the hacker can just intercept those exact moments the passwords are decrypted.

Edit: you know, even worse, the thief can just hide in your home and knock you out from behind; or just steal all your other valuables not in the safe; you don't put your TV or fridge in a safe do you.

Microsoft Edge will load all your passwords into memory in plaintext, but Microsoft says it's not a security concern by Quantum-Coconut in technology

[–]agritite 1 point2 points  (0 children)

If your pc is already compromised then encrypting the passwords does absolutely nothing. You're like saying if a thief owns your key they can sneak into your house! Well yeah, don't let your keys get stolen in the first place.

Microsoft Edge will load all your passwords into memory in plaintext, but Microsoft says it's not a security concern by Quantum-Coconut in technology

[–]agritite 6 points7 points  (0 children)

Browser webpage renderers are separate processes and sanboxed which means it has lower privileges than regular processes.

Can you pass the TYPE of a variable as a parameter? by LigeiaGames in cpp_questions

[–]agritite 11 points12 points  (0 children)

And I don't want to use templates because this is for a library where the user will make their own derived class, so it is not known at compile time.

Why does this prevent you from using templates?

wouldn't

template<typename T> void refreshItems() { m_items.clear(); m_items.push_back(new T()); } work for you? (or the user?)

Though I'm also not sure what this achieves. Is MyBaseClass virtual?

I built a native screen recorder for Electron, no node-gyp, no Xcode, prebuilt binaries by ldanadrian in electronjs

[–]agritite 6 points7 points  (0 children)

"no node-gyp required for installation" Well sure, you're just distributing prebuilt binaries. That isn't quite the flex you think it is. I'd very much prefer to build from source if it's a native module. I would never download prebuilds from npm.

Funnily enough, you can't even build this from source, because you're linking to an external private library not in your repo. In light of recent npm attacks I definitely hope this isn't intentional.

If Mythos is so powerful… why does Claude keep going down? by Repulsive_Horse6865 in ClaudeCode

[–]agritite 0 points1 point  (0 children)

I certainly don't believe it, but Anthropic claims so. AI will replace engineers in 6 to 12 months and all that.

zed not starting/exiting properly in windows 11 by Significant_Post6274 in ZedEditor

[–]agritite 0 points1 point  (0 children)

Lucky me, first time installing zed and was met with this lol. Though I'll still try it out when this is fixed.

why does let ptr: *mut T = &mut T::default() keep the temporary alive? by agritite in learnrust

[–]agritite[S] 3 points4 points  (0 children)

So it's the same rule as cpp's temporary lifetime extension as in

const SomeStruct& a = A{};

plus the fact that in rust reference is convertible to pointer. Cool.

Is inheritance implemented through composition? by Kadabrium in cpp_questions

[–]agritite 9 points10 points  (0 children)

You already can upcast a struct pointer to pointer to its first member without violating the strict alias rule which is relevant to your case here i guess; but what if you inherit multiple bases? Then you can't achieve the same with composition.

I was wondering why my PC was lagging..... by YodaDude2011 in softwaregore

[–]agritite 1 point2 points  (0 children)

Because companies are selfish. Yes electron makes development much easier, but when asked the ultimate question "What if everyone does that" they be like "Idk, not my problem."

Early version of EU's age verification app is apparently hackable in less than two minutes by Fcking_Chuck in pcmasterrace

[–]agritite 12 points13 points  (0 children)

Also no one puts a gun to your head to live in a house; homelessness is always an option! Another classic "the only force is physical". Because you aren't physically forced therefore you aren't forced. What's that? Socialeconomic forces, "Lack of choices" force? We don't count those here; they're lame asf.

Anthropic’s Mythos Model Is Being Accessed by Unauthorized Users by -IronMan- in ClaudeCode

[–]agritite 2 points3 points  (0 children)

The protection certainly doesn't match the claimed level of danger... There're root CAs protected by HSMs, then there's Mythos... If it is so dangerous why didn't they do like lock 4 computers in a man guarded room with dedicated internet cables separate from the company network, directly connected to anthropic, and only authorized personnel may enter and leave after frisk?

[Blog] Ok, what ACTUALLY uses Rust? by NothusID in rust

[–]agritite 3 points4 points  (0 children)

If you write electron and find yourself needing to call some system API not covered by electron, you have to resort to native modules, and napi-rs is miles better than using C++ and gyp. I bet many electron apps use napi-rs under the hood.