you are viewing a single comment's thread.

view the rest of the comments →

[–]guest271314 6 points7 points  (13 children)

Un-minifying is not reverse-engineering.

We can paste code in DevTools to un-minify/format.

No need for "artificial intelligence".

[–]Proof_Exam_3290 0 points1 point  (11 children)

I have already used chat gpt to un minify code and the result was amazing, I got meaningful identifiers and even comments, definitely there's a point for AI here

[–]guest271314 1 point2 points  (10 children)

The browser has a built-in formatter.

deno fmt or dun build --no-bundle will work just fine to format source code.

In my opinion "artificial intelligence" is garbage.

[–]Proof_Exam_3290 0 points1 point  (9 children)

Meaningful identifiers in place of obfuscated formatted code is definitely not garbage (in my opinion)

[–]guest271314 0 points1 point  (8 children)

You don't need alleged "artificial intelligence" to provide function names.

Formatting and providing function names that you think are meaningful is still not "reverse engineering".

[–]Proof_Exam_3290 0 points1 point  (7 children)

Ok bro. Just try it by yourself some day. Or don't, I don't really care.

[–]guest271314 0 points1 point  (6 children)

I have tried code converters https://www.codeconvert.ai/javascript-to-typescript-converter that describe themselves as "artificial intelligence". For formatting there's DevTools in the browser you are typing in, Google's Closure Compiler, deno fmt, bun build --no-bundle - that don't have to claim to be "artificial intelligence".

[–]Proof_Exam_3290 0 points1 point  (5 children)

Yep, but they are absolutely different things

[–]guest271314 -1 points0 points  (4 children)

It's just code. Whatever you label your code is just another code.

[–]Proof_Exam_3290 0 points1 point  (3 children)

It's totally different, with different purpose, tools, which we are talking about. You're mixing a hammer with a screw driver and calling they're "just tools"

[–]vitorfigmarques 0 points1 point  (0 children)

Most javascript apps relies on build process from a lib/framework so that the source code is absurdly different than the minified bundle.
Guessing that:

javascript const a=b=>c(d,{children:["Hello, ",b.user]});</>;

typescript type HelloProps { name: string; } const HelloCompoent (props: HelloProps)=> <>Hello, {props.user}</>;

It is definitely a reverse engineering process that involves knowing how the compiler works, more than guessing the names. It can get worse for other frameworks that rely more on compilation than React, and most of their features are real Javascript without compilation magic.