GTA: Modification Area

A website for the GTA modding scene

Search
 
 

Display results as :
 


Rechercher Advanced Search

Latest topics
» Big-game starts raising Schneider's profile
Sun Mar 04, 2012 2:28 am by lavivi

» [Help] cleo created lighting
Thu Oct 14, 2010 1:03 am by findmy012

» Mission Question
Thu Oct 14, 2010 1:02 am by findmy012

» [IV] Spoiler Script
Thu Oct 14, 2010 1:02 am by findmy012

» Mission mod [help]
Sat Sep 18, 2010 5:50 pm by jayd00

» Bc7 Mod Help
Fri Aug 20, 2010 11:19 am by pengpeng

» Found a bug
Fri Dec 18, 2009 4:22 am by _CJ360_

» [IV] Novitec Rosso 599 GTB
Tue Nov 17, 2009 4:22 pm by Kotton

» Hello/Guidance Request
Mon Oct 12, 2009 6:45 am by Adler

Navigation
 Portal
 Index
 Memberlist
 Profile
 FAQ
 Search
Affiliates
image

Image

Image

Image

Image

Image

Image

Image

Image

Image

image

Image

steve-m.com

Image


----- Русский -----

Если ваш сайт содержит большую коллекцию SCM/CLEO-скриптов (больше 16), напишите на мой e-mail, и я добавлю его в список. Приветствуются скрипты, которые не встречаются на других сайтах ... Спасибо. ))))


----- English -----

If your website has a big enough collection of SCM/CLEO scripts (more than 16) notify me by e-mail
, and I will add it to the list. The unique scripts are preferable ... Thank you. ))))

Log in

I forgot my password



December 2016
MonTueWedThuFriSatSun
   1234
567891011
12131415161718
19202122232425
262728293031 

Calendar Calendar


You are not connected. Please login or register

No Decompiling, Please

View previous topic View next topic Go down  Message [Page 1 of 1]

1 No Decompiling, Please on Thu Sep 03, 2009 1:56 am

As I've experienced, some modders are able to "disable" decompiling in some ways by using HEX...END.

When you try decompiling (with "ignore unknown" check off) then it will come up with an error.

I basically wanna do this to prevent cheating in my MPACK... Since there are a few things that I don't want people to be able to change.


I've also tried encoding the certain lines of code in HEX to help... But I can't seem to get it to work in game.

Since I don't really know much about writing the opcodes and parameters in hex myself, I'm compiling them with Sanny and decompiling using a hexadecimal editor... Then trying to copy the lines of code that I compiled and put it into a HEX...END structure...

I get the feeling that it's going along the right lines, but it's crashing the game...

Here's what I compiled in Sanny:
Code:
00D6: if
84A4:  not 5@ == 0x45564552 // Hex String 'EVER'
else_jump @CHEATS_GHOSTTOWN
:CHEATS_GHOSTTOWN

And here's where I think it is in the hex code:
Code:
00 D6 00 04 00 A4 84 03 05 00 01 52 45 56 45 4D 00 01 99

There are a few things that make me think that there's something wrong with that code and a few things that make me believe it is what I want to copy. Maybe I'm copying too much or too little?

I pasted it into Sanny and compiled... The game crashed without me typing a thing.

How do I correct this?

View user profile http://gtag.gtagaming.com

2 Re: No Decompiling, Please on Thu Sep 03, 2009 3:06 am



When writing in hex..end structure, and if you decompile the script using the "Ignore Unknown" feature you will see silly stuff like opcodes, but wrong and such, even though this is not there function.

Here it tells you how to get the correct answer correctly

http://varistor.dyndns.org/wiki/index.php?%A5%B3%A5%ED%A5%CA%B4%D8%B7%B8

It was edited one time today, for example this explains it good:


D504030200030300030400060000803F0404040005FF0005FF0005FF005100



04D5: create_corona_at 2@ 3@ 4@ radius 1.0 type 4 flare 0 RGB 255 255 255
0051: return

をバイナリ変換した物です。

* 変換の仕方

{$VERSION 3.1.0027}
{$CLEO .cs}
04D5: create_corona_at 2@ 3@ 4@ radius 1.0 type 4 flare 0 RGB 255 255 255
0051: return

こんなコードを書いてコンパイルします。
その後.csをバイナリエディタで「D5 04」で検索し、hitしたところから「51 00」までをコピーすれば出来上がりです。
これをコロナを作りたい分hex-endで記述し、その前にラベルを付けます。
この場合5個なので5個分記述します。

あとはこの変換した部分にそれぞれジャンプさせることによって
5つのコロナを作成することが出来ます。

一番上のD504~ から使用していきます。
gosub @corona としてしまうと、一番上しか使用されず 結局最初の例のように一つしか作成されません。
ラベルは、コンパイルされるとき目的の場所が何バイト先にあるかを調べ、そのサイズに変換されます。
そこで、その構造を利用して別の場所へjumpさせます。

* 1. バイナリ変換後のサイズを見ます。
8bit=1byteなのでこの場合31バイトになります。 簡単に言うと2文字で1バイト計算です。
10進31は16進1Fですので上の例では0x1Fとなっています。10進で書いても問題ありません。
* 2. このサイズの負の値を使う番号に掛けます。上から0番目1番目…4番目
* 3. ラベルを足す。

(do you want me to translate this for you?)

You're form is directly hexadecimal, but not the way the game engine works, it has to be written directly in machine-language in hex..end structure.

--

To lock all the script there is, or was a way, by writing a un-decompile-able code in hex..end structure, but "Ignore Unknown" is built in to Sanny Builder now,

http://www.gtaforums.com/index.php?showtopic=371084&view=findpost&p=1058534484


_________________
Some links for modding information:
• GTAModding Wiki
• Документация по моддингу GTA
• Sanny Builder (Русский)
• Sanny Builder Profile

View user profile http://gtamodding.com

View previous topic View next topic Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum