fbsamples / fbctf-2019-challenges
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 16% duplication:
    • 13,894 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,273 duplicated lines
  • 223 duplicates
system16% (2,273 lines)
Duplication per Extension
py17% (840 lines)
c23% (710 lines)
go23% (362 lines)
html44% (225 lines)
asm7% (96 lines)
cc10% (26 lines)
cpp2% (14 lines)
Duplication per Component (primary)
pwnables/asciishop49% (840 lines)
misc/homework_assignment_133729% (334 lines)
reversing/SOMBRERO_ROJO30% (269 lines)
web/secret_note_keeper42% (244 lines)
reversing/matryoshka9% (174 lines)
pwnables/otp_server40% (106 lines)
web/events21% (45 lines)
reversing/nomoreseacrypts10% (44 lines)
web/pdfme33% (39 lines)
crypto/postquantumsig12% (36 lines)
crypto/keybaseish6% (34 lines)
pwnables/raddest_db6% (32 lines)
misc/j0hnny_57% (28 lines)
crypto/storagespace2% (22 lines)
pwnables/babylist7% (14 lines)
crypto/frank1% (12 lines)
misc/evil0% (0 lines)
misc/whysapp0% (0 lines)
misc/regexicide0% (0 lines)
misc/osquery_game0% (0 lines)
crypto/netscream0% (0 lines)
web/rceservice0% (0 lines)
web/products-manager0% (0 lines)
reversing/imageprot0% (0 lines)
reversing/go_get_the_flag0% (0 lines)
pwnables/kpets0% (0 lines)
pwnables/rusty_shop0% (0 lines)
pwnables/overfloat0% (0 lines)
pwnables/rank0% (0 lines)

Duplication Between Components (50+ lines)

