comment
IRC Chat
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.

[VB.Net] Offset Locator Function's by fudmario

  • 1 Respuestas
  • 2497 Vistas

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

Desconectado fudmario

  • *
  • Cramel
  • *
  • Mensajes: 194
  • Actividad:
    1.67%
  • Reputación 11
    • Ver Perfil
    • fudmario - GitHub
  • Skype: fudmario
« en: Octubre 23, 2016, 02:34:13 am »

Aquí les dejos del Baul de los recuerdos, lo he actualizado un poco de la version anterior, algunas funciones para armar vuestro Offset Locator, el code esta un poco sucio, pero se puede mejorar...xD
FUNCIONES:
  • AvFucker
  • Dsplit
  • 256 Combinaciones
  • Offset Replace

Ejemplos de Uso:
Código: vb.net
  1.         ' Call Method AvFucker
  2.         OffsetLocator.Methods.AvFucker(filePath := "D:\test.exe",dirpath := "D:\AvFucker", _
  3.                                        offsetStart := 1000, offsetEnd := 63488, _
  4.                                        blockbyte := 100, valueData := "4D")
  5.  
  6.         'Call Method Dsplit
  7.         OffsetLocator.Methods.DSplit(filepath := "D:\test.exe", dirpath := "D:\dsplit", _
  8.                                      offsetStart := 1000, offsetEnd := 63488, blockBytes := 1000)
  9.  
  10.         'Call Method 256 Combination
  11.         OffsetLocator.Methods.C256Combination(filepath := "D:\test.exe",dirpath := "D:\combination",offset := 3400)
  12.  
  13.         'Call Method OffsetReplace
  14.         OffsetLocator.Methods.OffsetReplace(filepath := "D:\test.exe", fileOutput := "D:\test_replace_90.exe", _
  15.                                             offset := 4500, valueData := "90")
  16.  
  17.  

Class file = "Methods.vb"

