Jump to content

O Retorno dos Membros VIP Junte-se ao Clube

Obtenha destaque e desfrute os benefícios exclusivos para VIP.
Clique Aqui

Reporte bugs e nos ajude a melhorar!

Nos ajude a descobrir bugs! Além de melhorar a comunidade.
Reporte aqui!

Conheça a Lotérica e arrisque sua sorte!

Descubra o quão sortudo você pode ser.
Saiba mais
Notícia
  • Junte-se ao Clube de membros VIP!
  • Teste sua sorte em nossa loteria e concorra a uma fortuna de webcoins!
Sign in to follow this  
definestate

Bypass MuSpecial - MuHackProtection

Recommended Posts

Discord para dúvidas! Não ligo para MU e nem sei como joga!

Introdução

Estou trazendo um bypass que escrevi para o MuSpecial ( que usa MuHackProtection ).
"Nota: O bypass não é para o MuHackProtection e sim para o MuSpecial"

 

É um bypass external e usermode, já que o anticheat é usermode!

Informações

String Stack

//MHPClient.dll
//Aqui fica onde eles montam as strings para o SPLASH SCREEN quando da hack detected!
5B29AB20                       | 8A88 F02E2A5B              | MOV CL,BYTE PTR DS:[EAX+5B2A2EF0]              |
5B29AB26                       | 80E9 1B                    | SUB CL,1B                                      |
5B29AB29                       | 80F1 0C                    | XOR CL,C                                       |
5B29AB2C                       | 8888 60502B5B              | MOV BYTE PTR DS:[EAX+5B2B5060],CL              | eax+5B2B5060:"5EB0DC5E-B9B991A5-C218FC1B-D30FE8BE"
5B29AB32                       | 40                         | INC EAX                                        |
5B29AB33                       | 3D 00010000                | CMP EAX,100                                    |
5B29AB38                       | 72 E6                      | JB mhpclient.5B29AB20                          |
5B29AB3A                       | 8B55 0C                    | MOV EDX,DWORD PTR SS:[EBP+C]                   | [ebp+C]:"Suspected executions were found"
5B29AB3D                       | 8B45 08                    | MOV EAX,DWORD PTR SS:[EBP+8]                   |
5B29AB40                       | 52                         | PUSH EDX                                       |
5B29AB41                       | 6A 01                      | PUSH 1                                         |
5B29AB43                       | 50                         | PUSH EAX                                       |
5B29AB44                       | 68 60502B5B                | PUSH mhpclient.5B2B5060                        | 5B2B5060:"[SplashScreen] SplashType: %d, TextSwitch: %d, DisplayText: %s"
5B29AB49                       | 6A 00                      | PUSH 0                                         |
5B29AB4B                       | B9 40A42A5B                | MOV ECX,mhpclient.5B2AA440                     | 5B2AA440:&"pP)[,@*[ T)[SOFTWARE\\Webzen\\Mu\\Config"
5B29AB50                       | E8 BBA6FFFF                | CALL mhpclient.5B295210                        |

TerminateProcess

//MHPClient.dll
//Aqui é onde ocorre a call da TerminateProcess logo depois do splash screen!
//Eles não fazem a chamada diretamente, no caso ESI contém o endereço da TerminateProcess
5B29A713                       | 8B35 D8F0295B              | MOV ESI,DWORD PTR DS:[<&TerminateProcess>]     |
5B29A719                       | 8B3D D0F0295B              | MOV EDI,DWORD PTR DS:[<&GetCurrentProcess>]    |
5B29A71F                       | 90                         | NOP                                            |
5B29A720                       | 6A 00                      | PUSH 0                                         |
5B29A722                       | FFD7                       | CALL EDI                                       |
5B29A724                       | 50                         | PUSH EAX                                       |
5B29A725                       | FFD6                       | CALL ESI                                       |
5B29A727                       | FF25 00000000              | JMP DWORD PTR DS:[0]                           |
5B29A72D                       | EB F1                      | JMP mhpclient.5B29A720                         |
5B29A72F                       | CC                         | INT3                                           |

6yt09_jxS8qlnjz3uyk4sg.png

Load MHPClient.dll ( CRC Error )

