SkillAgentSearch skills...

Loop

Logic-Oriented Opaque Predicate Detection in Obfuscated Binary Code

Install / Use

/learn @s3team/Loop
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

LOOP is a logic oriented opaque predicate checker. It is able to detect the following opaque predicates in binary code:

  1. Invariant opaque predicate
  2. Contextual opaque predicate
  3. Dynamic opaque predicate

LOOP is developed based on BAP.

BAP: The Binary Analysis Platform. For more information see the project webpage at http://bap.ece.cmu.edu

BAP is released under MIT license and the GPL license; see the appropriate LICENSE.{MIT,GPL}.

How to use:

  1. Use Pin to generate a execution trace. It also needs a lib called gentrace. The command is like: LOOPDIR/pin/pin -t LOOPDIR/pintraces/obj-ia32/gentrace.so -taint_args -- yourprogram yourargs

  2. Convert trace into concrete trace: LOOPDIR/utils/iltrans -trace tracename -trace-concrete -pp-ast tracename.con.il

  3. Preprocess the trace: LOOPDIR/utils/pre_process.pl tracename.con.il

  4. Symbolic execute the trace: LOOPDIR/utils/iltrans -il tracename.con.il -il-formula tracename.stp

  5. Solve the formula with STP. You will need a STP solver installed. stp tracename.stp

View on GitHub
GitHub Stars52
CategoryDevelopment
Updated1mo ago
Forks10

Languages

C++

Security Score

80/100

Audited on Feb 27, 2026

No findings