[TOOL] AMXX UnCompress 1.1
#1
[TOOL] AMXX UnCompress 1.1
(modificar plugin compilado .amxx)

Descripción:
Es un programa para descomprimir un .amxx y dejar solo el raw generado al compilar. También es posible volver a comprimir el raw, ademas de poder hacer cambios en el código utilizando el archivo .memory.


Info:
Al compilar un script (.sma) se genera toda la información necesaria para que pueda correr en la maquina virtual de pawn, si esta habilitado también se genera la información de depuración (debug). Al finalizar la compilacion se comprime y empaqueta en un archivo .amxx.
[Imagen: bhG8gn.png]
amxx file header: contiene información sobre la composición del archivo.
amxx header: contiene información sobre todo el plugin.
debug header: contiene información sobre la depuración.


Uso:
Lo básico:
Arrastrar un archivo .amxx al .exe del programa, en segundos genera dos archivos, uno .raw y otro .memory con el mismo nombre del .amxx .


Archivo .RAW:
Contiene toda la información de la compilacion sin comprimir, es posible editar varias cosas con un editor hexadecimal.


Archivo .MEMORY:
Es un archivo que utiliza el AMXX UnCompress para realizar modificaciones en el plugin. En el se pueden definir direcciones de memoria para modificar, ya sean datos(data) o codigos(code).
Lo mas facil es usarlo para modificar string, ya que las direcciones de memoria son auto generadas y el valor es un string y no hexadecimal.

Formato:
Type: Address = Value

Type: code o data
Address: Dirección de memoria en hexadecimal con el formato 0x00000000
Value: Un string entre comillas solo para el tipo data o valores hexadecimales entre corchetes [ ] separados por espacio. El valor hexadecimal es de 4bytes, es decir que de hasta 8 caracteres.
Comment line: Se utiliza ; para comentar una linea.

(Reemplazar string)
data:address="string"
ejemplo:
data:0x00000008="hola"

(Reemplazar string y forzar escritura sobrepasando el length)
data:address="string"f
ejemplo:
data:0x000000A1="hola mundooooo"f

(Modificar dato)
data:address=[hex value]

ejemplo:
data:0x00000050=[ff 23CEFF f0ff00a AAEFD01 33]


(Modificar codigo)
code:address=[hex value]
ejemplo:
code:0x0000012F=[ff 33 C000E]



Ejemplo archivo .memory auto generado:
Código:
;data:0x00000000="Mensaje 1"
;data:0x00000028="Hacked :P"
;data:0x00000050="Final"
;data:0x00000068="Prueba amxx uncompress"
;data:0x000000C4="1.0"
;data:0x000000D4="Destro"
;data:0x000000F0="%s"
;data:0x000000FC="prueba"
;data:0x00000118="svcmd_prueba"
;data:0x00000154="string:[%s] static:[%d]"


Reemplazar String:
Lo básico:
Utilizando como ejemplo el archivo .memory de arriba
.

Lo abrimos con cualquier editor de texto y modificamos.
Código:
data:0x00000000="cambiado"
data:0x00000068="Titulo del plugin"
Guardamos.
Arrastramos el archivo .raw al .exe del programa y nos comprime el .raw con las modificaciones de .memory en un nuevo .amxx
.
very easy, antes solo los putos amos en pawn podían llegar a modificar algo de un .amxx,ahora cualquiera Lengua.


Plugin utilizado:
Código PHP:
#include <amxmodx>

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

new const string[] = "Mensaje 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("prueba""svcmd_prueba")
}

public 
svcmd_prueba()
{
    
funtion_print()
}

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

