Synalyze It! allows editing of files of any size without delay. Even copying of data of any size via clipboard is possible.
When you insert a string from the clipboard, the selected encoding is applied, of course. This enables you to convert text from one encoding to another easily.
**计算检验字节**
Compute various checksums for the selected bytes
**数据可视化关系导出**
Visualize your grammars by exporting to .dot (GrapzViz) files
**数据视图**
Display the selection in different number and color representations
**打印预览**
Print the hex view with or without text and mapped structures
**保存选中字节**
Selected bytes can be written to disk directly
**跳到指定位置**
Directly jump to a specific file offset (decimal or hex)
**在工具栏中跳到指定位置**
Jump to positions entering expressions
**数据统计**
Let Synalyze It! count the occurence of each byte in a file.
**比较字节的不同编码值**
Check the text encoding (ASCII/EBCDIC) of some hex values
**增量文本搜索与编码选择**
Search text incrementally using one of dozens of code pages
**查找数值8-64 Bit signed/unsigned, little/big endian**
Find a number in a file instantly and jump directly to the findings
**查找字节序列匹配蒙版**
Find all places in a file that match a certain bit mask
**查找字符串**
See all strings with a certain encoding
Find all strings in a file like with the Unix strings command
**使用脚本的可扩展语法高亮**
Write Python or Lua scripts where the "static" grammar is not enough
**语法支持强大的表达式**
Structure and element sizes as well as repeat counts can contain complex formulas
HRESULT hr;
GENUINE_OPTIONS opts;
opts.nLength = sizeof(GENUINE_OPTIONS);
// How often to verify with the LimeLM servers (90 days)
opts.nDaysBetweenChecks = 90;
// The grace period if TurboActivate couldn't connect to the servers.
// after the grace period is over IsGenuinEx() will return TA_FAIL instead of
// TA_E_INET or TA_E_INET_DELAYED
opts.nGraceDaysOnInetErr = 14;
// In this example we won't show an error if the activation
// was done offline by passing the TA_SKIP_OFFLINE flag
opts.flags = TA_SKIP_OFFLINE;
hr = IsGenuineEx(TA_GUID, &opts);
if (hr == TA_OK || hr == TA_E_FEATURES_CHANGED || hr == TA_E_INET || hr == TA_E_INET_DELAYED)
{
TCHAR * featureValue;
printf("YourApp is activated and genuine! Enable any app features now.\n");
if (hr == TA_E_INET || hr == TA_E_INET_DELAYED)
{
// TODO: show a warning to your user that this time (or the last time)
// the IsGenuineEx() failed to connect to the LimeLM servers.
printf("YourApp is activated, but it failed to verify the activation with the LimeLM servers. You can still use the app for the duration of the grace period.\n");
}
// if this app is activated then you can get a feature value (completely optional)
// See: http://wyday.com/limelm/help/license-features/
/*
hr = GetFeatureValue(_T("your feature value"), 0, 0);
featureValue = (TCHAR *)malloc(hr * sizeof(TCHAR));
hr = GetFeatureValue(_T("your feature value"), featureValue, hr);
if (hr == TA_OK)
{
#ifdef _WIN32
wprintf(L"Feature value: %s\n", featureValue);
#else
printf("Feature value: %s\n", featureValue);
#endif
}
else
printf("Getting feature failed: %d\n", hr);
free(featureValue);
*/
}
else // not activated or genuine
{
uint32_t trialDays = 0;
// Look in TurboActivate.h for what the error codes mean.
printf("Not activated: hr = %d\n", hr);
// Start or re-validate the trial if it has already started.
// This need to be called at least once before you can use
// any other trial functions.
hr = UseTrial(TA_SYSTEM);
if (hr == TA_OK)
{
// Get the number of trial days remaining.
hr = TrialDaysRemaining(TA_GUID, &trialDays);
if (hr == TA_OK)
printf("Trial days remaining: %d\n", trialDays);
else
printf("Failed to get the trial days remaining: hr = %d\n", hr);
}
else
printf("Failed to UseTrial: hr = %d\n", hr);
//TODO: prompt for a product key (if it's not present)
//Note: here we're just hard-coding the product key to show how you
// save the product key and try to activation
// Also note we're using the TA_SYSTEM flag. This means the activation will be system-wide.
// However calling using the TA_SYSTEM flag (the first time only) requires system-admin privileges.
// If your app will never have system admin privileges then you can use the TA_USER flag.
hr = CheckAndSavePKey(_T("U9MM-4NJ5-QFG8-TWM5-QM75-92YI-NETA"), TA_SYSTEM);
if (hr == TA_OK)
{
printf("Product key saved successfully.\n");
// try to activate
hr = Activate();
if (hr == TA_OK)
printf("Activated successfully\n");
else
printf("Activation failed: hr = %d\n", hr);
}
else
printf("Product key failed to save: hr = %d\n", hr);
}