//------------------------------------------------ //--- 010 Editor Script File // // File: CreateInputPattern.1sc // Authors: Sean Jeong // Email: seeh0.in.korea@gmail.com // Version: 1.0 // Purpose: Creates Ascii input pattern for identifying RET when Buffer Overflow occurs // Category: Text // History: // 1.0 2021-09-27 S Jeong: Initial release. //------------------------------------------------ int count = InputNumber("Number of Characters", "Please enter the number of characters you wish to enter (<20280)", "100"); const int MAX_PATTERN_LENGTH = 20280; //26 * 26 * 10 * 3 , repeat limitation if (count == BAD_VALUE) { Exit(1); } if (count > MAX_PATTERN_LENGTH){ Exit(1); } const UBYTE char_upper_map[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; const UBYTE char_lower_map[] = "abcdefghijklmnopqrstuvwxyz"; const UBYTE char_number_map[] = "0123456789"; int newfile = FileNew(); FileSelect(newfile); int write_offset = 0; int up_idx = 0, low_idx = 0, num_idx = 0; for ( up_idx = 0 ; up_idx < 26 ; up_idx++) { for(low_idx = 0;low_idx < 26; low_idx++) { for(num_idx = 0 ; num_idx < 10 ; num_idx++) { WriteByte(write_offset, char_upper_map[up_idx]); write_offset++; if(write_offset >= count) Exit(0); WriteByte(write_offset, char_lower_map[low_idx]); write_offset++; if(write_offset >= count) Exit(0); WriteByte(write_offset, char_number_map[num_idx]); write_offset++; if(write_offset >= count) Exit(0); } } }