Clearly, a full solution is equivalent to the halting problem. But heuristics seem feasible:
* search for comparison with hard coded strings (except as format arguments)
To deal with basic obfuscation, search for comparison with large constants, which may be the hash of the magic string.
Run once on the baseline version, carefully checking all flagged occurrences. Thereafter only check new occurrences.
A similar heuristic search should be able to find some logic bombs (bad behavior in certain conditions) or time bombs (bad behavior on certain dates or times).
A quick web search returned some hits, so I think people are trying to do this.
-paul-
Paul E. Black 100 Bureau Drive, Stop 8970
paul....@nist.gov Gaithersburg, Maryland 20899-8970
voice: +1 301 975-4794 fax: +1 301 975-6097
http://hissa.nist.gov/~black/
--
To unsubscribe from this group, send email to samate-discus...@list.nist.gov
View this message at https://list.nist.gov/samate-discuss
---
To unsubscribe from this group and stop receiving emails from it, send an email to samate-discus...@list.nist.gov.