Ir para conteúdo

Sound System [Injection]


caotic

Posts Recomendados

Eae galera xtibiana hoje irei disponbilizar um novo sistema de audio.

Ou melhor 2 sistemas de audios rs acho que alguns viram o sistema de som AFL que disponiblizei para o xtibia.

Mais ele erá muito limitado e alem de alguns bugs.

 

Então eu comecei um projeto pokemon(que ainda está em pé) e a primeira coisa que veio na cabeça e um sistema de som completo que não travesse e que funcione no client da cipsoft.

Então vamos la:

Vamos escolher qual sistema de som vamos usar primeiramente vou explicar cada ponto:

 

 


Dll Audio - A dll e compacta e super eficiente mais tem uma instalação um pouco mais dificil e requer conhecimento

*Junto vem um dll com o ip(127.0.0.1) mais não se preocupe coloquei o projeto do Visual C++ para você mudar o ip e recompilar.

 

Ela está disponivel aki:

Audio Dll+Project VC++.rar

 

 


 

Prontinho agora vamos a instalação:

 

Primeiro execute o server de audio junto ao seu otserv:

Server Audio Dll or Vb Form.rar

 

Instale a blibioteca lua socket no seu otserv:

http://w3.impa.br/~diego/software/luasocket/

 

 


 

Agora coloque está funcão na sua lib:

function sendAudio(cid, audio)require('socket') local ip = "127.0.0.1" -- Seu ip Akilocal client = socket.connect(ip, 1234)local t = "Send,"..doConvertIntegerToIp(getPlayerIp(cid))..","..audio..""    client:send(t.."\n")    client:settimeout(0.1)client:close()end

Pronto quando quiser executar um som basta usar a função sendAudio(cid, "id audio")

 

Se tiver usando a dll todos o sons devem ser guardados junto a ela.

 

Todos os formatos de audio devem ser ".wav" e todos precisam ser enumerados de 000 a 999 se não seguir tal regra terá varios problemas.

 

Agora vou passar um codigo em vb que fiz para você injentar a dll antes que o seu client inicie:

E NECESSARIO EXECUTAR DENTRO DE UM THEARED QUANDO FOR FAZER O SEU LAUNCHER.

 

 

 



Imports System.Threading Public Class PBO    Private trd As Thread     Private TargetProcessHandle As Integer    Private pfnStartAddr As Integer    Private pszLibFileRemote As String    Private TargetBufferSize As Integer     Public Const PROCESS_VM_READ = &H10    Public Const TH32CS_SNAPPROCESS = &H2    Public Const MEM_COMMIT = 4096    Public Const PAGE_READWRITE = 4    Public Const PROCESS_CREATE_THREAD = (&H2)    Public Const PROCESS_VM_OPERATION = (&H8)    Public Const PROCESS_VM_WRITE = (&H20)     Public Declare Function ReadProcessMemory Lib "kernel32" ( _    ByVal hProcess As Integer, _    ByVal lpBaseAddress As Integer, _    ByVal lpBuffer As String, _    ByVal nSize As Integer, _    ByRef lpNumberOfBytesWritten As Integer) As Integer     Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" ( _    ByVal lpLibFileName As String) As Integer     Public Declare Function VirtualAllocEx Lib "kernel32" ( _    ByVal hProcess As Integer, _    ByVal lpAddress As Integer, _    ByVal dwSize As Integer, _    ByVal flAllocationType As Integer, _    ByVal flProtect As Integer) As Integer     Public Declare Function WriteProcessMemory Lib "kernel32" ( _    ByVal hProcess As Integer, _    ByVal lpBaseAddress As Integer, _    ByVal lpBuffer As String, _    ByVal nSize As Integer, _    ByRef lpNumberOfBytesWritten As Integer) As Integer     Public Declare Function GetProcAddress Lib "kernel32" ( _    ByVal hModule As Integer, ByVal lpProcName As String) As Integer     Private Declare Function GetModuleHandle Lib "Kernel32" Alias "GetModuleHandleA" ( _    ByVal lpModuleName As String) As Integer     Public Declare Function CreateRemoteThread Lib "kernel32" ( _    ByVal hProcess As Integer, _    ByVal lpThreadAttributes As Integer, _    ByVal dwStackSize As Integer, _    ByVal lpStartAddress As Integer, _    ByVal lpParameter As Integer, _    ByVal dwCreationFlags As Integer, _    ByRef lpThreadId As Integer) As Integer     Public Declare Function OpenProcess Lib "kernel32" ( _    ByVal dwDesiredAccess As Integer, _    ByVal bInheritHandle As Integer, _    ByVal dwProcessId As Integer) As Integer     Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _    ByVal lpClassName As String, _    ByVal lpWindowName As String) As Integer     Private Declare Function CloseHandle Lib "kernel32" Alias "CloseHandleA" ( _    ByVal hObject As Integer) As Integer      Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)     Private Sub Inject()        Dim client As String = Application.StartupPath + "\dll\client.exe"        If Not System.IO.File.Exists(client) Then            MsgBox("ERROR! Verifique se a os arquivos (data) estão todos presentes se não baixe o launcher denovo" + vbNewLine + "Error de caminho")        End If        Dim x = Shell(client)        While True            If x Then                Exit While            End If        End While         On Error GoTo 1 ' If error occurs, app will close without any error messages        Dim caminho As String = Application.StartupPath + "\dll\dllPBO.dll"        TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, x)        pszLibFileRemote = caminho        pfnStartAddr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")        TargetBufferSize = 1 + Len(pszLibFileRemote)        Dim Rtn As Integer        Dim LoadLibParamAdr As Integer        LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)        Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)        CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)        CloseHandle(TargetProcessHandle)1:      Application.Exit()    End Sub 

 

Audio Dll+Project VC++.rar

Server Audio Dll or Vb Form.rar

Editado por Drazyn
Link para o comentário
Compartilhar em outros sites

  • 4 months later...
  • 1 year later...
  • 8 months later...
  • 3 months later...
×
×
  • Criar Novo...