//Main.dll
//Aqui é onde ocorre a call para LoadLibraryA e depois um check se foi carregada
//Eu só adicionei um jmp na condição e pronto ( não tem heartbeat até o momento em que foi colocado o bypass em meu github a 10 dias )
5A8E27BE                       | 53                         | PUSH EBX                                       | ebx:"MHPClient.dll"
5A8E27BF                       | FF15 44808E5A              | CALL DWORD PTR DS:[<&LoadLibraryA>]            |
5A8E27C5                       | 85C0                       | TEST EAX,EAX                                   |
5A8E27C7                       | 75 1B                      | JNE main.5A8E27E4                              |
5A8E27C9                       | 6A 10                      | PUSH 10                                        |
5A8E27CB                       | 68 389C8E5A                | PUSH main.5A8E9C38                             | 5A8E9C38:"Error"
5A8E27D0                       | 68 3C9E8E5A                | PUSH main.5A8E9E3C                             | 5A8E9E3C:"Plugin load error!"
5A8E27D5                       | 50                         | PUSH EAX                                       |
5A8E27D6                       | FF15 A8818E5A              | CALL DWORD PTR DS:[<&MessageBoxA>]             |
5A8E27DC                       | 6A 00                      | PUSH 0                                         |
5A8E27DE                       | FF15 24808E5A              | CALL DWORD PTR DS:[<&ExitProcess>]             |
5A8E27E4                       | 68 509E8E5A                | PUSH main.5A8E9E50                             | 5A8E9E50:"EntryProc"

fx1b5AozQOiPHFPNNPWYxw.png

Bom foi isso que eu peguei, eu dei "bypass" no TerminateProcess por primeiro, em seguida vi que não tinha heartbeat então fui procurar onde ele era carregado.

Github

https://github.com/thedefine/MuSpecial-Bypass

Discord

Define#5696

iPower pela ajuda de sempre..

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
Posted (edited)
4 horas atrás, Braata disse:

Boaaa @definestate

vou testar ja o bypass, vou ate dar star no git

É possível que não funcione já que eu fiz usando rva e se foi inserido 1 byte de código ou removido na main.dll em uma att não irá funcionar. É ideal você adicionar um find pattern.

Edited by definestate
  • Like 1

Share this post


Link to post
Share on other sites

Boa mano, o engraçado é em saber que já possui a source desse anti cheat após o dono do mesmo me passar para eu tentar criar um sistema para não efetuarem bypass nele ou deixar mais difícil kkk e olha só, um bypass


BUMBLE BEE

Share this post


Link to post
Share on other sites
5 horas atrás, MarshallScript disse:

Boa mano, o engraçado é em saber que já possui a source desse anti cheat após o dono do mesmo me passar para eu tentar criar um sistema para não efetuarem bypass nele ou deixar mais difícil kkk e olha só, um bypass

Quer uma dica?

Faça comunicação com o módulo do anti cheat, uma vez que "seu" AC é usermode eu só precisei evitar que o módulo fosse carregado.

Usar packers ou protetores como upx, unopix, themida vai ajudar bastante seus módulos, mesmo sendo proteções simples ( themida é chato de dar unpack )... pode talvez até colocar um vm protect....

 

O anti debugger desse AC é legal, não cheguei a ver mas provavelmente é tratado a PEB?

Peb-struct-extract-beingdebugged.png

Share this post


Link to post
Share on other sites
35 minutos atrás, definestate disse:

Quer uma dica?

Faça comunicação com o módulo do anti cheat, uma vez que "seu" AC é usermode eu só precisei evitar que o módulo fosse carregado.

Usar packers ou protetores como upx, unopix, themida vai ajudar bastante seus módulos, mesmo sendo proteções simples ( themida é chato de dar unpack )... pode talvez até colocar um vm protect....

 

O anti debugger desse AC é legal, não cheguei a ver mas provavelmente é tratado a PEB?

Themida até que é bom, mas ele as vezes corrompe o arquivo, acho que o melhor seria o VM Protect mesmo, sim, se não me engano ele usa PEB, eu não cheguei a mexer muito no anti cheat, mas ele ainda tem um sistema de "stream" da tela do jogador, ele tira alguns prints da tela para verificar o que está rodando no PC do usuário, mas valeu pela dica, será bem acanhada e vejo se informo ao dono do AC


BUMBLE BEE

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...