qqshutup 29 Posted January 13 (edited) Muitos usam "DIP Engine - Mid function hook " como maneira de renderizar o chams sem usar strides. Mas vai renderizar algumas minas, turrets, hornets etc, junto. Outros fazem hook na DIP do DX e verificam o return address para não usar strides. Mas vai renderizar algumas minas, turrets, hornets etc, junto. Uma alternativa perfeita é você dar backtrace na função, algo que nunca foi feito. Usavam mid function hook em tudo, e isso polui e deixa difícil de ler. Basicamente o local onde vocês fazem o DIP Engine - Mid function hook é na função: Hidden Content Give reaction or reply to this topic to see the hidden content. Só se olhar os argumentos não tem nada para distinguir um objeto então ela ainda não é responsável por renderizar especificamente o personagem, ela já recebe as informações do objeto a ser renderizado, então aqui vai entrar turrets etc.. Dando backtrace mais um pouco a função que chama ela é a seguinte: Hidden Content Give reaction or reply to this topic to see the hidden content. Agora sim temos um argumento interessante: ModelInstance *instance Para quem não sabe, ModelInstance é a classe que guarda informações de um objeto. Informações como: Hidden Content Give reaction or reply to this topic to see the hidden content. Então aqui entra um ponto chave, algumas classes tem um membro do tipo ModelInstance* que guarda esse tipo de informação e uma delas é o character_fx, vamos usar dela para criar o wallhack / chams perfeito, tal como engine chams. Vamos criar dois helpers para ficar melhor. A função find procura em um vetor ( utilizando std::find ) um valor e retorna true caso tenha encontrado. A função insert chama a find para verificar se o valor já está dentro do vetor, caso não, então insere. Hidden Content Give reaction or reply to this topic to see the hidden content. Faça a hook na função, use MinHook é extremamente bom. Hidden Content Give reaction or reply to this topic to see the hidden content. E assim temos o wallhack/chams perfeito. Antes que eu esqueça, para encontrar essa função é simples: IDA -> Strings -> "BoneCount" -> xrefs ( É usado somente nessa função ) Ou caso preferir: Hidden Content Give reaction or reply to this topic to see the hidden content. Outra maneira: Encontre a vtable da CD3DSkelMesh A quarta função é a que procura. Créditos qqshutup#9762 Edited Saturday at 03:18 AM by qqshutup 1 Share this post Link to post Share on other sites