Research Materials - Binary Difference Analysis

Fuzzing

  1. Fuzzing for software vulnerability discovery Open .

0x00 - Function Recognition in Binary Code

  1. Semantics-Aware Machine Learning for Function Recognition in Binary Code Open, ICSME:The International Conference on Software Maintenance and Evolution 2017 .
  2. An In-Depth Analysis of Disassembly on Full-Scale x86/x64 Binaries Open USENIX , pp. 583-600, 2016.
  3. Compiler-Agnostic Function Detection in Binaries Open 2017 IEEE European Symposium on Security and Privacy, 26-28 April 2017.
  4. Enhancing Control Flow Graph Based Binary Function Identification Open ROOTS: Reversing and Offensive-oriented Trends Symposium, November 16–17, 2017, Vienna, Austria.

0x01 - Z3 An Efficient Theorem Prover

  1. Z3 Homepage Open
  2. Z3 API Open
  3. rise4fun Online Z3 Open

  4. Z3 - a Tutorial Open Microsoft Research , pp. 1-61.
  5. Getting Started with Z3: A Guide Open Microsoft Research

  6. Z3: An Efficient SMT Solver Open Springer-Verlag Berlin Heidelberg , pp. 337-340, 2008.
  7. Tutorial on SMT Solvers, Combinatorial Problem Solving Open Enric Rodŕıguez-Carbonell , pp. 1-10, 2016.
  8. Detection of Incorrect Pointer Dereferences for C/C++ Programs using Static Code Analysis and Logical Inference Open CPS , pp. 78-82, 2013.
  9. SMT solvers for Testing, Program Analysis and Verification at Microsoft Open IEEE , pp. 15, 2009.
  10. An efficient SMT solver for string constraints Open Springer , pp. 1-29, 2013.
  11. On Composing and Proving the Correctness of Reactive Behavior Open IEEE , pp. 1-10, 2013.

0x02 - OpenTuner

  1. 面向多核体系结构的并行迭代编译技术研究 Open, 计算机工程与科学 , pp. 436-442, 2017.3.
  2. OpenTuner- An Extensible Framework for Program Autotuning Open, IEEE , pp. 303-315, 2014.
  3. A Visualization and Analysis Platform for Performance Tuning Open IEEE , pp. 72-77, 2016.
  4. Program Autotuning as a Service: Opportunities and Challenges Open 2016 IEEE/ACM 9th International Conference of Utility and Cloud Computing , pp. 148-155, 2016.
  5. Getting Started with OpenTuner Open .
  6. github - jansel/opentuner Open .

0x03 - The Technique of Dynamic Binary Analysis

  1. Similarity of Binaries through re-Optimization Open, PLDI Research Papers , pp. 79-94, 2017.
  2. Statistical Similarity of Binaries Open, PLDI , pp. 266-280 , 2016.
  3. Program obfuscation-a quantitative Open ACM, pp. 15-20, 2007.
  4. Analysis of complexity metrics of a software code for obfuscating transformations of an executable code Open TIAA IOP, pp. 1-9, 2016.
  5. The New Technique of Decompilation and Its Application in Information Security Open UKSim-AMSS, pp. 115-120, 2012.
  6. Improving_Fuzzing_Using_Software_Complex Open ICISC, pp. 246-261, 2015.
  7. The Technique of Dynamic Binary Analysis and Its Application in the Information Security Sphere Open EuroCon IEEE, pp. 40-45, 2013.

0x04 - Pearson’s coefficient

  1. Pearson’s correlation coefficient Open BMJ 2012.
  2. Comparison of Values of Pearson’s and Spearman’s Correlation Coefficients on the Same Sets of Data Open, Quaestiones Geographicae vol. 30 (2), 2011 .
  3. A Concordance Correlation Coefficient to Evaluate Reproducibility Open International Biometric Society 2012 .

0x05 - BinDiff

  1. BiinDiff - Graph Comparison Open .
  2. BiinDiff - issues Open .

