Autor Tópico: Firmware MT13x9: Log de Descobertas  (Lida 272526 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #120 Online: Agosto 01, 2007, 01:38:13 pm »

Não compreendi onde deve ser modificado na rotina acima (os 3 bytes) e por qual valor.

No seu monitor/browser você não consegue enxergar o destaque em negrito que dei aos 3 bytes?
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #121 Online: Agosto 01, 2007, 01:40:32 pm »
Para inserir varios background usando o remaker, eu substituo o parte SKIN toda com outra que possui varias imagens MPEG.

Ótimo!

Desde que haja espaço no firmware, deve dar para fazer uns experimentos bem interessantes :)
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

FORUM.RYAN.COM.BR

Re: Firmware: log de descobertas
« Responder #121 Online: Agosto 01, 2007, 01:40:32 pm »

Offline eneris

  • Novato Prolixo
  • **
  • Mensagens: 85
  • Aprovação: +2/-0
  • The Cranberries em Recife Outubro/2010 Eu Vou!
    • Ver Perfil
    • ENERIS Online :: No Need To Argue
Re: Firmware: log de descobertas
« Responder #122 Online: Agosto 01, 2007, 01:41:57 pm »
O firmware que tem mais imagens MPEG que eu ja vir, é o LG_DK194g , que possui 18 imagens MPEG. 8)
The Cranberries - em Recife Outubro/2010
Estarei la colado! Ta perto.

Offline eneris

  • Novato Prolixo
  • **
  • Mensagens: 85
  • Aprovação: +2/-0
  • The Cranberries em Recife Outubro/2010 Eu Vou!
    • Ver Perfil
    • ENERIS Online :: No Need To Argue
Re: Firmware: log de descobertas
« Responder #123 Online: Agosto 01, 2007, 01:58:37 pm »
Ryan, você conseguiu que a altura da legenda ficasse selecionavel via menu no Proview?
The Cranberries - em Recife Outubro/2010
Estarei la colado! Ta perto.

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #124 Online: Agosto 01, 2007, 02:00:46 pm »
O firmware que tem mais imagens MPEG que eu ja vir, é o LG_DK194g , que possui 18 imagens MPEG. 8)

Isso mesmo!

Apenas 17 imagens desse firmware são válidas e dá um total de 581KB, que não vai caber no espaço livre da maioria dos aparelhos (o LG DK194G tem uma flash de 4MB), mas basta trocar algumas dessas posições por imagens "zeradas" para podermos colocar quantas imagens quisermos, até esbarrar nos limites de espaço.
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #125 Online: Agosto 01, 2007, 02:01:34 pm »
Ryan, você conseguiu que a altura da legenda ficasse selecionavel via menu no Proview?

Eu me aborreci com os resultados que estava tendo e parei completamente os testes. Vou voltar a esse problema outro dia.
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline ramos80

  • Novato
  • *
  • Mensagens: 2
  • Aprovação: +0/-0
    • Ver Perfil
Re: Firmware: log de descobertas
« Responder #126 Online: Agosto 01, 2007, 06:13:27 pm »

Primeiramente, obrigado eneris, testei e funcionou aqui. :yahoo!:
Ryan, eu utilizo o Firefox 2.0.0.6 e o texto aparece todo igual (sem negrito), testei tambem em outro computador com o Internet Explorer 7, e tambem nao é exibido o negrito nos 3 bytes.

Eu uso o Firefox 2.0.0.4

Com ele, no meu PC principal, o negrito é visível, mesmo numa resolução de 1600x1440 (a que eu uso diariamente). A 1280x1024 (meu monitor secundário) fica ainda mais claro.

Já no IE7, realmente não dá para distinguir nada!

Eu vou ter que analisar cada página no IE7 um outro dia. Agora estou ocupado com outra(s) coisa(s).
« Última modificação: Agosto 01, 2007, 06:28:00 pm por Jefferson »

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #127 Online: Agosto 02, 2007, 11:46:13 am »
Alguns Scripts IDA

Uma coisa que me aborrece terrivelmente é que depois de localizar rotinas em um determinado firmware, é preciso fazer todas as identificações em todos os outros fimrwares compatíveis, incluindo outras versões do mesmo firmware, por isso decidi aprender a fazer alguns scripts do IDA para automatizar as tarefas, assim toda vez que eu abrir um firmware posso rapidamente incluir nele uma parte do que já aprendi com outros.

