feliam b19a158b6f Clean and document some example/linux (#176)
* Clean arguments.c

* Increase query timeout from 30 to 120 seconds

* Example documentation updated

* Add ibranch comments

* crackme.py, ibranch, sindex and typos

* indexhell

* visitad typo

* typo

* strncmp example

* Typos
2017-05-02 17:04:07 -04:00

81 lines
2.6 KiB
C

/* This program will read data from stdin and compare it with a constant string
* using standard strcmp function as provided by libc.
*
*
* Compile with :
* $ gcc -static -Os strncmp.c -o strncmp
*
* Analyze it with:
* $ manticore strncmp
* - By default manticore will consider` all input of stdin symbolic
*
* Expected output:
* 2017-04-24 16:04:22,261: [30182] MAIN:INFO: Loading program: ['strncmp']
* 2017-04-24 16:04:22,262: [30182] MAIN:INFO: Workspace: ./mcore__dZkhU
* 2017-04-24 16:04:30,642: [30232][5] EXECUTOR:INFO: Generating testcase No. 1 for state No.5 - Program finished correctly
* 2017-04-24 16:04:32,880: [30232][21] EXECUTOR:INFO: Generating testcase No. 2 for state No.21 - Program finished correctly
* 2017-04-24 16:04:36,698: [30232][27] EXECUTOR:INFO: Generating testcase No. 3 for state No.27 - Program finished correctly
* 2017-04-24 16:04:41,033: [30232][32] EXECUTOR:INFO: Generating testcase No. 4 for state No.32 - Program finished correctly
* 2017-04-24 16:04:46,186: [30232][37] EXECUTOR:INFO: Generating testcase No. 5 for state No.37 - Program finished correctly
* 2017-04-24 16:04:52,103: [30232][39] EXECUTOR:INFO: Generating testcase No. 6 for state No.39 - Program finished correctly
* 2017-04-24 16:04:59,245: [30232][10] EXECUTOR:INFO: Generating testcase No. 7 for state No.10 - Program finished correctly
* 2017-04-24 16:05:05,608: [30232][13] EXECUTOR:INFO: Generating testcase No. 8 for state No.13 - Program finished correctly
*
* Look at ./mcore__dZkhU for results.
* $ head *.stdout
* ==> test_00000001.stdout <==
* Message: Not Found!
*
* ==> test_00000002.stdout <==
* Message: Not Found!
*
* ==> test_00000003.stdout <==
* Message: Not Found!
*
* ==> test_00000004.stdout <==
* Message: Not Found!
*
* ==> test_00000005.stdout <==
* Message: ZARAZA!
*
* ==> test_00000006.stdout <==
* Message: Not Found!
*
* ==> test_00000007.stdout <==
* Message: Not Found!
*
* ==> test_00000008.stdout <==
* Message: Not Found!
*
*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[], char* envp[]){
char buffer[0x100] = {0};
unsigned char cmd;
read(0, buffer, 0x100);
if (strcmp(buffer, "ZARAZA") == 0 )
/*if (buffer[0] == 'Z' && \
buffer[1] == 'A' && \
buffer[2] == 'R' && \
buffer[3] == 'A' && \
buffer[4] == 'Z' && \
buffer[5] == 'A' && \
buffer[6] == '\x00')*/
{
printf("Message: ZARAZA!\n");
}
else
{
printf("Message: Not Found!\n");
}
return 0;
}