package binsec
Semantic analysis of binary executables
Install
Dune Dependency
Authors
-
AAdel Djoudi
-
BBenjamin Farinier
-
CChakib Foulani
-
DDorian Lesbre
-
FFrédéric Recoules
-
GGuillaume Girol
-
JJosselin Feist
-
LLesly-Ann Daniel
-
MManh-Dung Nguyen
-
MMathéo Vergnolle
-
MMathilde Ollivier
-
MMatthieu Lemerre
-
OOlivier Nicole
-
RRichard Bonichon
-
RRobin David
-
SSébastien Bardin
-
SSoline Ducousso
-
TTa Thanh Dinh
-
YYaëlle Vinçont
Maintainers
Sources
binsec-0.6.1.tbz
sha256=ebc732ef78d3f6d94a0d179f8ef76a74dedd4d23f9783c3875091695c1ceee56
sha512=cf91afa2223681c9b50b71429d739fc37c792264e43f72212ac405088d3de5c9f04d40ef6ae92526c727569982d48d1678811341b5d9b4bbc596fbc55d45b79e
doc/src/binsec.smt/suid.ml.html
Source file suid.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
(**************************************************************************) (* This file is part of BINSEC. *) (* *) (* Copyright (C) 2016-2022 *) (* CEA (Commissariat à l'énergie atomique et aux énergies *) (* alternatives) *) (* *) (* you can redistribute it and/or modify it under the terms of the GNU *) (* Lesser General Public License as published by the Free Software *) (* Foundation, version 2.1. *) (* *) (* It is distributed in the hope that it will be useful, *) (* but WITHOUT ANY WARRANTY; without even the implied warranty of *) (* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *) (* GNU Lesser General Public License for more details. *) (* *) (* See the GNU Lesser General Public License version 2.1 *) (* for more details (enclosed in the file licenses/LGPLv2.1). *) (* *) (**************************************************************************) type t = string external to_string : t -> string = "%identity" let pp = Format.pp_print_string let zero = "!0" let incr = let set t' i c = Bytes.set t' i c; Bytes.unsafe_to_string t' in (* to keep it compact, transition rules are impacted by the ASCII encoding: 0-9a-zA-Z!$%&*+./<>?@^_~ *) let rec incr t' i = match Bytes.get t' i with | '9' -> set t' i 'a' | 'z' -> set t' i 'A' | 'Z' -> set t' i '!' | '!' -> set t' i '$' | '&' -> set t' i '*' | '+' -> set t' i '.' | '/' -> set t' i '<' | '<' -> set t' i '>' | '@' -> set t' i '^' | '_' -> set t' i '~' | '~' when i = 0 -> (* overflow *) let t' = Bytes.(make (length t' + 1) '0') in Bytes.set t' 0 '!'; Bytes.unsafe_to_string t' | '~' -> Bytes.set t' i '0'; incr t' (i - 1) (* carry *) | x -> set t' i Char.(unsafe_chr (code x + 1)) in fun t -> let t' = Bytes.of_string t in incr t' (Bytes.length t' - 1)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>