Eu ainda não domino a criação de scripts, mas já dá para fazer alguns que funcionam:

MP3_TagDisplay

// *************************************************************
// Find MP3_TagDisplay Function usually on Bank 1
static findMP3_TagDisplay()
{
   auto      ea,ps,po ;
     
ea = FindBinary (0, SEARCH_DOWN,"7F 4A 7E ? 12 ? ? 90 ? ? EF F0 7F 4B 7E ? 12 ? ? 90 ? ? EF F0 7F 4C 7E ? 12 ? ? 90 ? ? EF F0 7F 4D 7E ? 12 ? ? 90 ? ? ");   
     if (ea != -1)
       {
        ps = PrevFunction (ea+0);
        Message(" MP3_TagDisplay function at %x \n",ps );
        MakeComm (ea, "As quatro chamadas a ARM_Getchar seguintes obtem o endereco inicial do bloco de tags (4 bytes) na shared memory");
             
   MakeCode(ps);
        MakeFunction(ps,BADADDR);
        Wait ();
   MakeName(ps,"MP3_TagDisplay");
        MakeRptCmt (ps,"Rotina de exibicao das TAGS ID3");



       po = FindFuncEnd (ps);
      if (po != -1)
      {
ea = FindBinary (ea, SEARCH_DOWN,"7B  ? 7A ? 7D ? 7C ? 7F ? 12");
     if (ea != -1) // string localizada?
       { 
     if (ea < po)   // a string está dentro da função?
       {
        Message(" Clearrect em Mp3_tagDisplay at %x \n",ps );

        MakeComm (ea, "R2R3 = altura");
        MakeComm (ea+4, "R4R5 = Largura");
        MakeComm (ea+10, "Chama ClearRect para limpar o retangulo");
        } //if (ea < po)
        } // if (ea != -1)
        } //if (po != -1)




       po = FindFuncEnd (ps);
      if (po != -1)
      {
ea = FindBinary (ea, SEARCH_DOWN,"94 0E 40 03 74 0E");
     if (ea != -1) // string localizada?
       { 
     if (ea < po)   // a string está dentro da função?
       {
        Message("Encontrada limitação de exibição para 14 caracteres em Mp3_tagDisplay at %x \n",ps );

        MakeComm (ea, "Se o numero de caracteres for 14 ou menos, continua");
        MakeComm (ea+4, "Se for maior que 14, limitar a 14");
        } //if (ea < po)
        } // if (ea != -1)
        } //if (po != -1)




       po = FindFuncEnd (ps);
      if (po != -1)
      {
ea = FindBinary (ea, SEARCH_DOWN,"74 ? F0 EF 75 F0 ? A4 AE F0 24 ?");
     if (ea != -1) // string localizada?
       { 
     if (ea < po)   // a string está dentro da função?
       {
        Message("Encontrada a definição de coordenadas de exibicao das tags em Mp3_tagDisplay at %x \n",ps );

        MakeComm (ea+2, "offset horizontal. Quanto menor, mais à esquerda a linha começa.");
        MakeComm (ea+3, "R7 contem o numero da TAG (linha) sendo exibida? ");
       MakeComm (ea+4, "Altura presumida de cada linha ");
       MakeComm (ea+8, "R6 contem agora a coordenada vertical de impressao da linha? ");
       MakeComm (ea+10, "Offset vertical. Quanto menor, mais proximas do topo da janela");
   
     } //if (ea < po)
        } // if (ea != -1)
        } //if (po != -1)




       po = FindFuncEnd (ps);
      if (po != -1)
      {
ea = FindBinary (ea, SEARCH_DOWN,"D3 94 10 ?");
     if (ea != -1) // string localizada?
       { 
     if (ea < po)   // a string está dentro da função?
       {
        Message("Encontrado o limitador de caracteres em Mp3_tagDisplay at %x \n",ps );

        MakeComm (ea+1, "Numero máximo de caracteres a exibir por TAG");

   
     } //if (ea < po)
        } // if (ea != -1)
        } //if (po != -1)


}   
}


CheckVersionPass

