|
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
dedlyblady Cheater Reputation: 0
Joined: 14 Sep 2017 Posts: 33
|
Posted: Thu Sep 14, 2017 12:23 am Post subject: I challenge anyone who can decrypt my hack |
|
|
Hello. I created a small hack for the online game and did a pretty good job and I wanted someone with enough experience to try to decrypt and show the code inside the hack so I could do a stronger protection for it .. I'll leave a link to check the hack for the experience .. Thanks
|
|
Back to top |
|
|
atom0s Moderator Reputation: 198
Joined: 25 Jan 2006 Posts: 8517 Location: 127.0.0.1
|
Posted: Thu Sep 14, 2017 2:02 am Post subject: |
|
|
Feel free to link to the hack and people here will give it a go.
_________________
- Retired. |
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Thu Sep 14, 2017 2:06 am Post subject: |
|
|
Unless you can prove that the files are actually yours, then this thread is pointless.
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25295 Location: The netherlands
|
Posted: Thu Sep 14, 2017 2:18 am Post subject: |
|
|
++METHOS wrote: | Unless you can prove that the files are actually yours, then this thread is pointless. |
you can of course give a few snippets with obfuscated addresses.
it it's his, he will know, if it's not his, it will just piss him off
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
dedlyblady Cheater Reputation: 0
Joined: 14 Sep 2017 Posts: 33
|
Posted: Thu Sep 14, 2017 2:23 pm Post subject: |
|
|
++METHOS wrote: | Unless you can prove that the files are actually yours, then this thread is pointless. |
It certainly belongs to me and all files and how did you prove this? This site does not allow the placement of links to download and I do not know how to put you my hack to scan
|
|
Back to top |
|
|
atom0s Moderator Reputation: 198
Joined: 25 Jan 2006 Posts: 8517 Location: 127.0.0.1
|
Posted: Thu Sep 14, 2017 10:34 pm Post subject: |
|
|
I sent you a pm so you should be able to pm me back now. Feel free to link me via pm and I can update your post here with the link if you want me to share it.
_________________
- Retired. |
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Fri Sep 15, 2017 2:35 am Post subject: |
|
|
Dark Byte wrote: | ++METHOS wrote: | Unless you can prove that the files are actually yours, then this thread is pointless. |
you can of course give a few snippets with obfuscated addresses.
it it's his, he will know, if it's not his, it will just piss him off | -Good point.
|
|
Back to top |
|
|
atom0s Moderator Reputation: 198
Joined: 25 Jan 2006 Posts: 8517 Location: 127.0.0.1
|
|
Back to top |
|
|
dedlyblady Cheater Reputation: 0
Joined: 14 Sep 2017 Posts: 33
|
Posted: Sat Sep 16, 2017 7:32 am Post subject: |
|
|
atom0s wrote: | He pm'd me back. The files are just AutoIt scripts, nothing is protected or custom. It is default AutoIt. Both exe's are easily decompilable. That said I am not posting the link to it because this seems more of an attempt to get someone else's code as the files are not protected at all.
Script 'chunk' for proof:
Code: | Func focus()
$gui_read4 = GUICtrlRead($label6)
$ini_read1 = IniRead(@ScriptDir & "\Speed.ini", $gui_read4, "window", 0)
$ini_read2 = IniRead(@ScriptDir & "\Speed.ini", $gui_read4, "list", 0)
WinActivate("[Conquer2.0] " & $gui_read4)
EndFunc |
|
This is a full source and you say that there is no protection and I do not know how this .. So how do I do a serious protection for him ..
Code: | #include <GUIConstants.au3>
#include <NomadMemory.au3>
#Include <GuiListView.au3>
#region var
$SpeedAddress = IniRead(@ScriptDir & "\Speed.ini","Address","Speed","0")
$ZoomAddress = IniRead(@ScriptDir & "\Speed.ini","Address","Zoom","0")
$NameAddress = IniRead(@ScriptDir & "\Speed.ini","Address","Name","0")
$XPAddress = IniRead(@ScriptDir & "\Speed.ini","Address","XP","0")
$LvLAddress = IniRead(@ScriptDir & "\Speed.ini","Address","LvL","0")
$VPAddress = IniRead(@ScriptDir & "\Speed.ini","Address","VP","0")
$XCoordAddress = IniRead(@ScriptDir & "\Speed.ini","Address","X","0")
$YCoordAddress = IniRead(@ScriptDir & "\Speed.ini","Address","Y","0")
Dim $List_Item[15]
$List_Item[0] = 0
$List_Item[1] = 0
$List_Item[2] = 0
$List_Item[3] = 0
$List_Item[4] = 0
$List_Item[5] = 0
$List_Item[6] = 0
$List_Item[7] = 0
$List_Item[8] = 0
$List_Item[9] = 0
$List_Item[10] = 0
$List_Item[11] = 0
$List_Item[12] = 0
$List_Item[13] = 0
$List_Item[14] = 0
#endregion
$Form1_1 = GUICreate("Speed", 427, 142, 250, 169)
$List1 = GUICtrlCreateListView("Name |Speed", 0, 0, 161, 107)
$Button1 = GUICtrlCreateButton("Refresh", 0, 110, 65, 20)
$Group1 = GUICtrlCreateGroup("Options", 320, 0, 95, 125)
$Checkbox1 = GUICtrlCreateCheckbox("Speed", 322, 20, 50, 17)
$Button2 = GUICtrlCreateButton("Set", 338, 102, 45, 20)
$Label11 = GUICtrlCreateLabel("Zoom:", 322, 50, 34, 17)
$Input1 = GUICtrlCreateInput("256", 360, 47, 50, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
GUICtrlCreateUpdown ($Input1)
GUICtrlSetLimit ($Input1, 600 ,150 )
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("About", 163, 0, 145, 125)
$Label1 = GUICtrlCreateLabel("Name:", 165, 20, 35, 17)
$Label2 = GUICtrlCreateLabel("Level:", 165, 40, 33, 17)
$Label3 = GUICtrlCreateLabel("Percent:", 165, 60, 44, 17)
$Label4 = GUICtrlCreateLabel("Vp:", 165, 80, 20, 17)
$Label5 = GUICtrlCreateLabel("Coords:", 165, 100, 40, 17)
$Label6 = GUICtrlCreateLabel("", 198, 20, 96, 17)
$Label7 = GUICtrlCreateLabel("", 198, 40, 96, 17)
$Label8 = GUICtrlCreateLabel("", 208, 60, 96, 17)
$Label9 = GUICtrlCreateLabel("", 188, 80, 96, 17)
$Label10 = GUICtrlCreateLabel("", 205, 100, 100, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
While 1
HotKeySet("^f", "Focus")
LoadOption()
LoadAbout()
Update()
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Refresh()
Case $Button2
Save()
EndSwitch
WEnd
Func Refresh()
GUICtrlDelete($List1)
$List1 = GUICtrlCreateListView("Name |Speed", 0, 0, 161, 107)
$num1 = 0
$Process1 = WinList ( "[Conquer2.0]" , "")
Do
If $Process1[0][0] <> 0 Then
$num1 = $num1 +1
$Process2 = WinGetProcess ( $Process1[$num1][1])
$Mem_Open1 = _MemoryOpen($Process2)
$Mem_Read1 = _MemoryRead($NameAddress, $Mem_Open1, 'char[16]') ;name
_MemoryClose($Mem_Open1)
$List_Item[$num1] = GUICtrlCreateListViewItem ( $Mem_Read1, $List1)
IniWrite(@ScriptDir & "\Speed.ini", $Mem_Read1, "window", $Process2)
IniWrite(@ScriptDir & "\Speed.ini", $Mem_Read1, "list", $Process2)
WinSetTitle ( $Process1[$num1][1], "", "[Conquer2.0] " & $Mem_Read1 )
EndIf
Until $num1 = $Process1[0][0]
EndFunc
Func Save()
$GUI_Read3 = GUICtrlRead($Input1) ;value of zoom input
$GUI_Read4 = GUICtrlRead($Label6) ;label name
$GUI_Read5 = GUICtrlRead($Checkbox1)
$INI_Read1 = IniRead(@ScriptDir & "\Speed.ini", $GUI_Read4, "window", 0)
If $GUI_Read4 = "" Then
Else
If $GUI_Read3 > 149 And $GUI_Read3 < 601 Then
#region mem write
$Mem_Open1 = _MemoryOpen($INI_Read1)
_MemoryWrite($ZoomAddress,$Mem_Open1,$GUI_Read3) ;zoom
IniWrite(@ScriptDir & "\Speed.ini", $GUI_Read4, "Zoom", $GUI_Read3)
If $GUI_Read5 = $GUI_CHECKED Then
_MemoryWrite($SpeedAddress,$Mem_Open1,128) ;cyclone on
IniWrite(@ScriptDir & "\Speed.ini", $GUI_Read4, "Cyclone", "128")
EndIf
If $GUI_Read5 = $GUI_UNCHECKED Then
_MemoryWrite($SpeedAddress,$Mem_Open1,0) ;cyclone off
IniWrite(@ScriptDir & "\Speed.ini", $GUI_Read4, "Cyclone", "0")
EndIf
_MemoryClose($Mem_Open1)
#endregion
Else
MsgBox(48,"Error","Zoom must be between 150-600")
EndIf
EndIf
EndFunc
Func LoadAbout()
$GUI_Read1 = GUICtrlRead($List1)
$GUI_Read2 = _GUICtrlListView_GetItemText($List1, $GUI_Read1 - 25) ;current sel
GUICtrlSetData($Label6, $GUI_Read2)
$INI_Read1 = IniRead(@ScriptDir & "\Speed.ini", $GUI_Read2, "window", 0)
If $GUI_Read2 = "" Then
GUICtrlSetData($Label7, "0") ;level
GUICtrlSetData($Label8, "0") ;percent
GUICtrlSetData($Label9, "0") ;vp
GUICtrlSetData($Label10, "0") ;x,y
Else
#region mem read
$Mem_Open1 = _MemoryOpen($ini_Read1)
$Mem_Read2 = _MemoryRead($LvLAddress, $Mem_Open1) ;level
$Mem_Read3 = _MemoryRead($XPAddress, $Mem_Open1) ;xp
$Mem_Read4 = _MemoryRead($VPAddress, $Mem_Open1) ;vp
$Mem_Read5 = _MemoryRead($XCoordAddress, $Mem_Open1) ;x coord
$Mem_Read6 = _MemoryRead($YCoordAddress, $Mem_Open1) ;y coord
_MemoryClose($Mem_Open1)
#endregion
$INI_Read2 = IniRead(@ScriptDir & "\Speed.ini","Experience",$Mem_Read2,0)
GUICtrlSetData($Label7, $Mem_Read2) ;level
GUICtrlSetData($Label8, Round ($Mem_Read3/$INI_Read2 * 100, 7)) ;percent
GUICtrlSetData($Label9, $Mem_Read4) ;vp
If $Mem_Read5 = 0 And $Mem_Read6 = 0 Then
GUICtrlSetData($Label10, "Attacking or Jumping")
Else
GUICtrlSetData($Label10, $Mem_Read5 & "," & $Mem_Read6) ;x,y
EndIf
EndIf
Sleep(25)
EndFunc
Func LoadOption()
$GUI_Read1 = GUICtrlRead($List1)
$GUI_Read2 = _GUICtrlListView_GetItemText($List1, $GUI_Read1 - 25) ;current sel
$GUI_Read4 = GUICtrlRead($Label6)
If $GUI_Read2 <> $GUI_Read4 Then
$INI_Read3 = IniRead(@ScriptDir & "\Speed.ini",$GUI_Read2,"Zoom",256)
$INI_Read4 = IniRead(@ScriptDir & "\Speed.ini",$GUI_Read2,"Cyclone",0)
GUICtrlSetData($Input1, $INI_Read3) ;zoom
If $INI_Read4 = 0 Then
GUICtrlSetState ( $Checkbox1,$GUI_UNCHECKED)
ElseIf $INI_Read4 = 128 Then
GUICtrlSetState ( $Checkbox1,$GUI_CHECKED)
EndIf
EndIf
EndFunc
Func Update()
$var1 = 0
$List_Count = _GUICtrlListView_GetItemCount($List1)
If $List_Count = 0 Then
ElseIf $List_Count > 0 Then
Do
$GUI_Read6 = _GUICtrlListView_GetItemText($List1,$var1)
$var1 = $var1 + 1
$INI_Read1 = IniRead(@ScriptDir & "\Speed.ini", $GUI_Read6, "window", 0)
$INI_Read5 = IniRead(@ScriptDir & "\Speed.ini",$GUI_Read6,"Cyclone",0)
$Mem_Open1 = _MemoryOpen($INI_Read1)
If $INI_Read5 = 128 Then
GUICtrlSetData ( $List_Item[$var1],"|on")
_MemoryWrite($SpeedAddress,$Mem_Open1,128)
ElseIf $INI_Read5 = 0 Then
GUICtrlSetData ( $List_Item[$var1],"|off")
EndIf
_MemoryClose($Mem_Open1)
Until $var1 = $List_Count
EndIf
EndFunc
Func Focus()
$GUI_Read4 = GUICtrlRead($Label6)
$INI_Read1 = IniRead(@ScriptDir & "\Speed.ini", $GUI_Read4, "window", 0)
$INI_Read2 = IniRead(@ScriptDir & "\Speed.ini", $GUI_Read4, "list",0)
WinActivate ( "[Conquer2.0] " & $GUI_Read4)
EndFunc
|
|
|
Back to top |
|
|
atom0s Moderator Reputation: 198
Joined: 25 Jan 2006 Posts: 8517 Location: 127.0.0.1
|
Posted: Sat Sep 16, 2017 8:25 pm Post subject: |
|
|
No matter what you do to an AutoIt script, it has to be interpreted at one point or another. The script can be obfuscated as much as you want but it can still be pulled from the exe. AutoIt executes the script at runtime, there is no byte code interpretation or handling done, so the raw string is going to be available at some point.
Users can set a breakpoint on the exe's script execution handler and just dump the buffer as well if you try to modify the exe any to prevent automated tools from working.
Stuff like AutoIt is not made to be used for things that are meant to be secure.
_________________
- Retired. |
|
Back to top |
|
|
cooleko Grandmaster Cheater Reputation: 11
Joined: 04 May 2016 Posts: 717
|
Posted: Mon Sep 18, 2017 1:25 pm Post subject: |
|
|
You should consider removing the window name from the source, we don't support online cheating here.
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|