dalvorsn 268 Postado Abril 22, 2013 Share Postado Abril 22, 2013 (editado) Olá meus caros, venho lhes propor um desafio. Sinceramente não espero que alguém consiga, ficarei realmente impressionado se alguém conseguir uma solução, mas vamos lá. WhSaFZDQ[/pastebin] A função acima codifica uma determinada string, ela pega o numero do byte, eleva a 'e', e transforma esse numero em outros bytes, concatenando na sequencia da string 'str'. A função foi feita por mim hoje, e o meu desafio é: "Façam uma função, que desfaça a criptografia gerada pela minha função". Tem que ser genial para conseguir uma solução diferente de um bruteforce kk Então fica ai o desafio, boa sorte! OBS.: Não necessita que seja em lua Editado Abril 22, 2013 por dalvorsn Link para o comentário Compartilhar em outros sites More sharing options...
Skyen 64 Postado Abril 22, 2013 Share Postado Abril 22, 2013 function decrypt(message, exp, map) local inv = 1.0 / exp -- because f*ck root calculation local str = "" local byte = 0 for i = 1, #message do byte = byte * 256 -- lazy lshift8 if type(message) == "table" then byte = byte + message[i] else byte = byte + tostring(message):byte(i) end local char = map[byte ^ inv] if char then str = str .. char byte = 0 end end return str end local map = {} -- map values between '0' and '9' for i = string.byte("0"), string.byte("9") do map[i] = string.char(i) end -- map values between 'A' and 'Z', and 'a' and 'z' for i = string.byte("A"), string.byte("Z") do map[i] = string.char(i) map[i + 32] = string.char(i + 32) end local encrypted = {39, 16, 36, 193, 45, 144, 54, 100, 48, 33} print(decrypt(encrypted, 2, map)) Link para o comentário Compartilhar em outros sites More sharing options...
dalvorsn 268 Postado Abril 22, 2013 Autor Share Postado Abril 22, 2013 maldito HIEHEIEHEH foda, sem comentarios Link para o comentário Compartilhar em outros sites More sharing options...
Mock 22 Postado Abril 22, 2013 Share Postado Abril 22, 2013 Skyen arrasa corações. Posso passar um desafio? Eu rodei isso: local data = new() data.voov = 5; print(data.voov) E ele printou isso: Write k: table: 005FE770[voov] = 5 Read value: table: 005FE770[voov] nil 5 Mas se eu rodar isso. local data = new() data.voov = 5; print(data.voov) local data_ = {} data_.voov = 5; print(data_.voov) print(data,data_) Ele printa isso: Write k: table: 002DE770[voov] = 5 Read value: table: 002DE770[voov] nil 5 5 table: 002DE770 table: 0052BB98 Não usei nem um recurso em c++, apenas lua puro. A função new eu defini ela usando 15 linhas. Refaça a função new. Dica, use: "newproxy(true)" Link para o comentário Compartilhar em outros sites More sharing options...
Gpedro 11 Postado Abril 22, 2013 Share Postado Abril 22, 2013 Skyen e Mock não sabem brincar. Link para o comentário Compartilhar em outros sites More sharing options...
PsyMcKenzie 150 Postado Abril 22, 2013 Share Postado Abril 22, 2013 Os caras são osso '-' Link para o comentário Compartilhar em outros sites More sharing options...
dalvorsn 268 Postado Abril 22, 2013 Autor Share Postado Abril 22, 2013 #mock wtf kkk Tô pensando nele ainda, se conseguir posto aqui xD Link para o comentário Compartilhar em outros sites More sharing options...
BananaFight 196 Postado Abril 22, 2013 Share Postado Abril 22, 2013 Não é atoa que são os melhores. Link para o comentário Compartilhar em outros sites More sharing options...
PsyMcKenzie 150 Postado Abril 22, 2013 Share Postado Abril 22, 2013 É, falam bem do Skyen... Do Mock eu nem vou falar nada --' esse cara deve dar aula de LUA na PUC. '-' Link para o comentário Compartilhar em outros sites More sharing options...
Skyen 64 Postado Abril 23, 2013 Share Postado Abril 23, 2013 (editado) Do Mock eu nem vou falar nada --' esse cara deve dar aula de LUA na PUC. '-' Não dá ideia, por favor! Editado Abril 23, 2013 por Skyen Link para o comentário Compartilhar em outros sites More sharing options...
Mock 22 Postado Abril 23, 2013 Share Postado Abril 23, 2013 Não, estudo eng da comp na UNB. Em fim, se quiserem a resposta: Spiler funfa? function new() Tab ={} local t_ = newproxy(true) _t = Tab Tab = {} getmetatable(t_).__index = function (t,k,q) print("Read value: "..tostring(t).."[" .. tostring(k)..']',q) return _t[k] end getmetatable(t_).__newindex = function (t,k,v,...) print("Write k: "..tostring(t).."[" .. tostring(k)..'] = '..tostring(v)) _t[k] = v end setmetatable(Tab, getmetatable(t_)) return Tab end local data = new() data.voov = 5; print(data.voov) local data_ = {} data_.voov = 5; print(data_.voov) print(data,data_) Link para o comentário Compartilhar em outros sites More sharing options...
MaXwEllDeN 89 Postado Abril 23, 2013 Share Postado Abril 23, 2013 Skyen e Mock não sabem brincar. HUahuahua Link para o comentário Compartilhar em outros sites More sharing options...
PsyMcKenzie 150 Postado Abril 24, 2013 Share Postado Abril 24, 2013 Skyen e Mock, só uma dúvida: Onde aprenderam LUA assim? Link para o comentário Compartilhar em outros sites More sharing options...
Mechainy 6 Postado Abril 24, 2013 Share Postado Abril 24, 2013 Skyen e Mock, só uma dúvida: Onde aprenderam LUA assim? Acho que o principal é além de programar pra otserv, é programar em lua pura... pois otserv não precisa de muita coisa, já que boa parte é em C++. Link para o comentário Compartilhar em outros sites More sharing options...
Mock 22 Postado Abril 25, 2013 Share Postado Abril 25, 2013 Skyen e Mock, só uma dúvida: Onde aprenderam LUA assim? Acho que o principal é além de programar pra otserv, é programar em lua pura... pois otserv não precisa de muita coisa, já que boa parte é em C++. dependesse de mim eu rancava lu e programava tudo em C++, mas da formaque o servidor foi feito lua é essencial. Ps: aprendi sozinho e lendo o manual online. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados