Results 1 to 8 of 8

Thread: DayZCypher | SQF Protector | SQF DeProtector | SQF Junkifier

  1. #1
    New member
    Join Date
    Mar 2013
    Location
    USA
    Posts
    20
    Rep Power
    0

    DayZCypher | SQF Protector | SQF DeProtector | SQF Junkifier

    << DayZCypher >>
    << SQF Protector | SQF DeProtector | SQF Junkifier >>



    Imgur Album >> Click Me!

    << Protector >>

    The Protector Changed all of the code within a selected SQF / TXT File to that of Arma 2's toString Method.

    Example) call compile toString[12,13,14];

    With this protector it makes it harder for a skid to view and edit the code. Although SQF protection is easily reversible, it is still nice to have and use to make a script just a bit harder to decode.

    << DeProtector >>



    The DeProtector is a decoder for the protector. It works on almost any toString methods. There is an option that allows you to do a multilevel decode (This can result in errors as proper code checking has not been implemented) and also allows for single level decodes. Single level decodes are to be used if you are unsure about the origins of the code.

    Extra >> If the multilevel "decompiled" code contains anything except call compile toString then there will be an error


    The DeProtector is useful for "decompiling" RE's and other sqf files.

    << Junkifier >



    The Junkifier was added because I got bored. It functions as a way to hide your true code from skids. Only Use this ONCE PER SQF File.




    << Moderators >>
    I placed the download link for the file on the new MegaUploads because the file attachment does not work for me

    DL >> Mega.Co.Nz

    << Virus Scans >>

    https://www.virustotal.com/en/file/5...is/1365494617/
    http://r.virscan.org/report/263d5a73...49379e09f.html
    http://virusscan.jotti.org/en/scanre...91d0ab4c2cfd81


    Will update with attachment once it starts working!

  2. #2
    New member
    Join Date
    Mar 2013
    Location
    USA
    Posts
    20
    Rep Power
    0
    Quote Originally Posted by quantum View Post
    Okay, that's cool! A few things that should be easy to implement:

    First of all, when encoding like this, it's going to have to decode EVERY TIME you run the script. Since this is pretty shitty, you want to decode only once. You can do this using a method I have in my encrypter, basically doing this

    raNdS = {
    Sqf code here
    }

    Within the fully decrypted code, and on the outermost layer

    if(isNil("raNdS")) call compile etc
    call raNdS

    You can generate this code addition dynamically and detect if it is already in place and even strip it when decoding.

    Error checking - just use a regex for the tostr and it should be simple enough, no?

    Also you will want to "minify" the startout sqf because the size is n +10 chars to the t (number of times you've encrypted) which scales to MASSIVE files.

    Let me know if you want some help coding this stuff!
    or I could have it do this

    Code:
    if(isNil("raNdS")){ raNdS = true; zCode = compile toString ect.;}; 
    call zCode;
    Maybe.. im not much of a scripter but the above code would work more efficiently then your code if it is all correct

  3. #3
    New member
    Join Date
    Mar 2013
    Location
    USA
    Posts
    20
    Rep Power
    0
    Quote Originally Posted by quantum View Post
    No, you don't want to do that. It's less efficient, because what you're doing is keeping a toString level to be run EVERY TIME the script is used. My method only decrypts it once.
    if(isNil("raNdS")){ raNdS = true; zCode = compile toString ect.;}; call zCode;
    That does only run it once.

    Once the script is run raNdS is set to true. making it no longer nil
    as well it runs the toString and then it will call it every time it is run

    It only runs the compile toString once. Still as efficient as your code but less lines

  4. #4
    Does the code have to have proper parsing? I know that when I used to toArray things, I would have to toArray a string of code.

    Say I had the code
    Code:
    hint "Hello"!
    if I were to just put this into the method I use (most likely what you use if you just call compile toArray from a string)

    Code:
    _code = toArray ("Hint "hello!"")
    You can see how that would mess things up....
    all though
    Code:
     _code = toArray ("Hint 'Hello'")
    would be the proper way to contain a string inside of a string, if you have a long, complex script, it is not very easy to convert the whole thing into a string where the apostrophes and quotations don't conflict with each other.

    That's where I'm kind of confused...

    Does this program automatically parse the whole script and make it a string?

    an example of what im attempting to say:
    Code:
    _exec = "
    if (isServer) then
    {
    	call compile (""
    	hint """"this gets really fucked up"""";
    	hint """"as the code goes on..."""";
    	hint """"lets go """"""deeper"""""""""";
    	"");
    };";
    
    //to avoid shit like that, i would just do
    
    hint 'Init code!';
    _exec = "
    if (isServer) then
    {
    	call compile (""
    	hint 'this is so much simpler';
    	hint 'you can still do ''codeseption'' and have no problems';
    	"");
    };";
    
    //then i would do something like
    toArray 
    ('
    	hint 'Init code!';
    	_exec = "
    	if (isServer) then
    	{
    		call compile 
    		(""
    			hint 'this is so much simpler';
    			hint 'you can still do ''codeseption'' and have no problems';
    		"");
    	};";
    ');
    
    //but then the code would conflict... when the code gets more complex, you
    //have different assortments of the '' """ and shit
    
    
    //Maybe I'm just retarded and you can do simple stuff like
    _code = {call compile ("hint 'lol'";};};
    _output = toArray _code;
    Last edited by Rustler; 04-11-2013 at 04:03 AM.

    The Best VPN!
    VVV Click Below VVV


  5. #5
    Senior Member
    Join Date
    Mar 2013
    Location
    FlameInclusive.com
    Posts
    163
    Rep Power
    5
    This will be really helpfull, thanks for the release bro

    The Best VPN!
    VVV Click Below VVV


  6. #6
    New member
    Join Date
    Mar 2013
    Location
    USA
    Posts
    20
    Rep Power
    0
    Does the code have to have proper parsing? I know that when I used to toArray things, I would have to toArray a string of code.
    Never thought of that. Im not much of a scripter. So basically you are asking if it converts " into ' so when the toString is used we dont get errors like

    " This is code "this is the string inside the code "The rest of the code"

    Correct?

    The way i currently have the protector working is it takes the whole file

    say contained in that file is

    Code:
    _exec = "
    if (isServer) then {
    call compile (""
    hint 'this is so much simpler';
    hint 'you can still do ''codeseption'' and have no problems';
    "");
    };
    ";
    So it will take every character in that code and convert it. so you would get

    Code:
    call compile toString[95,101,120,101,99,32,61,32,34,13,10,105,102,32,40,105,115,83,101,114,118,101,114,41,32,116,104,101,110,32,123,13,10,99,97,108,108,32,99,111,109,112,105,108,101,32,40,34,34,13,10,104,105,110,116,32,39,116,104,105,115,32,105,115,32,115,111,32,109,117,99,104,32,115,105,109,112,108,101,114,39,59,13,10,104,105,110,116,32,39,121,111,117,32,99,97,110,32,115,116,105,108,108,32,100,111,32,39,39,99,111,100,101,115,101,112,116,105,111,110,39,39,32,97,110,100,32,104,97,118,101,32,110,111,32,112,114,111,98,108,101,109,115,39,59,13,10,34,34,41,59,13,10,125,59,13,10,34,59];
    Which Works with the scripts i have tested it on
    Last edited by Lystic; 04-11-2013 at 05:19 PM.

  7. #7
    Quote Originally Posted by Lystic View Post
    Never thought of that. Im not much of a scripter. So basically you are asking if it converts " into ' so when the toString is used we dont get errors like

    " This is code "this is the string inside the code "The rest of the code"

    Correct?

    The way i currently have the protector working is it takes the whole file

    say contained in that file is

    Code:
    _exec = "
    if (isServer) then {
    call compile (""
    hint 'this is so much simpler';
    hint 'you can still do ''codeseption'' and have no problems';
    "");
    };
    ";
    So it will take every character in that code and convert it. so you would get

    Code:
    call compile toString[95,101,120,101,99,32,61,32,34,13,10,105,102,32,40,105,115,83,101,114,118,101,114,41,32,116,104,101,110,32,123,13,10,99,97,108,108,32,99,111,109,112,105,108,101,32,40,34,34,13,10,104,105,110,116,32,39,116,104,105,115,32,105,115,32,115,111,32,109,117,99,104,32,115,105,109,112,108,101,114,39,59,13,10,104,105,110,116,32,39,121,111,117,32,99,97,110,32,115,116,105,108,108,32,100,111,32,39,39,99,111,100,101,115,101,112,116,105,111,110,39,39,32,97,110,100,32,104,97,118,101,32,110,111,32,112,114,111,98,108,101,109,115,39,59,13,10,34,34,41,59,13,10,125,59,13,10,34,59];
    Which Works with the scripts i have tested it on
    Oh alright, I guess it just kinda skips over... When I used to do it I had to turn the whole thing into a string in order to send it ToArray. Nice program, works smoothly.

    The Best VPN!
    VVV Click Below VVV


  8. #8
    New member
    Join Date
    Mar 2013
    Location
    USA
    Posts
    20
    Rep Power
    0
    Quote Originally Posted by quantum View Post
    Actually that would NOT decompile only once.

    Look at the flow.

    First time:

    if isNil rands is true -> rands is true then compile toString ect

    This works ONCE if you are doing a SINGLE level encryption. If you're encrypting twice, this will NOT work.

    The way the encryption works is it will execute the entire multilevel encryption the first time. not requiring it to be run multiple times.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •