Fala aí pessoal Iran Macedo Hoje a gente vai falar de novo né sobre detecção de emulador né ou seja pentechent de mobile tá e a gente vai falar um pouco mais sobre como a gente consegue vai passar aí uma proteção de emulador só que hoje a gente vai um pouco mais a fundo a gente vai ver aí Alguma questão aí de arquitetura né um assunto bem bem bem bem superficial de arquitetura de dispositivo Android vamos depois na linha do código mesmo né no código do aplicativo do app a gente vai olhar lá onde tá a proteção que que bloqueia o emulador e nós vamos entender o que tá escrito ali o que o que é que ela aquela aquelas linhas fazem e como burlar aquela linha como que a gente vai bolar isso a gente vai gerar um script né em Java e a gente vai executar através do Frida então assunto hoje é bem bacana aí pô já se puder já dá o like deixa o like e nunca peço ao like eu nunca peço like né Pô então deixa o likezinho aí o assunto é bacana cara vamos lá a gente vai usar aqui o under Gold tá vamos continuar com o gold um software feito né um aplicativo feito para teste de pentech mesmo de mobile tá eu tô rodando aqui por trás desse caso desse cara aqui eu tô rodando um gene motion um aplicativo uma plataforma Gene motion e nessa janela Emotion eu tô rodando um dispositivo emulado né emulador com o Android 8 api 26 tá que é esse cara aqui sinésus Nexus 4 aqui tá E esse cara aqui ele tem né tô rodando um aplicativo Digamos que quando eu vou rodar um aplicativo um aplicativo um aplicativo de banco um aplicativo de e-commerce né quando eu tento abrir esse aplicativo o que que ele faz por questão de segurança ele verifica se se o dispositivo é um emulador né é uma máquina virtual e por questão de segurança ele não deixa Abrir né então ele checa verifica e fala Olha isso é um dispositivo é um dispositivo emulado é uma máquina virtual e infelizmente não podemos abrir por questões de seguranças etc etc então eu vou dar aqui um exemplo para vocês tem aqui o Emulator detector detection clica nele quando clica nesse botãozinho ó ele vem aqui e fala ó Isso é um emulador no vídeo anterior eu mostrei como a gente faz o bypass desse item aí com dois outros duas outras plataformas tá o mesmo e o nox né pelo memo e pelo nox esse cara aqui esse cheque não funciona E aí eu expliquei um pouquinho porque que não funciona se você não viu outro vídeo aí o vídeo anterior dá uma olhada é a parte 1 desse Emulator detection tá by Só que lá eu só mostro três plataformas onde duas passam batido e uma bloqueada por que que as duas passam batido tá explicado lá não vai falar de novo não aqui a gente vai tentar agora burlar esse cara porque naquele vídeo Eu não burlei eu falei olha aqui tá bloqueando tem uma checagens aí eu não expliquei direito porque porque o assunto nem era muito ir a fundo naquele vídeo agora é Beleza então vamos lá vou fechar esse cara aqui por exemplo deixa ele aqui deixa ele aberto aqui o que que eu vou onde a gente vai começar a gente vai começar na base a base do entendimento tá porque que o emulador Por que que o aplicativo não pode rodar no emulador por questão de segurança tá quando hacker para gente que faz penteche e pro Hacker que tá atacando de verdade a aplicação é muito mais cômodo e muito mais rápido muito mais fácil eu fazer todos todas as minhas técnicas aplicar todas as minhas técnicas através de máquina virtual porque porque eu posso subir várias marcas máquinas virtuais vários emuladores com Android 5 7 9 6 8 12 tanto faz é muito fácil criar máquinas virtuais e trabalhando no computador né aqui é muito mais fácil e tal se eu for fazer isso no dispositivo físico numa parede celular e não vou ter tantos aparelhos assim eu posso ter três quatro aparelhos né com Android diferente mas cara não vou ter toda a possibilidade de toda a Gama que eu tenho no emulador tá E no emulador é muito rápido né você clica ali e a sobe já tá emulado tem um botãozinho ali que você ativa o root desativa o root tem todo umas configurações que no físico não dá tá para fazer é mais difícil às vezes dá para fazer mais difícil tipo Rute tá um dispositivo físico é muito complicado é um pouco mais complicado demora mais se você tem que fazer todo o processo instalar o aplicativo que faz isso às vezes dá uma complicação não não dá certo você perde celular quer dizer tem várias coisas aí então onde de onde eu tirei esses lance do Ah porque que não pode rodar no emulador porque quer faz parte da segurança Não rodar um aplicativo de emulador isso não utiliza da minha cabeça tá isso tá aqui novo então se eu botar aqui ó mais vezes o que que é o mais o mais é um Framework tá aqui ó é um padrão de verificação né vamos traduzir aqui o mais de vez aqui mobile eu aplification standar então padrão de verificação de segurança para aplicação mobile Tá e isso é dar o ASP então isso tem a chancela tem a marca eu acho que beleza se não for tirar da minha cabeça isso aqui tem um padrão frameworkzinho tem uma tem uma documentação tudo entendimento dizendo Quais as os padrões esperados para o aplicativo mobile está Seguro ou não está Seguro tá E é onde eu vejo esses controles né aqui tá falando aqui sobre o que que é e Aqui é do lado tem controls tá então clica aqui e eu tenho 8 capítulos né do v1 ao V8 tá v1 ao V8 v1 arquitetura V2 histórias V3 criptograph v4 Station e fechation manigements V6 plataforma pinterestion v7 Cold qualityns e V8 resiliência paguements Então cara cada item desse tem uma coisinha tá no arquitetura tem uma tem várias coisinhas várias computadores de segurança Então isso é tudo controle é 1.1.2 1.3 são todos os controles de segurança por exemplo todos os componentes positivos são identificados e conhecidos por serem necessários né então são vários Vários vários coisinhas aqui vamos aqui no authenticgation para você entender um pouquinho que nós tem queixa fica mais fácil por exemplo no authentication v4 o 4.5 é o uma política de senha existe e é forçada remoto já ela é obrigatória reforçada de ponte remota Então tudo teus aplicativo Tá seguro Tem que atender isso aqui e não somente essa aqui todas elas todos os requisitos de todos os capítulos se você atende todos os requisitos de todos os capítulos você tem um aplicativo seguro e aí você tem os níveis né Tem um L1 e L2 aqui lá em cima ele explica um pouquinho então tu tem que ter esse documento cabo a rabo o L1 é para o aplicativo né que precisam de alguma de alguma certa segurança o L2 se eu não me engano precisa ser um aplicativo que precisam de mais segurança tipo aplicativo de banco que mexe com grana então a gente tem itens que um cara precisa atender e um outro aplicativo que talvez não precise né Às vezes o aplicativo aqui por exemplo tem itens aqui que só L2 atende ou precisa atender o L1 não então se o teu aplicativo é um L1 nível 1 ele não precisa atender esses caras aqui tá mas se for leve leva dois um nível dois ele precisa atender esses caras todos aqui Tá bom então tem a questão do nível e a questão dos requisitos Então tem que saber qual o aplicativo que tá usando geralmente aplicativo de banco mexe com grana assim é nível 2 tá aonde tem isso essa questão de nível e tal tem que ver aqui no documento galera eu não sei muito bem aonde tá mas em algum momento aqui ó mais de define dois dois níveis de verificação de segurança o nível 1 é nenhum nível dois L2 tá E aí ele fala aqui nível 1 contém requerimentos de seguranças genéricos que são recomendados para todos os aplicativos mobile enquanto o nível 2 deve ser aplicados em aplicativos com dados exatamente sensíveis tá então o nível 2 o buraco é mais embaixo digamos assim tá então o nível 1 são para todos ali todos os recomendados e o nível 2 é o bicho pega mesmo tá entenda tem um R aqui que cobre controle de protectivos que protetivos adicionais esse R nunca vi então é bom dar uma lida dá a entender o que que é isso aqui nível 1 nível 2 tá a gente não vai chegar nesse ponto não até citei Não era nem para citar vamos voltar para o controle a gente está falando sobre emulador o evento falou sobre emulador que não pode rodar questão de segurança não pode rodar Aonde está escrito isso tá aqui ó em resiliência tá resiliência Então quando você clica aqui em residência aqui tem toda a explicação do que que é esse esse capítulo Tá o que que ele atende e tem os itens de resiliência por exemplo detectar se tá rodando root você tá rodando rotado detectar se tá rodando emulador então aqui a primeira coisa aqui ó resiliência 8 Capítulo 8.1 requisito 1 o aplicativo detecta e responde na presença de um dispositivo rutado ou de Broken né que é o Android IOS também alertando ao usuário ou terminando o aplicativo Então se tá com gel Break ou está com rotado ele tem que avisar o usuário e fechar o aplicativo tá para mim aqui tem que ser alertar o usuário e fechar e não ou fechar né você vai fechar aplicativo sem avisar para o usuário não é legal e os experience não fica legal ali a experiência do usuário tá então isso aqui eu não tô te dando da cabeça não isso aí existe uma documentação cara e eu acho né é referência quando a gente fala de segurança tá aqui embaixo no cinco oito.5 Capítulo 8 requisito 5 tá falando que o aplicativo detecta e responde quando rodando em emulador Então se o teu aplicativo isso aqui no nível aqui no R tá então Ó o r é aquele que a gente viu lá em cima lá nível um nível dois esse aqui é o r que são adicionais tá o nível 1 nível 2 quer dizer que os caras são obrigatórios ou adicionais é uma segurança a mais Então são camadas a mais de segurança precisa rodar tem que rodar se o cara nível 1 ele tem que rodar o nível 1 se o cara for nível 2 tem que rodar nível 1 nível 2 se ele for nível 2 e quiser colocar os requisitos ali do valor de R beleza é uma camada mais pode eu posso rodar o nível nível 2 através do emulador pode vou ser eu vou receber um não conformidade né eu vou estar com meu aplicativo vai estar não conforme inseguro depende muito de quem julga depende muito quem avalia o seu aplicativo entendeu se é um aplicativo de banco e tem uma entidade avaliadora por trás disso ela vai falar olha eu tenho um livro tem que ser ali um ali dois e r ela que vai definir isso não sou eu não vai ser você não vai ser sua empresa vai ser quem está avaliando a sua o seu aplicativo tá então Depende muito do selo de qualidade que você quer levar quem dá o selo de qualidade é quem tá avaliando quem o avaliador que vai definir aos requisitos que você tem que atender aqui no caso de aplicativo e segurança e aplicativos L1 L2 e a camada R ali né o nível R que é o adicional tá então 5 aqui fala isso o dispositivo detecta Responde se estiver rodando em um emulador então se você se o teu dispositivo detecta e responde quando eu roda no emulador diz olha você está rodando no emulador Olha isso aqui ok então quer dizer que isso aqui ó Tá ok ele recebeu ele recebeu um verdinho lá um checkzinho verdinho tá agora se eu clicar aqui e ele falar olha isso não é umulador e reabrir e rodar o aplicativo e é um emulador você recebe do nada com um não conformidade ali eu não conforme recebe um vermelhinho um x vermelho Beleza então cara entendido o que que é por que que o emulador é importante você verificar ou não uma camada Extra é uma camada de sinal de segurança não tirei da minha cabeça não são vozes na minha cabeça isso aqui tem uma documentação da Washington dizendo isso eu vou fazer um capítulo só de documentação mais para frente mas é basicamente isso aqui é bem isso aqui tá a gente vai falar também do mais difícil a gente lá do mst-g que que o mst-g é um padrão de teste tá então a gente vai falar sobre o ms TG sobre mais sobre mais o mas o silo Mazza tem algumas coisinhas para a gente falar isso sobre documentação geralmente são aulas mais chatas que são muito teóricas né são totalmente teóricas Então são aulas mais chatas mas faz parte beleza OK finalizado esse assunto agora a gente vai quebrar o aplicativo tá então a gente viu que quando eu clico aqui ele fala que é o emulador se eu clicar aqui ele vai falar que é emulador se eu rodar em outros carinhas aí fala que não é emulador mas aqui ele fala que é emulador porque porque tem uma checagem aqui e o gene Emotion não quebra isso sozinho o gene motion não tem as configurações necessárias que o mesmo tem que o nox tem que o mundo tem para poder quebrar isso sozinho então eu preciso quebrar isso de alguma forma acho eu fechei Esqueci Esqueci de falar rapaz não calma tem outra coisa rapidão aqui ó interessantíssimo a gente eu vou apresentar isso para vocês no mais difícil quando a gente está falando sobre imagens e controles ali de segurança lá embaixo eu tenho uma documentação uma referência de documentação que é o Gui o guia da ASP né o github da wasp quando a gente fala somente testando a resiliência contra engenharia reversa tá E esse cara aqui é muito importante cara vai entender como uma coisa funciona na última no último vídeo eu falei que para ele entender se é um emulador ou não ele vê algumas coisas a nível de Android né ele vai no sistema operacional e ver ah você tem um e-mail aí você tem um número de um chip você tem um chip você tem um operadora você tem um fabricante ele vai pegando essas informações eu falei eu não tenho certeza o que que esse aplicativo Esse aplicativo aqui que é o a Gold tá checando Mas é isso que ele faz é isso que geralmente o anti-imulador faz o emulador detection faz tá ele vai lá no aplicativo e pega vai lá no a nível de sistema operacional de Android e pega informações do dispositivo tá então para saber se é físico e emulado e aqui embaixo quando a gente abre esse carinha aqui ele fala um pouquinho mais a fundo ainda sobre os itens de como funciona a emulação e quando dá um bypass por isso que é importante tem que entender como funciona entendendo como funciona você vai entender como faz o bypass Tá então vamos lá ó vamos o primeiro aqui é o de Rute é o Anti Rute tá então o Ruth detection ou anti Rute então a gente viu que o resiliense 5 eu dei emulador então eu vou jogar lá embaixo porque ele é bem lá embaixo e vou chegar no Residence 5 três quatro e o 5 teste Emulator detection tá então esse cara aqui é importante para a gente nesse capítulo agora nesse nesse nessa aula e aqui que que a gente faz o que que ele fala que no contexto do anti-reverse ou seja estou fazendo uma engenharia reversa né eu tô pegando o código eu tô pegando aplicativo transformando em código entendendo como o código funciona criando script a parte para poder quebrar esse código e sair da proteção da segurança que o aplicativo tem então isso engenharia reversa é uma engenharia de código e eu tô fazendo reverso eu tô pegando o aplicativo e trazendo para o código tá e aqui o objetivo da detecção do emulador quase que não saia da detecção de emulador é aumentar Olha o que eu falei é o nível R é aumentar a dificuldade de rodar o aplicativo né num dispositivo emulado ao qual impede que algumas ferramentas e técnicas de engenharia reversa sejam usadas então assim a ideia aqui é que ele é uma camada mais é aumentar a dificuldade tá aí não mas eu criei isso e deu para fazer um bypass Então você tem que olhar o que que foi feito de bypass foi feito isso aqui como que eu dificulto mais isso tá então você vai ter que criar novas possibilidades Novas checagens Novas verificações isso a nível de código segundo desenvolvimento de o código é seguro novas de verificações para poder não impedir do bypass acontecer tá então você tem que entender que está acontecendo aqui aí explica um pouco mais aqui para a piriri tá é legal você dá uma lida E aí ele fala o seguinte é que tem um exemplo de detecção de emulador Existem muitos indicadores é que o dispositivo em questão está sendo emulado tá então são várias indicadores que você tem no aonde no Android tá o Android que vai trazer isso para você e embora todas as chamadas de api possam ser pegas não pode ser fisgadas podem ser puxadas esses indicadores provém uma linha uma primeira linha modesta de defesa então de novo gente não vai impedir em geral mas são várias camadinhas camadinhas e camadinhas sobrepostas e você vai engrossando essa tua defesa cada camada fina uma em cima da outra você vai engrossando essa defesa tá então isso aqui é mais uma camada de segurança e o primeiro set de indicadores estão no arquivo build pro marca bem isso aqui ó build top beleza ali o Build de construção ali da questão do da arquitetura do dispositivo ou da arquitetura do Android né do sistema operacional e aqui dentro nós temos algumas apis alguns métodos de api eu tenho build AB tem o ab2 que que é isso dá uma lida aí você vai saber tá que a questão de mesmo ali de arquitetura o board que vende placa vem branding que vem da da marca de vai-se dispositivo finger print ali a digital o hardware o host aí de fabricante manifectory fabricante modelo produto Radio serial e usuário e user tá cada item desse aqui lá no sistema lá no Android traz um valor Se eu por exemplo chamar api ele build.abi e ele me trouxer que é um arme abi isso aqui Possivelmente é um emulador tá então tem uma dúvida ali porque geralmente vem os emuladores vem com esse a minha bi Mas pode ser que também um dispositivo físico também venha então por isso que é possivelmente pode ser pode ser ou não pode ser tá então isso aqui você pode você fica ali no meio então todos Possivelmente emuladores Você pode ter casos de dispositivos físicos também tenham esse valor por exemplo aqui no build 2 no Bill de ab2 ele vê como um ano eles conhecido então alguns casos físico pode vir com uma mão então por isso que é possivelmente ou existe uma certa dúvida né agora quando o cara vem aqui por exemplo no board no branding vem com uma no genérico isso cada um emulador de verdade então saiba que sempre vi esse valor daqui genérico goldfish Android teste e outro de valores SDK é bem é bem incomum vida SDK Android no valor no serial desses valores costumam ser o quê emuladores Então por aqui você já começa a melhorar a entender como que a defesa é feita e aí logicamente você pode editar você pode entrar no arquivo build pop e editar esses valores aqui para ser bem diferente por exemplo se o meu é novo e andou é conhecido por ser emulador eu tiro esse ano e bota uma um outro valor então você tem que ir lá no meio de próprio lá no arquivo do sistema e mudar isso isso é um tipo de bypass que você pode fazer então ele fala aqui ó você pode editar o arquivo vídeo próprio no dispositivo rotado ou modificar modificá-lo né compilando a fonte tá então é o que a gente faz lá de repeques é você pegar o pack transformar em código alterar e fazer um novo pack tá bom então aqui são técnicas de você poder burlar e aqui o outro 7 de indicadores estáticos aqui são indicadores estáticos são indicadores do próprio sistema que não dá para mudar eles utilizam o gerenciador do telefone aqui é mais complicado um pouquinho tá para alterar esses valores porque são todos os Androids emuladores do Android possuem valores fixos né que api pode fazer uma busca uma pesquisa tá então aqui já é nível de telefone por exemplo telefone Manager guete vai sair de do dispositivo que às vezes realmente aquele e-mail o Line um Number que a linha do chip ou Network Country que é ali o país né o país da rede do da rede de da operadora o tipo da rede tipo da operadora operadora o Network fone Type tipo do telefone de novo aqui tem um simcaute que é o chip SIM né o cartão o outro sim serial aqui o serial do chip subscribe Então são valores aqui que se vir dessa forma aqui esses valores aqui geralmente esses valores outros valores aqui São só exemplos tá pessoal tem outros valores que podem ser entendidos como emulador ele traz aqui que é emulador ou Possivelmente emulador eu Possivelmente emulador você fica naquela dúvida né bloqueio ou deixa eu passar né então é contigo é com o desenvolvedor é com a empresa que tá tomando esse tipo de decisão E aqui os tipos de bypass então ele fala que qual esse tipo de bypass usando Frida ou exposed e aqui fazendo pack ali o pet de funcionalidade de detecção O que que a gente vai fazer a gente vai usar o freeda hoje tá é importante falar isso aqui vamos usar o Frida para poder fazer esse bypass essa aula vai ficar um pouquinho grandinha porque é bastante assunto mas eu acho que vale a pena então vamos lá bom primeira coisa vou pegar esse esse carinha aqui e vou pegar o apk dele que que é o apk é o é o arquivo né é o executável do aplicativo tá o aplicativo é o app o apk é aquele executável que tá lá no sistema o Android que quando o Android chama ele vai chamar o apk que é esse executável vai ser executado e vai aparecer para você o apk é o arquivo tá é o executável do aplicativo Então vou fechar esse cara aqui vou deixar ele fechado por enquanto como que eu pego o apk Eu uso o adb tá com Frida Então vou mostrar para vocês o adbi Frida onde estou aqui Aqui tem o adb Tá eu já tô com a DB aqui e estou com Frida aqui nesse outro terminal tá como que eu faço então primeiro deixa eu dar um zero aqui Primeira coisa eu vou chamar o Frida PS menos o maiúsculo uai tá para saber quais os aplicativos né que os aplicativos estão ali instalados nesse dispositivo para fazer isso eu preciso rodar primeiro o free da server tá porque se eu rodar aqui ó o ferida assim ele não vai ter esse aqui é o cliente e Opa já tá até rodando está rodando já está rodando esse aqui é o cliente e o cliente conecta no servidor tá então deixa eu ver se tá rodando a devices o dispositivo tá lá quem é o dispositivo aqui quem é esse dispositivo 92168238 102555 é esse cara aqui o 92 168 102 238 102 5555 é o cara do Gene motion ali tá então é ele que eu estou olhando Eu acho que o Freedom tá rodando Então deixa eu ver aqui PS processo greprida não tá rodando então aqui ó até eu nem sabia o freedops ele nem precisa estar com ferida serve rodando tá porque porque olha só que interessante não deu PS aqui eu dei um PS aqui para saber o quê o processo do sistema profissional Linux Android são processos ele é lista de processo aqui eu fiz o Frida PS que é os processos que o Frida pode achar os pacotes instalados no dispositivo tá então é um PS o PS de um lado parece do outro só que uma peça de sistema e outra no PS de pacote de aplicativos tá e quando eu roda esse frio da ps menos U maiúsculo ai eu tenho um cara aqui ó underground e o nome dele é o identificador dele é esse aqui ó é esse carinha aqui o asp.sat.agold eu preciso desse identificador tá Beleza agora aqui no adb eu preciso Opa deixa eu sair no adb eu preciso dar um comando para puxar esse arquivo de dentro da máquina virtual de dentro aqui o caramba de dentro dessa máquina eu preciso tirar dessa máquina aqui desse dessa máquina virtual de simulador e trazer para o meu computador para o meu notebook tá eu faço isso através do adb o comando vai ser adb Shell PM se eu não me engano deixa eu pegar a linha porque eu faço isso de vez em quando e isso para listar eu quero listar os pacotes aqui ó quero digitar o caminho tá é o pf tá então adb Shell pmpf e o nome do carinha então adb Shell PM que que é pm Perfect Manager então é o gerenciador de pacote PF porque eu quero caminho eu quero saber o caminho aonde está esse pacote e o nome do pacote tá então tô chamando adb Shell pack de manager me dá o caminho desse pacote tá E aí quando dou enter ele fala que o packsp.sat a Gold base e APK quase tudo quase todo o aplicativo que você pega no Android e vai estar com o nome bens APK dentro da pasta dele então se eu tenho Facebook vai estar Facebook com ponto facebook/baseapk tá então você só precisa ter uma noção então aqui é a pasta com o nome do o nome do pacote e aqui geralmente Ele termina em base APK tá geralmente o que eu conheço é mais é pecado bom agora que eu sei onde está o Pacote fisicamente a pasta e o nome do pacote o nome do APK dentro desse cara aqui agora tem que puxar ele Para onde Para minha máquina virtual para minha máquina meu notebook tá primeiro notebook da máquina virtual para o notebook como que eu faço isso eu vou jogar na lista de trabalho e vou fazer o uso da adb de novo eu vou dar um adb Shell adb Shell o caminho do pacote que é onde está o Pacote e para onde eu vou salvar eu vou salvar em C dois pontos barra e user/ Irã Macedo barra desktop que aqui na minha lista de trabalho vou dar um enter e possivelmente ele vai aparecer aqui tá beleza então vamos dar uma olhada vamos ver se vai funcionar opa deu erro tá faltando alguma coisa deixa eu ver aqui é o push Ana poxa é pull gente eu errei pera aí é porque eu sempre confundo Poxa Pool o push é quando eu tô jogando da minha máquina para o para máquina virtual para o emulador o pum é quando eu tô puxando tá quando eu tô pegando do emulador push empurrar eu tô jogando pelo emulador puxando eu tô tirando o emulador tá é isso acabei botando esse negócio na frente você não viu aqui ó tá aqui ó tá base é pecado eu vou apagar só para você ver o negócio funcionando tá ó de novo vou dar um enter apareceu aqui tá então ele fala ali o apk pula né um arquivo Pulse então ou seja um arquivo puxado esse aqui é o apk esse aqui é o a Gold que a gente está testando esse carinho que a gente está testando aqui atrás tá esse carinha aqui ou a Gold o Android Gold é esse cara aqui beleza OK para que que eu peguei esse cara agora eu vou fazer a reversa dele a engenharia reversa dele eu vou pegar esse carinha volte ele é um programa ele é executável agora eu vou trazer ele para linha e código tá arquivos e códigos Beleza então como a gente faz isso eu vou usar no meu caso eu uso o jaydex tá já de x Então já tem instalado já de x no meu Windows tá a gente estaria no meu Windows tu pode botar no Linux no Mac e tal e já tô com ele aqui no meu Windows e eu vou chamar o jaydex para fazer o seguinte eu vou trazer os códigos para uma pasta para um local para eu poder ver esse cara então onde está esse cara eu vou chamar aqui ó G10 ponto bate que é um Windows né o caminho onde ele tá então ele está em si dois pontos ba Ah não pera aí Dex menos de menos de que é o diretório que eu vou criar onde eu vou criar esse diretório em C dois pontos barra e user e da Macedo desktop e qual o nome Eu Vou Chamar esse cara de Aguti tá que é o nome do pacote beleza então eu tô criando diretório menos de eu crie o diretório tá aonde nesse caminho e aonde está o aplicativo onde está o apk né o apk está em C dois pontos barra e user e dama cedo desktop/base APK tá então eu tô apontando eu tô andando comando de X para criar pasta na minha área de trabalho pegando como base esse APK Ok então vou dar um enter ele vai fazer o processo todo de engenharia reversa vai decompilar de compilar ele vai ele vai pegar o código inteiro é o aplicativo inteiro ali e vai pegar os seus arquivos as suas linhas e beleza terminou eu já tenho agora aqui o Aguti Ele criou essa pastinha a Gold tá vamos dar um enter aqui vamos entrar nessa pasta nessa parte tenho dois dois pastinhas né subpastas eu tenho recenses que tem a sua importância tá E tenho a certeza qual sua importância e a ressonância com a sua importância Então tem que vários arquivos que compõem tudo isso aqui compõem o apk que quando vocês executa ele vira aquele aplicativo lá a gente vai começar olhando o Android manifeste tá o Android manifesta é o arquivo principal ali do de todo o aplicativo é onde tá ali os comandos como ele vai funcionar chamadas já tive eu só queria que ele abrisse em um Notepad mais mais que é mais fácil de ler tá e o Android manifeste ele tem a chamada as principais ali ele vai chamar a minha activity vai chamar algumas outras Actives outras telas vai chamar algumas algumas funções ou seja tá tudo aqui né Aí quando não tá aqui ele chama alguém que vai chamar um outro da pessoa quer dizer Esse é o arquivo principal de um de um aplicativo tá tem um receiver tem um activity tem os os contem provar você tem que ter um monte de coisa aqui então quando você vai estudar Android você vai estudar um pouquinho desses caras todos aí que eu tô falando tá importante aqui agora é ver se nessa activity eu tenho alguma chamada que me leva a entender Onde está sendo feito bloqueio tá quando eu roda o Android aqui o aplicativo né que eu roda aplicativo ele joga essa tela essa capa e logo depois me leva para o menu e nesse menu eu tenho o Emulator detection tá então assim quando eu clico aqui eu tô chamando uma tivity uma tela quando eu clico aqui eu chamo uma tela tá então Amém Qual é amém amém é essa aqui ó essa tela principal Essa é a minha Active quando essa minha activit eu clico no botãozinho e já vou para o emulador detection que é uma outra Active Então cara Possivelmente está bem aqui essa na no Android mindfast está essa informação tá aqui então a gente vai começar a procurar ó bem activit aqui ó Rute detection tivity essa aqui do Rute vamos olhar aqui onde está do Rute a do Ruth está aqui embaixo ó Rute detection tem esse aqui login xss tivity vamos ver se a gente acha o emulator Emulator tá Emulator detection activit e aonde está esse cara isso aqui é uma chamada tá como eu falei esse Android Manifesto ele faz uma chamada quando eu clico no botão ele pega e sabe onde tá a tela que eu tô chamando por esse cara aqui né então aqui ó ele tem um caminho ou acho que ponto sat.a Gold Emulator detection activit eu tenho que achar esse caminho aqui beleza então vamos voltar lá para baixinha e aqui na pastinha lembra que o seguinte ó ele começa com o ASP tá o primeiro a primeira pasta o primeiro caminho é o ASP é uma pasta amador ASP aqui eu não tenho nada com Asp no Resort então eu volto e vou na aqui eu tenho uma ASP tá pode ser que comece com br Pode ser que começa com com né Então depende muito do Org Então depende muito de como tá aqui a chamada que tá aqui eu acho que Sat é só você seguir o caminho então vamos lá eu acho pi Sat a Gold não é isso a Gucci e os arquivos esse Emulator detection Tivit é um arquivo aonde está esse cara começa com e tá em ordem alfabética aqui ó emulation Emulator detection activet vou clicar nesse cara OK e eu tenho agora é um script né um código em Java porque Java esse cara foi escrito em cotlin mas quando eu faço a ingerir reversa eu uso já ideias lá ele pega mesmo que esteja em cotlin ele traz para Java tá porque quando você programa independente sejava e cotlin ou ser que é o nativo é no final ele vai se transformar numa linguagem de Mali tá então quando você faz o reverso dela ela volta dessa smile para já vai sempre trajava tá beleza não é Cotton Aqui nós temos aqui algumas linhas o interessante aqui é que o primeiro importe Olha esse cara que importe Android o s build o que te lembra disso aqui Build a gente viu lá eu fechei lá no Maggi bicho lá no magives a gente viu que eles chamava os carinhas pelo build pelo nome build se lembra disso Eu falei olha marca bem esse nome build vamos lá embaixo de novo Vamos abrir aqui o kit Hub do ASP vamos lá no 5 na detecção ó build build build tudo com build aqui ó tá a de baixo é telefon Manager então aí de cima é build porque por que que é build porque tá puxando isso do sistema operacional Oeste então ele tá indo lá na estrutura do sistema operacional e falando olha eu estou importando essa biblioteca aqui porque eu vou precisar dela eu vou precisar de informações do sistema operacional da estrutura do sistema operacional da arquitetura do sistema operacional tá então ele traz ali essa essa biblioteca olhando esse código aqui esse código tem muitas linhas e faz várias várias verificações Mas tem uma parte específica importante duas partes são importantes primeira parte importante essa público que faz aqui um clique Esse é um clique é o botão um clique é esse botãozinho aqui ó aqui ó esse botãozinho aqui quando eu clico aqui ó ele fala um clique esse botão nesse botão ele faz uma checagem if emulete detective diz Emulator então ele tá chamando aqui uma uma classe e quando eu seleciono essa classe Olha onde ela vai ó então eu rodo clico no botão ela vem e fala diz Emulator chama essa classe essa classe vem para cá e roda um processo que processo é esse ela cria uma uma variável tá string e olha a build aqui de novo ó e ele começa a olhar o quê Alguma características do Android build Finger prints Olha que legal se eu vir aqui eu tenho e ele tem que retornar o que se retornar genérico É emulador Olha que tá batendo as coisas tá vendo Então ele olha que o filho é print o device o modelo a marca o produto o fabricante E o hardware ele traz essas informações tá então ele faz ele faz o que ele cria uma variável Com todas essas essas builds tá bom e aí o que que ele faz se essa string se isso aqui for diferente de nulo roda esses caras aqui se for igual a nulo ele dá um erro ele fala aqui ó um Exception e fala que não pode executar o valor nulo e tal e tal e simplesmente encerra tá então ele precisa retornar alguma coisa e quando ele fala que o valor não é nulo ele faz o que ele pega ele cria uma nova variável chamada build dtls com o lowr case ou seja ele pega é tudo que entra ali esses trem STR é esse valor aqui então tudo que vem para cá tudo que recebeu daqui ela vai botar em letra minúscula tá Laura Case ele transforma é valor esse valor aqui tudo que vem para cá ele recebe e transforma em minúscula tá para fazer uma comparação tudo minúscula para não ter aquele lance de genérico maiúsculo diferente genérico minúsculo se o setor só procurando genérico minúsculo e você manda maiúsculo passa porque não bate não é igual então aquele transforma tudo para bar para minúscula e faz uma comparação ele começa a olhar o quê ele começa a buscar aqui embaixo no retorno ele começa a olhar a verificar algumas coisas por exemplo ele chama essa essa swing KT contém o valor genérico tá então ele já olha aqui se vir para mim o valor genérico eu já sei que isso é um emulador por exemplo então ele faz algumas checagem tá então ele faz aqui o e também e trabalha com valor true falso porque porque esse cara é buliano tá esse aqui é um buliano então ele trabalha sempre com valores true e falce true é emulador false não é emulador Beleza então ele começa a fazer uma checagem esse aqui no caso genérico ele olha ali essa essa condição mas para baixo fica mais fácil de entender um pouquinho Cadê a próxima aqui ó Emulator se vir alguma coisa naquele se vira naquele naquele naquela naquelas builds lá se vir genérico Emulator ou aí tu tem o ou aqui ó ou vir SDK ou mais um ou se vir na próxima V Box Virtual Box ou mais uma se vir Jenny motion ou eu tô rodando murcha se vir x86 tá ou mais uma condição se vir goldfish ou se vir mas na uma última situação teste que então se vir um desses caras se dentro daquela resposta que ele conseguiu aqui em cima tudo que veio aqui em cima se vir uma dessas condições genérico x86 ver box Jane motion esse cara vai retornar tio verdadeiro e vai voltar aqui para cima tá ele volta aqui para cima e fala seguinte é verdadeiro se for verdadeiro retorna isso aqui ó This is emulator agora se não for verdadeiro élce se não roda isso aqui isso não é o emulador então se eu buscar todas as informações todas essas informações e uma delas de bater com aquela lista de coisas que tem ali embaixo genérico vai voltar um two e eu vou tomar um negado eu vou ser bloqueado se não tiver nada daquilo eu vou eu vou poder usar o aplicativo Isso não é um emulador o que acontece quando eu clico aqui nesse botão ele retorna isso é emulador ele retorna isso aqui ó diz isso Emulator porque porque uma das condições buscadas aqui finger print device modelo uma ou mais condições Diz para ele que é um emulador pode ser uma ou mais se for nenhuma Beleza se tiver uma só ou duas ou três ou quatro todas elas e ele vai ser o emulador tá porque Possivelmente esse cara tá trazendo que é um x-box é um gene motion esse cara tá trazendo Possivelmente o valor genérico em algum lugar o emulador tá trazendo leito eu não sei ele tá trazendo algumas informações ali que quando eu clico no botão e eu sou bloqueado diz Simulator Então galera que que a gente vai fazer agora eu preciso vai passar isso tá esse cara é um boliano ele é um bulha retorna 0 ou 1 two ou falso tá tio false zero beleza e eu preciso criar um script para que quando eu rodar o Frida o Freeza vai pegar esse valor ele vai rodar esse carinha vai congelar e vai imputar vai inserir no final vai executar depois depois que isso executou ele vai executar o meu script e vai mudar o valor então se esse buliano se essa identificação for um ele vai rodar e vai falar e achei um trio aí vem o meu script e roda por trás e fala não não é zero é falso E aí passa como falso beleza eu preciso gerar esses clipes eu peguei na internet você humilde aqui para dizer porque eu não sou programador já falei eu sou formado em programação mas eu nunca trabalhei com isso tá então não sou o melhor nem dos piores dos piores problemas que existe eu peguei na internet um códigozinho tá um java script que tinjava né que roda que manipula esse cara eu peguei de uma outra situação que outra situação deixa eu mostrar para vocês aqui Deixa eu ver se eu acho ele emo bypass emulador tá ó com Facebook vai passar o Facebook e aí cara esse carinha aí esse Java esse código esse script java ele faz uma manipulação tá no tenta fazer uma emulação uma um bypass nesse emulador nesse nessa detecção isso aqui não tava como isomulator tava como is ruted eu que mudei e salvei e deixei assim então isso aqui tava assim ó esruted tá porque porque alguém criou ali um script para poder vai passar o Rute o root lá do alguma coisa do Facebook tá então deixa eu voltar como tava antes tá vamos tentar entender o que tá acontecendo aqui gente aqui é o seguinte eu vou rodar esse script java performance é uma função eu criei aqui uma variável chamada activity e essa variável vai receber um caminho que caminho é esse aquele caminho que a gente pegou lá no Android manifeste Então vamos lá vamos pegar esse cara aqui esse caminho porque quando eu chamo a função eu tô chamando esse caminho quando executa esse caminho e executo aquele script lá esses clipes detection Então o meu bypass tem que apontar para o mesmo caminho tá então eu vou botar aqui ou ASP Sat a Gold Emulator detection Tivit tá esse caminho é a minha activity e aqui eu tô chamando embaixo né eu tô chamando um Java e uso para ele poder usar esse essa string nessa nessa variável e aqui eu tô usando variável que variável a de cima que eu acabei de criar e eu tô chamando variável ponto e eximulator por que que tá fazendo isso porque eu estou chamando essa essa esse caminho todo que é isso aqui ponto eas Emulator eas Emulator tá aqui ó bise Simulator e isso aqui é uma chamada que traz para cá então é essa parte aqui é essa classe aqui que eu tô me manipulando é esse pedacinho de código aqui tá e simulator então tô vindo nesse carinha aqui então se eu tô vendo esse carinha eu tenho que apontar ele aqui caminho inteiro ponto e simulator porque ponto Olha lá eu acho que ponto Sati ponto a Gold ponto o arquivo ponto a classe lá dentro do arquivo isemulator e é uma função tá então que isso aqui vai rodar uma função que que ele vai fazer ele vai fazer ele vai rodar essa função só que para eu poder rodar isso aqui e poder atualizar ou seja rodar a rodar esse arquivo toda essa detecção eu rodo isso tudo aqui e eu depois que rodou eu vou no final e implemento eu eu atualizo uma um valor então tem aqui atrás no final eu tenho que botar um ponto implementation tá sem isso aqui não funciona beleza porque quem criou não criou com esse implementation aqui geralmente é só roda Pelo que eu sei só roda com isso e o valor daqui não é zero é falso beleza porque lá é boleando então tem que retornar tio o falso ainda funciona com 01 talvez eu nunca testei tá eu usei com falso e funcionou essa esse é meu script de bypass é essa linha de código aí são seis linhas de código eu vou tentar fazer o iPad do emulador Tá bom vou salvar esse código salvei o código e agora eu vou usar esse código do Frida Então vamos lá vou aqui o Frida né eu tenho que rodar o Frida serve no adb Então vou chamar aqui deixa eu dar um Clear adb Shell Frida Sérvia e comercial enter opa não é assim tem que chamar o caminho barra deita/local/temp/frio da server e Ok se eu dar um adb Shell PS com grep em Frida para saber se está rodando tá rodando Beleza o servidor tá rodando lá por trás no 5108 e agora deixa eu fechar esses caras e agora eu vou fazer o seguinte eu vou fechar o Aguti e vou rodar o Frida Clint Então vou no cliente tá cliente lá onde tem um Frida né os comandos Frida e vou chamar o aplicativo apontando para o meu bypass tá então vou dar um Frida PS o aplicativo é menos F Qual o nome do aplicativo esqueci cara esqueceu mas tá aqui ó é o aspsat a Gold Esse é o nome do aplicativo ele inclusive é o nome do é o caminho né é o caminho lá que você salvou e não copiou copiar colar Tá então vou chamar o pacote lá o nome do aplicativo ou identificador do aplicativo menos l porque menos L é onde tá o arquivo local na minha máquina e esse arquivo que eu acabei de criar aquele arquivo tá aqui danado eu não sei onde ele tava ele tá na não ele tá no meus documentos aqui no meus documentos Ok então eu vou chamar ele lá no meus documentos cedo dois pontos barra e user Irã documentos emo bypass Beleza então vamos botar esse cara para rodar aqui do lado e esse cara aqui para executar o meu bypass vou dar um enter dois enters Rodolfo Frida deu um errinho ele não Ah sim sim ele não achou o pacote porque ele não achou o pacote porque eu esqueci de usar O -1 - U maiúsculo menos o zão tá pode ser lá já expliquei isso no outro vídeo aí menos Ilusão tá que aí ele acha o pacote Agora sim ele acha o pacote roda o aplicativo e rodou o aplicativo e já rodou o aplicativo e depois já rodou o meu o meu script tá então é interessante entender que ele rodou script Ah não vi rodar mas rodou os clipes não deu erro aqui é porque rodou os clipes agora eu vou vir aqui emulator detection tava dando diz isso Emulator vamos ver agora Simulator aí eu consegui vai passar pois não acredito não acredito é mentira você é mentiroso vou fazer o seguinte galera tá vendo aqui retorne falso eu vou vir aqui e botar retorne true verdade e vou salvar o arquivo salvei o arquivo só salvei arquivo e vou dar um clique aqui de novo deslize Emulator agora vou botar falce venho aqui e falo é falso retorna falso aperta o botãozinho vezes not Simulator eu estou manipulando a saída do detector de emulador simplesmente alterando o meu código e jogando para lá por que que eu tô fazendo isso porque tá rodando o filho da server tá rodando fidaclite eu não fechei isso aqui tá rodando o filho da clight conectando no server tudo que eu faço nesse cara aqui salvo e executo ele executa e funciona bonitinho Então como que faz o bypass você tem que entender a proteção tá jogando lá o true eu sou bloqueado Então tem que jogar um falso eu jogo um falso e não sou mais bloqueado tá se eu tivesse que abrir agora o aplicativo eu rodaria o aplicativo na boa porque eu bloqueio foi foi quebrado pergunta de que vale um milhão esse código que você está vendo esse código aqui esse Java aqui bendito Java desse bendito já funciona para todos os bloqueios de todos de de de emulador não eu tenho clientes inclusive que eu já tentei fazer esse esse bypass esse burlar por esse script e não funcionou porque lá no aplicativo do cliente na checagem que ele faz ele faz outras checagens daquele de telefone lá esse esse carinha aqui ó esse telegram Manager ele puxa informação daqui ele pega o get vai sair de que é o e-mail ele pega coisa do build pega mas pega coisas daqui de baixo também então eu tenho que criar um outro bypass ou aumentar esse meu bypass aqui para poder quebrar também esses essas outras defesas as pessoas que eu falei sou camadas você cria uma camadinha deu para fazer um bypass você pega essa camada engrossa ela aumenta um pouquinho mais e dificulta Mais e aí vai ficar difícil de fazer o bypass aí ele conseguiu ele teve um esforço ali conseguiu você aumenta essa camada de segurança bota mais coisa E aí ele vai começar a ter dificuldade que vai falar mais não dá para quebrar teve casos de clientes nossos da empresa que eu trabalho da gente quebrar a cabeça eu ficar Dias olhando o código do cara tentando aumentar esse tamanho aqui desse script não funcionar Porque Tá Tão Bem Bolado tá tão bem azeitado o negócio que não dá para burlar ou dá para burlar mas eu não tenho capacidade de fazer Talvez um outro cara conheça um pouco mais de Java conseguiria quebrar e eu não consegui Então me dê por Vencido beleza pessoal é isso espero ter gostado um vídeo grande para vai dar uma hora desculpa aí mas é muita coisa muita informação Espero que você tenha chegado até o final por dar o like aí pelo amor de Deus tem tem gente que tá vendo meu vídeo tem 200 visualizações só tem um like dois likes pô dá um likezinho aí para dar uma bombada no canal beleza galera é isso qualquer dúvida pergunta Espero que tenham gostado um abração