funtion_print2()
{
    
server_print(string3)



Guiá de como modificar codigo de un .amxx:
AMXX UnCompress - CodeHack


Proteger plugin:
Para evitar que tu plugin sea descomprimido con este programa agrege el string "no_amxx_uncompress" en cualquier parte de su plugin.
Ejemplo:
Código PHP:
server_print("no_amxx_uncompress"

Descarga:

.zip   amxx_uncompress_source.zip (Tamaño: 6.26 KB / Descargas: 397)

.zip   amxx_uncompress.zip (Tamaño: 47.79 KB / Descargas: 944)
Responder
#2
Interesante, me va a servir. Gran sonrisa
Responder
#3
osea practicamente puedo robar tu zp por niveles y editar los datos de la db y titulo del servidor?
futuro ingeniero agrónomo.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

volví a vender plugins, contactame
Responder
#4
exacto...
pero no te serviría de nada con el servidor con 2000 de ping (?.
Responder
#5
(27/10/2014, 10:11 PM)Destro escribió: exacto...
pero no te serviría de nada con el servidor con 2000 de ping (?.

jajajaj

igual bldo no me gustan este tipos de aportes porque ahora cualquiera se roba un amxx y a la mierda y lo puede vender, estaria para que hagas un tema para protegerlos ya que subiste la herramienta.
futuro ingeniero agrónomo.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

volví a vender plugins, contactame
Responder
#6
boludo el que compra un amxx jaja

Código PHP:
server_print("no_amxx_uncompress"
o cualquier otra cosa mientras que este presente el string "no_amxx_uncompress"
Responder
#7
(27/10/2014, 11:04 PM)Destro escribió: boludo el que compra un amxx jaja

Código PHP:
server_print("no_amxx_uncompress"
o cualquier otra cosa mientras que este presente el string "no_amxx_uncompress"

En lo que sea? como
#define BLOCK_UNCOMPRESS "no_amxx_uncompress"

lo agrego en mi include de amxmodx y listo pacman
Todos los MODS VHL totalmente gratuitos  Descarga Aqui

Mis plugins:
STEAM: https://steamcommunity.com/id/Metrikcz/
FB: fb.com/rwoong
Venta plugins a pedido en México mándame MP
Responder
#8
Y si edito el source para evitar eso del string como podria protegerlo?
futuro ingeniero agrónomo.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

volví a vender plugins, contactame
Responder
#9
Soy el único que arrastra el .amxx al .exe y simplemente se cierra?
Responder
#10
(28/10/2014, 05:54 PM)sasske escribió: Soy el único que arrastra el .amxx al .exe y simplemente se cierra?

Supongo que si.

PD: Muy buen aporte destro aun que estoy un poco en contra de que sea publico.
[Imagen: 76561198066347799.png]
Responder
#11
(28/10/2014, 05:42 PM)roccoxx escribió: Y si edito el source para evitar eso del string como podria protegerlo?
eh ?

(28/10/2014, 05:54 PM)sasske escribió: Soy el único que arrastra el .amxx al .exe y simplemente se cierra?
que raro o.O
tu win es de 64b ?
Responder
#12
(28/10/2014, 06:14 PM)Destro escribió:
(28/10/2014, 05:42 PM)roccoxx escribió: Y si edito el source para evitar eso del string como podria protegerlo?
eh ?

(28/10/2014, 05:54 PM)sasske escribió: Soy el único que arrastra el .amxx al .exe y simplemente se cierra?
que raro o.O
tu win es de 64b ?

Sip, windows 7 64 bits.

Ahora mismo estoy en otra pc con windows XP 32 bits, ahora pruebo y te aviso.

EDIT: Tampoco .-.
Responder
#13
(28/10/2014, 06:14 PM)Destro escribió:
(28/10/2014, 05:42 PM)roccoxx escribió: Y si edito el source para evitar eso del string como podria protegerlo?
eh ?

(28/10/2014, 05:54 PM)sasske escribió: Soy el único que arrastra el .amxx al .exe y simplemente se cierra?
que raro o.O
tu win es de 64b ?

Lo que me refiero es que si edito el sourcecode de la herramienta para quitar eso de la proteccion, te cago todo
futuro ingeniero agrónomo.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

volví a vender plugins, contactame
Responder
#14
(28/10/2014, 10:33 PM)roccoxx escribió:
(28/10/2014, 06:14 PM)Destro escribió:
(28/10/2014, 05:42 PM)roccoxx escribió: Y si edito el source para evitar eso del string como podria protegerlo?
eh ?

(28/10/2014, 05:54 PM)sasske escribió: Soy el único que arrastra el .amxx al .exe y simplemente se cierra?
que raro o.O
tu win es de 64b ?

Lo que me refiero es que si edito el sourcecode de la herramienta para quitar eso de la proteccion, te cago todo

Podes definir las cadenas de texto como encriptadas, y luego las desencriptas para mostrarlas; creo yo que así podrías proteger, al menos, cadenas de texto.

De todos modos no se como funciona, porque según entiendo directamente mira todo el code, no lo ejecuta (yo me entiendo) pero como no lo pude probar...
Responder
#15
Muy interesante. Yo tengo win 8.1 64bits y me descomprime bien... pero modifico la memoria, vuelvo a comprimir el raw y me dice que no hubo cambios en memoria y no me la modifica.
[Imagen: paypalqr.png]
Responder
#16
(28/10/2014, 10:33 PM)roccoxx escribió: Lo que me refiero es que si edito el sourcecode de la herramienta para quitar eso de la proteccion, te cago todo
es una protección anti lammer

(28/10/2014, 10:46 PM)sasske escribió: Podes definir las cadenas de texto como encriptadas, y luego las desencriptas para mostrarlas; creo yo que así podrías proteger, al menos, cadenas de texto.

De todos modos no se como funciona, porque según entiendo directamente mira todo el code, no lo ejecuta (yo me entiendo) pero como no lo pude probar...
funcionaria con alguien que se miro 10 videotutoriales de C solo para poder compilar el source. Si es alguien que sabe es lo mismo.

(28/10/2014, 10:47 PM)Neeeeeeeeeel.- escribió: Muy interesante. Yo tengo win 8.1 64bits y me descomprime bien... pero modifico la memoria, vuelvo a comprimir el raw y me dice que no hubo cambios en memoria y no me la modifica.
Como tenes el archivo .memory ?
no creo que en win 8 cambie algo en el sistema de archivos o.O, o si ?

pd:Saque casi todo del amxxpc que me pasate la otra vez Lengua
Responder
#17
(28/10/2014, 10:47 PM)Neeeeeeeeeel.- escribió: Muy interesante. Yo tengo win 8.1 64bits y me descomprime bien... pero modifico la memoria, vuelvo a comprimir el raw y me dice que no hubo cambios en memoria y no me la modifica.

NEl eso me paso ami después de editar quita el ; e delante
[Imagen: 76561198066347799.png]
Responder
#18
Ahora me funciona ._., bueno mejor xd
Responder
#19
:O, Destro una pregunta, porqué no me deja arrastrar el .amxx ?
Me salta este error, ERROR code: 3minAPresione una tecla para continuar . . .

D:
Responder
#20
(09/07/2015, 08:46 PM)Ola :D escribió: :O, Destro una pregunta, porqué no me deja arrastrar el .amxx ?
Me salta este error, ERROR code: 3minAPresione una tecla para continuar . . .

D:

A mi tambien me salta eso tengo w7 64b.
Responder
#21
Does not work with me ! win 8.1 x64 ?

pleas any one can help me here !


this amxx file i want get source sma file ?


Archivos adjuntos
.rar   test.rar (Tamaño: 958 bytes / Descargas: 21)
Responder
#22
(07/08/2015, 04:59 AM)abdobiskra escribió: Does not work with me ! win 8.1 x64 ?

pleas any one can help me here !


this amxx file i want get source sma file ?

https://forums.alliedmods.net/showpost.p...stcount=14
Responder
#23
commend this !

Código:
amxx_uncopress.exe -d test.amxx
in cmd !
Responder
#24
[Imagen: attachment.php?aid=3316]Destro me aparece esto.


Archivos adjuntos Miniatura(s)
   
Responder
#25
Windows 7 32bits tambien se cierra cuando arrastro un archivo .amxx Whatdone
Nadie nace sabiendo, todos estamos para aprender
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)