I need one, not a sweap, but a way to crack the password, like the old one for 1.3.
I don’t know if it will work. I just found it on www.garrysmod.org.
If you want, I can try recoding the LUA script.
This is a keypad cracker tool, not a hack. I also need a keypad hack for 1.4 so please, if anyone can help i would be very grateful
I dont think it can be cracked and if it can no one has worked it out yet
It’s impossible to crack the 1.4 keypads with clientside scripts.
Not impossible, just more of a challenge.
Afaik you can’t do it with just getting the NWVar, tho i’m not sure about other things like just testing 0000 - 9999 or stuff with memory :v
How about a hack that makes the numbers light up in red when a player looks at them? I don’t know anything about LUA, its just an idea.
You can only crack it with brute forcing, and there are 9999 combinations so… yeah. People have been searching for a cracker since version 1.4 was released, if it was possible then you’d know by now.
Robbis reassures this isn’t crackable clientside by any other way that brute forcing
you could latch on to any unsecure keypad, and track it’s “keypad_num” int, and “keypad_access” bool. Then whenever the “keypad_access” one changed to “true” then print the current “keypad_num”. It won’t work on any secure keypad, and for that effort you could just put a nocollided invisible camera watching the keypad.
I beleave the code is only stored server side, so without brute forcing you won’t get in.
The current input code is set in a networked int on the entity, so it can be displayed. In the case of secure keypads, it’s 10^num which it prints out as *s. The networked bool “keypad_access” is set to true (to allow it to display “access granted” while “keypad_num” still contains the correct code. Thus, you can grab the correct code when it allows access.
[lua]local function KeypadCommand(Ply, Command, Args)
if (Args == nil) then return end
local Ent = ents.GetByIndex(Args) local Show = Ent:GetNetworkedBool("keypad_showaccess") local Secure = Ent:GetNetworkedBool("keypad_secure") if (Show) then return end if ((Ply:GetShootPos() - Ent:GetPos()):Length() > 50) then return end if (Args == "reset") then Ent:SetNetworkedInt("keypad_num", 0) Ent:EmitSound("buttons/button14.wav") Keypad.CurrentNum[Args] = nil elseif (Args == "accept") then local Num = Ent:GetNetworkedInt("keypad_num") local Owner = Ent:GetNetworkedEntity("keypad_owner") local Simple = Ent:GetNetworkedBool("keypad_simple") local Key local Length local Delay local InitDelay local Repeats if (CorrectPassword(Args, Keypad.CurrentNum[Args])) then Key = Ent:GetNetworkedInt("keypad_keygroup1") Length = Ent:GetNetworkedInt("keypad_length1") Delay = Ent:GetNetworkedInt("keypad_delay1") InitDelay = Ent:GetNetworkedInt("keypad_initdelay1") Repeats = Ent:GetNetworkedInt("keypad_repeats1") Ent:SetNetworkedBool("keypad_access", true) Ent:EmitSound("buttons/button9.wav") else Key = Ent:GetNetworkedInt("keypad_keygroup2") Length = Ent:GetNetworkedInt("keypad_length2") Delay = Ent:GetNetworkedInt("keypad_delay2") InitDelay = Ent:GetNetworkedInt("keypad_initdelay2") Repeats = Ent:GetNetworkedInt("keypad_repeats2") Ent:SetNetworkedBool("keypad_access", false) Ent:EmitSound("buttons/button11.wav") end if (Key != nil) and (Key != -1) then if (Simple) then Owner:ConCommand("+gm_special "..Key.."
timer.Simple(Length, function() Owner:ConCommand(”-gm_special “…Key…”
if (InitDelay != 0) then
timer.Simple(InitDelay, function() RunKeypad(Repeats, Length, Delay, Key, Owner) end)
RunKeypad(Repeats, Length, Delay, Key, Owner)
Ent:SetNetworkedBool("keypad_showaccess", true) timer.Simple(2, function() if (ValidEntity(Ent)) then Ent:SetNetworkedInt("keypad_num", 0) Ent:SetNetworkedBool("keypad_showaccess", false) end Keypad.CurrentNum[Args] = nil end) else -- local Num = Ent:GetNetworkedInt("keypad_num")*10 + Args Keypad.CurrentNum[Args] = Keypad.CurrentNum[Args] or 0 local Num = Keypad.CurrentNum[Args] *10 + Args if (Num < 10000) then Keypad.CurrentNum[Args] = Num print(Secure) if (Secure) then Ent:SetNetworkedInt("keypad_num", 10 ^ (string.len(Num)-1)) else Ent:SetNetworkedInt("keypad_num", Num) end Ent:EmitSound("buttons/button15.wav") end end
Why is he even setting it shared? i mean you can just return the pressed button clientside and let the server handle the rest.
Who said it’s shared? That extract is from init.lua.
Falco did a tool to know where player are aiming. Also did an spectator script. You just need to turn both on and follow player who’s typing in keypad.
He didn’t put it up for download did he? Thats pretty damn smart though =).
I used that method to crack keypads.
Or someone could find a way to code in a fast bruteforce to make you press each combination, of course, this isn’t very useful because you’d be spending several minutes in front of the keypad. The keypad cracker for 1.3 also works in 1.4, but only for unsecure keypads that have been used at least once.
Here’s a question: Why do you need the keypad cracker anyway? Likelyhood is that you’ll just get banned by an admin for using it. People put keypads up to keep you out, and they’re going to whine and piss and moan about this.
It indeed is possible, look what overv did: http://www.youtube.com/watch?v=0BZQ2jjesMg
Bumping for interest!