Raised This Month: $ Target: $400
 0% 

[Orpheu] Logueo de cdkeys


  
 
 
Thread Tools Display Modes
lucas_7_94
Leche Loco
Join Date: Mar 2009
Location: Argentina
Old 04-17-2013 , 10:47   Re: [Orpheu] Logueo de cdkeys
#21

Y si es posible si , asi vemos todos los resultados posibles aunque den nulos
__________________
ATWWMH - MiniDuels
Madness is like gravity, just need a little push.
lucas_7_94 is offline
Send a message via Skype™ to lucas_7_94
shinoda
Spanish Moderator
Join Date: Nov 2009
Location: ag_crossfire
Old 04-18-2013 , 19:52   Re: [Orpheu] Logueo de cdkeys
#22

Arg1 es el protocolo.
Arg2 es el challenge (ni idea de lo que sea :p)

Lo demás ya te dijeron.



Quote:
Originally Posted by thesnakebiter View Post
Sí, y una duda.. ¿Para coger el name y/o steamid del user? Y ya como añadido ip del atacante si se pudiese obtener..
Tendrías que ver el source code con IDA u otra cosa, para ver si hay alguna función que se llame y obtenga datos extras. Aunque creo que no hay :/
__________________
Oh hell no this shit is awesome !!!
shinoda is offline
Send a message via MSN to shinoda Send a message via Skype™ to shinoda
joropito
AlliedModders Donor
Join Date: Mar 2009
Location: pfnAddToFullPack
Old 04-19-2013 , 09:06   Re: [Orpheu] Logueo de cdkeys
#23

arg0 es siempre igual
arg1 es 47 o 48
arg2 es el challenge que le provee el servidor para iniciar la conexion (es una especie de autenticacion simple)
arg3 es "protinfo" y es informacion especifica del protocolo del cliente (no todos usan el mismo formato).
por ej en el caso que pongo con protocolo 47, raw lleva el cdkey pero en otros casos (tanto p47 como p48 ) raw aparece con el valor "valve" o "steam" y hay un key nuevo que es cdkey.
arg4 es "setinfo", el mismo buffer que le pasamos a las funciones de fakemeta para los KV. Es el string almacenado en el buffer que devuelve EngFunc_GetInfoKeyBuffer


Code:
arg 0    connect
arg 1    47
arg 2    1089989969
arg 3    "\prot\2\raw\4dbb0c44af91ae90bd3df72e7dff99be"
arg 4    "\_cl_autowepswitch\1\bottomcolor\6\cl_dlmax\80\cl_lc\0\cl_lw\1\model\+nemesis\name\uznthg\team\6\topcolor\30\lang\en\_vgui_menus\1\cl_updaterate\101\rate\25000\*fid\0"
__________________

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.

Last edited by joropito; 04-19-2013 at 09:46.
joropito is offline
Send a message via MSN to joropito
thesnakebiter
Senior Member
Join Date: Oct 2011
Old 04-19-2013 , 10:58  
#24

Gracias por las respuestas, ando muy atareado..

Alguien podría ayudar a la limpieza de el resultado que se obtiene de arg4? Seria para obtener el name, que valdria como identificador para después de esta función?

Last edited by lucas_7_94; 04-22-2013 at 08:19. Reason: No bumpeees /doble post si no pasaron mas de 2 semanas.
thesnakebiter is offline
Old 04-22-2013, 08:38
lucas_7_94
This message has been deleted by lucas_7_94. Reason: nope
lucas_7_94
Leche Loco
Join Date: Mar 2009
Location: Argentina
Old 04-22-2013 , 08:50   Re: [Orpheu] Logueo de cdkeys
#25

Intentaste usando los EngFunc_GetInfoKeyBuffer , como dijo joropito ?

Joro tenes una idea si arg2 (Challenge) es un valor constante por usuario ? O cambia constantemente ?
__________________
ATWWMH - MiniDuels
Madness is like gravity, just need a little push.
lucas_7_94 is offline
Send a message via Skype™ to lucas_7_94
joropito
AlliedModders Donor
Join Date: Mar 2009
Location: pfnAddToFullPack
Old 04-22-2013 , 09:53   Re: [Orpheu] Logueo de cdkeys
#26

Quote:
Originally Posted by lucas_7_94 View Post
Intentaste usando los EngFunc_GetInfoKeyBuffer , como dijo joropito ?

Joro tenes una idea si arg2 (Challenge) es un valor constante por usuario ? O cambia constantemente ?
Es dinamico
__________________

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
thesnakebiter
Senior Member
Join Date: Oct 2011
Old 04-22-2013 , 10:13   Re: [Orpheu] Logueo de cdkeys
#27

O me estoy liando yo o no me habeis interpretado bien, seguramente lo primero, jaja, me refiero, el cliente entra y yo no tengo ningun identificador del mismo a excepcion del name que viene en el setinfo, quiero luego, poder usar el "id" de ese cliente en otras funciones y demas..
thesnakebiter is offline
lucas_7_94
Leche Loco
Join Date: Mar 2009
Location: Argentina
Old 04-22-2013 , 10:23   Re: [Orpheu] Logueo de cdkeys
#28

Ah me olvide completamente de que no tienes un ID , disculpas

