Resultados 1 a 10 de 10
  1. #1
    Developer C++ jhonhy™'s Avatar


    Data de Ingresso
    Jan 2015
    Posts
    577
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    172
    Thanked in
    20 Posts
    Mencionado
    28 Post(s)
    MEU HUMOR
    Chatty
    País
    Brazil

    Main Unpacked Season 8 Ep.3

    O mesmo não está cracked.

    Versão: 1.05.07

    [Somente membros podem ver os links. ]

    OFFSETS:
    #define ConnectionVersion "2284<" //Original
    #define ConnectionSerial "3Rkb8XjbU2Yjk4jn" //Original

    #define IP_OFFSET 0x0118DB1A
    #define VER_OFFSET 0x0118EF48
    #define SERIAL_OFFSET 0x0118EF50

    #define MUEXE_OFFSET1 0x004D911B
    #define MUEXE_OFFSET2 0x004D9176

    #define RG_OFFSET1 0x004DC3CA
    #define RG_OFFSET2 0x0062D3F6
    #define RG_OFFSET3 0x0062D2DA

    #define CONFIG_INI_READ_OFFSET 0x004D2250

    #define GG_OFFSET1 0x004D9556
    #define GG_OFFSET6 0x004D9513

    #define CMSTARTER_OFFSET1 0x004AB541
    #define CMSTARTER_OFFSET2 0x004AB542

    #define LOGINBOX_OFFSET1 0x0043DF96
    #define LOGINBOX_OFFSET2 0x0043E4CC
    #define LOGINBOX_OFFSET3 0x0043E4D5
    #define LOGINBOX_OFFSET4 0x0043E4DD

    #define PACKETTWISTER1 0x006CCCAA
    #define PACKETTWISTER2 0x0A6FBFD9
    #define PACKETTWISTER3 0x0A702AFA

    #define TITLE_OFFS 0x01000A88

  2. #2
    Fundador PerfectZone Mentor's Avatar


    Data de Ingresso
    Jun 2013
    Posts
    2,850
    Thanks Thanks Given 
    784
    Thanks Thanks Received 
    2,187
    Thanked in
    355 Posts
    Mencionado
    804 Post(s)
    MEU HUMOR
    Twisted
    País
    Brazil
    Show de bola! Eu tinha visto esse main em outro lugar, é uma pena não está craked mais pelo menos já dar para pegar offsets^^
    obrigado por trazer para a PZ
    Perfect Zone Brasil



    Inscreva-se no meu canal clicando [Somente membros podem ver os links. ]

  3. #3
    Developer C++ louis's Avatar



    Data de Ingresso
    Apr 2016
    Posts
    1,681
    Thanks Thanks Given 
    39
    Thanks Thanks Received 
    809
    Thanked in
    67 Posts
    Mencionado
    499 Post(s)
    País
    Brazil
    Depois que me mato pra achar os offsets no main packed você posta isso ?

    obrigado mesmo assim =[

    2 minutes:------- Atualizado -------

    Tem offsets que mesmo unpack são vem difíceis de encontrar, segue os que encontrei:

    //-> Interface
    #define pLoadImage ((int(__cdecl*)(char * Folder, int Code, int Arg3, int Arg4, int Arg5, int Arg6)) 0x00787BE2) //S8 OK
    #define pLoadSomeForm ((void(__cdecl*)()) 0x0078C036) //S8 OK
    #define oLoadSomeForm_Call 0x0078B9CB //S8 OK

    #define pDrawInterface ((void(__cdecl*)()) 0x005AFA46) //S8 OK
    #define oDrawInterface_Call 0x007F3F49 //S8 OK
    #define pDrawGUI ((void(__cdecl*)(DWORD, float, float, float, float)) 0x00799791) //S8 OK
    #define pDrawColorText ((int(__cdecl*)(LPCTSTR Text, int PosX, int PosY, int Color, int Background, int Align, float Width, int Bold)) 0x007FF712) //S8 OK

    #define pGetPosFromAngle ((void(__cdecl*)(VAngle * Angle, int * PosX, int * PosY)) 0x0062F279)
    #define pCursorX *(int*)0x08B156EC
    #define pCursorY *(int*)0x08B156F0
    #define pSetBlend ((void(__cdecl*)(BYTE Mode)) 0x0062F75B)
    #define pGLSwitch ((void(__cdecl*)()) 0x0062F6E1)
    #define pGLSwitchBlend ((void(__cdecl*)()) 0x0062F7F0)
    #define pDrawBarForm ((void(__cdecl*)(float PosX, float PosY, float Width, float Height, float Arg5, int Arg6)) 0x00630F0A)
    #define pDrawImage ((void(__cdecl*)(int ImageID, float PosX, float PosY, float Width, float Height, int Arg6, int Arg7, float ScaleX, float ScaleY, bool ScaleSize, bool ScalePosition, bool ScaleAlpha)) 0x00631289)
    #define pSetCursorFocus *(DWORD*)0x011C4454
    #define pSetTextColor ((void(__thiscall*)(LPVOID This, BYTE r, BYTE g, BYTE b, BYTE h)) 0x0045140C) //S8 OK
    #define pTextThis ((LPVOID(*)()) 0x0045124F) //S8 OK
    #define pDrawText ((int(__thiscall*)(LPVOID This, int PosX, int PosY, LPCTSTR Text, int nCount, int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin)) 0x004514E6) //S8 OK
    Last edited by louis; 11/12/2017 at 11:00 PM.
    Meu canal no YouTube com vídeos sobre os sistemas que desenvolvo:
    [Somente membros podem ver os links. ]

  4. #4
    Membro fabinalves's Avatar
    Data de Ingresso
    Nov 2017
    Posts
    10
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mencionado
    0 Post(s)
    País
    Brazil
    Pessoal, alguém pode me explicar o que são e para que serve esses OFFSETS? e o main unpacked?

  5. #5
    Membro Marco_Aurélio's Avatar
    Data de Ingresso
    Sep 2014
    Posts
    344
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    1
    Thanked in
    1 Post
    Mencionado
    44 Post(s)
    Citação Originally Posted by fabinalves Ver Post
    Pessoal, alguém pode me explicar o que são e para que serve esses OFFSETS? e o main unpacked?
    Então amigo. isso ja parte para area de programação os Offsets são endereços de memoria de cada função do GS, no caso do Main.
    Existe o Main PAcked e Unpacked,
    Packed é um processo que é feito para proteger o main, e assim tornar mais dificiu a vida de quem quer crackear ou adicionar funcões que originalmente não existem nesse main.
    Resumindo Main Packe é o main protegido, e UnPacked é quando é removida essa proteção.

    O OFfsets serve para poder programar funcoes novas ou ate mesmo reescrever uma função que ja existe no main, o programador acha esse offset e Hook ele na source fazendo com que o main passe a ler o que esta na dll criada pelo programador e não no proprio main, desta forma se cria as novas funcoes, assim como corrigir funções originais com erro.
    Tal exemplo é os novos itens e asas, eventos, HPBar por ai vai.

  6. #6
    Design antoniodel's Avatar


    Data de Ingresso
    Aug 2015
    Posts
    332
    Thanks Thanks Given 
    44
    Thanks Thanks Received 
    15
    Thanked in
    10 Posts
    Mencionado
    49 Post(s)
    MEU HUMOR
    Relaxed
    País
    Brazil
    Tem como compartilhar esses 3 aqui @[Somente membros podem ver os links. ]Main.cpp SetCompleteHook(0xE8,0x00575F55,&DrawNewHealthBar) ;CustomRankUser.cpp gPreview->ObjSelect(n, pObjPreviewThis); // -> Coletar Informações da ObjPreview DWORD ViewportAddress = *(DWORD*)(0x079B9D40)+(n*0x464); ((void(*)())0x00576E40)();Agradeço de coração
    Last edited by antoniodel; 12/12/2017 at 11:43 PM.

  7. #7
    Membro fabinalves's Avatar
    Data de Ingresso
    Nov 2017
    Posts
    10
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mencionado
    0 Post(s)
    País
    Brazil
    Citação Originally Posted by Marco_Aurélio Ver Post
    Então amigo. isso ja parte para area de programação os Offsets são endereços de memoria de cada função do GS, no caso do Main.
    Existe o Main PAcked e Unpacked,
    Packed é um processo que é feito para proteger o main, e assim tornar mais dificiu a vida de quem quer crackear ou adicionar funcões que originalmente não existem nesse main.
    Resumindo Main Packe é o main protegido, e UnPacked é quando é removida essa proteção.

    O OFfsets serve para poder programar funcoes novas ou ate mesmo reescrever uma função que ja existe no main, o programador acha esse offset e Hook ele na source fazendo com que o main passe a ler o que esta na dll criada pelo programador e não no proprio main, desta forma se cria as novas funcoes, assim como corrigir funções originais com erro.
    Tal exemplo é os novos itens e asas, eventos, HPBar por ai vai.
    Perfeito mano, então é com os offsets que os programadores conseguem fazer o lado do servidor? tipo os emuladores. Isso deve da um trabalho, por isso os caras da xteam cobra caro nos servidores. vlw mano
    Last edited by fabinalves; 13/12/2017 at 12:11 AM.

  8. #8
    Membro Marco_Aurélio's Avatar
    Data de Ingresso
    Sep 2014
    Posts
    344
    Thanks Thanks Given 
    1
    Thanks Thanks Received 
    1
    Thanked in
    1 Post
    Mencionado
    44 Post(s)
    Citação Originally Posted by fabinalves Ver Post
    Perfeito mano, então é com os offsets que os programadores conseguem fazer o lado do servidor? tipo os emuladores. Isso deve da um trabalho, por isso os caras da xteam cobra caro nos servidores. vlw mano
    NÃO. Emulador amigo é por exemplo o GAMESERVER completo, que ele mesmo escreveu, o offsets é usado para injetar um codigo dentro de um GS ou MAIN ja criado Geralmente os originais da WebZen.

    Voce pode ver que tem muitos programadores, que não gerar um novo GS e sim uma DLL, quando se programa em DLL ai se usa o offsets em tudo, pois esta injetando uma funcao que não existe naquele executavel que ja foi criado.
    o Emulador nada mais é que o codigo do Executavel em si, não necessita de dll, e nem offsets
    porem no caso so MAIN sempre irá precisar de offsets, pois ainda não vazou na net o codigo fonte dele.
    Last edited by Marco_Aurélio; 13/12/2017 at 03:49 PM.

  9. #9
    Membro fabinalves's Avatar
    Data de Ingresso
    Nov 2017
    Posts
    10
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mencionado
    0 Post(s)
    País
    Brazil
    Obrigado novamente pela resposta, me esclareceu bastante coisa. Se não for incomodar queria tirar mais uma duvida.


    Eu comecei a estudar C++ por alguns motivos e tambem pra tentar entender um pouco a source da xteam/muemu.


    Então, minha duvida é a seguinte. Eu vi que quando um gm usa o comando /gmpost, tem uma função que faz duas verificações, a primeira é se o comando ta ativado e a segunda se o user é gm, ate aqui tudo bem, minha duvida é essa parte aqui.


    gNotice.GCNoticeSendToAll(0,0,0,0,0,0,"[%s] %s",lpObj->Name,arg);


    Eu queria entender como é feita a comunicação do gameserver com o cliente, pra poder mostrar aquela mensagem no meio da tela do jogo.


    Eu vi que esse argumento "[%s] %s" é o nick e a mensagem que o gm digitou, mas como falei antes minha duvida é como é feita a comunicação entre o gameserver e o cliente.


    Eu sei que pode ser uma pergunta noob, mas sou iniciante e queria mesmo só uma teoria pra tentar entender.

  10. #10
    Developer C++ jhonhy™'s Avatar


    Data de Ingresso
    Jan 2015
    Posts
    577
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    172
    Thanked in
    20 Posts
    Mencionado
    28 Post(s)
    MEU HUMOR
    Chatty
    País
    Brazil
    A comunicação do gs com o client é pelo protocolo.

    No gNotice.GCNoticeSendToAll(0,0,0,0,0,0,"[%s] %s",lpObj->Name,arg);

    Cada 0, tem sua especificação no GCNoticeSendToAll.

    Basta seguir a sequencia dos 0: GCNoticeSendToAll(BYTE type,BYTE count,BYTE opacity,WORD delay,DWORD color,BYTE speed

    Do jeito que está o Type, que seria o primeiro 0 = (0,0,0,0,0,0, em vermelho, já está a noticia no meio da tela. Se por 1 no Type ou seja, no primeiro 0, vai falar no canto da tela a esquerda <-

    Abraços;

    []'s

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • You may not post Resposta(s)
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •  
Sobre nós
Somos uma comunidade em atividade a 8 anos que aborda assuntos relacionados a games em geral, principalmente games MMORPG. e que busca sempre ajudar os membros através de conteúdos, tutoriais e suporte...
Nossos anunciantes
Hinetworks
VelozHost
InovHost
Rede Sociais