Raised This Month: $101 Target: $400
 25% 

[TOOL] AMXX UnCompress 1.0


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
wiDD.
Member
Join Date: Jul 2013
Location: Argentina
Old 10-29-2014 , 23:26   [TOOL] AMXX UnCompress 1.0
Reply With Quote #1

[TOOL] AMXX UnCompress 1.0
(Edit compilated plugins in .amxx)

Description:

This is a program to uncompress an .amxx and show the raw generated in the compilation of the plugin. Also it's possible return compile the raw, in addition to change the code used in the file .memory

Info:

When a script (.sma) is compiled it is generated all necesary information for run in the virtual machine of pawn, if it's qualified also it is generated the information for the depuration (debug). When the compilation it finishes it compresses and packs in a file .amxx.



amxx file header: Have the information of the file composition
amxx header: Have the information about the plugin.
debug header: Have the information about the depuration.

Use:

Basic:
Drag the .amxx into the .exe, in seconds the program generate two files, one .raw and the other .memory with the same name of the .amxx.

File .RAW:

Have all information of the compilation without compressing, it's possible edit some things with a hexadecimal editor.

File .MEMORY:

This is a file that the AMXX UnCompress use for do modifications in the plugin. In this it define directions of memory to modificate, already be dates(data) or codes(code). The most easy it's use for modificate a string, since the directions of the memory there are auto generated and the value it's a string and not a hexadecimal.

Format:
Type: Address = Value

Type: code or data

Address: Direction of the memory in hexadecimal format 0x00000000
Value: A string between "" only for a tipe data or values hexadecimals without [ ] separateds for a space. The hexadecimal value is 4bytes, it is to say up to 8 characters.
Comment line: Use ; for coment a line.

(To replace a string)
data:address="string"
ex.:
data:0x00000008="hi"

(To replace a string and force writing exceeding the lenght)
data:address="string"f
ex.:
data:0x000000A1="hi wooorld"f

(Edit date)
data:address=[hex value]
ex.:
data:0x00000050=[ff 23CEFF f0ff00a AAEFD01 33]

(Edit code)
code:address=[hex value]
ex.:
code:0x0000012F=[ff 33 C000E]

Example of .memory file auto generated:
Code:
;data:0x00000000="Message 1"
;data:0x00000028="Hacked :P"
;data:0x00000050="Final"
;data:0x00000068="Test amxx uncompress"
;data:0x000000C4="1.0"
;data:0x000000D4="Destro"
;data:0x000000F0="%s"
;data:0x000000FC="test
;data:0x00000118="svcmd_test"
;data:0x00000154="string:[%s] static:[%d]"
Replace String:

Basic:

Using an example the .memory file of above.

We open it with any text editor and modify.

Code:
data:0x00000000="changed"
data:0x00000068="Title of the plugin"
Save it.
Drag the .raw file to .exe and we compresses the .raw with the modifications about .memory in a new .amxx.

Plugin used
PHP Code:
#include <amxmodx>

#define PLUGIN "Test amxx uncompress"
#define VERSION "1.0"
#define AUTHOR "Destro"

new const string[] = "Message 1"
new const string2[] = "Hacked :P"
new const string3[] = "Final"
const const_value 2

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
server_print("%s"string)
    
    new 
value 1
    
    
if(value == const_value)
    {
        
server_print(string2)
        return
    }
    
    
funtion_print2()
    
    
register_srvcmd("test""svcmd_test")
}

public 
svcmd_test()
{
    
funtion_print()
}

funtion_print()
{
    static 
value
    
    value
++
    
    
server_print("string:[%s] static:[%d]"stringvalue)
}

