SRL Archive - OSR Help

Auth code help.


Vinyl Scratch

2012-02-20 23:57:17

I'm needing some help with an auth code that i need for my Soul Wars script.


I'm going to sell it on Scythe, and I don't want it to be leaked. (This is also for LaakeRules)

If Anyone could get me a tutorial, or an auth code generator, That would be great! (I would prefer a tutorial on how to make them.)



Thanks in advance!

~Troll

Brandon

2012-02-21 00:07:25

And how exactly do you plan to "Auth" a script which is a simple "text file"??

Even RC6 Encryption couldn't help you do that. You'd have to obfuscate the entire script manually and hope that someone smart enough doesn't de-ob it and share it with the world.. or else write the SRL include into a DLL file along with your Script and distribute a DLL version of your script.

Authing it atm.. not a chance.

Vinyl Scratch

2012-02-21 00:17:11

Alright. Thanks. Well, I'm fucked.

YoHoJo

2012-02-21 00:44:04

There is talk on SSRL boards etc about this.
Currently there are no very good ways to keep a script protected.
You can talk to Hamtaro about the kind of protection he uses for this: http://sythe.org/showthread.php?t=1316281

But there is really no way to protect a script from sharing/leaking right now. Most things can just be edited/removed easily.

hamster31

2012-02-21 00:52:14

true its just slowing them down. The person who i learned from is Cruzin :)

Jagex_Fagex

2012-02-21 01:35:50

What happened to the obfuscating that I think star blaster used to do on scar scripts?

YoHoJo

2012-02-21 01:47:43

Markus still obs scripts for people.
But obing alone is not enough.
People can just copy/paste the obfuscation.

Best you can do now is auth + obfuscation.
Along with the auth/pass being checked for multiple IPs/Multiple usage at same time.

And still (even if obbed) it can be removed (and it was for SB's scripts). But it's pretty effective.

Jagex_Fagex

2012-02-21 02:44:25

Yeah, it wasn't too hard to build an auth system with scar though, simple php really. You can't really do anything to stop thieves anyway. If people want it bad enough, they'll get it.

Masterstroke

2012-02-21 04:54:04

This makes it pretty rediculous that some simbascripters sell the same script multiple times to some players so they can use use more than one account xD

P1nky

2012-02-21 08:31:50

From: Jagex_Fagex
Yeah, it wasn't too hard to build an auth system with scar though, simple php really. You can't really do anything to stop thieves anyway. If people want it bad enough, they'll get it.


Indeed I remember I had made one for SCAR, but I am pretty sure there is a way for SIMBA.

PatDuffy

2012-02-21 08:34:10

Nothing can ever be kept private, if there is something that someone wants for free it is possible for them to get to it.

kitchenrange

2012-02-21 10:42:32

I think the main situation here is keeping the 12 year old kids from distributing your code.

Auth system/ obbing would help with that tremedously.

Main

2012-02-21 11:17:45

Manual obfuscation isn't bad, for example
Function FCSS( CT: TPointArray; CutOff, Rad: Integer; SP, EP: Tpoint; T: Boolean): TPointArray;
Var
TPA: TPointArray;
ATPA: T2DPointArray;
Begin
TPA := HDYS( CT, SP, EP, T);
If Length( TPA) < 1 Then
Exit;
ATPA := TPAToATPA( TPA, Rad);
SortATPASize( ATPA, True);
If CutOff > 0 Then
SetArrayLength( ATPA, CutOff);
Result := ATPAToTPA( ATPA);
End;

Var
LD: Boolean;

Function WZNI: Integer;
Begin
If Length( HDYS( DeAuth( 1), Point( MSX1, MSY1), Point( MSX2, 35), True)) > 260 Then
Result := 1;
If Length( HDYS( DeAuth( 1), Point( 415, 30), Point( 500, 90), True)) > 200 Then
Begin
If Length( HDYS( DeAuth( 5), Point( MMX1, MMY1), Point( MMX2, MMY2), True)) < 1500 Then
Result := 2
Else
Result := 3;
End;
End;

Function DN: TPoint;
Begin
Result := PtToCoord( PolToPt( 90, 5, False, Point( MiddleTPA( FCSS( DeAuth( 2), 0, 5, CSP, CEP, False)).X, MiddleTPA( FCSS( DeAuth( 9), 0, 5, CSP, CEP, False)).Y)), MMCC);
Writeln( CoordToStr( Result));
End;

Function DZNI: TPoint;
Label
Retry,
JDQ;
Var
SC: TPoint;
TTPA: TPointArray;
Begin
If Not WZNI = 1 Then
Exit;
Retry:
Flag;
TTPA := FCSS( DeAuth( 2), 0, 5, CSP, CEP, False);
If LD Then
SC := Point( 215, 0 - Random( 30))
Else
SC := Point( 135, 5 + Random( 30));
SortTPAEx( TTPA, PolToPt( SC.X, 75, False, MMCC));
Result:= PolToPt( 90, SC.Y, False, TTPA[ 0]);
If PtToHyp( Result, MMCC) < 20 Then
GOTO JDQ;
MMM( ToMM( PolToPt( 0, RandomRange( -5, 5), False, PolToPt( 90, SC.Y, False, TTPA[ 0]))), 1);
Case Random( 2) of
0: Wait( PtToHyp( Result, MMCC) * Random( 50));
End;
Case Random( 2) Of
0: MakeCompass( PtToPol( 0, False, Result, MMCC));
End;
//Case Random( 2) of
// 0: Wait( PtToHyp( Result, MMCC) * Random( 20));
//End;
GOTO Retry;
JDQ:
Exit;
End;

If you make it like that (just have weird function names) and that should be enough.

kitchenrange

2012-02-21 11:23:27

Obfuscation can be copy/pasted.

I agree it is powerful in itself, but auth would need to be implemented as well.

mastah

2012-02-21 11:27:43

I'm going to make a free soulwars script, is that allowed :)?

weequ

2012-02-21 12:18:04

From: mastah
I'm going to make a free soulwars script, is that allowed :)?
Of course it is.

Sir Ducksworthy

2012-03-14 14:57:43

What about setting up a system that will request parts of obfuscated code into a .txt from a Server that uses a username and password and then having it write code into another .txt that will be used straight after its called to delete the obfuscated code .txt
So they will only ever have parts of the real code at one give time and this could be made to use random .txt names and executed in random order along with dummy .txts created
That way it will be almost impossible for them

Markus

2012-03-14 15:17:13

That's what you say, but in practice it's easy. Something like Wireshark can sniff the txt, and you could interrupt the script so when it saves the txt it terminates (you could even modify Simba to do so).

Sir Ducksworthy

2012-03-14 15:48:37

From: Markus
That's what you say, but in practice it's easy. Something like Wireshark can sniff the txt, and you could interrupt the script so when it saves the txt it terminates (you could even modify Simba to do so).

DAYYME!
That's messed up, what if it it sent the server a random number and other numbers of to tell it where to place the code in the .txt and the server uploaded a .txt with Extra gibberish obfuscated code at the top or in the middle or at the bottom of the real obfs code etc that would not compile if copy and pasted and the scripts numbers it generated where used to find the location of the real code to be read by simba for execution?