Crop ASCII Art Challenge
Vim, 16, 12 bytes/keystrokes

#&lt;C-v&gt;Nj*yggVGp


Try it online! in the V interpreter


  Modern text editors are very good at manipulating text. Are modern programming languages up to the task?


I bet old text editors are even better! :D

Even though it doesn't necessarily have to, this answer does work with both of the given "invalid" inputs, outputting

 rectangular (
) which is ill


and 

(The lines must already be square
so this line that is too short
relative to this end, is illegal)


Explanation: 

#               " Move backward to the previous occurrence of the word (or in this case, character) under the cursor
 &lt;C-v&gt;          " Start a visual block selection
      N         " Go to the next occurrence of the last searched term (guaranteed to be line 1)
       j        " Move down a line
        *       " Move forward to the next occurrence of the character under the cursor
         y      " Yank (copy) the whole visually selected block
          gg    " Go to line 1
            VG  " Select every line
              p " And paste what we last copied over it, deleting the whole buffer and replacing it with the block