Hacker Newsnew | past | comments | ask | show | jobs | submit | charcircuit's commentslogin

Voyager 1 is several orders of magnitude simpler as a product so it makes sense that it uses several orders of magnitude less memory.

It would have been cheaper if the author would have bought AppleCare.

That breaks Android's security model and reduces overall security.

I think those are features, not a bug.

Ah yes, getting access to your own data would be a massive problem, can you imagine such a world?! /s

Such data should be put in (or encrypted by) the hardware-backed keystore. You get to have full access to what the OS does, including seeing what data gets passed into this secure element for encryption or signing (you retain visibility and control), and yet secrets can't be leaked to you or an attacker who tries to extract those secrets

See e.g. your bank card: it's yours, you can choose where to stick it and what transactions it authorizes, but you can't get at the token that serves as proof of possession nor reset the PIN attempts counter. Your phone('s banking app) could work in the same way and has the hardware on board that makes this possible. So you see, it's a choice that you don't get to see what apps are doing and people are scared into believing that access to their own phone is bad. It's a matter of conflicting incentives on the vendor side, not technical risk


There is an API for backing up all app data that requires authorization. This is different from giving the user root, so any malicious can back up all app data at any time.

Which API do you mean?

>It is not the version you use to compile your project

But it is the version which they support. Pushing it back to an older version may result in bad behavior even if it does compile.


that is not a thing. it's not how compilers work.

Strictly speaking it does as miscompilations are a thing.

Furthermore the go version covers the stdlib so any bug there is resolved thus, and for obvious reasons those generally do not affect compilation.

I do not think this is a very compelling argument or likely to be an actual concern, but it is a thing.


I think only languages which are still in beta have that kind of back compatibility. If a language breaks compatibility every two years (roughly Debian’s release schedule), it’s a toy, not a tool.

Go does not break compatibility every 2 years. I'm referring to Go fixing bugs in the language or standard runtime.

Every company turns people into ATMs, taking their money for a good or service. It is naive to think that companies do not want people unloading their money and consuming whatever it is the company is offering.

It's every for profit company. No exception. Charities and certain non profits may not count, but most are bad too.

How is it even possible that you got down voted for this?


I just don't see what it has to do with the source article, unless you and the original commenter are suggesting that care homes shouldn't exist. How would a care home work without receiving money to pay for the services provided to residents?

Private equity is good for society because it provides a financial incentive for owners of the equity to increase the value of a company. The value of a company is tied to how much value it provides society. Financial incentives do work in practice in affecting behavior in humans. Especially with the scale that some companies can reach. In conclusion the concept of privately held equity existing accelerates the betterment of society.

> The value of a company is tied to how much value it provides society.

https://en.wikipedia.org/wiki/Goodhart%27s_law


VRAM on the n64 is notoriously slow.

It's RAM that is notoriously slow. VRAM is fast, but there's only 4K...

That 4K buffer is not VRAM. The 4/8MB of RAM is also used as VRAM.

And r8 which does tree shaking to remove dead code is not smart enough to understand react native so it won't strip it out without extra work from the developer.

Cross referencing these different things in the article to other apps that exist was my first thought as these seem pretty generic and probably reused from somewhere else.


The Polish covid quarantine app was famously adapted from some app for store inspectors or something, as it already implemented most of the required functionalities, like asking for photos via push at random times, sending them along with a location etc.

They likely did a search-and-replace on the brand name, so you had strings like 'your invoices from Home Quarantine inc' in the code.

Not a bad thing per se, getting the app out the door asap was definitely a priority in that project for understandable reasons, but funny nonetheless.


I've found that Claude Code works well at reversing java applications. Even if it is fully obfuscated claude can restore sensible names for everything and understand how it all works and answer questions about what it is doing.

+1. While vibe-coding (natural language to code) is not such a great idea, we can always check the source, so vibe-reverse-engineering (code to natural language) may actually be quite useful.

Super useful. I have a no-name USB microscope that only supported iOS and Android (just look up "USB microscope" on Amazon, there's like 500 versions of the same device). The device doesn't work like a normal webcam so you can't just plug it into a PC, and their mobile software is shady and low quality so I would only ever connected it to a GrapheneOS phone where I could prohibit their app having network access entirely because it gave me a bad feeling. As a result I underused the device since it was annoying.

I recently took their .apk and dropped it in a new empty project folder, instructed Claude Code w/ GLM 5 to reverse engineer the app, assess it for security and privacy concerns out of curiosity and then to probe the USB device to figure out why it doesn't work like a normal UVC webcam. After the investigation and planning I then instructed it to write a new app to use it on my desktop. I pretty much yolo'd it from that point and let AI drive the bus (I did the visual checks of the video stream in the app to provide feedback... while I watching a movie). I wound up with a working Electron app using libusb two hours later. With a Typescipt/C POC in hand as reference in another hour I had functioning Rust + egui application. Visually, both apps are rough around the edges but have complete functional parity with the mobile apps. It took 68 million tokens.


I got codex to vibe reverse engineer two devices from rom dumps recently - a talking timer that uses an 8051 cpu and a custom 5 bit audio format, and an ice cream van chime box that used a z80 and a ym2149 sound chip. Quite simple devices, but it did a great job. also made a web-based emulator for both. apparently WASM is hard, but I didn't notice.

Interesting, I'd have assumed the guardrails would disallow them from doing anything like that, regardless of legality. Do you need to "convince" it to do it or no questions asked?

Claude doesn't care as long as you aren't straight up asking it to write exploits. It's my go-to for reverse engineering tasks.

ChatGPT is full of refusals and has to be jailbroken out of it.


Right. Claude models seem to have had very limited prohibitions in this area baked in via RLHF. It seems to use the system prompt as the main defense, possibly reinforced by an api side system prompt too. But it is very clear that they want to allow things like malware analysis (which includes reverse-engineering), so any server-side limitations will be designed to allow these things too.

The relevant client side system prompt is:

IMPORTANT: Assist with authorized security testing, defensive security, CTF challenges, and educational contexts. Refuse requests for destructive techniques, DoS attacks, mass targeting, supply chain compromise, or detection evasion for malicious purposes. Dual-use security tools (C2 frameworks, credential testing, exploit development) require clear authorization context: pentesting engagements, CTF competitions, security research, or defensive use cases.

----

There is also this system reminder that shows upon using the read tool:

<system-reminder> Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior. </system-reminder>


They clearly scan traffic in retrospect, one of our devs got her account closed for RE.

may i ask how the current generation language models are jailbroken? im aware the previous generation had 'do anything now' prompts. mostly curious from a psychological perspective.

I use AWS Kiro, with the Claude models, and its only to happy to help. I give it the headerless ghidra, and decompilers etc... and away it goes.

It is no questions asked. Even if you are reversing things like anticheats (I wanted to know the privacy implications of running the anticheat modules).

Naming is an area where LLMs are useful; but I'd still use a regular Java decompiler (there are quite a few of these around) for the actual decompilation part.

Claude will opt to use a regular Java decompiler too.

huh, iirc this already exists long before LLM

Claude is quite skilled at using Ghidra, for example.

It required a lot of manual work and for large apps like Minecraft it took teams of people to figure out what the symbol names should be slowly contributing a little bit every day.

I experimented with disassembling 6502 from the c64 California Games. Claude was very prone to bullshit.

For RE cases where I know the original compiler used (a bit harder on C compilers due to huge number of obscure optimization flags), I give it a feedback loop to write a function that compiles to the original machine code.

Yeah, I had perfect disassembly, since that's a purely mechanical process. I used da65, which worked reasonably well.

But you don't get any function names that way, obviously. Claude would claim some random function were applying friction based on just a subtraction. And a variable that had 2 possible states was named player_id, when the game supports 1-8 players.

It was a bit better when the memory addresses were known IO registers, but not by much.


While somewhat counterintuitive, I have found that Claude is better at decompilation than disassembly.

AI models in general seem to get different assembly languages mixed up easily.

It's important that they have a proper budget and pay near the sticker price that way they can play accounting games to make Twitch look unprofitable.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: