Bem, aqui estamos nós, de volta ao ponto de partida, e não tenho certeza de como você se sente agora.
Portanto, se você puder resolver isso, não estou esperando.
Mas se você pudesse resolver isso, seria fantástico.
Portanto, isso seria muito, muito grande.
E você pode ficar muito, muito orgulhoso de si mesmo, caso tenha tido dificuldades nessa, mas isso
não é problema algum, porque essa aqui é difícil.
Não é tão fácil assim.
Eu diria que é moderado.
Portanto, sim, a engenharia reversa de coisas como essa exige muito tempo e muita prática para se tornar
bom nisso.
E mesmo que você tenha feito isso por alguns anos, ainda se depara com coisas que podem ser
melhoradas ou melhoradas nesse ponto.
Portanto, isso leva um bom tempo.
E sim, não fique desmotivado.
Se você não conseguiu resolver esse problema agora, vamos dar uma olhada nele.
E sim, vamos ver onde você teve dificuldades e qual foi o obstáculo.
Muito bem.
Está bem.
Então, vamos dar uma olhada.
Tudo bem.
Portanto, o vídeo a seguir explicará isso em detalhes.
Mas eu gostaria de lhe dar uma rápida introdução à solução ou, pelo menos, à tarefa que
temos de realizar.
Portanto, no lado esquerdo, obtivemos o resultado.
E, no lado direito, temos a entrada do usuário.
Essa entrada do usuário precisa ser codificada na base 32 e, em seguida, decodificada, o que significa que teremos
bytes aqui depois.
Agora, o que acontece é o seguinte.
Estamos juntando dois bytes e fazendo XOR entre eles.
Por exemplo, pegamos o primeiro e o segundo e os exportamos.
E o resultado desse deve ser a letra L, porque essa letra está sendo armazenada
em nosso resultado e comparada com a letra L. Isso se repete agora para cada caractere.
Portanto, nossa solução precisa ser o ponto de exclamação lulls.
Portanto, precisamos recriar esse padrão com nossa entrada, o que significa que simplesmente seguimos em frente.
Agora, os próximos dois bytes estão sendo combinados entre si, o que deve resultar
na letra O, o próximo L, o próximo set e o último ponto de exclamação.
Portanto, nosso desafio agora é descobrir quais dois bytes combinados entre si levam
à letra l o l ver ponto de exclamação.
Muito bem.
Ok, agora vamos entrar em uma explicação muito, muito detalhada.
Certo, voltemos à nossa acusação.
O que precisamos fazer é ter um valor codificado na base 32, que é decodificado, que é xored e, em seguida,
a parte XOR precisa corresponder a esse padrão.
Já mencionei anteriormente que, se fizermos XOR de um valor com outro valor, obteremos um resultado.
E se pegarmos esse resultado e fizermos XOR com um desses dois valores, obteremos o outro valor.
Isso significa que, se quisermos obter um L aqui para nosso primeiro valor, podemos fazer isso da seguinte maneira.
Portanto, para.
Estamos lidando com bytes aqui.
Então, sim, estamos tomando um L.
Que é este 176, então hex 76, ok, zero x4.
Veja que se estivermos pegando zero x4 C e, por exemplo, estivermos dividindo-o com 555, então obteremos o valor 25.
Portanto, vamos também colocar um hexágono em torno dele.
Então, obtemos o valor 19.
Podemos pegar o que quisermos aqui, porque esta é a parte em que estamos entrando como nosso primeiro, uh, personagem.
Então, talvez possamos colocar isso no Visual Studio Code.
Portanto, o primeiro caractere da nossa entrada.
É 0X55.
Vejamos.
Sim, 0X55 é nossa primeira entrada.
Está bem.
Isso significa que precisamos pegar o resultado desse como a próxima entrada.
Por quê?
Porque.
Em nosso código, estamos pegando nosso primeiro elemento e comparando-o com o próximo.
Desculpe, mas estamos pegando o primeiro elemento e fazendo XOR com o próximo, o que significa que agora
estamos tendo a entrada 0X55, e esse elemento é xorado com zero x 19.
E isso significa que se fizermos xor zero x 19, a ordem não importa.
Mas vamos fazer isso dessa forma, se fizermos o XOR dessa forma.
Obtemos 0X4C.
Assim, ao fornecer esses dois bytes, temos nosso primeiro caractere, que é L.
Ok, isso precisa ser feito para todos mais uma vez.
Oh, vamos lá.
Então, usamos nossos novos hacks de desempenho.
Ou seja, você também pode criar um script para isso, mas gostaria de mostrar a abordagem manual.
Então, vamos exportar isso agora mesmo com um valor aleatório ou vamos fazer isso desta forma.
Oh é zero x para f.
Vamos fazer isso passo a passo.
Está bem.
Tomamos zero x para F e agora podemos usar o mesmo valor cinco cinco novamente.
Ou podemos usar zero zero.
Essa é a nossa contribuição para o próximo.
Valor aqui.
Por isso, gosto de manter cinco e cinco.
Portanto, agora estamos obtendo zero x-1a.
Isso significa que, se estivermos usando zero x 55 e essa entrada três nessa parte aqui, obteremos oh porque esses dois
juntos x ord.
Leva dois zero x4 f.
Vamos fazer isso.
Sim.
Está bem.
O próximo.
Estamos em quatro e cinco.
Hum, sim.
Em mim mais uma vez.
Portanto, podemos usar os mesmos valores aqui.
Como, mais uma vez, zero x 55 foi combinado com 0X190X19, podemos ver zero x para c e zero x para c sl.
Certo, então é este aqui.
Agora precisamos nos preparar.
Para seis e sete anos.
Então, mais uma vez.
Audie set.
Hex 90.
Certo, agora precisamos obter um zero x para H.
Vamos pegar o 55 mais uma vez.
Estamos recebendo 15 e o hexágono 15 é 0XF.
Está bem.
Portanto, aqui temos 0C0X0F junto com esse conjunto.
Isso precisa receber um ponto de exclamação.
Portanto.
O ponto de exclamação é o nosso ponto de exclamação!
33.
Isso é um hexágono.
2121 Xored com cinco.
Cinco.
Em hexadecimal.
É este aqui.
Certo, mais uma vez.
Então, vamos criar um novo arquivo e pegá-lo.
Hum, mordidas para fora.
Está bem.
E vamos remover o zero x.
Em Python.
Acho que é assim.
Está bem.
Também pode usar printf.
Sim.
Então, se pegarmos isso agora e codificarmos com base32.
Portanto, esta deve ser uma solução funcional se eu ainda não tiver cometido um erro.
Portanto, vamos tentar fazer isso, ok.
Dados do shell ADB local temp.
Validar 3 para 1.
Sim.
Perfeito.
Legal.
Funciona.
Então, essa foi a mágica por trás disso.
Um.
Ao fazer o XOR de dois valores juntos, mas podemos definir os valores que queremos fazer o XOR juntos.
Portanto, ao ter um valor hresult e definir um deles, obtemos automaticamente o valor
que está faltando.
E, com esses dois, podemos aplicar isso para criar nossa string de bytes e essa string de bytes, temos que fazer
isso.
Role-o pela parte de trás agora mesmo.
Portanto, nossa string de bytes.
Está, então, na base 60.
Base 32 codificada porque este está decodificando.
Portanto, ele precisa ser codificado na base 32.
E se apresentarmos isso como um argumento aqui, teremos uma cadeia inválida.
Para.
Este aqui para chegar a esta parte aqui.
Portanto, com relação a isso, agora temos uma cadeia válida que passa por essas verificações e termina com o sucesso
do ponto de exclamação lol set.
Para ser sincero, achei que isso não era fácil.
Ela tem algumas partes complicadas e, sim, foi um bom desafio.
Se você estiver interessado em raiva, entre em contato comigo.
Em seguida, faremos um vídeo sobre a raiva para saber como resolver esse problema.
Isso será muito mais fácil.
Hum, e sim, também podemos ver que podemos ter várias soluções.
Por exemplo, outra solução é.
Uh.
Vejamos.
Basta alterar um parâmetro aqui.
Portanto, nosso URL mais uma vez.
Zero para XC.
Se agora fizermos XOR com zero, por exemplo.
Então, estamos recebendo isso de volta.
Ok, então essa seria, eu acho, a solução mais fácil.
Não estou.
Esse é sempre o caso?
Um.
Sim.
O valor xored com zero é ele mesmo.
Sim.
Porque somente zero e um dão uma diferença.
E não estamos tendo um único conjunto aqui.
Portanto.
Está bem.
Essa é a solução mais fácil, eu acho.
Este agora também deve funcionar.
Então, vamos analisar isso mais uma vez.
Pressiono o controle F0X ponto a ponto para ter uma expressão regular para buscar dois caracteres após esse x.
Um.
Windows enter.
Sem controle.
Entre.
Nós copiamos isso.
Nós o colamos aqui.
Nós pegamos todos os personagens no início.
E então estamos substituindo isso pela barra invertida x.
Está bem.
Portanto, imprima F base 32.
Este é o que o autor forneceu?
Não.
Mas este também deve funcionar.
Vejamos.
Sim.
Um.
Dados.
Temperatura local.
Validar.
Perfeito.
Mais uma vez, ele funciona muito bem.
Portanto, acho que essa seria a maneira mais fácil.
Se tivermos algo assim.
Simplesmente pegue a letra e, em seguida, faça o xored com zero zero.
Assim também para todos os um com zero zero e assim por diante.
Portanto, letra zero zero, letra zero zero.
Então, obtemos o resultado com muito mais facilidade e não precisamos descobrir dessa forma.
Muito bem.
Ok, espero que você tenha gostado desse desafio, caso contrário, me avise.
Depois, tento me concentrar em outras partes.
Sim, continuaremos com alguns ou adicionaremos outros tópicos relacionados a Webviews.
Em seguida, analisaremos o primeiro desafio aqui.
Hum, isso é algo que eu ainda não pesquisei.
Este aqui.
Portanto, isso também será totalmente novo para mim.
E sim, vamos ver se somos bons em resolver todos eles.
Estou bastante confiante, mas vamos ver.
Muito bem.
Está bem.
Essa é a próxima coisa que teremos que analisar.
Portanto, estou ansioso para vê-lo lá.