Código: vb.net
  1. ' ***********************************************************************
  2. ' Assembly         : Demo Offset Locator
  3. ' Author           : fudmario
  4. '
  5. ' Last Modified By : fudmario
  6. ' Last Modified On : 10-23-2016
  7. ' ***********************************************************************
  8. ' <copyright file="Methods.vb" company="DeveloperTeam">
  9. '     Copyright ©  2016
  10. ' </copyright>
  11. ' <summary></summary>
  12. ' ***********************************************************************
  13.  
  14. Imports System.Threading.Tasks
  15. Imports System.IO
  16. Namespace OffsetLocator
  17.     Public NotInheritable Class Methods
  18.         Private Const FormatName As String = "{0}_{1}{2}"
  19.         Public Shared Sub AvFucker(ByVal filePath As String, ByVal dirpath As String, _
  20.                                    ByVal offsetStart As Integer, ByVal offsetEnd As Integer, _
  21.                                    ByVal blockbyte As Integer, ByVal valueData As String)
  22.             Dim fileOutput As String
  23.             Dim ext as String = Path.GetExtension(filepath)
  24.             Dim value As Integer = Convert.ToInt32(value:=valueData, fromBase:=16)
  25.             Dim byteArray As Byte() = Internal_GenBlockBytes(CByte(value), blockbyte)
  26.             Dim res As List(Of Tuple(Of Integer, Integer)) = Internal_StepGenList(offsetStart, offsetEnd, blockbyte)
  27.             Parallel.ForEach(res, Sub(m)
  28.                                       fileOutput = Path.Combine(dirpath, String.Format(FormatName, m.Item1, blockbyte, ext))
  29.                                       If m.Item2 <> 0 Then byteArray = Internal_GenBlockBytes(CByte(value), m.Item2)
  30.                                       Internal_OffsetReplaceB(filePath, fileOutput, m.Item1, byteArray)
  31.                                   End Sub)
  32.         End Sub
  33.         Private Shared Sub Internal_OffsetReplaceB(ByVal filepath As String, ByVal fileOutput As String, Byval offset As Integer, ByVal blockByte As Byte())
  34.             Using fs As New FileStream(path:=filepath, mode:=FileMode.Open, access:=FileAccess.Read)
  35.                 Using fs2 As New FileStream(path:=fileOutput, mode:=FileMode.Create, access:=FileAccess.Write)
  36.                     fs.CopyTo(fs2)
  37.                     fs2.Position = offset
  38.                     fs2.Write(blockByte, 0, blockByte.Length)
  39.                 End Using
  40.             End Using
  41.         End Sub
  42.  
  43.         Public Shared Sub DSplit(ByVal filepath As String, ByVal dirpath As String, ByVal offsetStart As Integer, Byval offsetEnd As Integer,
  44.                           ByVal blockBytes As Integer)
  45.             Dim c As New FileInfo(filepath)
  46.             Dim res As List(Of Tuple(Of Integer, Integer)) = Internal_StepGenList(offsetStart, offsetEnd, blockBytes)
  47.  
  48.             Parallel.ForEach(res, Sub(m)
  49.                                       Dim output As String = Path.Combine(dirpath, String.Format(FormatName, m.item1, blockBytes, c.Extension))
  50.                                       CreateFileWithBytes(filepath:=filepath, fileoutput:=output, length:=m.item1)
  51.                                       If m.Item2 > 0 Then
  52.                                           CreateFileWithBytes(filepath, Path.Combine(dirpath, String.Format(FormatName, offsetEnd, m.Item2, c.Extension)), offsetEnd)
  53.                                       End If
  54.                                   End Sub)
  55.  
  56.         End Sub
  57.  
  58.         Private Shared Sub CreateFileWithBytes(filepath As String, fileoutput As String, length As Integer)
  59.             Dim buffer As Byte() = New Byte(length - 1) {}
  60.             Using fs as New FileStream(path:=filepath, mode:=FileMode.Open, access:=FileAccess.Read)
  61.                 fs.Seek(0, SeekOrigin.Begin)
  62.                 fs.Read(buffer, 0, buffer.Length)
  63.             End Using
  64.             File.WriteAllBytes(fileoutput, buffer)
  65.         End Sub
  66.         Public Shared Sub OffsetReplace(ByVal filepath As String, ByVal fileOutput As String, ByVal offset As Integer, Byval valueData As String)
  67.                 Dim value As Integer = Convert.ToInt32(value:= valueData, fromBase:= 16)
  68.             Internal_OffsetReplaceA(filepath, fileOutput, offset, value)
  69.         End Sub
  70.         Private Shared Sub Internal_OffsetReplaceA(ByVal filepath As String, ByVal fileOutput As String, _
  71.                                                    ByVal offset As Integer, Byval value As Integer)
  72.             Using fs As New FileStream(path:=filepath, mode:=FileMode.Open, access:=FileAccess.Read)
  73.                 Using fs2 As New FileStream(path:=fileOutput, mode:=FileMode.Create, access:=FileAccess.Write)
  74.                     fs.CopyTo(fs2)
  75.                     fs2.Position = offset
  76.                     fs2.WriteByte(value:=CByte(value))
  77.                 End Using
  78.             End Using
  79.         End Sub
  80.         Public Shared Sub C256Combination(ByVal filepath As String, ByVal dirpath As String, ByVal offset As Integer)
  81.             Dim ext As String = Path.GetExtension(filepath)
  82.             Dim value As String
  83.             Dim output As String
  84.             Parallel.For(0, 255, Sub(i)
  85.                                      value = Convert.ToString(value:=i, toBase:=16).ToUpper
  86.                                      If value.Length = 1 Then value = String.Format("0{0}", value)
  87.                                      output = Path.Combine(dirpath, String.Format(FormatName, offset, value, ext))
  88.                                      Internal_OffsetReplaceA(filepath, output, offset, i)
  89.                                  End Sub)
  90.  
  91.  
  92.         End Sub
  93.  
  94.  
  95.         Private Shared Function Internal_GenBlockBytes(ByVal value As Byte, ByVal length As Integer) As Byte()
  96.             Return ParallelEnumerable.Repeat(element:=value, count:=length).ToArray()
  97.         End Function
  98.         Private Shared Function Internal_StepGenList(ByVal startIndex As Integer, ByVal endIndex As Integer, ByVal stepSize As Integer) As List(Of Tuple(Of Integer, Integer))
  99.             Dim c As New List(Of Tuple(Of Integer, Integer))
  100.             For i = startIndex to endIndex Step stepSize
  101.                 Dim k As Integer = endIndex - i
  102.                 If k < stepSize Then
  103.                    ' If k = 0 Then k = 1
  104.                     c.Add(New Tuple(Of Integer, Integer)(item1 := i, item2 := k))
  105.                 Else
  106.                     c.Add(New Tuple(Of Integer, Integer)(item1 := i, item2 := 0))
  107.                 End If
  108.             Next
  109.             return c
  110.         End Function
  111.     End Class
  112. End NameSpace
  113.  

« Última modificación: Octubre 23, 2016, 02:41:04 am por fudmario »


Desconectado Pjoao1578

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
  • Skype: pjoao1578
« Respuesta #1 en: Julio 21, 2018, 04:19:31 pm »
Gracias pro, muy bueno es codigo.  ;)

 

¿Te gustó el post? COMPARTILO!



GhostDoc Enterprise - Build 5.2.16200 | Patcher by fudmario

Iniciado por fudmario

Respuestas: 3
Vistas: 2820
Último mensaje Octubre 09, 2016, 07:27:04 pm
por atheros14
[VB.NET] WifiHelper(Password Dumper) By fudmario

Iniciado por fudmario

Respuestas: 3
Vistas: 2562
Último mensaje Marzo 29, 2017, 05:07:36 pm
por s1sm0x0
[VB.NET] ZoneIdentifier Wrapper by fudmario

Iniciado por fudmario

Respuestas: 0
Vistas: 1400
Último mensaje Diciembre 04, 2016, 05:17:08 pm
por fudmario
[VB.NET] Sendspace Uploader by fudmario

Iniciado por fudmario

Respuestas: 0
Vistas: 1211
Último mensaje Julio 14, 2017, 11:05:51 pm
por fudmario
[VB.NET] WindowsSecurityCenter by fudmario

Iniciado por fudmario

Respuestas: 0
Vistas: 1822
Último mensaje Diciembre 22, 2016, 02:19:20 pm
por fudmario