SRL Archive - Discussions and Debates

Script Auth / Obfuscating


rogeruk

2009-08-24 17:14:52

Hey all,

Ive been racking my brains but come up with nothing that would actually work.
Is there any way of implementing a script auth that cant just be edited out.

This is not for pay scripts, more of script control.

Bonfield

2009-08-24 17:22:35

maybe obb the auth and parts of the main loop

is it possible to obb selected parts of a script, it has been a long time since i have done anything like it lol i remember creating like 4 or 5 obbing scripts but they were lost with my last computer =[

Laur€ns

2009-08-24 17:35:16

http://www.villavu.com/forum/showthread.php?t=16711

rogeruk

2009-08-24 17:38:49

From: Laur€ns;620306
http://www.villavu.com/forum/showthread.php?t=16711


Would be helpfull if you didnt just link what i have found by using search.

Read the pages and you will see its reported to be outdated and not working.

Fail.

Markus

2009-08-24 17:39:35

From: rogeruk
Is there any way of implementing a script auth that cant just be edited out.

No.

Bonfield

2009-08-24 17:40:29

yea i knew about that, nelsie also made a script that could do that

i was just wondering is it possible to just obb selected parts of the script and leave the rest? i would test it out but havent gpt scar installed

i know its against the rules to post obbed scripts now but i am just curious

EDIT should still work http://www.villavu.com/forum/showthread.php?t=35513

Harry

2009-08-24 17:43:16

By SRL rules you can not obb scripts, if I recall correctly.

You can/could get Freddy to obb one, a long time ago. I dunno if he still does it though.

marpis

2009-08-24 17:44:33

Name All your functions and variables like
a
aa
aaa
aaaa
etc etc etc, then put them on as few lines as possible
if not loggedin then exit;if findcolor(123123, aa, bb) then begin writeln('found') end else begin…

and so on. some of your functions look like
if aa(aaa, bbb) then aaaa(aaaaa, bbbbb), and no one's going to crack that.
plus, you can do that to all srl functions and include them in to your main file.
Your script can come thousands of lines long, and then you hide your auth function somewhere in the middle. Also you can play with plugins.

I don't think this is legal in SRL, but i assume you're going to sell your script.

Bonfield

2009-08-24 17:45:43

yeah but could you obb the auth parts and also random parts in the script and make it harder to just simply remove it?

also how did freddy obb it? was it easy to reverse?

Markus

2009-08-24 21:54:51

Freddy used to have encryption for scripts which (for most people) was impossible to crack.
Ofcourse for some other people it wasn't too hard ;)

Sir R. M8gic1an

2009-08-24 22:04:33

From: Markus
Freddy used to have encryption for scripts which (for most people) was impossible to crack.
Ofcourse for some other people it wasn't too hard ;)


The key in that sentence is used to have, unfortunately.

~RM

ShowerThoughts

2009-08-24 22:13:40

From: Markus
Freddy used to have encryption for scripts which (for most people) was impossible to crack.
Ofcourse for some other people it wasn't too hard ;)


Who would that be ^^ :p.

MylesMadness

2009-08-24 22:58:53

From: Markus
Freddy used to have encryption for scripts which (for most people) was impossible to crack.
Ofcourse for some other people it wasn't too hard ;)
Say what! That was like not even possible!

Lance

2009-08-24 23:57:34

would it be posible to upload your script as a txt file onto the internet, then at the begining of the script do something like:

const
password = 'a4j2k54j22j53l';
begin
GetPage('www.website.com/script.txt');

and send the password, check if the same password has ever been sent from anotehr IP, and if it has instantly cansle the password, but if it hasnt alow scar to run off the .txt file?

MylesMadness

2009-08-24 23:59:46

From: lancerawks aka Lance
would it be posible to upload your script as a txt file onto the internet, then at the begining of the script do something like:

const
password = 'a4j2k54j22j53l';
begin
GetPage('www.website.com/script.txt');

and send the password, check if the same password has ever been sent from anotehr IP, and if it has instantly cansle the password, but if it hasnt alow scar to run off the .txt file?
If you bug freddy to add a eval function it could. I would love one, but theres no way he will make one.

Infantry001

2009-08-25 00:03:27

From: MylesMadness
Say what! That was like not even possible!

I fondly remember someone cracking Starblaster's Essminer… I had some sort of convoluted respect for that man… XD

If you could somehow get a script run code off a website, then it might be possible to auth the script…

EDIT: DANGIT. I was late =(

Harry

2009-08-25 00:05:45

From: Infintry001
I fondly remember someone cracking Starblaster's Essminer… I had some sort of convoluted respect for that man… XD

If you could somehow get a script run code off a website, then it might be possible to auth the script…

EDIT: DANGIT. I was late =(

If I recall correctly, the easiest way to `crack' a script that is encrypted is to just edit the DNS requests for the server so it will reroute to your home IP = it will say "Okay, go!"

MylesMadness

2009-08-25 00:23:44

From: Harry
If I recall correctly, the easiest way to `crack' a script that is encrypted is to just edit the DNS requests for the server so it will reroute to your home IP = it will say "Okay, go!"
Oh, well thats easy. You need a packet reader and a way to reroute connections. I thought they removed the auth

Wanted

2009-08-25 01:33:31

put your whole script on 1 line and have it get info from a php server that checks a user and pass and logs IP adress and if the IP adress changes have it lock that that user handle… and have all the DTMs/Bitmaps/colors downloaded from the web server.

nielsie95

2009-08-25 01:46:37

Or code some vital procedures in a plugin (including the auth).

Wizzup?

2009-08-25 01:51:33

Or just give it away to everyone before someone else creates a free version of your script…

/me thinks of making SRL GPL, if most of the contributors agree.

mastaraymond

2009-08-25 01:52:34

From: Wizzup?
Or just give it away to everyone before someone else creates a free version of your script…

/me thinks of making SRL GPL, if most of the contributors agree.

Disagree.

Yakman

2009-08-25 01:53:09

From: Wizzup?
Or just give it away to everyone before someone else creates a free version of your script…

/me thinks of making SRL GPL, if most of the contributors agree.


agree

mastaraymond

2009-08-25 01:53:46

From: Yakman
agree

Veto

Wizzup?

2009-08-25 01:54:10

(Off Topic -> Will make a thread about it later.)

mixster

2009-08-25 01:58:32

Well, you could do it through a plugin, but let's not get into that as it becomes a variety of different methods that are over the top, ludicrous and only for silly Rabbi's that think they're trids.

rogeruk

2009-08-25 02:11:17

Thanks for replies.

As stated its not for me to gain anything from it. Its more of having control over script usage.

Eg.. Achov Pizza Maker = Kills Ahcov Pizza price. Stop usage of script for couple of days = price goes back up.

Markus

2009-08-26 02:03:04

*sorry for the interruption in this GPL discussion (which I veto too) but I really gotta prove someone wrong*

From: MylesMadness
Say what! That was like not even possible!



program StressMiner_By_Starblaster100;
{.include SRL/SRL.scar}
var
x, y: Integer;
{.include SRL/SRL/Skill/Mining.scar}
{.include SRL/SRL/Extended/xMapWalk.scar}
{.include SRL/SRL/Extended/xGameTab.scar}
{.include SRL/SRL/Extended/xAutoTalk.scar}
{.include SRL/SRL/Extended/xAntiban.scar}


const
VerNumber = '9.3';
SavePath = 'StarStressMiner';
INIPath = 'StressMinerPlayers.INI';
URLString = 'starblaster100stressminer';
PluginVer = '6.0.0.0'; //6.0.0.0 For Version 9.3
DebugNumber = 0; //Change to 0!
ForceCoord = false;
AllowRotations = true;

Besides, Ben even cracked it to the point where he could encrypt his own scripts lol.

Widget

2009-08-26 03:54:11

From: markus
besides, ben even cracked it to the point where he could encrypt his own scripts lol.


$crc=143615847
$encrypted
54f60704e6630366e079246501029dcac9666661e3e0cfc97e2caede8ee0bef8b01021d9dee83e596
18c704672a632033b2ca4ec2249

Bonfield

2009-08-26 13:28:54

From: Widget
$crc=143615847
$encrypted
54f60704e6630366e079246501029dcac9666661e3e0cfc97e2caede8ee0bef8b01021d9dee83e596
18c704672a632033b2ca4ec2249


what is that? part of stars miner?

Markus

2009-08-26 13:49:12

From: Widget
Code:
[LEFT]$crc=143615847
$encrypted
54f60704e6630366e079246501029dcac9666661e3e0cfc97e2caede8ee0bef8b01021d9dee83e596
18c704672a632033b2ca4ec2249
[/LEFT]


Invalid CRC!!!
Cancelled on request

Daniel

2009-08-26 13:53:46

AFAIK, Freddy removed the encryption from 3.20+, but it still exists in 3.15 i think..

Widget

2009-08-26 16:13:44

Oh, lol, the anti-caps filter made the entire script lowercase xD. This should work now -.-.

$CRC=143615847
$ENCRYPTED
54F60704E6630366E079246501029DCAC9666661E3E0CFC97E2CAEDE8EE0BEF8B01021D9DEE83E596
18C704672A632033B2CA4EC2249

ruler

2009-08-26 18:19:56

From: Markus
Freddy used to have encryption for scripts which (for most people) was impossible to crack.
Ofcourse for some other people it wasn't too hard ;)

Genodemon would pay back in the day to have this script obfuscated by kait, i think he was the only one and one of the few that sold his script.

Kait would read scripts pre-obf to ensure safty. However when scar would read the encrpyted script it would i think get a key from kait's site to un-encrypt or crc check mebe if he was using compression.

The issue was after the script was UN-encrypted you could see it in the scar.exe memory in clear text. What could have helped was dumping it out of memeory after passing it to the interpretor and after the compile sequence.

or a combo of obfuscation before encryption would also help.

Markus

2009-08-26 21:07:27

The script would then still be a brief moment in memory in clear-text, and we know what happened to AACS with the keys when they appeared in memory for a sec..