IPB

Здравствуйте Гость ( Вход | Регистрация )

 
Reply to this topicStart new topicStart Poll

Каскадный · [ Стандартный ] · Линейный

> Mob Script Encryption Algorithm

Jet
post Среда, 18 Февраля 2004, 23:38
Отправлено #1


Honor Guard
Group Icon

Группа: Add-on Developers
Сообщений: 1,065
Регистрация: 23-Фев-02
Из: gipat.ru
Пользователь №: 116



Today we have published the MOB script encryption algorithm.

You can get C++ and Delphi source codes from downloads section.
-> Downloads -> Tools -> Mod -> Mob Crypt


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Guest
post Вторник, 24 Февраля 2004, 18:10
Отправлено #2


Unregistered









can you explain to us don't understanding anything ofit what it is/do(/mean?)
Go to the top of the page
+Quote Post
CAHEK7
post Вторник, 24 Февраля 2004, 23:00
Отправлено #3


Conjurer
Group Icon

Группа: Members
Сообщений: 214
Регистрация: 20-Мар-03
Из: Domodedovo
Пользователь №: 619



It is Mob Script Encryption Algorithm. And first you must write a programm and use this Algorithm. If you can do it, you also can read scripts in *.mob files.
Sorry if i something wrong, my english is bad...


--------------------
Что есть то есть, того что было не вернуть, не изменить ни дня.
Черный Обелиск "Дом желтого сна (часть 2)"
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Guest
post Пятница, 27 Февраля 2004, 09:40
Отправлено #4


Unregistered









so you need to be able to program to make this, whatever it is work? smile.gif



i hope someone makes one tongue.gif
Go to the top of the page
+Quote Post
zealdrin
post Пятница, 27 Февраля 2004, 19:11
Отправлено #5


Unregistered









maybe I can convince someone to do that for me (if I can you shouldnt socks up to me because I hate that). I have my friends biggrin.gif

Сообщение отредактировал zealdrin - Пятница, 27 Февраля 2004, 19:12
Go to the top of the page
+Quote Post
Jet
post Воскресенье, 29 Февраля 2004, 20:30
Отправлено #6


Honor Guard
Group Icon

Группа: Add-on Developers
Сообщений: 1,065
Регистрация: 23-Фев-02
Из: gipat.ru
Пользователь №: 116



Visual Basic code:
Translated by CAHEK7
CODE
Public Sub ScriptCrypt(ByRef Script() As Byte, ByVal Key As Long)

Dim Tmp As Double
Dim i As Long
Dim TmpLng As Long
Tmp = Key

For i = 0 To UBound(Script)

  Tmp = Tmp * 214013 + 2531011
'-------------------------------------------------
     Do While Tmp > 2199023255552#
       Tmp = Tmp - 2199023255552#
     Loop
     Do While Tmp > 274877906944#
       Tmp = Tmp - 274877906944#
     Loop
     Do While Tmp > 34359738368#
       Tmp = Tmp - 34359738368#
     Loop
     Do While Tmp > 4294967296#
       Tmp = Tmp - 4294967296#
     Loop
' Especially to convert Double to DWORD
' you can change number of cycles
' to change up execution speed
'-------------------------------------------------

  TmpLng = CLng(Int(Tmp / 65536))
  TmpLng = TmpLng Mod 256
 
  Script(i) = Script(i) Xor CByte(TmpLng)

Next

End Sub


C# Code:
CODE
public string ReadCodedString()
{
byte[] coded = new byte[DataSize - 4];     // sizeof(coded string) - sizeof(key)
char[] decoded = new char[coded.Length];
uint uKey;

// Read
uKey   = orStream.ReadUInt32();           // KEY
coded = orStream.ReadBytes(coded.Length); // Coded string

// Decode string
for(int i = 0; i < coded.Length; i++)
{
  uKey = uKey * 214013 + 2531011;
  decoded[i] = Convert.ToChar(coded[i] ^ Convert.ToByte(uKey / 65536 % 256));
}
return new string(decoded, 0, decoded.Length );
}

