"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso ocultar efetivamente strings confidenciais em código ofuscado?

Como posso ocultar efetivamente strings confidenciais em código ofuscado?

Publicado em 2024-11-10
Navegar:920

 How can I effectively hide sensitive strings in obfuscated code?

Revelando strings ocultas em código ofuscado

Ofuscadores como o ProGuard podem melhorar a segurança do código ofuscando strings visíveis, mas podem não ser suficientes para informações confidenciais como URLs ou dados de licenciamento.

Ocultando dados confidenciais Strings

Para ocultar strings confidenciais de maneira eficaz, considere as seguintes técnicas:

  • Codificação: Codifique strings usando métodos como Base64 para fazê-las parecerem embaralhadas.
  • Criptografia: Criptografe strings usando algoritmos como AES para torná-las ininteligíveis sem a criptografia chave.

Para implementar essas técnicas, você pode:

  1. Criptografar manualmente a string usando uma chave conhecida.
  2. Ajuste seu código para usar a chave descriptografada. versão da string. Por exemplo:
// Before encryption
public class Foo {
    private String mySecret = "http://example.com";
}

// After encryption
public class Foo {
    private String encrypted = "";
    private String key = "";
    private String mySecret = MyDecryptUtil.decrypt(encrypted, key);
}

Localizando a classe R

Durante a descompilação, a classe R nem sempre é facilmente visível devido à ofuscação. No entanto, o arquivo de mapeamento ProGuard pode fornecer informações sobre sua localização:

  • Localize a seção "classes" no arquivo de mapeamento.
  • Pesquise "R.java" para encontrar o original caminho da classe R.
  • Navegue até esse caminho no diretório de código descompilado para acessar a classe R.

Compreendendo R Números de classe

Números como "2130903058" no código descompilado representam IDs de recursos. Esses números referem-se a recursos em seu projeto, como arquivos de layout.

Para encontrar os recursos correspondentes:

  • Descompile o arquivo R.java do arquivo de mapeamento.
  • Pesquise o ID do recurso no arquivo R.java descompilado.
  • O recurso correspondente (por exemplo, arquivo de layout) será especificado na pesquisa resultados.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3