ganlvtech / lua-simple-encrypt

Lua simple XOR encrypt
https://ganlvtech.github.io/lua-simple-encrypt/
MIT License
98 stars 67 forks source link

能否分享你的解密方式,不知道密钥的情况下。 #1

Closed ghost closed 5 years ago

ganlvtech commented 6 years ago

不知道密钥就穷举或者统计吧。功能不在本仓库范围内。

ghost commented 5 years ago

hey how can i use this repo... there are no instructions in README.md

ganlvtech commented 5 years ago

@P-A-I-N

Just visit https://ganlvtech.github.io/lua-simple-encrypt/dist/index.html, select your file and then press the button. (You may need a translator)

This is a javascript tool, your lua won't be upload to any server. All things done on your own computer.

ghost commented 5 years ago

uhh did you have any strong encryption ?

On Tue 11 Jun, 2019, 2:36 PM Ganlv, notifications@github.com wrote:

@P-A-I-N https://github.com/P-A-I-N

Just visit https://ganlvtech.github.io/lua-simple-encrypt/dist/index.html, select your file and then press the button. (You may need a translator)

This is a javascript tool, your lua won't be upload to any server. All things done on your own computer.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ganlvtech/lua-simple-encrypt/issues/1?email_source=notifications&email_token=AJNNH7JZV4BUWJKBFT34Y53PZ5TJXA5CNFSM4FBVHB22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXMOXBQ#issuecomment-500755334, or mute the thread https://github.com/notifications/unsubscribe-auth/AJNNH7MXWPBTGUS5H57MSKTPZ5TJXANCNFSM4FBVHB2Q .

ganlvtech commented 5 years ago

Use Lua string.dump function to dump precompiled chunk. It's lua vm bytecode. It's better than my simple encryption. There is some lua decompilers, but it's still better than simple xor.

ghost commented 5 years ago

nope i like your xor encryption ^_^ you are the only one who make this for lua...can you tech me how can i make ma own encryption ? please 😣

On Tue 11 Jun, 2019, 11:26 PM Ganlv, notifications@github.com wrote:

Use Lua string.dump function to dump precompiled chunk. It's lua vm bytecode. It's better than my simple encryption. There is some lua decompilers, but it's still better than simple xor.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ganlvtech/lua-simple-encrypt/issues/1?email_source=notifications&email_token=AJNNH7MEHVJMTV7PNDKS5JDPZ7ROLA5CNFSM4FBVHB22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXN7OOQ#issuecomment-500954938, or mute the thread https://github.com/notifications/unsubscribe-auth/AJNNH7NA32AO6LKMFWHTSQDPZ7ROLANCNFSM4FBVHB2Q .

ganlvtech commented 5 years ago

This kind of encryption would only prevent most users from viewing your original code. Maybe you want to protect some data in a paid script from being redistributed. And it would also prevent people who don't know the password from executing the script.

But It won't prevent advanced "hackers". Even if you encrypt it by a really sophisticated and horible algorithm. Once you give them a key, they can executed the code. Who could execute the code would also avaiable for debugging the code.

The XOR encrypt is really simple. When your code's file is big enough. I can also analyse it by statistics. Because words like if, end would appears many time, it's possible to guess the encryption key. (This problem can be solve by using another algorithm.)

My conclusion is just let those who don't know about lua and the beginners don't debugging keep away from your original data.

It's really easy for me to write a decryptor for my program only if i got your key. When you don't have the key. XOR encrypt is also a little hard.

ghost commented 5 years ago

ya...its true encryption is for protection....but can i make a encryption by my own ( for lua) btw im not a newbie in lua i make lua scripts for online games...like revo makes encryption for his own...can u teach me ?

On Wed 12 Jun, 2019, 8:45 AM Ganlv, notifications@github.com wrote:

This kind of encryption would only prevent most users from viewing your original code. Maybe you want to protect some data in a paid script from being redistributed. And it would also prevent people who don't know the password from executing the script.