0x06 - Diaphora

  1. Diaphora – An IDA Python BinDiffing plugin Open .
  2. github - joxeankoret/diaphora Open .

0x07 - Visual Studio

  1. Compiler Options Listed by Category Open .
  2. Compiler Options Listed Alphabetically Open .
  3. WSL interoperability with Windows Open .

0x08 - GCC Optimization

  1. Plotnikov, D., Melnik, D., Vardanyan, M., Buchatskiy, R., & Zhuykov, R., An Automatic tool for tuning compiler optimizations.,2013 Computer Science and Information Technologies (CSIT) , pp. 1-7, 2013.
  2. Haneda, M., Knijnenburg, P. M., & Wijshoff, H. A., Generating new general compiler optimization settings.,2005 19th annual international conference on Supercomputing. ACM , pp. 161-168, 2005.
  3. Lin, & Chen, Implementation of Alias Analysis for GCC RTL Representation2014,國立中正大學. , pp. 1-77, 2014.
  4. Lin, & Chou, Using Evolutionary Algorithms to Optimize Execution Time and Code Size in Iterative Compilation2012,國立中正大學. , pp. 1-42, 2014.
  5. Lin, Liou, Chen, & Liang, 追蹤 GCC 核心原始碼與移植相關之研究 2012,逢甲大學. , pp. 1-84, 2004.
  6. Ballal, Prathibha A., Sarojadevi, H., & P. S. Harsha., 2015 Compiler optimization: A genetic algorithm approach International Journal of Computer Applications, vol 112-10. , pp. 9-13, 2015.

0x09 - Geneic Algorithm for GCC Optimization

  1. Lin, S., Chang, C., & Lin, N., Automatic selection of GCC optimization options using a gene weighted genetic algorithm,2008 Computer Systems Architecture Conference. ACSAC 2008. 13th Asia-Pacific. IEEE, 2008. , pp. 1-8, 2008.
  2. Zhong, S., Shen, Y., & Hao, F., Tuning compiler optimization options via simulated annealing,2009 Future Information Technology and Management Engineering, 2009. FITME'09. Second International Conference , pp. 305-308, 2009.

0x10 - Text Book of Compiler

  1. Advanced Compiler Design and Implementation Chinese Version/Chinese Version
  2. The Definitive Guide to GCC (Ch5,Ch6 - Acovea tool) download
  3. GCC UPC 4.2.3 BENCHMARKS (Acovea Benchmark) download

0x11 - Background Knowledge

  1. Introduction of RTL download
  2. Intermediate Representations (IR) download
  3. Intoduction of Compiler(Dump file) download
  4. GENRIC and GIMPLE download
  5. The GNU Compiler Collection on zSeries download

0x12 - Questions

  1. Visual Studio in Linux Command Prompt #1,#2
  2. unistd.h (Windows use)(not sure) #1
  3. wait.h, fork() on Windows #1
  4. C++ invoke IDApro #1,#2
  5. Linux unarchive command #1
  6. numeric_limits::max() not recognized #1
  7. CreateProcess() example #1

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

(GCC Developer Options)

    https://gcc.gnu.org/onlinedocs/gcc/Developer-Options.html
    https://jservsummer2015.hackpad.com/ep/pad/static/AG32WoVmbU7
    http://edisonshih.pixnet.net/blog/post/30373432-%E5%9F%BA%E5%9B%A0%E6%BC%94%E7%AE%97%E6%B3%95%28genetic-algorithms%2C-ga%29---introduction-and-c
    https://donsbot.wordpress.com/2009/03/09/evolving-faster-haskell-programs/
    http://ethan.twbbs.org/2009/09/14/compress
    https://www.linuxpilot.com/ubuntu-java
    http://www.hexblog.com/?p=128
    http://www.laird.tw/2015/06/visual-studio-c-link-fatal-error.html
    https://stackoverflow.com/questions/985281/what-is-the-closest-thing-windows-has-to-fork