Code:
new szString[ ] =  "\_cl_autowepswitch\1\bottomcolor\6\cl_dlmax\80\cl_lc\0\cl_lw\1\model\+nemesis\name\uznthg\team\6\topcolor\30\lang\en\_vgui_menus\1\cl_updaterate\101\rate\25000\*fid\0"         new startPos = strfind( szString, "\name\" ) + 6     new finalPos = strfind( szString, "\team\" )         new FinalString[ 32 ]     new i, k     for( i = startPos, k = 0; i < finalPos ; i++, k++ )         FinalString[ k ] = szString[ i ]         // FinalString contiene el nombre del jugador

Reemplaza el szString por el arg que tengas que leer , yo declare una constante porque no tengo orpheu instalado y me base en el output para hacerlo , no lo probe , pero deberia funcionar, cualquier cosa repostea.
__________________
ATWWMH - MiniDuels
Madness is like gravity, just need a little push.
lucas_7_94 is offline
Send a message via Skype™ to lucas_7_94
thesnakebiter
Senior Member
Join Date: Oct 2011
Old 04-22-2013 , 10:44   Re: [Orpheu] Logueo de cdkeys
#29

Nada, mira el resultado, dejo code y el log:
Code:
#include <amxmodx> #include <orpheu> public plugin_init() {         register_plugin("Test Orpheu","0.1a", "TheSnakeBiter")         OrpheuRegisterHook(OrpheuGetFunction("SV_ConnectClient"),"OnSV_ConnectClient") } public OrpheuHookReturn:OnSV_ConnectClient() {         new CurrentTime[9]           static arg1[ 100 ], arg2[100], arg3[100], arg4[900]         read_argv(1,arg1, 99)         read_argv(2,arg2, 99)         read_argv(3,arg3, 99)         read_argv(4,arg4, 899)         get_time("%H:%M:%S",CurrentTime,8)                 new startPos = strfind( arg4, "\name\" ) + 6         new finalPos = strfind( arg4, "\team\" )                 new FinalString[ 32 ]         new i, k         for( i = startPos, k = 0; i < finalPos ; i++, k++ )             FinalString[ k ] = arg4[ i ]                     log_to_file("cdkeys.txt","----------")         log_to_file("cdkeys.txt","| Time: %s |",CurrentTime)         log_to_file("cdkeys.txt","| Arg1: %s |",arg1)         log_to_file("cdkeys.txt","| Arg2: %s |",arg2)         log_to_file("cdkeys.txt","| Arg3: %s |",arg3)         log_to_file("cdkeys.txt","| Arg4: %s |",arg4)         log_to_file("cdkeys.txt","| Name: %s |",FinalString)         log_to_file("cdkeys.txt","----------") }
Log:
PHP Code:
---------- 
Time16:40:36 
Arg148 
Arg2748315703 
Arg3: \prot\3\unique\-1\raw\steam\cdkey\e0d9a0d851a51b1220dd7b7b2c673abd 
Arg4: \_cl_autowepswitch\1\bottomcolor\6\cl_dlmax\80\cl_lc\1\cl_lw\1\cl_updaterate\101\model\gordon\name\TheSnakeBiter\topcolor\30\_ah\0\_vgui_menus\1\rate\30000 
Name:  | 
 ---------- 
PD: Ahora que me doy cuenta, lo que obtuve de el arg 3, que se supone que era cdkey, corresponde a mi ip encriptada en md5, es posible que no sea un identificador único por cliente y que simplemente sea la ip encriptada?

Last edited by thesnakebiter; 04-22-2013 at 10:48.
thesnakebiter is offline
rak
Veteran Member
Join Date: Oct 2011
Location: banned country
Old 04-22-2013 , 11:32   Re: [Orpheu] Logueo de cdkeys
#30

1/2 pila;

PHP Code:
#include <amxmodx>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "[R]ak"


public plugin_init() {
    
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
set_task(3.0"test")
    
}

public 
test() {
    
    new 
ARG[] = "\_cl_autowepswitch\1\bottomcolor\6\cl_dlmax\80\cl_lc\1\cl_lw\1\cl_updaterate\101\model\gordon\name\TheSnakeBiter\topcolor\30\_ah\0\_vgui_menus\1\rate\30000 |"
    
    
new EL_NOMBERCITO[32]
    
    
rak_get_name(ARGEL_NOMBERCITO)
    
    
server_print(EL_NOMBERCITO)
    
}

stock rak_get_name(Source[], Data[]) { 
     
    new 
i
     
    
while(Source[i]) { 
         
        if(
z) { 
             
            while(
Source[i] != '\') { 
                 
                Data[z-1] = Source[i] 
                 
                z++ 
                 
                i++ 
                 
            } 
             
            break; 
             
        } 
        else { 
             
            if(Source[i] == '
\' && Source[i+1] == 'n' && Source[i+2] == 'a' && Source[i+3] == 'm' && Source[i+4] == 'e' && Source[i+5] == '\') { 
                 
                i += 6
                 
                z++ 
                 
            } 
            else  
                i++ 
                 
        } 
    } 

__________________

www.amxmodx-es.com

Steam: Luchokoldo

Last edited by rak; 04-22-2013 at 11:33.
rak is offline
Send a message via MSN to rak Send a message via Skype™ to rak
 



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 13:55.


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