elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Mover .inc que esta siendo utilizado por otro programa.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mover .inc que esta siendo utilizado por otro programa.  (Leído 6,289 veces)
YagamiIori2002

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Mover .inc que esta siendo utilizado por otro programa.
« en: 22 Octubre 2011, 08:50 am »

Hola a todos, bueno he estado viendo en unas webs y no encuentro nada, mi problema es que estoy intentando mover un archivo que esta siendo utilizado por un procesos y me sale un error al mover, bueno yo se que para saber los procesos que estan corriendo se utiliza CreateToolhelp32Snapshot, Process32First, openprocess , el archivo es un"archivo.inc" para moverlo utilizo MoveFileEx y la funcion falla porque esta siendo utlizado por mi un programa , como moveria ese archivo claro terminando el el programa padre como saber que procesos es el padre? con alguna API se puede? o necesitas DRIVER para lograr el objetivo.


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Mover .inc que esta siendo utilizado por otro programa.
« Respuesta #1 en: 22 Octubre 2011, 11:25 am »

Se puede hacer con la NTDLL. Aca tenes un par de enlaces con explicaciones y codigo fuente:

http://forum.sysinternals.com/topic18892.html
http://stackoverflow.com/questions/733384/how-to-enumerate-process-handles
http://www.codeguru.com/Cpp/W-P/system/processesmodules/article.php/c2827/


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: Mover .inc que esta siendo utilizado por otro programa.
« Respuesta #2 en: 22 Octubre 2011, 21:48 pm »

Segun entiendo, ese "archivo.inc"  (importante ocultar el nombre) no esta tirado en algun lado por ahi...
...si lo utiliza algun proceso, es que evidentemente se encuentra en un contexto, en un directorio,  acompañado de otros archivos, a lo mejor hasta alguna dll o ejecutable. Sabiendo ese contexto, creo que se podria deducir bastante qeu aplicacion lo utiliza.
Hasta filemonitor podria ayudar.

Digo, porque hacer un driver, mas en asm puede ser bastante complicado por la poca documentacion, al menos que se sepa C/Cpp a un nivel suficinete para traducir.
En línea

YagamiIori2002

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: Mover .inc que esta siendo utilizado por otro programa.
« Respuesta #3 en: 23 Octubre 2011, 02:28 am »

Bueno estaba observando y la documentacion se refiere a que puedo mandar llamar las funciones como NtQuerySystemInformation, NtQueryInformationThread entre otras, sacar la posicion de memoria del INtDll guardar la direccion. puedo usar a mi manera la funcion? si es asi pues que bien, si me equivoco pues nimodo, voy a probar la informacion luego les digo si obtube, de antemano gracias por la informacion  :)
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Mover .inc que esta siendo utilizado por otro programa.
« Respuesta #4 en: 23 Octubre 2011, 08:12 am »

Si, podes obtener con GetProcAddress las direcciones de las funciones de la NTDLL.dll que esta cargada en todo programa y llamarla perfectamente. Y no, no hace falta hacer un driver.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
YagamiIori2002

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: Mover .inc que esta siendo utilizado por otro programa.
« Respuesta #5 en: 25 Octubre 2011, 05:55 am »

Se me esta complicando un poco el asunto, traduci la mayoria pero ya me quede sin saber que pasa, no puedo traducir las estructuras a ensamblador por ejemplo para usar la funcion NtQueryObject nesecitamos una estructura pero debemos hacerla y definirla, si he hecho estructuras pero estas deberdad que no puedo traducirla para usarlas en esta funcionr como lo es "OBJECT_TYPE_INFORMATION" si hay mucha informacion pero para C y solo se lo basico. yo la verdad no uso las estructuras en ensamblador por que ya estan difinidas pero esta pues no.
para ensamblado esta estructura es la de FindData estas estan basicas y faciles.
----------------------------------------------------------------------------------------------
 w32finddata struct
        WFD_dwFileAttributes        dd ?
        WFD_ftCreationTime          filetime <?>         
        WFD_ftLastAccessTime        filetime <?>
        WFD_ftLastWriteTime         filetime <?>
        WFD_nFileSizeHigh           dd ?
        WFD_nFileSizeLow            dd ?
        WFD_dwReserved0             dd ?
        WFD_dwReserved1             dd ?
        WFD_szFileName              db maxpath dup  (?)
        WFD_szAlternateFileName     db 13 dup  (?)
    w32finddata ends
    win32_find_data         w32finddata <?>
-----------------------------------------------------------------------------------------------

lo que no se es esto
 _OBJECT_TYPE_INFORMATION typedef struct {
UNICODE_STRING TypeName;  :huh: este pues ni idea
TotalNumberOfHandles ULONG;  este seria un dword
 TotalNumberOfObjects ULONG; este seria un dword
 WCHAR Unused1 [8];              este seria db 8 dup  (0)
HighWaterNumberOfHandles ULONG;  dword
HighWaterNumberOfObjects ULONG;   dword
 WCHAR Unused2 [8];               este seria db 8 dup  (0)
InvalidAttributes ACCESS_MASK;  <-------------esto ni idea como traducir
GENERIC_MAPPING GenericMapping; <-------------esto ni idea como traducir
ValidAttributes ACCESS_MASK;  <-------------esto ni idea como traducir
BOOLEANA SecurityRequired;  <-------------esto ni idea como traducir
BOOLEANA MaintainHandleCount; <-------------esto ni idea como traducir
USHORT MaintainTypeList; <-------------esto ni idea como traducir
POOL_TYPE PoolType;            <-------------esto ni idea como traducir
DefaultPagedPoolCharge ULONG;  dword
DefaultNonPagedPoolCharge ULONG; dword
 OBJECT_TYPE_INFORMATION}, * POBJECT_TYPE_INFORMATION;
 
la verda no quiero que me digan todo si no como hacerle para traducir, algunos ejemplos de estructuras en ensamblador para irme familiarisando  :huh:


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Mover .inc que esta siendo utilizado por otro programa.
« Respuesta #6 en: 25 Octubre 2011, 09:15 am »

UNICODE_STRING es otra estructura:

Código
  1. UNICODE_STRING STRUCT
  2. _Length WORD ?
  3. MaximumLength WORD ?
  4. Buffer PWSTR ?
  5. UNICODE_STRING ENDS

Un USHORT es un WORD, ACCESS_MASK es un DWORD, BOOLEAN es un BYTE, POOL_TYPE es un DWORD y GENERIC_MAPPING es una estructura buscala.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
YagamiIori2002

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: Mover .inc que esta siendo utilizado por otro programa.
« Respuesta #7 en: 4 Noviembre 2011, 04:12 am »

Disculapas por no haber contestado a tiempo pero no habia podido visitar el foro. Ok ahora me que mas claras las estructuras gracias, luego pongo mis resultados ;D
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Mover .inc que esta siendo utilizado por otro programa.
« Respuesta #8 en: 4 Noviembre 2011, 08:59 am »

De nadas  ::)
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines