Sign in to follow this  
Followers 0
Skrip

Simple Memory Protection

4 posts in this topic

Using _Protect, I am no longer able to see the original 'Numbah:' that the arg inputs with a memory editor. As I never know the actual number that is in memory. So, If I change line 20 from the Random() to 1, Numbah will always show 1 to the user, but if I search 1 in a program like cheat engine - it will not come up. As I would have to know the number in memory - not just what is being displayed.

If line 20 is 1 then an example of the console:

Actual Numbah: 24 (Seed:23) Displaying: 1

Actual Numbah: 13 (Seed:12) Displaying: 1

Actual Numbah: 2 (Seed:1) Displaying: 1

Actual Numbah: 28 (Seed:27) Displaying: 1

Actual Numbah: 7 (Seed:6) Displaying: 1

Actual Numbah: 7 (Seed:6) Displaying: 1

Actual Numbah: 2 (Seed:1) Displaying: 1

You would need to find the Actual Numbah each time. Give it a shot!

Let me know if you need further explaination.

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Var = 0
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("", 211, 108, 193, 125)
$Button1 = GUICtrlCreateButton("Change!", 24, 56, 161, 33, 0)
$Label1 = GUICtrlCreateLabel("Numbah: " & $Var, 24, 8, 150, 17)
;~ $Label2 = GUICtrlCreateLabel("Actual Numbah: " & $Var, 24, 32, 150, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            GUICtrlSetData($Label1, _Protect(Random(1, 15, 1)))
    EndSwitch
WEnd

Func _Protect($AVar)
    Local $ASeed, $Adebug = 1
    $ASeed = Random(1, Random(2, 99, 1), 1); Generates random seed.
    $AVar = $AVar + $ASeed; Hides the original value by adding the seed to it
    If $Adebug = 1 Then ConsoleWrite("Actual Numbah: " & $AVar & " (Seed:" & $ASeed & ")" & @CRLF); Shows actual var and seed (when debug is on)
    Return "Numbah: " & $AVar - $ASeed; returns original value - from new source
EndFunc

[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Share this post


Link to post
Share on other sites



I've seen this method in AS3 before. A good way to block for example CheatEngine or other memory scanners. Nice to see it in AutoIt but AutoIt has same problem as flash files, they can easily be decompiled. :)

Share this post


Link to post
Share on other sites

I've seen this method in AS3 before. A good way to block for example CheatEngine or other memory scanners. Nice to see it in AutoIt but AutoIt has same problem as flash files, they can easily be decompiled. :)

Yeah...that's one issue I can't fix.

[left][sub]We're trapped in the belly of this horrible machine.[/sub][sup]And the machine is bleeding to death...[/sup][sup][/sup][/left]

Share this post


Link to post
Share on other sites

I know this is a old thread, but if anyone knows, whats really the purpose of this, it generates a random number, how would that protect anything.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0