### Alternative Start Command Example Source: https://docs.hex-rays.com/9.0sp1/user-guide/debugger/debugger-tutorials/debugger_dalvik An example of an alternative command to start an Android application for debugging, which can be used when the default command is insufficient. ```bash am start -D -n '/' -a android.intent.action.MAIN -c android.intent.category.LAUNCHER ``` -------------------------------- ### HTTP GET Request Example Source: https://docs.hex-rays.com/9.1/developer-guide/idc/idc-examples/analyzing-encrypted-code This example shows how to query documentation dynamically using an HTTP GET request with the 'ask' query parameter. ```http GET https://docs.hex-rays.com/9.1/developer-guide/idc/idc-examples/analyzing-encrypted-code.md?ask= ``` -------------------------------- ### HTTP GET Request Example Source: https://docs.hex-rays.com/8.4/developer-guide/idc/idc-examples/analyzing-encrypted-code This example shows how to query documentation dynamically using an HTTP GET request with the 'ask' query parameter. Use this to get specific answers or related documentation sections not explicitly present on the current page. ```http GET https://docs.hex-rays.com/8.4/developer-guide/idc/idc-examples/analyzing-encrypted-code.md?ask= ``` -------------------------------- ### Querying Documentation - HTTP GET Request Example Source: https://docs.hex-rays.com/core/disassembler/disassembly-gallery/80-86-architecture-windows-virtual-device-driver This example demonstrates how to query the documentation dynamically using an HTTP GET request with the 'ask' query parameter. It is useful for retrieving specific information not immediately apparent on the page. ```http GET https://docs.hex-rays.com/core/disassembler/disassembly-gallery/80-86-architecture-windows-virtual-device-driver.md?ask= ``` -------------------------------- ### Amiga Query Documentation Example Source: https://docs.hex-rays.com/9.0sp1/user-guide/disassembler/disassembly-gallery/68k-amiga-disassembler This example demonstrates how to query documentation dynamically using an HTTP GET request with an 'ask' query parameter. ```http GET https://docs.hex-rays.com/9.0sp1/user-guide/disassembler/disassembly-gallery/68k-amiga-disassembler.md?ask= ``` -------------------------------- ### HTTP GET Request Example for Documentation Query Source: https://docs.hex-rays.com/9.0sp1/user-guide/disassembler/disassembly-gallery/i860 This example demonstrates how to query the documentation dynamically using an HTTP GET request with the 'ask' query parameter. It is useful for retrieving specific information not immediately visible on the page. ```http GET https://docs.hex-rays.com/9.0sp1/user-guide/disassembler/disassembly-gallery/i860.md?ask= ``` -------------------------------- ### Query Documentation Example Source: https://docs.hex-rays.com/8.5/user-guide/user-interface/menu-bar/file/abort-ida Demonstrates how to perform an HTTP GET request to query the documentation dynamically. Use this to ask specific questions or get clarification. ```http GET https://docs.hex-rays.com/8.5/user-guide/user-interface/menu-bar/file/abort-ida.md?ask= ``` -------------------------------- ### HTTP GET Request Example for Querying Documentation Source: https://docs.hex-rays.com/ida-actions/zerostructoffset This example shows how to query the documentation dynamically using an HTTP GET request with the 'ask' query parameter. This is useful for retrieving specific information or clarifications not explicitly present on the page. ```http GET https://docs.hex-rays.com/ida-actions/zerostructoffset.md?ask= ``` -------------------------------- ### Dynamic Documentation Query Example Source: https://docs.hex-rays.com/8.4/admin-guide/legacy-license-server-floating-licenses This example shows how to query the documentation dynamically by making an HTTP GET request with an 'ask' query parameter. ```http GET https://docs.hex-rays.com/8.4/admin-guide/legacy-license-server-floating-licenses.md?ask= ``` -------------------------------- ### M740 Documentation Query Example Source: https://docs.hex-rays.com/8.5/user-guide/disassembler/disassembly-gallery/m740 This example demonstrates how to query the documentation dynamically using an HTTP GET request with the 'ask' query parameter. The question should be specific and self-contained. ```http GET https://docs.hex-rays.com/8.5/user-guide/disassembler/disassembly-gallery/m740.md?ask= ``` -------------------------------- ### Network Settings Example Source: https://docs.hex-rays.com/extensions/floating-license/admin/license-server Configure the port and IP address for the license server to listen on. Use '0.0.0.0' to bind to all available network interfaces. ```json { "port": 65434, "ip_address": "192.168.1.100" } ``` -------------------------------- ### List IDA Installer Options (Linux) Source: https://docs.hex-rays.com/getting-started/install-ida/ida-installer-commandline-options Launch the IDA installer with the `--help` argument to display a list of available command-line options on Linux systems. ```bash root@jfndilt2# ./ida-pro_93_x64linux.run --help IDA Professional 9.3 Usage: --help Display the list of valid options --version Display product information --unattendedmodeui Unattended Mode UI Default: none Allowed: none minimal minimalWithDialogs --optionfile Installation option file Default: --debuglevel Debug information level of verbosity Default: 2 Allowed: 0 1 2 3 4 --mode Installation mode Default: gtk Allowed: gtk xwindow text unattended --debugtrace Debug filename Default: --installer-language Language selection Default: en Allowed: sq ar es_AR az eu pt_BR bg ca hr cs da nl en et fi fr de el he hu id it ja kk ko lv lt no fa pl pt ro ru sr zh_CN sk sl es sv th zh_TW tr tk uk va vi cy --prefix Installation Directory Default: /opt/ida-pro-9.3 --errortrace Error trace filename Default: ``` -------------------------------- ### List IDA Installer Options (Windows) Source: https://docs.hex-rays.com/getting-started/install-ida/ida-installer-commandline-options On Windows, the `--help` argument displays installer options, typically within a GUI dialog. The available options may differ slightly from Linux. ```bash IDA Professional 9.3 Usage: --help Display the list of valid options --version Display product information --unattendedmodeui Unattended Mode UI Default: none Allowed: none minimal minimalWithDialogs --optionfile Installation option file Default: --debuglevel Debug information level of verbosity Default: 2 Allowed: 0 1 2 3 4 --mode Installation mode Default: win32 Allowed: win32 unattended --debugtrace Debug filename Default: --installer-language Language selection Default: en Allowed: sq ar es_AR az eu pt_BR bg ca hr cs da nl en et fi fr de el he hu id it ja kk ko lv lt no fa pl pt ro ru sr zh_CN sk sl es sv th zh_TW tr tk uk va vi cy --prefix Installation Directory Default: C:\Program Files/ida-pro-9.3 --install_python Install Python 3 Default: --errortrace Error trace filename Default: ``` -------------------------------- ### HTTP GET Request Example for Dynamic Querying Source: https://docs.hex-rays.com/9.0sp1/user-guide/decompiler/interactive/cmd_force_call_type This example demonstrates how to perform an HTTP GET request to query the documentation dynamically by appending an 'ask' parameter with a natural language question. ```http GET https://docs.hex-rays.com/9.0sp1/user-guide/decompiler/interactive/cmd_force_call_type.md?ask= ``` -------------------------------- ### Install Custom Microcode Optimization Rule (Example 2) Source: https://docs.hex-rays.com/9.1/developer-guide/c++-sdk/c++-sdk-examples This plugin shows another example of how to install a custom microcode optimization rule, useful for handling obfuscated code. See also sample10. ```cpp // This is a placeholder for the plugin code. // Similar to Sample 10, this demonstrates registering a custom microcode optimization rule. // Example of defining and registering a microcode rule: // struct another_mcop_rule_t : public mcop_rule_t // { // virtual bool apply(mblock_t *mblock) override; // }; // // bool another_mcop_rule_t::apply(mblock_t *mblock) // { // // Implement a different microcode optimization logic here // // ... // return true; // } // // extern "C" int PLUGIN_ENTRY(void) // { // if (!init_hexrays_plugin()) return 0; // another_mcop_rule_t rule; // register_microcode_optimization_rule(rule); // msg("Sample 19: Another Custom Microcode Optimization Rule plugin loaded.\n"); // return 0; // } // Placeholder for the entry point extern "C" int PLUGIN_ENTRY(void) { if (!init_hexrays_plugin()) return 0; msg("Sample 19: Install Custom Microcode Optimization Rule (Example 2) plugin loaded.\n"); // The actual rule registration and logic would be implemented here. return 0; } ``` -------------------------------- ### Example: Set Secondary Lumina Server via Command Line Source: https://docs.hex-rays.com/8.4/user-guide/user-interface/menu-bar/view/lumina-options An example demonstrating how to set the secondary Lumina server using command-line arguments, specifying the host and port. ```bash -Osecondary_lumina:host=lumina.hex-rays.com:port=443 ``` -------------------------------- ### Test License Server Installation Source: https://docs.hex-rays.com/9.0/admin-guide/license-server This command tests the license server by starting it with specified configuration, certificate, key, and license files. It should output server version and listening information if successful. ```bash sudo -u hexlicsrv ./license_server --config-file hexlicsrv.conf \ --certchain-file hexlicsrv.crt \ --privkey-file hexlicsrv.key \ --license-file license_server.hexlic ``` -------------------------------- ### HTTP GET Request Example Source: https://docs.hex-rays.com/8.5/user-guide/user-interface/menu-bar/jump/problems-list To get additional information not directly available on the page, perform an HTTP GET request with the 'ask' query parameter. ```http GET https://docs.hex-rays.com/8.5/user-guide/user-interface/menu-bar/jump/problems-list.md?ask= ``` -------------------------------- ### Test License Server Source: https://docs.hex-rays.com/extensions/floating-license/admin/license-server Run the license server with its configuration, certificate, private key, and license file to verify it starts correctly and listens for connections. ```bash >sudo -u hexlicsrv ./license_server --config-file hexlicsrv.conf \ --certchain-file hexlicsrv.crt \ --privkey-file hexlicsrv.key \ --license-file license_server_.hexlic >2024-04-14 14:35:47 License Server v1.0 Hex-Rays (c) 2024 >2024-04-14 14:35:47 Using a license with 1 seats >2024-04-14 14:35:47 Listening on 0.0.0.0:65434... ``` -------------------------------- ### Example Keyboard Macro Source: https://docs.hex-rays.com/8.4/user-guide/configuration/configuration-files Provides a concrete example of a keyboard macro definition that navigates to a label named 'start'. ```plaintext MACRO "Alt-W" // this sample macro jumps to "start" label { "Ctrl-G" 's' 't' 'a' 'r', 't' "Enter" } ``` -------------------------------- ### get_segm_start Source: https://docs.hex-rays.com/8.4/developer-guide/idc/idc-api-reference Gets the starting address of a segment. ```APIDOC ## get_segm_start ### Description Gets the starting address of a segment. ### Function Signature `ea_t get_segm_start(int seg_idx)` ### Parameters - **seg_idx** (int) - The index of the segment. ### Returns - `ea_t`: The starting address of the segment. Returns `BADADDR` if the segment index is invalid. ``` -------------------------------- ### ARM Querying Documentation Example Source: https://docs.hex-rays.com/9.1/user-guide/disassembler/disassembly-gallery/arm-processor-epoc-app This example demonstrates how to query documentation dynamically using an HTTP GET request with an 'ask' query parameter. This is useful for retrieving specific information or clarification not explicitly present on the page. ```http GET https://docs.hex-rays.com/9.1/user-guide/disassembler/disassembly-gallery/arm-processor-epoc-app.md?ask= ``` -------------------------------- ### Query Documentation Example Source: https://docs.hex-rays.com/8.5/user-guide/disassembler/bitfields Demonstrates how to query the documentation dynamically using an HTTP GET request with the 'ask' query parameter to retrieve specific information. ```http GET https://docs.hex-rays.com/8.5/user-guide/disassembler/bitfields.md?ask= ``` -------------------------------- ### Setup Compiler Action Source: https://docs.hex-rays.com/9.0sp1/user-guide/user-interface/menu-bar/options This action opens a dialog to configure compiler settings like memory model, calling convention, and ABI. Include directories and predefined macros can be specified here, with separators differing between Windows and Linux. ```text Action name: SetupCompiler ``` -------------------------------- ### Start Teams Server Service Source: https://docs.hex-rays.com/extensions/teams/admin/teams-server/teams-server-checklist Use systemctl to start the Hex-Rays Vault server as a background service after installation and testing. ```bash systemctl start hexvault ``` -------------------------------- ### read_selection_start Source: https://docs.hex-rays.com/8.4/developer-guide/idc/idc-api-reference Gets the start address of the current selection. ```APIDOC ## read_selection_start ### Description Gets the start address of the current selection. ### Returns - (long) The start address of the selection, or -1 if no selection exists. ``` -------------------------------- ### Start Lumina Server Source: https://docs.hex-rays.com/8.4/admin-guide/lumina-server Use this command to start the Lumina server with specified configuration and security files. Ensure you have the necessary permissions. ```bash >sudo -u lumina ./lumina_server_pro --config-file lumina.conf \ --certchain-file lumina.crt \ --privkey-file lumina.key Hex-Rays Lumina Server {flavor} v8.0 Hex-Rays (c) 2022-2024 2022-09-22 12:14:37 Listening on 0.0.0.0:443... ``` -------------------------------- ### Agent Query Example Source: https://docs.hex-rays.com/9.0sp1/user-guide/user-interface/menu-bar/edit/operand-types/complex-offset-expression Demonstrates how to query the documentation dynamically using an HTTP GET request with the 'ask' query parameter. ```http GET https://docs.hex-rays.com/9.0sp1/user-guide/user-interface/menu-bar/edit/operand-types/complex-offset-expression.md?ask= ``` -------------------------------- ### Querying Documentation Dynamically Source: https://docs.hex-rays.com/ida-9.2/user-guide/user-interface/menu-bar/common-actions-5 To get additional information not directly present on a page, perform an HTTP GET request with the 'ask' query parameter. This example demonstrates the GET request format. ```http GET https://docs.hex-rays.com/ida-9.2/user-guide/user-interface/menu-bar/common-actions-5.md?ask= ``` -------------------------------- ### Query Documentation Example Source: https://docs.hex-rays.com/9.0sp1/user-guide/plugins/plugins-shipped-with-ida/swift-plugin Example of how to query the documentation dynamically by appending an 'ask' query parameter to the URL. ```http GET https://docs.hex-rays.com/9.0sp1/user-guide/plugins/plugins-shipped-with-ida/swift-plugin.md?ask= ``` -------------------------------- ### Querying Documentation with GET Request Source: https://docs.hex-rays.com/ida-9.2/user-guide/debugger/remote-debugging/bochs-debugger Example of how to query the documentation dynamically using an HTTP GET request with the 'ask' query parameter. ```http GET https://docs.hex-rays.com/ida-9.2/user-guide/debugger/remote-debugging/bochs-debugger.md?ask= ``` -------------------------------- ### Querying Documentation Example Source: https://docs.hex-rays.com/8.4/user-guide/decompiler/interactive/cmd_collapse To get more information not present on the current page, perform an HTTP GET request with the 'ask' query parameter. ```http GET https://docs.hex-rays.com/8.4/user-guide/decompiler/interactive/cmd_collapse.md?ask= ``` -------------------------------- ### Querying Documentation Example Source: https://docs.hex-rays.com/8.4/user-guide/user-interface/menu-bar/debugger/debugger-options Demonstrates how to query the documentation dynamically using an HTTP GET request with the 'ask' query parameter. ```http GET https://docs.hex-rays.com/8.4/user-guide/user-interface/menu-bar/debugger/debugger-options.md?ask= ``` -------------------------------- ### next_head Source: https://docs.hex-rays.com/8.5/developer-guide/idc/idc-api-reference/alphabetical-list-of-idc-functions Gets the next instruction or data starting address. ```APIDOC ## next_head ### Description Gets the next instruction or data starting address after the given address. ### Parameters - **ea** (ea_t) - The current address. - **flags** (int) - Flags to control the search. See IDC documentation for available flags. ### Returns - ea_t - The address of the next instruction or data. ``` -------------------------------- ### Plugin Installation Directory Structure Source: https://docs.hex-rays.com/ida-9.2/developer-guide/plugin-publishing/plugin-repository-architecture Example of the directory structure for an installed plugin named 'oplog'. It includes the `ida-plugin.json` file and other plugin files. ```bash $IDAUSR/plugins/oplog/ ├── ida-plugin.json ├── oplog_entry.py └── (other plugin files) ``` -------------------------------- ### Querying Documentation Example Source: https://docs.hex-rays.com/8.5/user-guide/disassembler/disassembly-gallery/epoc-sis-file-handler This example shows how to query documentation dynamically using an HTTP GET request with the 'ask' query parameter. This is useful for retrieving specific information or clarification not directly present on the page. ```http GET https://docs.hex-rays.com/8.5/user-guide/disassembler/disassembly-gallery/epoc-sis-file-handler.md?ask= ``` -------------------------------- ### Initialize License Server Database Source: https://docs.hex-rays.com/8.5/admin-guide/license-server Use this command to initialize the database on the first install. This will recreate an empty database and then exit. ```bash sudo -u hexlicsrv ./license_server --config-file hexlicsrv.conf \ --recreate-schema ``` -------------------------------- ### Query Documentation via HTTP GET Source: https://docs.hex-rays.com/9.1/user-guide/plugins/plugins-shipped-with-ida/patfind-plugin Example of how to query the documentation dynamically using an HTTP GET request with the 'ask' query parameter. ```http GET https://docs.hex-rays.com/9.1/user-guide/plugins/plugins-shipped-with-ida/patfind-plugin.md?ask= ``` -------------------------------- ### Querying Documentation Example Source: https://docs.hex-rays.com/9.0sp1/user-guide/user-interface/menu-bar/jump/problems-list To get additional information not directly present on the page, perform an HTTP GET request with the 'ask' query parameter. ```http GET https://docs.hex-rays.com/9.0sp1/user-guide/user-interface/menu-bar/jump/problems-list.md?ask= ``` -------------------------------- ### Example GET Request for Documentation Query Source: https://docs.hex-rays.com/9.0/user-guide/disassembler/navigation/how-to-enter-a-segment-value Demonstrates how to query the documentation dynamically by appending an 'ask' parameter with a natural language question to the page URL. ```http GET https://docs.hex-rays.com/9.0/user-guide/disassembler/navigation/how-to-enter-a-segment-value.md?ask= ``` -------------------------------- ### Dynamic Documentation Query Example Source: https://docs.hex-rays.com/8.5/user-guide/user-interface/menu-bar/edit/give-name-to-the-location To get more information not present on the current page, you can perform an HTTP GET request with the 'ask' query parameter. ```http GET https://docs.hex-rays.com/8.5/user-guide/user-interface/menu-bar/edit/give-name-to-the-location.md?ask= ```