: Inicie a execução

A visualização do registro pode ser usada para visualizar o valor dos registros do estado ativo. O valor de um registro pode ser modificado clicando duas vezes nele. O menu do clique com o botão direito permite:

A visualização da memória pode ser usada para visualizar o valor de uma parte da memória do estado ativo. Ao clicar em "Monitorar memória", o usuário pode especificar um endereço de memória para monitorar. O widget mostrará 512 bytes a partir desse endereço. A visualização da memória é dividida em duas seções: uma visualização hexadecimal e uma visualização ASCII. O Hexview mostra o valor hexadecimal de cada byte apenas se o byte for mapeado e concreto. Se o byte for não mapeado, o caracto _ será mostrado; Se o byte for simbólico, o widget mostra o personagem . .
O menu do clique com o botão direito permite:
Este widget permite a criação de buffers contendo dados simbólicos.
Mais APIs podem ser executadas através do shell python. Por exemplo, podemos usar o solucionador para provar uma condição para o estado atual:
> >> import borzacchiello_seninja as seninja
> >> s = seninja . get_current_state ()
> >> s . solver . satisfiable ( extra_constraints = [ s . regs . eax == 3 ]) O código verificará a satisfação do eax == 3 dada a restrição do caminho do estado ativo.
Consulte o wiki para ter mais informações sobre os comandos.
Seninja dá ao usuário a possibilidade de configurar muitas partes do mecanismo simbólico (por exemplo, dimensão das páginas, estratégia de acesso à memória simbólica etc.). Todas as configurações disponíveis podem ser acessadas e modificadas clicando em Edit/Preferences/Settings e selecionar SENinja no widget esquerdo.
Testado com
4.0 com licença pessoal3.114.8.14 Para fazê-lo funcionar, você precisa instalar o Z3 com PIP: $ pip3 install z3-solver