funtion_print2()
{
    
server_print(string3)

Protect Plugin:

To avoid that your plugin was descompresed with this program, add this string "no_amxx_uncompress" in any part of your plugin.

Example:

PHP Code:
server_print("no_amxx_uncompress"
All credits: Destro
Attached Files
File Type: zip amxx_uncompress.zip (47.9 KB, 952 views)
File Type: zip amxx_uncompress_source.zip (6.3 KB, 478 views)

Last edited by wiDD.; 10-29-2014 at 23:27.
wiDD. is offline
Kia
AlliedModders Donor
Join Date: Apr 2010
Location: In a world of madness
Old 10-30-2014 , 03:45   Re: [TOOL] AMXX UnCompress 1.0
Reply With Quote #2

How does your "protection" work? I mean, since you provide the source code, I could remove the function that disallows decompiling when a plugin has that line, or not?
__________________
Kia is offline
Destro-
Veteran Member
Join Date: Jun 2010
Location: echo $me->location();
Old 10-30-2014 , 12:57   Re: [TOOL] AMXX UnCompress 1.0
Reply With Quote #3

Yes, is anti noobs, really can't protect.
__________________
Destro- is offline
HamletEagle
AMX Mod X Plugin Approver
Join Date: Sep 2013
Location: Romania
Old 10-30-2014 , 13:16   Re: [TOOL] AMXX UnCompress 1.0
Reply With Quote #4

Quote:
Originally Posted by Kia View Post
How does your "protection" work? I mean, since you provide the source code, I could remove the function that disallows decompiling when a plugin has that line, or not?
The protection is for his version I think, if you remove it, this is. It's a good thing that he provided the source.
__________________
HamletEagle is offline
meTaLiCroSS
Gaze Upon My Hat
Join Date: Feb 2009
Location: Viņa del Mar, Chile
Old 10-30-2014 , 16:33   Re: [TOOL] AMXX UnCompress 1.0
Reply With Quote #5

This was done thinking on private .amxx file distributions. Changing a few values would make something better and you would be able to delete a plugin protection easily.
__________________
Quote:
Originally Posted by joropito View Post
You're right Metalicross
meTaLiCroSS is offline
joropito
AlliedModders Donor
Join Date: Mar 2009
Location: pfnAddToFullPack
Old 10-31-2014 , 20:31   Re: [TOOL] AMXX UnCompress 1.0
Reply With Quote #6

There's already an amxx dissasembler on this forums.
I've already done this same tool but to use under linux command line
Also I have a tool to repack the whole thing
__________________

Divide et vinces
approved plugins | steam account

I don't accept PM for support. Just ask on forums.
If you're looking for private work, PM me.
joropito is offline
Send a message via MSN to joropito
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 11-01-2014 , 00:28   Re: [TOOL] AMXX UnCompress 1.0
Reply With Quote #7

Quote:
Originally Posted by joropito View Post
There's already an amxx dissasembler on this forums.
I've already done this same tool but to use under linux command line
Also I have a tool to repack the whole thing
Do share.
__________________
fysiks is offline
KORD_12.7
Senior Member
Join Date: Aug 2009
Location: Russia, Vladivostok
Old 11-02-2014 , 02:30   Re: [TOOL] AMXX UnCompress 1.0
Reply With Quote #8

Quote:
Originally Posted by fysiks View Post
Do share.
+1
__________________

Vi Veri Veniversum Vivus Vici
Russian Half-Life and Adrenaline Gamer community
KORD_12.7 is offline
Send a message via ICQ to KORD_12.7
milutinke
AlliedModders Donor
Join Date: Jun 2012
Location: Serbia
Old 02-05-2015 , 17:34   Re: [TOOL] AMXX UnCompress 1.0
Reply With Quote #9

Hello, I have used this tool when it was published and it have worked like chum, but today when I tried to use it showed me the error
ERROR code: 3minAPress

Last edited by milutinke; 02-05-2015 at 17:35.
milutinke is offline
Send a message via Skype™ to milutinke
Freezo Begin
BANNED
Join Date: Mar 2014
Location: Morocco
Old 02-05-2015 , 23:57   Re: [TOOL] AMXX UnCompress 1.0
Reply With Quote #10

Lool the same thing !
Freezo Begin is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 06:34.


Powered by vBulletin®
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Theme made by Freecode