# Ubsym Bin Vuln Scanner

UbSym attempts to improve the efficiency of symbolic execution technique and use it to detect a group of memory corruption vulnerabilities in binary programs. Instead of applying symbolic execution to the whole program, this tool initially determines a program test unit, probably containing vulnerability, using static analysis and based on the defined specifications for memory corruption vulnerabilities. Then the constraint tree of the program unit is extracted using symbolic execution so that every node in this constraint tree contains the desired path and vulnerability constraints. Finally, using the curve fitting technique and treatment learning the system inputs are estimated consistent with these constraints. Thus, new inputs are generated that reach the vulnerable instructions in the desired unit from the beginning of the program and cause vulnerability aactivation in those instructions.

<figure><img src="https://2273033137-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGlSezkssK5aHdG6Al3xJ%2Fuploads%2FBgJ73qSmhC2m2fkExFeT%2FCWE122_Heap_Based_Buffer_Overflow__c_CWE193_char_cpy_01_bad.png?alt=media&#x26;token=929d2f33-e681-4d12-a673-59f91d9a4e5c" alt=""><figcaption></figcaption></figure>

Download&#x20;

{% embed url="https://github.com/SoftwareSecurityLab/UbSym" %}