G web/events web/events web/secret_note_keeper web/secret_note_keeper web/events--web/secret_note_keeper 54

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 223 duplicates...
Size#FoldersFilesLinesCode
125 x 2 pwnables/asciishop
pwnables/asciishop
exploit.py
remote.py
4:215 (84%)
4:215 (84%)
view
107 x 2 pwnables/asciishop
pwnables/asciishop
exploit.py
fuzz.py
4:173 (72%)
4:173 (83%)
view
107 x 2 pwnables/asciishop
pwnables/asciishop
fuzz.py
remote.py
4:173 (83%)
4:173 (72%)
view
32 x 2 pwnables/otp_server
pwnables/otp_server
exploit.py
exploit2.py
32:78 (32%)
32:78 (36%)
view
32 x 2 reversing/SOMBRERO_ROJO/crypto
reversing/SOMBRERO_ROJO/crypto
rc4block.c
rc4block.c
188:249 (7%)
741:800 (7%)
view
26 x 2 pwnables/asciishop
pwnables/asciishop
asciishop.c
asciishop_dirty.c
699:724 (6%)
699:724 (6%)
view
26 x 2 pwnables/asciishop
pwnables/asciishop
asciishop.c
asciishop_clean.c
699:724 (6%)
707:732 (6%)
view
26 x 2 pwnables/asciishop
pwnables/asciishop
asciishop_clean.c
asciishop_dirty.c
707:732 (6%)
699:724 (6%)
view
24 x 2 misc/homework_assignment_1337/src/gen-go/ping
misc/homework_assignment_1337/src/gen-go/ping
ping.go
ping.go
874:909 (3%)
1090:1125 (3%)
view
24 x 2 pwnables/asciishop
pwnables/asciishop
asciishop_clean.c
asciishop_dirty.c
499:538 (5%)
491:530 (6%)
view
24 x 2 misc/homework_assignment_1337/src/gen-go/ping
misc/homework_assignment_1337/src/gen-go/ping
ping.go
ping.go
981:1016 (3%)
1197:1232 (3%)
view
24 x 2 pwnables/asciishop
pwnables/asciishop
asciishop.c
asciishop_dirty.c
491:530 (6%)
491:530 (6%)
view
24 x 2 pwnables/asciishop
pwnables/asciishop
asciishop.c
asciishop_clean.c
491:530 (6%)
499:538 (5%)
view
23 x 2 misc/homework_assignment_1337/src/gen-go/ping
misc/homework_assignment_1337/src/gen-go/ping
ping.go
ping.go
113:143 (3%)
259:289 (3%)
view
21 x 2 reversing/matryoshka/src/original_asm
reversing/matryoshka/src/original_asm
pxor.asm
rot13.asm
14:34 (3%)
14:34 (16%)
view
21 x 2 reversing/matryoshka
reversing/matryoshka
generate.py
solve.py
968:992 (6%)
40:63 (19%)
view
19 x 2 pwnables/asciishop
pwnables/asciishop
asciishop.c
asciishop_dirty.c
39:60 (4%)
39:60 (4%)
view
19 x 2 pwnables/asciishop
pwnables/asciishop
asciishop_clean.c
asciishop_dirty.c
39:63 (4%)
39:60 (4%)
view
19 x 2 pwnables/asciishop
pwnables/asciishop
asciishop.c
asciishop_clean.c
39:60 (4%)
39:63 (4%)
view
18 x 2 web/secret_note_keeper/web/app/app/templates
web/secret_note_keeper/web/app/app/templates
report_bugs.html
search.html
1:24 (28%)
1:24 (41%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 25 unit duplicates...
Size#FoldersFilesLinesCode
36 x 2 misc/homework_assignment_1337/src/gen-go/ping
misc/homework_assignment_1337/src/gen-go/ping
ping.go
ping.go
873:910 
1089:1126 
view
36 x 2 misc/homework_assignment_1337/src/gen-go/ping
misc/homework_assignment_1337/src/gen-go/ping
ping.go
ping.go
980:1017 
1196:1233 
view
27 x 3 pwnables/asciishop
pwnables/asciishop
pwnables/asciishop
asciishop.c
asciishop_clean.c
asciishop_dirty.c
698:725 
706:733 
698:725 
view
16 x 2 misc/homework_assignment_1337/src/gen-go/ping
misc/homework_assignment_1337/src/gen-go/ping
ping.go
ping.go
477:493 
587:603 
view
16 x 2 misc/homework_assignment_1337/src/gen-go/ping
misc/homework_assignment_1337/src/gen-go/ping
ping.go
ping.go
1027:1043 
1243:1259 
view
14 x 3 pwnables/asciishop
pwnables/asciishop
pwnables/asciishop
asciishop.c
asciishop_clean.c
asciishop_dirty.c
276:295 
284:303 
276:295 
view
13 x 2 misc/homework_assignment_1337/src/gen-go/ping
misc/homework_assignment_1337/src/gen-go/ping
ping.go
ping.go
1045:1058 
1261:1274 
view
12 x 3 pwnables/asciishop
pwnables/asciishop
pwnables/asciishop
remote.py
fuzz.py
exploit.py
0:0 
0:0 
0:0 
view
11 x 3 pwnables/asciishop
pwnables/asciishop
pwnables/asciishop
asciishop.c
asciishop_clean.c
asciishop_dirty.c
93:108 
96:111 
93:108 
view
11 x 3 pwnables/asciishop
pwnables/asciishop
pwnables/asciishop
remote.py
fuzz.py
exploit.py
0:0 
0:0 
0:0 
view
11 x 3 pwnables/asciishop
pwnables/asciishop
pwnables/asciishop
remote.py
fuzz.py
exploit.py
0:0 
0:0 
0:0 
view
9 x 2 reversing/nomoreseacrypts
reversing/nomoreseacrypts
generate.py
solve.py
0:0 
0:0 
view
9 x 2 pwnables/otp_server
pwnables/otp_server
exploit2.py
exploit.py
0:0 
0:0 
view
9 x 3 pwnables/asciishop
pwnables/asciishop
pwnables/asciishop
asciishop.c
asciishop_clean.c
asciishop_dirty.c
79:91 
82:94 
79:91 
view
9 x 3 pwnables/asciishop
pwnables/asciishop
pwnables/asciishop
remote.py
fuzz.py
exploit.py
0:0 
0:0 
0:0 
view
9 x 2 reversing/matryoshka
reversing/matryoshka
generate.py
solve.py
0:0 
0:0 
view
8 x 3 pwnables/asciishop
pwnables/asciishop
pwnables/asciishop
remote.py
fuzz.py
exploit.py
0:0 
0:0 
0:0 
view
7 x 2 misc/homework_assignment_1337/src/gen-go/ping
misc/homework_assignment_1337/src/gen-go/ping
ping.go
ping.go
170:177 
336:343 
view
7 x 3 pwnables/asciishop
pwnables/asciishop
pwnables/asciishop
remote.py
fuzz.py
exploit.py
0:0 
0:0 
0:0 
view
7 x 3 pwnables/asciishop
pwnables/asciishop
pwnables/asciishop
remote.py
fuzz.py
exploit.py
0:0 
0:0 
0:0 
view