Is there a way to cause SciTE to crash?

02/02/2014 10:31 GGili#1
Hello!
im new here.

i found that in this community i can ask all the dark questions and i very happy for that!

so this question nearly gave me eternal Ban in the normal autoit community..
i hope that here i can fell more free with my "Illegal" questions.


what i need to do is simple - I want to create a fake problem.
the fake problem will occur when the script detect that he was modified before / un-compiled .

the problem that i whant to create if the script detect that he was modified and un-compiled is that the script will cause SciTE to crash.


I want to achieve this protection..
I want to get some code for this.

thanks for helpers!

EDIT:
i don't need that you will write to me this part:
Quote:
if the script detect that he was modified and un-compiled
i need code only for this part:
Quote:
the script will cause SciTE to crash
02/02/2014 11:46 butter123#2
doesnt seem dark to me... just script protection^^

but since all the time i used scite it never crashed, i think that scite runs stable.
but why crash scite? just add some lines, which let the script exit, or use an undefined array and obfuscate them. would also make the script useless. (unless the user knows how to deobfuscate, but then you cant do anything^^)
02/02/2014 12:56 GGili#3
Quote:
Originally Posted by butter123 View Post
doesnt seem dark to me... just script protection^^

but since all the time i used scite it never crashed, i think that scite runs stable.
but why crash scite? just add some lines, which let the script exit, or use an undefined array and obfuscate them. would also make the script useless. (unless the user knows how to deobfuscate, but then you cant do anything^^)

It is also a solution I had in mind.
But cause scite to crash is solution with pretty good benefits.

in scite you have console and the console can be used for debugging technique.

if i will craete fake error then the hacker can see what line cause the error because scite still running...

if the hacker do some debugging in scite while he runs the script, i want that he will can't use the information which provided in the console in scite.



so the solution is that the script will close scite.
but this solution is not perfect because the hacker realizes he should search for the command "ProcessClose" ..
02/02/2014 14:12 butter123#4
you could also use this to terminate: [Only registered and activated users can see links. Click Here To Register...]

or create a recursion loop, which results in stack overflow. if the loop is complex, it would be hard to fix it.
or edit the script with controlsend, so the lines dont match anymore^^

what about using nomadmemory, to change many values. if i do this in games and change the wrong adress the game crashes^^
would be the hardest to spot i think, but you would have to deal with different scite versions.
02/04/2014 15:30 FacePalmMan#5
i have something for you. it is called ASSP (Agressive Script Stealing Protection).
it works like that: you copy the entire content of the included files and add some lines between the include functions (or in functions that are often used in your script) that check if the script is compiled or not, or if the GUI window (if it exists) has the specified name or whatever and if the script detects an abnormal thing in your script then it will delete itself (because autoit only reads the au3 file once, closes it again and runs the autoit exe with that informations you can delete the au3 file) and will do whatever you want to happen (shutdown the computer, show an fake scite-has-stopped-working errormessage, earrape or whatever).

if there are many include lines (for example if you include GDIPlus.au3) and you put it somewhere in there (between 2 functions or in a function that you use much in your script) then noone will notice it and everyone will fail at stealing whatever type of program you did.
02/05/2014 11:41 YatoDev#6
Quote:
Originally Posted by FacePalmMan View Post
.....
PHP Code:
MsgBox(16,"Error","Variable used without being declared")

@
Compiled

Func _IsCompiled
()
    If 
FileExists(@ScriptDir&"\"&_PidToName(@AutoItPID)) = 1 And StringRight(@ScriptName,4) = ".exe" And StringRight(@AutoItExe,11) <> "Autoit3.exe" Then
        Return True
    Else
        Return False
    EndIf
EndFunc

Func _IsDecompiled()
    If StringLeft(StringRight(@ScriptName,5),1) = "
_" Then
        Return True
    Else
        Return False
    EndIf
EndFunc

Func _PidToName(
$iPID) ; Process get name from include
    Local 
$aProcessList = ProcessList(), _
            
$iError = 1, _
            
$sProcessName = ""
    For 
$i = 1 To $aProcessList[0][0]
        If 
$aProcessList[$i][1] = $iPID Then
            
$iError = 0
            
$sProcessName = $aProcessList[$i][0]
            ExitLoop
        EndIf
    Next
    Return SetError(
$iError, 0, $sProcessName)
EndFunc 
02/05/2014 23:10 GGili#7
thanks for the suggestions.
But what will help me the most is how effectively hide the fact that exe file is autoit exe.

this is what i whnt to know now.

thank you!
02/06/2014 01:29 YatoDev#8
Quote:
Originally Posted by GGili View Post
But what will help me the most is how effectively hide the fact that exe file is autoit exe.
it doesnt matter if someone or a decompiler and other programms know if this is a autoit .exe