But It won't prevent advanced "hackers". Even if you encrypt it by a really sophisticated and horible algorithm. Once you give them a key, they can executed the code. Who could execute the code would also avaiable for debugging the code.

The XOR encrypt is really simple. When your code's file is big enough. I can also analyse it by statistics. Because words like if, end would appears many time, it's possible to guess the encryption key. (This problem can be solve by using another algorithm.)

My conclusion is just let those who don't know about lua and the beginners don't debugging keep away from your original data.

It's really easy for me to write a decryptor for my program only if i got your key. When you don't have the key. XOR encrypt is also a little hard.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ganlvtech/lua-simple-encrypt/issues/1?email_source=notifications&email_token=AJNNH7PBC2XBAA5HMIMHHGDP2BS6VA5CNFSM4FBVHB22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXPD6UQ#issuecomment-501104466, or mute the thread https://github.com/notifications/unsubscribe-auth/AJNNH7LYVJZ4Z7IDVLEDNJLP2BS6VANCNFSM4FBVHB2Q .

ganlvtech commented 5 years ago

ya...its true encryption is for protection....but can i make a encryption by my own ( for lua) btw im not a newbie in lua i make lua scripts for online games...like revo makes encryption for his own...can u teach me ?

In my opinion, if you could modify the lua engine., changing bytecode of the lua VM is a good way. it can prevent anonymous lua engine and decompiler.

There are two ways to make your own encryption. First is encode and decode. The second is break lua code into pieces, implement another vm in lua. I don't think there is an exact way to make your own protection. You just transform the code, making it unreadable but don't change the things you do.

ghost commented 5 years ago

then u know revo ? how did he do that

On Wed 12 Jun, 2019, 8:58 AM Ganlv, notifications@github.com wrote:

ya...its true encryption is for protection....but can i make a encryption by my own ( for lua) btw im not a newbie in lua i make lua scripts for online games...like revo makes encryption for his own...can u teach me ?

In my opinion, if you could modify the lua engine., changing bytecode of the lua VM is a good way. it can prevent anonymous lua engine and decompiler.

There are two ways to make your own encryption. First is encode and decode. The second is break lua code into pieces, implement another vm in lua. I don't think there is an exact way to make your own protection. You just transform the code, making it unreadable but don't change the things you do.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ganlvtech/lua-simple-encrypt/issues/1?email_source=notifications&email_token=AJNNH7LFESPSY4WIIYRSJ4LP2BUPTA5CNFSM4FBVHB22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXPEQEQ#issuecomment-501106706, or mute the thread https://github.com/notifications/unsubscribe-auth/AJNNH7MLFOF3IBX6OXWWMKLP2BUPTANCNFSM4FBVHB2Q .

ganlvtech commented 5 years ago

Maybe he just find some bug of unluac. It's true that unluac has bug, some opcodes will cause it enter an infinite loop. Not only for Revo's, a simple code may also.

I'm recently try to find a way to decompile his encrypted code. (but i don't have enough time to write decompiler)

ghost commented 5 years ago

hey maybe i know the bug in unluac .... yes i know & i just contact someone recently he just tell me about revos latest encryption 6.0

On Wed 12 Jun, 2019, 9:07 AM Ganlv, notifications@github.com wrote:

Maybe he just find some bug of unluac. It's true that unluac has bug, some opcodes will cause it enter an infinite loop. Not only for Revo's, a simple code may also.

I'm recently try to find a way to decompile his encrypted code. (but i don't have enough time to write decompiler)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ganlvtech/lua-simple-encrypt/issues/1?email_source=notifications&email_token=AJNNH7NAE7JEAM7QUZDAI6TP2BVQ3A5CNFSM4FBVHB22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXPE3MY#issuecomment-501108147, or mute the thread https://github.com/notifications/unsubscribe-auth/AJNNH7KKDLOG2DSG7GOZKS3P2BVQ3ANCNFSM4FBVHB2Q .