Important informations:
-Use game Resolution: Window mode / 1024x768
-You need at last 2 accounts
GUI:
DOWNLOAD:
How to dupe items?
You need 2 accounts. If you got them then follow next steps. You need to have two clients open, thats important.
1.) Open the Twelvesky client. [#1CLIENT]
2.) Then open a new TwelveSky cliet with Sandboxie. [#2CLIENT]
3.) Login to your first account and enter the world, search a safe spot to dupe.
4.) Login to your secound account. But do not enter the world yet!
5.) Now you need to changer your [#1CLIENT] Character name and User ID to exact the same as [#2CLIENT].
To do that simply start the 12Sky Lotus Dupe Hack and fill in all input boxes. And select a character from [#2CLIENT] you want to cheat on.
6.) Press the 'Set' button and the selected [#2CLIENT] character name & user ID will now change.
7.) Now login with your [#2CLIENT] into the world. But be sure that your [#1CLIENT] is not on the same map
otherwise you will get a 10min dc!
8.) After entering the world [#2CLIENT] should be logged in the same account as your are with the [#1CLIENT].
9.) Now drop everything from [#1CLIENT] you wanna duplicate.
10.) Logout your [#1CLIENT] first! And after that you need to logout your [#2CLIENT].
11.) Now you need to be fast and pick up your droped items. So login back with [#1CLIENT] and get fast to the spot you droped your items.
12.) You can use the 'Fast login' tool included in the dupe hack to login super fast.
Dont forget to use the 'Bypass code' for a comfortable login.
13.) You just have successfully duplicated your items. Have fun!
Features:
-Bypass code (Bypasses your 6-digit code/2nd password code for faster login)
-Gm Mode (You get gm rights & its changes your name to the owners)
Usefull gm command:
/movezone
Full source code:
Always remember cheating can be bannable!
Have fun Dont forget to give me a 'thanks' if u like it!
;~ Check whether game is started or not, if not close program
$LotusSky = ProcessExists("Lotus-12Sky.exe")
If $LotusSky = 0 Then
MsgBox(16,"Error #1","TwelveSky Lotus isn't started!")
Exit
EndIf
;~ Set window/gui always on top
WinSetOnTop("12Sky Lotus Dupe Hack by RWH - Premium Edition","",1)
While 1
;~ Bypass ID
Global $PID = ProcessExists("Lotus-12Sky.exe") ;~ Check for game..
Global $hOpenGame = _MemoryOpen($PID) ;~ Check for game..
Global $IDbypass = 0x00E5039C ;~ 6-digit code window address
Global $WriteIDbypass = _MemoryWrite($IDbypass, $hOpenGame, "0",'dword') ;~ Remove 6-digit window
_MemoryClose($hOpenGame)
;~ If mouse over savebutton then change data
$aInfo = GUIGetCursorInfo($dupe_hack_2020)
If Not @error Then $idHover = $aInfo[4]
;~ Save button
If $idHover = $savebutton Then
GUICtrlSetData($savebutton,"x")
$fHover_heading = True
Else
If $fHover_heading Then
$fHover_heading = False
GUICtrlSetData($savebutton,"X")
EndIf
;~ Heading_logo
If $idHover = $background_logo Then
ToolTip("USE THIS HACK IN RESOLUTION: 1024x768"&@CRLF&"Thanks for using. Have fun!")
GUICtrlSetImage($background_logo, @ScriptDir&"\Data\bg\ts_logo_2.jpg")
$fHover = True
Else
If $fHover Then
$fHover = False
ToolTip("")
GUICtrlSetImage($background_logo, @ScriptDir&"\Data\bg\ts_logo_1.jpg")
EndIf
;~ Set button
If $idHover = $setbutton Then
GUICtrlSetData($setbutton,"- Set -")
$fHover_set_button = True
Else
If $fHover_set_button Then
$fHover_set_button = False
GUICtrlSetData($setbutton,"Set")
EndIf
;~ Login button
If $idHover = $login Then
GUICtrlSetData($login,"- Login -")
$fHover_login_button = True
Else
If $fHover_login_button Then
$fHover_login_button = False
GUICtrlSetData($login,"Login")
EndIf
EndIf
EndIf
EndIf
EndIf
;~ End Region
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ProcessClose("IDbypass.exe")
Exit
Case $gmmode_1
;~ GM MODE ACTIVATED
If BitAnd(GUICtrlRead($gmmode_1), $GUI_CHECKED) Then
GUICtrlSetState($gmmode_1, $GUI_UNCHECKED)
;~ Check for game..
Global $PID = ProcessExists("Lotus-12Sky.exe")
Global $hOpenGame = _MemoryOpen($PID)
Global $BaseAddress = 0x00400000
Global $StaticOffsetModel = 0x0067F8D4
Global $StaticOffsetName = 0x0069C50C
Global $ReadWeaponName = _memoryread($BaseAddress + $StaticOffsetName, $hOpenGame) + 0x4
Global $ReadWeaponModel = _memoryread($BaseAddress + $StaticOffsetModel, $hOpenGame) + 0x2C
Global $gamemaster_address = 0x00554913
Global $namehack_1_address = 0x00A9FC70
Global $namehack_2_address = 0x0111ED78
Global $gmaster_address = _MemoryWrite($gamemaster_address, $hOpenGame, "1",'dword')
Global $namehack_1 = _MemoryWrite($namehack_1_address, $hOpenGame, "[GM]Ornn",'char[20]')
Global $namehack_1 = _MemoryWrite($namehack_2_address, $hOpenGame, "[GM]Ornn",'char[20]')
_MemoryClose($hOpenGame)
EndIf
Case $bypasscode
;~ Bypassing ID / Close IDbypass.exe
If BitAnd(GUICtrlRead($BypassCode),$GUI_UNCHECKED) = $GUI_UNCHECKED then
ProcessClose("IDbypass.exe")
EndIf
Case $setbutton
;~ Set Character name & user ID & character position 1/2/3
;~ Change character name & Change user ID
Global $PID = ProcessExists("Lotus-12Sky.exe")
Global $hOpenGame = _MemoryOpen($PID)
Global $1_CharName = 0x00E4B2D8
Global $2_CharName = 0x00E4A300
Global $3_CharName = 0x00E4C2B0
Global $ID = 0x005548C0
;~ Select character position 1/2/3
Global $ReadPosition = GUICtrlRead($position)
If $ReadPosition = "1.First character" Then
Global $WriteID = _MemoryWrite($ID, $hOpenGame, GUICtrlRead($user_id),'char[15]')
Global $WriteName = _MemoryWrite($1_CharName, $hOpenGame, GUICtrlRead($user_name),'char[15]')
EndIf
If $ReadPosition = "2.Second character" Then
Global $WriteID = _MemoryWrite($ID, $hOpenGame, GUICtrlRead($user_id),'char[15]')
Global $WriteName = _MemoryWrite($2_CharName, $hOpenGame, GUICtrlRead($user_name),'char[15]')
EndIf
If $ReadPosition = "3.Third character" Then
Global $WriteID = _MemoryWrite($ID, $hOpenGame, GUICtrlRead($user_id),'char[15]')
Global $WriteName = _MemoryWrite($3_CharName, $hOpenGame, GUICtrlRead($user_name),'char[15]')
EndIf
_MemoryClose($hOpenGame)
Case $savebutton
;~ Saves last entred informations
Global $ReadMyID = GUICtrlRead($user_id)
Global $ReadMyNAME = GUICtrlRead($user_name)
Global $ReadMyCode = GUICtrlRead($login_char_code)
Global $ReadMyLoginID = GUICtrlRead($login_char_id)
Global $ReadMyLoginPW = GUICtrlRead($login_char_pw)
Global $ReadMyPosition = GUICtrlRead($position)
;~ Write my ID
FileDelete(@ScriptDir&"\Data\saves\id.dll")
Sleep(50)
FileWrite(@ScriptDir&"\Data\saves\id.dll",$ReadMyI D)
;~ Write my NAME
FileDelete(@ScriptDir&"\Data\saves\name.dll")
Sleep(50)
FileWrite(@ScriptDir&"\Data\saves\name.dll",$ReadM yNAME)
;~ Write my CODE
FileDelete(@ScriptDir&"\Data\saves\fast_login\code .dll")
Sleep(50)
FileWrite(@ScriptDir&"\Data\saves\fast_login\code. dll",$ReadMyCode)
;~ Write my login_ID
FileDelete(@ScriptDir&"\Data\saves\fast_login\id.d ll")
Sleep(50)
FileWrite(@ScriptDir&"\Data\saves\fast_login\id.dl l",$ReadMyLoginID)
;~ Write my login_PW
FileDelete(@ScriptDir&"\Data\saves\fast_login\pw.d ll")
Sleep(50)
FileWrite(@ScriptDir&"\Data\saves\fast_login\pw.dl l",$ReadMyLoginPW)
;~ Write my Position
FileDelete(@ScriptDir&"\Data\saves\position.dll")
Sleep(50)
FileWrite(@ScriptDir&"\Data\saves\position.dll",$R eadMyPosition)
GUICtrlSetState($savebutton, $GUI_DISABLE)
Case $login
;~ Fast login into your account
Global $ReadID = GUICtrlRead($login_char_id)
Global $ReadPW = GUICtrlRead($login_char_pw)
Global $ReadCODE = GUICtrlRead($login_char_code)
Not super familiar with AutoIt so take with a grain of salt.
But initial upload/script looks clean to me.
By that I mean it looks to do what it is intended for without having extra nasty code to steal logins or do other harmful things at least in the auto it side.
- Has a fast login feature.
- Changes the userid helping to automate the known exploit of simply changing these and going through a portal. (Account Hijack/Dupe expoit in TS1).
Reason why this exploit works, the TS1 zone servers just accept the user input and log you in as that character. /facepalm
Of course there is a method to do the actual duping involving changing zones etc I wont get into it.
Have not actually run it or tested, but if its doing what I think its doing it should work on vulnerable ts1 servers that have not patched the exploit out that are using a client where the addresses match up with what is hard coded. Note: Signature scanning perhaps via an injected dll or processing the game exe if it is infact unpacked could make this work on any TS1 exe. (Although in saying that most servers likely use the same one given the age of this game).
Suggest to store data in .ini files or something.
Otherwise nice, it is refreshing to see a tool made by someone and released here that is not a keylogger/trojan for once.
-- Brief notes on decompiling to check for bad in-case others want to know how I go about it, never do such things on your real PC always a VM or sandbox. --
There is an auto it decompiler such as myAut2Exe or Exe2Aut.
Which can decompile, could be run in a Windows Virtualbox VM or perhaps Windows Sandbox as a precaution against accidentally running any code.
Of course you need to unpack first if packed.
Detect it easy (DIE) or PEID can be helpful to determine the packing of an exe.
This exe is not packed.
Tools/links used. (Virtual Box is an emulator lets you run a virtual machine) (For a VM as I was lazy to install windows my self from an ISO on a new vm.) (Great number of tools and such)
You would save a snapshot on the VM first.
Then load anything you think is questionable into it to analyze/unpack/decompile etc.
selling 12sky m1 fujin or trading for 12sky jinong 09/16/2010 - General Gaming Discussion - 1 Replies im selling a m1 fujin he has a katana 81% nd rare necky nd ring nd he has a uni robe if your interested post a reply here im looking for 12sky silver coins or a jinong 100+ my email is [email protected]