rolleyes.gif


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
MortalMachine
post Пятница, 28 Октября 2005, 07:53
Отправлено #7


Henchman
Group Icon

Группа: Members
Сообщений: 7
Регистрация: 20-Окт-05
Из: Somewhere in the USA.
Пользователь №: 4,067



I understand something in Visual Basic, but I want to see examples of scripst used in a quest.


--------------------
I'm not afraid of anything
I just need to know that I can breathe
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Jet
post Пятница, 28 Октября 2005, 14:23
Отправлено #8


Honor Guard
Group Icon

Группа: Add-on Developers
Сообщений: 1,065
Регистрация: 23-Фев-02
Из: gipat.ru
Пользователь №: 116



QUOTE(MortalMachine @ Пятница, 28 Октября 2005, 07:53)
I understand something in Visual Basic, but I want to see examples of scripst used in a quest.
*


You can use MRT to check one.
Open an .mob then expand filed ID_OBJECT_FILE.
ID_SS_TEXT <- Here is a script used by .mob
Type of this filed is SCRIPT_ENC mean tats script kept in enconded format.
CAHEK7 post algorithm how to to decode encoded script using VB.

Here is script example for zone7chest.mob.
CODE

GlobalVars (
 NULL : object,
 VSS#i#val : object,
 i : object,
 AChest : object
)

DeclareScript VCheck#3#1 (  this : object )
DeclareScript VTriger#3#2 (  this : object )

Script VCheck#3#1
(
 if
 (
   Not( IsEqual( GSGetVar( 0, "q.gz7g.q9g" ) , 2 )  )
   IsEqual( GetLeverState( AChest ) , 1 )
 )
 then
 (
   KillScript(  )
   VTriger#3#2( this )
 )
)

Script VTriger#3#2
(
 if
 (
 )
 then
 (
   KillScript(  )
   GSSetVarMax( 0, "q.gz7g.q9g.2", 2 )
   GSSetVarMax( 0, "q.gz7g.q9g", 2 )
   GiveQuestItem( 0, "OrcLicense00" )
 )
)

WorldScript
(
 Sleep( 2 )
 AChest = GetObjectByID( "1000252" )
 VCheck#3#1( NULL )
)


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
KnightL
post Понедельник, 31 Октября 2005, 15:49
Отправлено #9


Conjurer
Group Icon

Группа: Members
Сообщений: 204
Регистрация: 5-Июн-04
Пользователь №: 2,079



And where did you get this code. If you wrote it by yourself you would write your own program. If you didn`t write it then how did you translated it into basic.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
MortalMachine
post Вторник, 01 Ноября 2005, 03:38
Отправлено #10


Henchman
Group Icon

Группа: Members
Сообщений: 7
Регистрация: 20-Окт-05
Из: Somewhere in the USA.
Пользователь №: 4,067



The problem about creating your own program is to have the Visual Basic, I have Microsoft Visual Basic 2005 Express Edition Beta 2, but I can't compile into a .exe program, to do that you need to buy it, and it cost toons of money sad.gif
btw, I've made lots of programs cool.gif , I make them for fun, but I'm not a master in Visual Basic.


--------------------
I'm not afraid of anything
I just need to know that I can breathe
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
SexyGirl
post Среда, 21 Августа 2019, 18:10
Отправлено #11


Henchman
Group Icon

Группа: Members
Сообщений: 18
Регистрация: 21-Авг-19
Пользователь №: 6,547



There are 1 very interesting fact - zone20 and zonemainmenu uses script format with another signature. Anybody can read that script with simple text editor. And, if i understood this moment clean... This script is read faster, because it does not need to be decrypted by the game.exe until zone loads.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicTopic OptionsStart new topic
2 чел. читают эту тему (2 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
 

Упрощённая версия Сейчас: 26 Августа 2019 - 12:18