Author: backerstreet.com
REC Studio 4 - Como usar | ||
|
Uma vez que esta versão ainda é uma versão beta, a interface do usuário requer alguma prática. Seguindo estas instruções simples, você obterá o melhor resultado do Rec Studio
Inicie o executável do Rec Studio. Você verá a página de boas-vindas com uma lista de projetos abertos anteriormente. A primeira vez que você não pode ver a Visualização de comando, a Exibição do projeto e a vista Proc Info. Redimensione o painel inferior para mostrá-los; Você pode então arrastar cada visualização na posição preferida para qualquer lado do quadro principal. Use o Arquivo> Novo Projeto ... para carregar um arquivo executável. Os arquivos executáveis podem ser arquivos do Windows PE (.EXE, .DLL), arquivos ELF do Linux, arquivos Mac OS X MachO ou arquivos não processados. O nível de suporte para cada formato varia, com o Windows PE com o melhor suporte. Antes de sair do Rec Studio, guarde o estado atual do projeto com Arquivo> Salvar projeto como ..., para que você possa recarregar o estado na próxima vez que você iniciar o descompilador. Os arquivos do projeto (.rpj) armazenam as informações inseridas pelo usuário que ajudam o decompiler a gerar melhor saída. Depois de carregar um projeto ou um arquivo executável, a exibição do desmontagem é aberta automaticamente no ponto de entrada do aplicativo (ou no main se os símbolos estiverem disponíveis). A combinação de padrões é usada para tentar detectar a seqüência de entrada e possivelmente definir símbolos para ajudar a identificar funções de nível superior. Se você não vir nenhum símbolo no painel do Projeto, navegue na Visualização do Desassemblador com a página para cima e Página para baixo, ou digite as funções de comando de nível superior. "dis 0xXXXXX" para mostrar um endereço específico. Depois de identificar o início de um procedimento, clique com o botão direito do mouse no endereço à esquerda da instrução de entrada e selecione "Definir Entrada de Procedimento" no menu pop-up. Isso iniciará a análise do código dessa instrução; a análise tentará encontrar qualquer outro procedimento chamado recursivamente. No final da análise, os procedimentos encontrados, se houver, serão exibidos na Vista do Projeto Clique duas vezes em qualquer endereço de procedimento na Vista do projeto (ou digite o comando "rec 0xXXXXX" na Visualização de Comando), para descompilar esse procedimento específico. O resultado descompilado será mostrado em sua própria guia na área central. Use o comando "help" para ver a lista de comandos suportados. O comando "decompile output-file-path" irá descompilar todo o executável no arquivo de texto especificado. O "filemap" ou o comando View > File Map mostra o layout do arquivo executável. Cada link mostrado tentará expandir a parte específica do arquivo. O comando "strings" mostra as cadeias ASCII que foram detectadas no arquivo. O comando "calltree" mostra qual procedimento chama qual outro procedimento. Esta função ainda possui alguns problemas e pode interromper o aplicativo. O comando "showprocs" mostra estatísticas sobre todos os procedimentos descobertos. No futuro, será possível alterar os atributos de um procedimento, como o tamanho e a localização dos locais ou os argumentos de entrada. O comando "add-proc-dest" é usado para especificar o destino de uma instrução de chamada indireta se o descompilador não puder calcular o destino automaticamente. Fornecer o destino de todos os saltos e chamadas indiretas é extremamente importante para melhorar a qualidade da saída descompilada. O comando é usado como "add-proc-dest 0xXXXXXX 0xYYYYYY" onde 0xXXXXXX é o endereço da instrução de chamada e 0xYYYYYY é o endereço do destinatário. O comando "add-comment" pode ser usado para salvar comentários para a saída desmontada, para ajudar a lembrar o que um pedaço de código faz. Todas as informações que você inseriu nesses comandos são preservadas quando você salva o projeto com o comando File > Save Project As....
Carregando arquivos bináriosO Rec Studio pode carregar arquivos binários de formatos desconhecidos. Nesse caso, você verá o despejo hexadecimal do arquivo. Você pode impor uma estrutura no arquivo binário com o comando "def-segment", usado assim: def-segment -o 0xOFFSET -a 0xADDRESS -l 0xLENGTH -t TYPE" onde TYPE é 'r', 'w', 'x', 'd', 'i' para ler, escrever, executar, dados, informações, respectivamente. Se quiser desmontar o conteúdo de um arquivo binário, você deve usar o comando "def-cpu" para permitir que o Rec Studio conheça o processador a ser usado para exibir a desmontagem. Os processadores suportados são: x86, x86_64, MIPS, m68k, Sparc, PowerPC. Aqui está uma lista de todos os comandos e seus parâmetros:
pe-dump -[htsierdbcf] Mostre o conteúdo de várias áreas PE COFF no arquivo binário. -h Show PE COFF header
mac-dump -[ht] Mostre o conteúdo de várias áreas de Mach-O no arquivo binário. -h Show Mach-O header
elf-dump -[htsy] Mostrar o conteúdo de várias áreas ELF no arquivo binário. -h Show ELF header, Program headers and section headershelp Mostra a lista de todos os comandos jumptbls -j jumpAddr -t tableAddr -n numDests -m {a4|a8|o2|o4|o8} definir uma tabela indireta de salto -j jumpAddr : especifica o endereço da instrução de salto indiretotype-tree type_name Mostra a hierarquia de tipos para o tipo especificado. A hierarquia para um typedef inclui o tipo concreto. strings Mostra a lista de cordas detectadas. Uma string é uma seqüência de caracteres ASCII. O programa tenta identificar cadeias de caracteres procurando nas regiões de dados uma seqüência de caracteres ASCII o tempo suficiente para ser considerada uma palavra ou uma frase. calltree Mostra a árvore de chamada, e quais são as funções chamadas por qual outra função. showsyms Mostra a lista de endereços nomeados (tabela de símbolos de baixo nível). Estes podem incluir variáveis, pseudo-símbolos, rótulos definidos pelo usuário etc.. proc-range Este comando não é implementado. rec -a addr [-v] [-O] descompilar um procedimento. -a addr : especifica o endereço do procedimento para descompilar |

