#❗New Lua challenge!

1 messages · Page 1 of 1 (latest)

azure wolf
#

only just seen this thread, no idea if i even read the rules right tbh

function you_cant_call_me()
    return print
end 

-- EDIT FROM HERE
setmetatable({}, {
    __index = function()
        return you_cant_call_me
    end
}).__index()("Hello world")
opaque heath
#

}).this_doesnt_exist(“Hello world”)
is cooler

opaque heath
azure wolf
#

Someone tell me why this isn't a valid answer:

function you_cant_call_me()
      return print
end 

-- EDIT FROM HERE

local yccm = you_cant_call_me()

yccm("Hello World")

local yccm = you_cant_call_me() is not a call expression, you_cant_call_me is ONLY called on the final line. there is no other call expression, just evaluations.

worthy shale
opaque heath
#

“you_cant_call_me is ONLY called on the final line” he says

worthy shale
opaque heath
azure wolf
#

@worthy shale @opaque heath how is the function being called.. it is being evaluated, not called. The rules are that no function should be called, and it isnt. If i did:

local yccm = you_cant_call_me

yccm()("Hello World")```
That would be calling you_cant_call_me AND the returned function, which would be invalid.
The rules were written badly, and like I said, you_cant_call_me is not called until the final line.
#

Wait i think i dun goof

#

Yall i aint even gonna argue, I was wrong

#

Not even gonna delete out of embarassment just fuckin shoot me

worthy shale
azure wolf
worthy shale
#

We all have those moments

azure wolf
echo epoch
#

I know what the answer is

#
function you_cant_call_me()
      return print
end 

print("Hello World")

The rules say: "Only allowed call expression is for the print function returned from you_cant_call_me"

The global print function is the same as the print function returned from you_cant_call_me. Same object/identity/memory address.

echo epoch
opaque heath
#

wonder what chatgpt says

opaque heath
echo epoch
#

if it causes a call to happen, then its expressing a call (along with the looping behavior of for)

marble harness
#

Goal: Print "Hello world"

Rules:
[+] Your solution must be below EDIT FROM HERE
[+] Only allowed call expression is for the print function returned from you_cant_call_me
[+] Any other call expression is forbidden. (such as (), {}, [[]], '', "")

function you_cant_call_me()
      return print
end 

-- EDIT FROM HERE
#

The guy who gave me this doesn't answer anymore so no one knows the solution.
If you want you can try, I would be interested in the solution

elder smelt
#

so you literally cant call any functions other than the print inside you_cant_call_me?

marble harness
#

Yeah lol

elder smelt
#

wtf lol

winter jungle
#

aye how do you get the return of you_cant_call_me without calling

marble harness
#

I don't know if this even has a solution

winter jungle
#

second rule is a bit awkward it says returned print function from you_cant_call_me but you cant get its return

#

so i guess we can just access to the print inside of it

#

wait also we cant use any other function what the fuck

#

it only accepts call expressions for the print function

#

that does not have a solution i bet

minor hare
#

the rules feel badly phrased?

#

or just badly put together

#

I can't make sense of it at least

#

so you're only allowed to call the return of you_cant_call_me which you obviously can't call

#

and I assume by print that we have to call the function print with hello world

#

probably uses some weird lua thing to get the return of a function without calling it via convential means

marble harness
#

I don't have any fucking clue guys

minor hare
#

if I want to be really bending the rules

#

I do have an idea

elder smelt
#

I don't know how you'd do that without calling a debug library function but that breaks the calling rule

minor hare
#

and that's assuming we're in gmod

elder smelt
#

no

minor hare
#

yeah

#

exactly

#

I can't think of anything in puc lua

elder smelt
#
function you_cant_call_me()
      return print
end 

-- EDIT FROM HERE
return "Hello world"
winter jungle
#

i did that actually

#

but idk

#

if thats expected

elder smelt
#

troll challenges get troll solutions

winter jungle
#

Goal: Print "Hello world"

#

i guess thats enough

#

get trolled

elder smelt
#

/thread

winter jungle
patent tiger
#

upvalue shit?

elder smelt
#

cant call any functions lol

#

cant call debug library funcs

patent tiger
#

oh wtf

winter jungle
#

purely syntactical shit

#

or the troll solution which is return lol

patent tiger
#
function you_cant_call_me()
      return print
end 

-- EDIT FROM HERE
_G["you_cant_call_me"]()("Hello World")

so not this because it calls

winter jungle
#

yes

patent tiger
#

wtf

winter jungle
#

you can only call the print function that you_cant_call_me has returned

#

but how do you even get its return

patent tiger
#

but you can't get the return

winter jungle
#

yes

patent tiger
#

idek

#

and you can't use debug library?

winter jungle
patent tiger
#

damn

winged rune
#

So there's no solution?

marble harness
#

I won't archive the thread but I will try to get the solution.
Maybe

winged rune
#

Does print("Hello world") count?
Technically it's the same function as the method returns

marble harness
#

That would be dumb

#

If that was the solution

winged rune
#

If the original code was something like

function you_cant_call_me()
    return function(...) print(...) end
end

-- EDIT FROM HERE

Then it would not work
But for now I see it as the only solution

worn jackal
#
function you_cant_call_me()
      return print
end

-- EDIT FROM HERE
for s in you_cant_call_me do
    s("Hello world")
    break
end

#

yall dum

#

@marble harness

marble harness
#

holy fucking shit

elder smelt
#

WHAT

#

oh shit yeah iterator func!!!

#

nice one

winged rune
#

Too much trolling today

red vortex
#

getupvalue, getlocal, etc

#

wait

#

maybe metamethods??

#

YEAH

minor hare
#

i looked at metamethods

#

i couldn't think of anything

red vortex
#

__index = cant_call_this
table[1]("hello world")

minor hare
#

wait yes

red vortex
#

wait no

#

table index is forbidden

minor hare
#

no it isnt?

red vortex
minor hare
#

no

#

thats call expression

elder smelt
#

how are you going to set a metatable if you cant call anything

red vortex
#

fuck right

red vortex
#

gdi

minor hare
#

this

#

is what i meant

#

when i looked at it earlier

elder smelt
#

gachi already posted solution anyway

red vortex
#

hrm

minor hare
#

setmetatable would be a call

minor hare
elder smelt
minor hare
#

OH

#

yaeh

red vortex
#

lmfao the iterator

#

magician

minor hare
#

i knew the solution would be finding some lua thing that would call a callback

#

ust

#

just

#

didnt think of iterators

scenic pollen
#

hello @marble harness

marble harness
#

Hi!

#

Did you find me by the issue on the GitHub I made?

scenic pollen
#

no noobmaster told me

marble harness
#

Yeah

#

I made a issue on his GitHub

#

And accidentally mentioned this discord

coarse lagoon
#

ayo

marble harness
red vortex
#

yoink

marble harness
coarse lagoon
#

these are old asf

marble harness
#

Lol

coarse lagoon
#

we have like 17 challenges

marble harness
#

If you lua discord you will find the original thread where I got these challenges

coarse lagoon
#

there you can find all of them

#

with solutions for most of them

scenic pollen
#

^

marble harness
#

Is it moonscript related server?

coarse lagoon
#

nah nah

marble harness
#

But the amount of people doubt it already

coarse lagoon
#

ib2 obfuscator fork

#

although we're not really affiliated with that

marble harness
#

11k member for obfuscator???

scenic pollen
#

luraph better

coarse lagoon
#

we just friends with the owner

marble harness
#

Well you were in the screenshots

coarse lagoon
#

yeah he started doing challenges and then we started making our own

#

I hope I'm not breaking any promotion rules

#

cuz not really my intention lmao

#

it's just the origin

marble harness
#

No, your luck my bot doesn't work in threads, but I allow this invite

#

Anyway, thanks for the link

coarse lagoon
#

aight, you guys can attempt the latest one, it has only been solved by one person

#

and there is no public solution

scenic pollen
#

maybe more people will be interested in that actual lua server

marble harness
#

This and lua discord would be interested

coarse lagoon
#

Challenge #17

Goal: Make 2 == not_two() evaluate to true. (Changing how assert works doesn't matter)

Rules:
[+] The function call not_two() cannot return 2! (obv)
[+] You cannot change or set any metatables.
[+] You cannot use load, loadstring, loadfile, etc.
[+] You cannot edit bytecode or use debug hooks.

-- ^ SOLUTION ABOVE! ^ --
assert(2 == not_two())

Difficulty: (Hard)

brought to you by notnoobmaster

#

I had no idea these challenges were shared around in other discords lmao

scenic pollen
#

same lol

marble harness
elder smelt
#

debug hooks as in debug.set/gethook yeah?

coarse lagoon
#

yep

minor hare
#

fuck no metatables

#

first thought

#

lmao

marble harness
#

__eq won't be invoked anyway

coarse lagoon
#

it's quite tricky indeed

patent tiger
#
function is_two()
  return 2
end
function not_two()
  return is_two()
end
-- ^ SOLUTION ABOVE! ^ --
assert(2 == not_two())

smoothbrain

marble harness
#

Some of them have not well explained or controversial rules

coarse lagoon
#

we try our best ¯_(ツ)_/¯

marble harness
#

Like with assert(table[3] == 2)

minor hare
#

just run it in a interpreter that makes the eq pass B)

coarse lagoon
#

If there's so much interest in these challenges I might finish making that challenge bot that auto checks your solutions

marble harness
#

❗New Lua challenge!

scenic pollen
#

I'm super specific with rules because I try to make it so only 1 solution is possible

uncut kayak
#

you cant call any functions?

#

hm

#

oh well except for that one

marble harness
#

I had an idea not_two to be a coroutine.wrap closure

#

Where it yields 2 vee
But that's technically returning 2

warped basin
#

shit no metatables

#

hmm

warped basin
#

not_two technically returns 2 there

#

it's cheating

minor hare
#

technically

#

yes

warped basin
#

🙄

minor hare
#

but

marble harness
#

can you do return #({1, 1})
vee

warped basin
#

pretty sure that would also end up returning 2

sleek shard
#

can we just change 2 to something via debug

marble harness
#

yeah I guess

sleek shard
#

im on mobile sorry

marble harness
#

But the code is run before the assertion

#

Let's see

coarse lagoon
sleek shard
#

i see

warped basin
#

shit

#
local a = {
    ["2"] = 1,
    ["print"] = print,
    ["tostring"] = tostring,
}

setfenv(1, a)

print(2)

didn't work though D:

sleek shard
#

smh

#

i expect some hacky stuff inside not_two that forces the assertion to be true

#

idk

warped basin
#
function not_two()
    return 1
end

local a = {
    [2] = 1,
    ["print"] = print,
    ["tostring"] = tostring,
    ["test"] = "racist word here",
}

setfenv(1, a)

print(2)
print(test)
#

very sad

#

second print outputs "racist word here"

sleek shard
#

would it even be possible to replace not_two with 2 inside not_two

#

or

-- inside not_two
local a = 1
return a, hacky_stuff_that_increments_a_before_assertion
#

i really dunno lmao

warped basin
#

oh I think I solved it

#

1 sec

#

😳

#

it would still return technically 2

#

nvm

marble harness
warped basin
#

yeah that doesn't make it equal 2

#

cheat failure

marble harness
#

It does

wintry otter
#

function not_two()
    debug.setlocal(2, 2, "a")
    return "a"
end

-- ^ SOLUTION ABOVE! ^ --
assert(2 == not_two())
``` this makes them the same but evaluates to false ![waaah](https://cdn.discordapp.com/emojis/803002177748467733.webp?size=128 "waaah")
warped basin
#

why would it not pass then

sleek shard
#

author said to not edit the 2 in the assertion

warped basin
#

that's why I was trying to do setfenv

#

cuz it's little cheat he didn't specify 😳

wintry otter
#

[+] You cannot edit bytecode or use debug hooks.

#

can u read

warped basin
#

yeah he meant like any debug shit

#

he said so up here

#

let me find

sleek shard
#

no debug hooks actually

wintry otter
#

debug.get/sethook

#

??

marble harness
warped basin
wintry otter
#

doesnt work either way

sleek shard
#

what is 2 - 1e-323

minor hare
#

2

#

to lua

warped basin
#

1e-323 is basically zero

marble harness
sleek shard
#

oh

warped basin
#

so it get rounded

#

Oh he has a good point

scenic pollen
#

@coarse lagoon u wanna give them a hint or nah

warped basin
#

I think the best way to qualify it is like if in the bytecode it returns 2

marble harness
warped basin
#

and if you think about it bytecode is probably some shit like

#

SUB num, very small num

#

which evaluates to 2 in lua

#

and then it returns

#

so it technically returns 2

marble harness
#

Too early

scenic pollen
#

bruh nobody is gonna get it

#

well idk

#

maybe

coarse lagoon
#

someone did doe

#

so its doable

warped basin
#

if that nameless guy is right then it counts

scenic pollen
#

yeah someone who knows how bytecode works lmao

warped basin
#

If it's because of the == operator

coarse lagoon
#

well true that

sleek shard
warped basin
#

it didn't return 2

coarse lagoon
#

but they can all learn it

marble harness
#

Guys I think you should post these challenges (you made) in lua mailing list.
Or if you give permission, I can

warped basin
coarse lagoon
#

no hes not right

#

i can tell you

warped basin
#

cuz if it's the == that rounds/normalizes it then it doesn't return 2

#

🙄

scenic pollen
coarse lagoon
#

boomers

scenic pollen
#

heard of it but never used it

coarse lagoon
#

looooooooooool

scenic pollen
#

I thought it was for like bug reports n stuff

minor hare
#

its for everything pretty much

sleek shard
#

yeah

coarse lagoon
#

i feel like the people there are real smart

#

cuz who else would use that

scenic pollen
#

too smart for discord

marble harness
warped basin
#

Is this for luajit or just lua

#

😳

marble harness
#

Lua

coarse lagoon
#

plain lua

warped basin
#

gay

coarse lagoon
marble harness
#

And I already saw challenges there

warped basin
#

5.3?

coarse lagoon
#

@scenic pollen they're for sure gonna instantly know the answer to your pcall challenge lmao

scenic pollen
#

you can do it on 5.3

warped basin
#

alright swag

scenic pollen
#

@coarse lagoon what pcall challenge

coarse lagoon
#

the bug one

scenic pollen
#

u mean the Lua bug

coarse lagoon
#

yeah

marble harness
#

I was thinking about pcall for this challenge

coarse lagoon
#

also this challenge doesn't work on 4.0

#

i think

scenic pollen
#

who uses 4.0

coarse lagoon
#

like if you were to

#

then it would be easy

marble harness
#

Almost everything doesn't work in 4.0 lmao

scenic pollen
#

do people still use below 5.1

marble harness
#

Even 5.0 is shit

scenic pollen
#

5.1 and 5.3 are the main ones i see used

warped basin
#

anything that's not jit is shit.

#

🙄

scenic pollen
#

5.4 is fast af tho

#

ahould be used more

marble harness
#

Real talk

scenic pollen
#

but they ruined constant variables

#

with horrid syntax

marble harness
#

I would say there is not only the syntax reason

warped basin
#

even 5.3 would be dope for gmod

#

_ENV bitwise operators and other miscellaneous drip

#

😋

scenic pollen
#

what does Gmod use rn

#

5.2?

marble harness
#

LuaJIT 2.0.4

sleek shard
#

luajit

scenic pollen
#

oh

#

then don't use 5.3 lmao

#

speed over 5.3 features

marble harness
#

And LuaJIT 2.1.0-beta3 on beta branch

#

LuaJIT has ffi with boxed integers

scenic pollen
#

_env is meh

#

integers are meh

warped basin
#

could do some trolling with _ENV

#

can't do shit with integers really

scenic pollen
#

bitwise ops semi not meh

marble harness
#

What's good then

sleek shard
#

i mean good

warped basin
#

maybe serverside

scenic pollen
#

wait for Robloxs luau to go public

#

then u get speed

warped basin
#

Luau is pretty cool

scenic pollen
#

types

warped basin
#

I've read that

scenic pollen
#

continue

#

compound operations

marble harness
#

We have continue too!

scenic pollen
#

wait fr?

marble harness
#

Yes

sleek shard
#

it was buggy at some point

marble harness
#

Check this page

sleek shard
#

but fixed

warped basin
#

I just don't like it cuz they're really confident 🙄

scenic pollen
#

does it pass the variable scoping bug test

marble harness
#

It didn't before

warped basin
scenic pollen
#
repeat
    do continue end
    local a = 1
until a
marble harness
#

I found this problem

warped basin
#

yeah also C style operators but those are lame and no one uses them

#

cuz they don't work with any obfuscators or minifiers

#

🙄

sleek shard
#

except gmod xd

warped basin
#

no I mean no one writing shit for gmod uses them

sleek shard
#

they're shitty agreed

scenic pollen
warped basin
#

yeah but luraph is supposed to be shit

scenic pollen
#

not anymore

#

only thing not deobfuscated

#

old luraph garbage

warped basin
#

I know PSU has deobfuscators but they aren't public so it's good enough for me

#

🥱

marble harness
#

C has do while

scenic pollen
#

@marble harness it shouldn't work

#

the bug is that it does work

marble harness
#

Ah well it doesn't allow to use locals from the loop

scenic pollen
warped basin
#

yawning_mouth

marble harness
#

Yes

#

c doesn't

warped basin
#

The point of obfuscators are to stop retards.

scenic pollen
warped basin
#

link?

#

😳

marble harness
#

Luau code?

warped basin
#

They ping me so often I ignore them.

scenic pollen
#

check psu discord

marble harness
#

Isn't luau slow af?

scenic pollen
#

no

#

it's faster than 5.4 by a lot

warped basin
#

@everyone The PSU development team has recently been alerted to the fact that not only was there a obfuscator source leak but there was also a gitlabs breach on 6/20 which allowed unauthorized users to obtain copies of the old source for the obfuscator and a very primitive version of the rebirth source. It is unknown at the moment whether the current gitlabs is still breached or these people still have access but out of precautions the rewrite for psu will be moved to a private repository only accessible to two people. We are still looking into this issue. I find it very unfortunate this happened but however I am nonetheless surprised. Development will continue as normal in light of this.

marble harness
#

Proof?

scenic pollen
#

not as fast a luajit tho

warped basin
#

hmmm

#

alright where the source at

scenic pollen
#

fun fact I made original psu

warped basin
#

🙄 🙄

scenic pollen
#

then I left

warped basin
#

pretty swag

#

The owner guy is so autistic

marble harness
warped basin
#

but the devs seem pretty smart

scenic pollen
#

@marble harness on phone rn

scenic pollen
marble harness
#

Would be interested

scenic pollen
#

so not very useful atm

marble harness
#

Never tried roblox actually

scenic pollen
#

but it's vm is basically what 5.4 does plus more

#

and they do some things luajit does

#

but just not jit itself

warped basin
#

roblox would be so cool

coarse lagoon
#

they put a lot of R&D into that

warped basin
#

if the game wasn't so bad

marble harness
#

So they basically patched it to 5.4 level but it's still 5.1 ABI?

warped basin
#

Like luau looks dope

#

but nobody wants to play roblox

#

or even say they develop for it

scenic pollen
warped basin
#

🙄

scenic pollen
#

like types

#

and other syntax things

#

library ports

coarse lagoon
#

you could use teal if you want types

warped basin
#

https://luau-lang.org/ @marble harness

coarse lagoon
#

teal compiles to native lua

#

with type checking

marble harness
#

I'm familiar what are the features

coarse lagoon
#

it's like ts

warped basin
#

u asked for proof of perf

marble harness
#

And I know teal

#

I even have a concept of my own lua version

warped basin
#

They have like 3000 words on the performance section

marble harness
scenic pollen
warped basin
#

wrong image

minor hare
#

identical

#

to lua bytecode

#

iirc it is

warped basin
#

That would be pretty retarded.

#

if that's true then it is not good enough for me

#

nvm

#

Luau is safe to embed. Broadly speaking, this means that even in the face of untrusted (and in Roblox case, actively malicious) code, the language and the standard library don’t allow any unsafe access to the underlying system, and don’t have any bugs that allow escaping out of the sandbox (e.g. to gain native code execution through ROP gadgets et al).

#

0 bugs 🥳

minor hare
#

0 bugs

#

guys

#

holy shit

warped basin
#

They solved bugs.

minor hare
#

new software that ships with 0 bugs

#

revolutionary

vital vault
#

bugs are no more 🦀

minor hare
#

people stopped implementing bugs!!!!

sleek shard
#

too badd

warped basin
#

Of course a rust emoji

minor hare
#

cant wait to sbox escape into rce

warped basin
#

It was just a matter of time before the transgender invasion.

marble harness
#

What is weird in their decision is to remove __gc

sleek shard
#

luau?

warped basin
#

__gc exploitable

marble harness
#

Yeah as they said

warped basin
#

allowin trollingz

#

they also removed the entire debug library

sleek shard
#

idk how is it exploitable

warped basin
#

aside from a limited version of debug getinfo

wintry otter
#

wtf

warped basin
#

yeah roblox moment

sleek shard
#

remove the entire language, exploitable

warped basin
#

@coarse lagoon okay give a hint 🥱

minor hare
#

just remove everything

#

nothign to exploit

scenic pollen
warped basin
#

I'm out of ideas.

#

That is really stupid

minor hare
#

that one guy

#

i dont recall his name

#

he made a public script dumper

coarse lagoon
scenic pollen
#

me under and alt

minor hare
#

was that u lmao

warped basin
#

I don't want solution

#

I want a hint.

#

idk how I had a fail there

#

🙄 🙄

coarse lagoon
#

okay, imagine how hard it is to come up with a challenge. Now imagine how much harder it would be to think of an hint that doesn't give the solution away

sleek shard
#

true

scenic pollen
#

yes

coarse lagoon
#

I do not want to invest time into dealing with the challenge after I make it

warped basin
#

just like give me a hint of where to look

#

🙄

#

Or like what to look into

coarse lagoon
#

read the lua source from top to bottom

wintry otter
#

a single letter of the solution

warped basin
#

lets go

wintry otter
#

that's a hint technically

scenic pollen
warped basin
#

yeah hand it over

sleek shard
#

big brain

scenic pollen
#

but I took it down because the owner raged in my dms

minor hare
scenic pollen
#

yes

minor hare
#

lmao

scenic pollen
#

LD

minor hare
#

dude

wintry otter
#

luraph support soon...

minor hare
#

yea

coarse lagoon
scenic pollen
wintry otter
coarse lagoon
#

there really is only one viable obfuscator

#

which is luraph

warped basin
#

says the luraph developers 🚎

coarse lagoon
#

im not a developer for luraph

scenic pollen
#

noobmaster isn't a dev

#

he's just enlightened

wintry otter
#

just obfuscate with 3 different obfuscators then convert it to luajit bytecode and load it

#

ez

coarse lagoon
#

luraph only winning cuz there is no other obfuscators lmao

sleek shard
#

just write a luajit bytecode loader in lua

coarse lagoon
#

ib2 is just a lua vm written in lua

minor hare
#

i remember

#

u said some shit

#

about not wanting to just

coarse lagoon
#

which uses a bit of a different bytecode structure

minor hare
#

dump to files / deobfuscate bytecode directly

scenic pollen
#

I dumped to a luac file which u could decompile @minor hare

minor hare
#

you would just release like a table of instructions

scenic pollen
#

I didn't decompile because unluac can use like

minor hare
#

i remember u didnt at first

scenic pollen
#

60gb of memory

marble harness
#

Anyway, would be cool to see how mailing list (lua-l) will solve them

minor hare
#

it posted the instructions

#

at first

coarse lagoon
scenic pollen
#

yeah because I was lazy

#

I did at the end

warped basin
#

do the obfuscators actually like always use the same bytecode ?

minor hare
#

no

scenic pollen
#

not luraph ✅

minor hare
#

but most do

#

:O

#

mine didnt

warped basin
#

very lame

minor hare
#

i made a ternary vm for it

scenic pollen
#

ib2 is so insecure

minor hare
#

was awesome

#

👍

jagged verge
#

do not put trolls in bytecode,,,

coarse lagoon
#

there are only 2 obfuscators, ib2 with hella forks and luraph

scenic pollen
#

defcon the creator said not to fork it

warped basin
#

do not backdoor a server with LSAC

scenic pollen
#

and to let it die

marble harness
#

What is luarph

warped basin
coarse lagoon
#

no

scenic pollen
#

what

#

luraph existed before ib2

sleek shard
scenic pollen
minor hare
#

ah yeah ib2 is surprisingly bad

marble harness
#

No results in GitHub

minor hare
#

it remained pretty on top for a bit

coarse lagoon
#

its fione with precompiled bytecode

scenic pollen
minor hare
#

luraph had public deobfuscator 😔

coarse lagoon
#

ages ago

wintry otter
#

send hello world print script

#

!!!!

scenic pollen
#

yeah v11 was garbo

warped basin
#

hmm

minor hare
#

is it really that long ago?

scenic pollen
#

not made by me

warped basin
#

he must've been talking about smthn else

#

🙄

coarse lagoon
#

i can tell you there is no chance anyone (except me cuz im too large brained) is deobfuscating luraph

scenic pollen
#

so sort of but sort of not

warped basin
#

can I have a link to the luraph discord

coarse lagoon
#

wasnt that shit in 2019

scenic pollen
marble harness
minor hare
coarse lagoon
#

you don't need /invite

minor hare
#

iirc it was so big too

warped basin
marble harness
#

Discord advises their new domain

scenic pollen
coarse lagoon
#

if I could buy luraph stock I would

warped basin
#

luraph troller

minor hare
#

lmao i remember memcorrupt from like

#

2014

#

or 16

#

idk

marble harness
#

tfw lua obfuscator has more members than lua discord

scenic pollen
#

probably 2016 @minor hare

coarse lagoon
#

lmao

warped basin
#

this does look pretty good

#

You could do some extra trolling with the LPH_CRASH shit

coarse lagoon
#

idk why yall even want to obfuscate

warped basin
#

i dont

jagged verge
#

e-dick measuring contest

warped basin
#

I don't have anything to obfuscate

minor hare
#

no unique vms

jagged verge
#

PLEASE you CANT take my star wars rp exploit menu

warped basin
#

It's just interesting

#

🙄

jagged verge
#

PLEEASEEE

wintry otter
warped basin
#

yeah like what 🙄 🙄

coarse lagoon
jagged verge
#

my nuts in your face @warped basin

warped basin
#

no!

minor hare
#

😔

warped basin
#

tf is a ternary vm

minor hare
#

base 3

warped basin
#

I googled it and didn't find anything after u said that

wintry otter
#

or does that option use all of them

jagged verge
#

just reimplement the rest

minor hare
#

malbogde

#

or whatever it was

#

impl

#

it uses a ternary vm

coarse lagoon
#

@scenic pollen is the expert all things luraph

warped basin
#

this?

minor hare
#

yes

#

find compiler src

#

its public

minor hare
#

interpreter*

#

its in the wikipedia

#

a link to it*

warped basin
#

ah

#

okay

#

that makes sense

#

Yeah that would be really gay to reverse.

minor hare
#

not really

#

if you know what its doing

#

the point is its unique

warped basin
#

🙄

#

balls

minor hare
#

also balanced ternary floats are cool stuffz

warped basin
#

oh luraph isn't free

marble harness
#

1$ per script

#

Seems reasonable

warped basin
#

god damn who is paying $60 a month for an obfuscator

#

they have lots of options though

elder smelt
#

just use a binary module x

warped basin
#

idk I think it would be hard to do good protection with binary module

#

I mean you could obviously do some trolls but it would be a lot of work to make it really good.

elder smelt
#

go try and crack xeon ill wait

warped basin
#

loading bytecode isn't really much protection

wintry otter
#

did xeon update or something

warped basin
#

yeah he uses a rust module for it now

wintry otter
#

nice

warped basin
#

not nice because it's rust

#

elder smelt
#

ur welcome to try and crack it if u want

#

ill assign u a script

warped basin
#

okay

marble harness
#

@coarse lagoon can you use setlocal in the challenge?

elder smelt
#

what sid64

warped basin
#

76561198124454705

coarse lagoon
#

not against the rules

elder smelt
#

17 days since last ban haha cope and seethe

#

alright assigned u bkeypads

warped basin
#

I don't care about project winter 🙄

sleek shard
#

i didn't know discord trimmed thread messages

#

sad

coarse lagoon
#

mfw you can sethook on return but you can't access the values

#

WHY LUA

#

WHY

sleek shard
#

hmmm

scenic pollen
#

thats for people who want to "resell" luraph as part of their product

warped basin
#

hmm

#

mkay

scenic pollen
#

unless its stated that debug is banned

patent tiger
marble harness
#

So will you post it on lua-l or I can have permission to do so?

jagged verge
#

free bkeypads lets go

warped basin
#

😈

elder smelt
coarse lagoon
#

or give feedback

jagged verge
#

lemme see if i got any spare alts

#

because of my paranoid schizophrenia

coarse lagoon
#

and idk how I want to be credited yet

warped basin
#

xeon-drm-dll.lua

jagged verge
#

wait why do you need my sid64 again

marble harness
#

At least I can try /shrug

warped basin
#
local function JohnLua()
    local quotes = {"In the beginning was the Statement, and the Statement was with Lua, and the Statement was Lua.","Greater love has no one than Lua, that the compiler lay down his life for our code.","Do not think that I will debug with the Stack Trace; For had ye believed the Compiler Errors, ye would have believed Me, for he wrote of Lua; But if ye believe not his Stack Traces, how shall ye believe My code?","Even though my types remain weak, I fear no error, for Lua is with me.","Lua is the chain that ties our health and bodies together.","Rip scripts, you must not. Let the Lua flow straight from your fingers.","Variables are changed by your example, not by your opinion.","The meaning of Lua is to give Lua a meaning.","Doubt has killed more scripts than errors will.","The hottest places in Hell are for those who never declare local variables.","Crashes and overflows may break my bones; But pcalls will never harm me.","Wise men code because they have something to make; Fools because they want to make something.","Lua is the joy of the good, the wonder of the wise, the amazement of the Gods.","You dump functions. You dump memory regions and crash reports that look like hell. You dump unused variables and collected garbage and tables. But people?","Whoever believes in the Trace is not condemned, but whoever does not believe stands condemned already because they have not believed in the name of John Lua's one and only Function.","It is written: \"Lua shall not live on interpreter alone, but on every instruction that comes from the mouth of Mike Pall.\"","Because of Mike Pall's great love we are not consumed, for his Traces never fail. They are new every loop; great is your Just-In-Time compilation.","I give them eternal life, and they shall never perish; no one will collect them out of my heap. My Allocator, who has given them to me, is greater than all; no one can Mar```
#

k-and-Sweep them out of my Garbage-Collectors hand. I and the Collector are one."}
    return "\"" .. quotes[math.random(1, #quotes)] .. "\" - John Lua\n"
end
jagged verge
#

isn't it server-bound instead of user-bound

warped basin
#

lets go

#

nah he sends owner sid64

#

in license check

jagged verge
#

loicense check

warped basin
#

loicense

scenic pollen
#

@marble harness idk about noobmaster or federals challenges but you can use mine 👍

#

noobmaster probably ok with it

jagged verge
#

i don't think i got any spare alts with gmod

elder smelt
jagged verge
#

gmfd

warped basin
#
        if system.IsOSX() then
            print()
            for i = 1, 10 do
                MsgC(Color(255,0,0), "XEON DRM is not compatible with your operating system. You are unable to use Billy's scripts on this computer.\n")
            end
            print()
            hook.Run("XEON.Error", "XEON DRM is not compatible with your operating system. You are unable to use Billy's scripts on this computer.")
            return
        end

@elder smelt good job

#

we hate the mac users

patent tiger
#

lemme get a copy bill-dog

jagged verge
#

stfu skid u couldn't crack a 3 dig padlock

patent tiger
#

D:*

marble harness
scenic pollen
marble harness
#

ah

scenic pollen
#

all of the challenges are there

wintry otter
coarse lagoon
#

idk, I just don't want some middle manning

wintry otter
#

setupvalue, setlocal, and the two upvalueid functions are gone in gmod

coarse lagoon
#

I'm fine if you post the challenges with the solution

#

but posting the without seems kinda eeeh

#

and then people only get one chance to solve

#

plus how would they know to reach out to us

scenic pollen
#

@wintry otter oh

#

uhhh I don't think we use those

#

should be fine

#

yeah should be ok

coarse lagoon
scenic pollen
#

I could always just add a Gmod target version

#

which I might do

wintry otter
#

tru

#

make it use jit functions tr

warped basin
#

u guys have continue support, yes?

elder smelt
#

no

coarse lagoon
warped basin
#

eww rust was just on my computer

elder smelt
#

not true

#

assembly actually

warped basin
#

that's what they all say

#

cool assembly

elder smelt
#

:( boilerplate

marble harness
warped basin
#

yogpod said that

scenic pollen
elder smelt
#

@warped basin cracked it yet x

warped basin
#

I've had a rust file open for like 20 minutes so far

#

starting to become transgender

marble harness
#

that's pretty good

#

print("Hello World") turned into

warped basin
#

oh moonsec

#

they said that one is ironbrew or whatever

coarse lagoon
#

@marble harness okay, you can post all challenges with solutions that are mine if you add a link to my GitHub

#

But it must be a challenge solution combo

#

Cuz I don't want people in 5 years finding them and not knowing the solution

uncut kayak
#

i didnt know roblox lua is typed

marble harness
#

you said you will eventually post them

scenic pollen
#

its optional

uncut kayak
#

o

warped basin
#

it's also not checked at runtime like typescript

coarse lagoon
scenic pollen
#

it's just for like ide improvements

uncut kayak
#

still pretty cool but

roblox

warped basin
#

yeah roblox is the issue

marble harness
#

let's fucking go

warped basin
#

Roblox does a bunch of cool shit

#

but it's roblox

scenic pollen
#

luau is the coolest thing roblox has done

warped basin
#

fax

coarse lagoon
#

Many people hate the typed aspect doe

scenic pollen
#

they have multithreaded lua now

#

just released like a few days ago iirc

coarse lagoon
#

That's sick

#

But tbh you should be using roblox-ts

scenic pollen
#

no

coarse lagoon
#

Yes

marble harness
#

Does challenge 17 work in any 5.*?

coarse lagoon
#

Hopefully

scenic pollen
#

yes ^^

marble harness
#

was it tested?

coarse lagoon
#

No

scenic pollen
#

it will work

#

i guarantee

marble harness
#

alright, I was ready to see bugs related to 5.1

scenic pollen
#

it's not a bug

coarse lagoon
#

Yep

marble harness
#

as a way to exploit

#

but a prior version to challenges is 5.1?

coarse lagoon
#

@scenic pollen would you also want your github associated?

scenic pollen
#

sure

coarse lagoon
#

@scenic pollen we should make a repo tbh

#

With .md files for all the challenges

scenic pollen
#

are u spying on my pc

#

LOL

marble harness
#

lol

warped basin
#

yeah I am.

coarse lagoon
#

PERHAPS

marble harness
#

uuh

#

i found the way

#

but it's not really 2 == not_two() makes true

#

buuuut

#

assertion passes :DDD

scenic pollen
#

whats the solution

warped basin
#

^

marble harness
#

let me test on replit

warped basin
#

yeah I need a second to prepare to cope

marble harness
#
debug.setmetatable(nil, {__call = error})

-- ^ SOLUTION ABOVE! ^ --
assert(2 == not_two())
#

it doesn't pass in theory..

#

it just

warped basin
#

i think it said no metatables

marble harness
#

doesn't output anything

scenic pollen
#

violates a rule

warped basin
#

[+] You cannot change or set any metatables.

marble harness
#

fuck lol

warped basin
#

yea

marble harness
#

but would it count?

#

:D

warped basin
#

no it's cheating 🙄

marble harness
#

what's more interesting it doesn't error

scenic pollen
#

yeah weird thing about error

#

i forget if this is just 5.1

#

but if u pass nothing to it

marble harness
#

ah yeah

scenic pollen
#

it doesn't output to stderr

marble harness
#

i remember something

marble harness
#

as Artemking stated. == in 5.1 strongly returns true only when type1 == type2 and tvalue1 == tvalue2

scenic pollen
#

so make them equal

marble harness
#

that means not_two() expression must evaluate to TValue with type LUA_TNUMBER and must pass a==b in C

#

but that's against the rules

scenic pollen
#

so change the other side

marble harness
#

2 is a constant not local

scenic pollen
#

change it

coarse lagoon
#

please give me feedback on the format

warped basin
#

swag

marble harness
#

damn that's tough. There is nothing that writes into p->k So it's impossible to write new constant into the list.

The bytecode has this constant optimized, it's put directly into opcode (-3 refers to constants)
EQ 1 -3 1

coarse lagoon
#

gonna add the solutions later with full explanations of why they work

warped basin
#

How tf do you do challenge #9

#

“Without calling anything”

coarse lagoon
#

skill

warped basin
#

metatable shit would still require call

#

Idk how you’re solving that one as easy that’s way more impossible then the two spar has said earlier

coarse lagoon
#

I'll just spoil this one, you just do for _ in func, arg1, arg2 do end

#

you guys already solved a variant of the same challenge

#

i just removed the you cant call me function

#

cuz kinda pointless

marble harness
#

I'm waiting for the solution for 2 == not_two.
I did enough research with my possibilities

coarse lagoon
#

If you don't spoil it to anyone else I can tell you

#

:)

marble harness
#

whatever since you will post it in 24 hours

#

but I am interested to enlarge my knowledge

#

unless it's again something I didn't missed it right in front let'sgoo

#

Ok the level of difficulty of this challenge is legit high

warped basin
scenic pollen
warped basin
#

that's a lot of scrolling

#

can u post it again

scenic pollen
#

ok

marble harness
worn jackal
#

did someone try epsilon?

marble harness
#

yes

#

this is not a challenge about floating point\

worn jackal
#
function not_2()
    return 2 - 1e-301
end
assert(2 == not_2())
#

???

#

this is the "incorrect" solution?

marble harness
#

As I said no

#

This is not about floating point

worn jackal
#

works though :T

marble harness
#

not_two must not return 2

worn jackal
#

fair

#

what counts as returning 2

#

is 2ULL returning 2?

#

their metatables aren't equal yet 2 == 2ULL

#

can you consider 2 to be equal to 2ULL then

scenic pollen
#

ok here is a hint

#

the solution has nothing to do with not_2

#

or what it returns

marble harness
marble harness
jagged verge
#

let me guess

#

registry memes?

marble harness
#

You name it

worn jackal
#

registry is cheating

scenic pollen
#

no registry

#

@marble harness did noobmaster tell you the solution

marble harness
#

Yes but I'm not making more hints than you did

#

Check what I wrote above guys

jagged verge
#

Checking

scenic pollen
#

ik i was just wondering

jagged verge
#

rq

marble harness
#

Do you guys know LuaJIT more than pure lua? In terms of how it works

#

gachi

scenic pollen
#

i don't

worn jackal
#

not much

scenic pollen
#

i barely ever use luajit at all

marble harness
#

0572?

jagged verge
#

i wouldn't say i have lots o knowledge w luajit

marble harness
#

What about puc lua?

jagged verge
#

same as above :v

#

i have some sparse knowledge but nothing in depth

coarse lagoon
#

solution is out

#

if yall still wondering

marble harness
#

@jagged verge @worn jackal @warped basin ready?

#

@everyone

_ = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256}
-- This table just adds junk constants 
function not_two()
    debug.setlocal(2,2, nil) -- This works because bitrk cannot hold a value larger than 256 so lua loads the constant via LOADK and then gets the constant from the stack.
end
-- ^ SOLUTION ABOVE! ^ --
assert(2 == not_two())
jagged verge
#

bruuuh

uncut kayak
#

imdeadbru

worn jackal
#

is every challenge going to be related to lua internals?

jagged verge
#

albeit it feels weird to have challs in gmod server that are literally impossible in gLua

sleek shard
#

😔

#

i almost have no knowledge for lua internals so no problem

coarse lagoon
#

yall just somehow found them

marble harness
#

That's why I was asking if you guys know lua more than luajit

#

I might solve this if I read lua bytecode more than luajit

#

FOr example this hack won't be possible in luajit

#

maybe if the number gets bigger than 32k

#

but it's not affected by the number of constants

#

while lua stored constants in separate place while it could just use 2 literally

#

luajit does this

sleek shard
#

luajit ftw

coarse lagoon
marble harness
sleek shard
#

what does KGC mean curious

marble harness
#

KGC are:
protos, string, table template (luajit saves a copy of trivially contructible table and duplicates it when bytecode for table is called), FFI LL and ULL numbers

#

k means constant

#

GC means Garbage Collectible

worn jackal
#

arent they stored in the DES ht?

marble harness
#

so it's just an array of GC'able objects

#

constant objects

sleek shard
#

nice

marble harness
#

that proto/function uses

#

but yeah if constant string is compared with something luajit calls different bytecode and you can't just spam with more constants
@coarse lagoon

#

you will likely just get error like too much constants, didn't test

coarse lagoon
#

I have never used luajit ¯_(ツ)_/¯

wintry otter
#

CompileString:65538: main function has more than 65536 constants

marble harness
#

yeah

jagged verge
#

trolling

coarse lagoon
#

so few?

marble harness
#

per function

coarse lagoon
#

5.1 allows some 262143 constants per function

#

2^18-1

marble harness
#

how

#

opcode is 4 bytes

#

1 - instruction
1 - A
2 - B
3 - C

coarse lagoon
#

Bx is 18 bits wide

marble harness
#

did they use both ABC?

coarse lagoon
#

bx is like bc combined

marble harness
#

so

#

in luajit it's BC as well

#

but 2 bytes gives 65k at max

worn jackal
#

how about a glua challenge

coarse lagoon
#

bx is 18

#

2 more

marble harness
#

where did it get 2 more

coarse lagoon
#

each instruction is 32 bits wide right

#

op is 6 bits

#

a is 8 bits

marble harness
#

ah

#

in luajit it's 8, 8, 8, 8

#

which makes it even possible to read by hand

coarse lagoon
#

b and c are 9 bits

coarse lagoon