Scripting FAQ

Q: Why do you have 2 scripting languages embedded ? I want single  JavaScript( JS, Java, Pascal, lua, anything…) A: First of all, LUA is the best language to use as embedded with C++. It’s easy to use, easy to learn, easy to connect to C++. But it’s hard to make UI having lua only. [...]

Generic FAQ

Q. What can program do? A. Smart Sniffer is placed between any software and hardware. So it can do record of conversation between any program and hardware or can make false responds from HW to SW even. It can NOT  ”talk” directly to hardware or “listen” it. However, if you need to do Input/Output into [...]

luaScript object

luaScript object is a way to call LUA script from inside QML script. Backward call (from lua to qml) is not possible. So QML should use functions’ calls to get fresh data from script always. Object has next methods (functions): luaScript.callI – returns Integer; luasScript.callS – returns String; luaScript.callV – returns nothing (Void); luaScript.callSL – [...]

Introduction to Additional UI

As we know SmartViewer can be extended by scripts. Further evolution of this idea gives us “additional UI”. For some tasks we want to have complex user interaction. We may want: scan flash dump and find pictures – display it; make port I/O terminal and use it; build diagram of bytes distribution; anything else. As [...]

User Interaction Functions

Engine allows to do simple common user interaction without doing complex UI.

Data Block’s Functions

Functions to work with Block List.

Common Functions

Common API functions.

API Reference по русски

Внимание! Данная версия может быть устаревшей. Дополнения Smart Sniffer Viewer (далее SSV) использует lua скрипты для реализации функций интерфейса, фильтрации входного файла, расширения круга решаемых задач.   Каждый скрипт запускается в отдельной виртуальной машине.  Скрипты загружаются в память при старте программы и по команде перезагрузки расширений. Все глобальные значение постоянно хранятся в памяти. При вызове команды [...]

Global Variables

Each time script executed it has access to the next global values, which can be changed between launches: CallParam – holds value, defined into XML descriptor file. It’s a way to define different features using same script.  Changing of this value will affect nothing, furthemore will be lost on next script’s call. Selected – it’s a [...]

Recorded Data Structure

SmartViewer loads recorded data by SmartSniffer and builds a list in memory. This allows to be independent from the file format (which is many formats already). However since data are fragmented during recording, it will be fragmented in the list too. So it’s up-to scripts to validate data. Script can merge elements, remove elements, add [...]

  • Login