send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Pauscal] FakeSize

  • 0 Respuestas
  • 976 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Yuki

  • *
  • Underc0der
  • Mensajes: 67
  • Actividad:
    1.67%
  • Reputación 5
    • Ver Perfil
« en: Febrero 26, 2015, 11:51:39 am »
Les dejo este código que traduje hace tiempo, lo que hace es spoofear el peso de un archivo.

Código: You are not allowed to view links. Register or Login

$ADV-

' Unión que convierte una matriz de byte en cadena.

Unión StrAndIntToArrayByte,Str:Cadena,Bite[]:Byte

' Estructuras.

Estruc SECURITY_ATTRIBUTES, _
  nLength:Entero, _
  lpSecurityDescriptor:Entero, _
  bInheritedHandle:Booleano

Estruc OVERLAPPED, _
Internal, _
InternalHigh, _
offset, _
OffsetHigh, _
hEvent:Entero

' APIS
Proc SetFilePointer(,:Entero,Referencia:Entero,:Entero):Entero,"Kernel32"
Proc CreateFile(Referencia:Cadena,,:Entero,Referencia:SECURITY_ATTRIBUTES,,,:Entero):Entero,"Kernel32" "CreateFileA"
Proc ReadFile(,Referencia:Entero,:Entero,Referencia:Entero,Referencia:OVERLAPPED):Booleano,"Kernel32"
Proc WriteFile(,,:Entero,Referencia:Entero,Referencia:OVERLAPPED):Booleano,"Kernel32"
Proc DeviceIoControl(hDevice:Entero,dwIoControlCode:Entero,Referencia lpInBuffer:Entero,nInBufferSize:Entero,Referencia lpOutBuffer:Entero,nOutBufferSize:Entero,Referencia lpBytesReturned:Entero,lpOverlapped:Entero):Booleano,"Kernel32.dll"
Proc GetFileSize(:Entero,Referencia:Entero):Entero,"Kernel32"
Proc CloseHandle(hObject:Entero):Booleano,"Kernel32"
Proc SetEndOfFile(hFile:Entero):Booleano,"Kernel32"

Const FSCTL_SET_SPARSE = &000900C4
Const FILE_SHARE_READ = &1, FILE_SHARE_WRITE = &2
Const GENERIC_READ = &80000000, GENERIC_WRITE = &40000000
Const OPEN_EXISTING = 3,CREATE_NEW = 1
Const INVALID_HANDLE = -1

' // Alternative Space by Yuki!
Proc Espacio(Longitud:Entero):Cadena
   Var Ptr:StrAndIntToArrayByte
   ReDim Ptr.Bite,Longitud
   Devolver Ptr.Str
FinProc

' "VarPtr"
Proc CadPtr(Referencia lpStr:Cadena):Entero
  Var @Dir:Entero
  Dir@=lpStr@
  Devolver Dir
FinProc

Proc FakeSize(Referencia ArchivoBase,ArchivoFinal:Cadena)
Var Origen,Destino,FSize,bReturn:Entero,Buffer:Cadena
Resultado = Verd
Origen = CreateFile(ArchivoBase,GENERIC_READ,FILE_SHARE_READ,Nulo,OPEN_EXISTING,0,0)
FSize = GetFileSize(Origen,Nulo)
Buffer = Espacio(FSize)
ReadFile(Origen, CadPtr(Buffer), FSize, 0, Nulo)
CloseHandle(Origen)
Destino = CreateFile(ArchivoFinal,GENERIC_WRITE,FILE_SHARE_WRITE,Nulo,CREATE_NEW,0,0)
WriteFile(Destino, CadPtr(Buffer), FSize, 0, Nulo)
bReturn = DeviceIoControl(Destino, FSCTL_SET_SPARSE, 0, 0, 0, 0, 0, 0)
Si bReturn = INVALID_HANDLE Entonces
Salir
FinSi
SetFilePointer(Destino,1073741824, 0, 0)
SetEndOfFile(Destino)
CloseHandle(Destino)
FinProc

 

¿Te gustó el post? COMPARTILO!



[Pauscal] TaskBar Disable Process List

Iniciado por Yuki

Respuestas: 0
Vistas: 922
Último mensaje Febrero 26, 2015, 09:27:34 am
por Yuki
[Pauscal] Código Downloader's

Iniciado por Yuki

Respuestas: 1
Vistas: 1642
Último mensaje Mayo 05, 2016, 07:55:59 pm
por lapizacapuntas