// *************************************************************
// Find CheckVersionPass Function usually on Bank 2
static findCheckVersionPass()
{
   auto      ea,ps ;
     
ea = FindBinary (0, SEARCH_DOWN,"90 ? ? E0 64 ? 70 ? 90 ? ? E0 FF 54 0F FE 64 0F 60 ? EE C3 94 ? 50 ? EE 90 ? ? 93 FE 90 FB 00");   
     if (ea != -1)
       {
        ps = PrevFunction (ea+01);
        Message(" CheckVersionPass function at %x \n",ps );
        MakeComm (ea+05, "Este e´ o menu esperado"+ltoa(Byte(ea+06),4));
             
   MakeCode(ps);
        MakeFunction(ps,BADADDR);
        Wait ();
   MakeName(ps,"CheckVersionPass");
        MakeRptCmt (ps,"Rotina que verifica a senha para a tela de versao");
        }   
}

CheckRegionPass

// *************************************************************
// Find CheckRegionPass Function usually on Bank 2
static findCheckRegionPass()
{
   auto      ea,ps ;
     
ea = FindBinary (0, SEARCH_DOWN,"90 ? ? E0 FF 64 ? 70 ? 90 ? ? E0 FE 54 0F FD 64 0F 60 ? ED C3 94 ? 50 ? ED 90 ? ? 93 FD 90 FB 00");
 
     if (ea != -1)
       {
        ps = PrevFunction (ea+01);
        Message(" CheckRegionPass function at %x \n",ps );
        MakeComm (ea+05, "Este e´ o menu esperado");
             
   MakeCode(ps);
        MakeFunction(ps,BADADDR);
        Wait ();
   MakeName(ps,"CheckRegionPass");
        MakeRptCmt (ps,"Rotina que verifica a senha para a tela de regiao");
        }   
}


vPlayerShowLogo

// *************************************************************
// Find vPlayerShowLogo Function
static findvPlayerShowLogo()
{
   auto      ea,ps ;
     
ea = FindBinary (0, SEARCH_DOWN,"90 ? ? EF F0 A3 EC F0 A3 ED F0 90 ? ? E0 FF 64 04 70 03 02 ? ? EF");
 
     if (ea != -1)
       {
        ps = PrevFunction (ea+01);
        Message(" vPlayerShowLogo function at %x \n",ps );
                     
   MakeCode(ps);
        MakeFunction(ps,BADADDR);
        Wait ();
   MakeName(ps,"vPlayerShowLogo");
        MakeRptCmt (ps,"Rotina que exibe as imagens de background ");
        }   
}
 

Estes scripts estão todos relacionados a textos já publicados aqui, por isso dentro de alguns dias eles serão movidos para os respectivos posts.
« Última modificação: Agosto 02, 2007, 11:49:21 am por Jefferson »
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

Offline jmaraujo

  • Seeder
  • Colaboradores
  • Papagaio
  • *
  • Mensagens: 409
  • Aprovação: +41/-0
  • Saudações desde Rivera, Uruguay!!! ;)
    • Ver Perfil
    • Fórum DVP5100K
Re: Firmware: log de descobertas
« Responder #128 Online: Agosto 02, 2007, 06:15:02 pm »
Jefferson, ¿cómo voçê fez as mudanças do seu background? ¿Foi "a olho" mesmo, ou voçê calculou as coordenadas?

Foi a olho. Eu fiz umas 4 imagens até posicionar corretamente.
Acabo de perceber que no mtkModToolbox tem uma seção ("Dedução de coordenadas com auxílio de screenshot") que resulta muito útil para este tipo de tarefas...

Com essa ajuda fica bem mais fácil.  :yahoo!:

Offline Jefferson

  • Zelador
  • Hero Member
  • *****
  • Mensagens: 1854
  • Aprovação: +0/-0
    • Ver Perfil
    • http://ryan.com.br
Re: Firmware: log de descobertas
« Responder #129 Online: Agosto 02, 2007, 06:22:27 pm »
Acabo de perceber que no mtkModToolbox tem uma seção ("Dedução de coordenadas com auxílio de screenshot") que resulta muito útil para este tipo de tarefas...

Com essa ajuda fica bem mais fácil.  :yahoo!:

Aquela seção era só um experimento. Se você achou úitl então vai babar com o que eu estou preparando, neste exato momento  ;D
http://jefferson-ryan.blogspot.com
http://ryan.com.br

Se o que você escreve não merece sua atenção, vai merecer a atenção de quem?!

FORUM.RYAN.COM.BR

Re: Firmware: log de descobertas
« Responder #129 Online: Agosto 02, 2007, 06:22:27 pm »