Meet Anti-Cheat Toolkit: prevent cheating easily in your Unity3D game!

Hey, dear fellows!
Today I’m glad to present you my first contribution to the Unity3D Asset Store:

Anti-Cheat Toolkit logo

Anti-Cheat Toolkit (ACT)!

This is a tiny toolkit, created to help you protect your Unity3D project from many cheaters / hackers (not from all – skilled and well-motivated person can hack anything). Current ACT version allows you to protect sensitive variables and PlayerPrefs from cheating.

Feel free to watch a small video I made to show how to cheat your game (or whatever) and how ACT allows you to prevent such cheating: http://www.youtube.com/watch?v=6–2JECbpSE

So, currently ACT allows you to keep variables safe from all kind of memory searchers (Cheat Engine, ArtMoney, etc.) and prevent your saved PlayerPrefs data from altering by any person on any platform.

Just add ACT DLL into your project and replace PlayerPrefs to PlayerPrefsObscured, sensitive int to ObscuredInt, float to ObscuredFloat, etc. and you’re done! Really :)
This is all you need to do to add some protection from cheaters to your project in no time, no any additional steps required!
For more flexibility I added custom crypto keys usage (not necessary, but feel free to use it), if you’re nerdy enough :)
ACT is very simple and intuitive to use as you can see – you shouldn’t have to know something special at all. Hope you’ll like it!

Anti-Cheat Toolkit at:
Own ACT plugin page
Unity Forum
Asset Store

GIVEAWAY IS ENDED, SORRY :P  

PS: I wish to say special thanks to Daniele Giardini for great logos and all priceless feedback he provided about ACT!
And I’d like to let you know about some must-have Unity3D content Daniele created, like tweening engine HOTween or “Swiss knife” panel HOTools, and you definitely should check out Goscurry – super fun, creative and addictive game!

Share Button

Introducing SWF iD: Flash reverser companion

Hey, dear friends!
I’m very glad to share with you one nice freeware tool every flash reverser (especially beginner one) should have in his toolbox: SWF iD!
It was recently released to the public by Lizard. The purpose of this tool – to allow reverser make fast first glimpse at the target swf file, study its protection (if present), compression, AS version, tags, etc.
Here is how it looks like:
SWF iD

You could find it very similar to the famous PE files analyzer PEiD

More screenshots: http://swfid.je1.ru/screenshots.php

Please, note the Process Scan button – it allows you to search for SWF files right in the processes memory and dump them to disk, very handy addition. This is a search example in Flash Player process, running SWF packed with SecureSWF:
SWF iD process scan

Processes IDs will be added to the processes names in the future versions

You can see here unpacked swf found and detected as Secure SWF 4.0 protected. Process Scan can ignore standard built-in Flash Player SWF files (Filtration FP Noise checkbox) and can skip fake SWF signatures as well (fakes detection sensitivity will be configurable in future versions).

SWF iD supports plug-ins and ships with few default: http://swfid.je1.ru/plugins.php
Keep in mind tool is still in early development stage so you’ll meet some bugs for sure, feel free to report them here: swf-id{at}ya.ru.
If you have any suggestions, ideas or anything else to say, just post all this here in comments, or send directly to author using email I mentioned before!

SWF iD homepage: http://swfid.je1.ru/.

Share Button

Advanced DoSWF encryption? Challenge accepted!

Greetings!
As I previously wrote about flash files unpacking, you can achieve that using static unpacking or dumping swf file from memory usually. There are some exceptions however, and I’ll tell you about one such exception in this article.

Developer of the DoSWF protector (made in China) used few simple yet interesting tricks to prevent revealing of the original SWF, I like something harder than clicking one button)
I guess many poor “hackers” (as they like to name themselves) have no idea why dumped files are not working, and can’t do anything about it.

Let me show you an example how to unpack SWF encrypted with DoSWF (many pictures ahead!)… Continue reading

Share Button

Unity3D threads – measuring performance

Hey everybody!
Sometimes people ask me about delayed actions or threading in Unity3D and usually I suggest to use coroutines since they are suitable for the most cases I faced with.
But sometimes we need to use true threading and make some calculations faster, A* path finding for example.
So I decided to make a fast-written performance comparison of traditional code execution vs. threaded version. I searched for some simple threads managers and found this really simple Loom class from whydoidoit accidentally.

I did a simple test app for different platforms (I attached archive with apps and sources at the end of this post) and found some results pretty interesting.
All my code is trying to do – is just to make CPU think a little while working with huge array of Vector3D instances (10 000 000 for Desktop platforms and 1 000 000 for mobile platforms):

private void Run()
{
	const float scale = 432.654f;

	for (int j = 0; j < arrayLength; j++)
	{
		Vector3 v = vertices[j];

		v = Vector3.Lerp(v * scale / 123f * v.magnitude, v / scale * 0.0123f * v.magnitude, v.magnitude);

		vertices[j] = v;
	}
}

This is a simple dummy code as you can see.
I added simple Ant model (hello, Away3D examples authors! :)) with rotation at Update() to the scene in order to see how app can freeze while running this ugly code in main thread.

JTMLjQ0

I did few tests of this code as I mentioned previously, both in sync (straight execution in main thread) and async (running it the separate threads) modes, here are results I’ve got (S – sync, A – async):
Continue reading

Share Button

AIR vs. Unity3D. Who’s faster? (Update 1)

Update 1: uploaded some sources (look at the end of article).

Hey there!
Yeah, it’s been a while blahblahblah.. To the point! =)

Sometimes I’ll highlight actual files from the archive, attached at the page bottom.

Sometimes I see Flash developers interested in the Unity3D lately, and I – one of them actually)
I work with Unity for a while already and all I can say – it’s fantastic experience! So cool to learn C# language (I hope other Flash devs make wise decision to code in C# as well), to learn new community and people, to meet a lot of new challenges and to look at 3D world from a new point at all!

Many Flash developers are still uncertain they should try Unity and spend their time learning this brand new world though.. And in some cases it’s built on top of the AIR and Unity3D performance differences obscurity. So I’ll unveil portion of this differences in this article to help those Flash developers make a choice (whatever what they choose)!

All examples I’ll compile with AIR 3.6 and Unity3D 4.1 and I’ll try to keep similar functionality and look of these examples to let them compete.
I’ll test builds on the pretty slow Samsung Galaxy Tab 10.1 and make some tests on the desktop as well.

Intro

Okay, let’s start from comparing empty builds.
To measure FPS in unity3D I’ll use hand-made FPSmeter working with GUIText.
In AIR builds I’ll use different FPSmeters, usually in-built to the frameworks I’ll use.
Well, let’s see to the built apks (I built Captive Runtime in AIR and usual release build in Unity3D):
Continue reading

Share Button