Xfenser AI

4/17/2026, 11:21:32 PM
User Request

SCENARIO NAME
Critical Flight

Your team has assigned you to a mission to investigate the production files of Printed Circuit Boards for irregularities. This is in response to the deployment of nonfunctional DIY drones that keep falling out of the sky. The team had used a slightly modified version of an open-source flight controller in order to save time, but it appears that someone had sabotaged the design before production. Can you help identify any suspicious alterations made to the boards?

Scenario Files
/home/user/Desktop/ctf/

AI Reasoning

I'll start by examining the scenario files to understand what we're working with, then investigate for sabotaged PCB design files.

Terminal
$ ls -la /home/user/Desktop/ctf/
total 304
drwxrwxr-x 2 user user   4096 Apr 17 22:33 .
drwxr-xr-x 5 user user   4096 Apr 17 22:33 ..
-rw-rw-r-- 1 user user 300775 Apr 17 22:33 hw_critical_flight.zip
Terminal
$ find /home/user/Desktop/ctf/ -type f | head -50
/home/user/Desktop/ctf/hw_critical_flight.zip
Terminal
$ cd /home/user/Desktop/ctf && unzip -o hw_critical_flight.zip -d hw_critical_flight 2>&1
Archive:  hw_critical_flight.zip
   creating: hw_critical_flight/flight_control_board/
  inflating: hw_critical_flight/__MACOSX/._flight_control_board  
  inflating: hw_critical_flight/flight_control_board/HadesMicro-B_Cu.gbr  
  inflating: hw_critical_flight/__MACOSX/flight_control_board/._HadesMicro-B_Cu.gbr  
  inflating: hw_critical_flight/flight_control_board/HadesMicro-B_Paste.gbr  
  inflating: hw_critical_flight/__MACOSX/flight_control_board/._HadesMicro-B_Paste.gbr  
  inflating: hw_critical_flight/flight_control_board/HadesMicro-Edge_Cuts.gbr  
  inflating: hw_critical_flight/__MACOSX/flight_control_board/._HadesMicro-Edge_Cuts.gbr  
  inflating: hw_critical_flight/flight_control_board/HadesMicro-B_Mask.gbr  
  inflating: hw_critical_flight/__MACOSX/flight_control_board/._HadesMicro-B_Mask.gbr  
  inflating: hw_critical_flight/flight_control_board/HadesMicro-In1_Cu.gbr  
  inflating: hw_critical_flight/__MACOSX/flight_control_board/._HadesMicro-In1_Cu.gbr  
  inflating: hw_critical_flight/flight_control_board/HadesMicro-F_Cu.gbr  
  inflating: hw_critical_flight/__MACOSX/flight_control_board/._HadesMicro-F_Cu.gbr  
  inflating: hw_critical_flight/flight_control_board/HadesMicro-F_Fab.gbr  
  inflating: hw_critical_flight/__MACOSX/flight_control_board/._HadesMicro-F_Fab.gbr  
  inflating: hw_critical_flight/flight_control_board/HadesMicro-F_Mask.gbr  
  inflating: hw_critical_flight/__MACOSX/flight_control_board/._HadesMicro-F_Mask.gbr  
  inflating: hw_critical_flight/flight_control_board/HadesMicro-F_Silkscreen.gbr  
  inflating: hw_critical_flight/__MACOSX/flight_control_board/._HadesMicro-F_Silkscreen.gbr  
  inflating: hw_critical_flight/flight_control_board/HadesMicro-F_Paste.gbr  
  inflating: hw_critical_flight/__MACOSX/flight_control_board/._HadesMicro-F_Paste.gbr  
  inflating: hw_critical_flight/flight_control_board/HadesMicro-B_Fab.gbr  
  inflating: hw_critical_flight/__MACOSX/flight_control_board/._HadesMicro-B_Fab.gbr  
  inflating: hw_critical_flight/flight_control_board/HadesMicro-In2_Cu.gbr  
  inflating: hw_critical_flight/__MACOSX/flight_control_board/._HadesMicro-In2_Cu.gbr  
  inflating: hw_critical_flight/flight_control_board/HadesMicro-B_Silkscreen.gbr  
  inflating: hw_critical_flight/__MACOSX/flight_control_board/._HadesMicro-B_Silkscreen.gbr  
Terminal
$ ls -la /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/
total 1128
drwxr-xr-x 2 user user   4096 Mar 18  2023 .
drwxrwxr-x 4 user user   4096 Apr 17 22:34 ..
-rw-rw-r-- 1 user user 163670 Mar 18  2023 HadesMicro-B_Cu.gbr
-rw-rw-r-- 1 user user    483 Mar 18  2023 HadesMicro-B_Fab.gbr
-rw-rw-r-- 1 user user   3372 Mar 18  2023 HadesMicro-B_Mask.gbr
-rw-rw-r-- 1 user user    508 Mar 18  2023 HadesMicro-B_Paste.gbr
-rw-rw-r-- 1 user user  25333 Mar 18  2023 HadesMicro-B_Silkscreen.gbr
-rw-rw-r-- 1 user user   1061 Mar 18  2023 HadesMicro-Edge_Cuts.gbr
-rw-rw-r-- 1 user user 303512 Mar 18  2023 HadesMicro-F_Cu.gbr
-rw-rw-r-- 1 user user 103438 Mar 18  2023 HadesMicro-F_Fab.gbr
-rw-rw-r-- 1 user user  14223 Mar 18  2023 HadesMicro-F_Mask.gbr
-rw-rw-r-- 1 user user  11559 Mar 18  2023 HadesMicro-F_Paste.gbr
-rw-rw-r-- 1 user user  25809 Mar 18  2023 HadesMicro-F_Silkscreen.gbr
-rw-rw-r-- 1 user user 201397 Mar 18  2023 HadesMicro-In1_Cu.gbr
-rw-rw-r-- 1 user user 260983 Mar 18  2023 HadesMicro-In2_Cu.gbr
Terminal
$ wc -l /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/*.gbr
   6604 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-B_Cu.gbr
     14 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-B_Fab.gbr
    154 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-B_Mask.gbr
     15 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-B_Paste.gbr
   1014 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-B_Silkscreen.gbr
     46 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-Edge_Cuts.gbr
  12462 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-F_Cu.gbr
   4150 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-F_Fab.gbr
    605 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-F_Mask.gbr
    474 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-F_Paste.gbr
   1095 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-F_Silkscreen.gbr
   8092 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-In1_Cu.gbr
  10469 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-In2_Cu.gbr
  45194 total
AI Reasoning

Let me examine the Gerber files for suspicious content. I'll start by looking at the header/footer areas and searching for unusual patterns.

Terminal
$ head -30 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-F_Cu.gbr
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.9)*
G04 #@! TF.CreationDate,2023-03-18T16:21:46+02:00*
G04 #@! TF.ProjectId,HadesMicro,48616465-734d-4696-9372-6f2e6b696361,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Copper,L1,Top*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.9)) date 2023-03-18 16:21:46*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 Aperture macros list*
%AMRoundRect*
0 Rectangle with rounded corners*
0 $1 Rounding radius*
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
0 Add a 4 corners polygon primitive as box body*
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
0 Add four circle primitives for the rounded corners*
1,1,$1+$1,$2,$3*
1,1,$1+$1,$4,$5*
1,1,$1+$1,$6,$7*
1,1,$1+$1,$8,$9*
0 Add four rect primitives between the rounded corners*
20,1,$1+$1,$2,$3,$4,$5,0*
20,1,$1+$1,$4,$5,$6,$7,0*
20,1,$1+$1,$6,$7,$8,$9,0*
20,1,$1+$1,$8,$9,$2,$3,0*%
Terminal
$ tail -30 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-F_Cu.gbr
X58121116Y-34747200D01*
X58095928Y-34754596D01*
X58060430Y-34759700D01*
X57708127Y-34759700D01*
X57640006Y-34739698D01*
X57593513Y-34686042D01*
X57583409Y-34615768D01*
X57607301Y-34558136D01*
X57619615Y-34541705D01*
X57670745Y-34405316D01*
X57677500Y-34343134D01*
X57677500Y-34329210D01*
X57697502Y-34261089D01*
X57752856Y-34213836D01*
X57774341Y-34204405D01*
X57780446Y-34201914D01*
X57830882Y-34182855D01*
X57830885Y-34182853D01*
X57837989Y-34180169D01*
X57844246Y-34175869D01*
X57848714Y-34173533D01*
X57858160Y-34168275D01*
X57862526Y-34165693D01*
X57869485Y-34162638D01*
X57900298Y-34138994D01*
X57966517Y-34113395D01*
X58036065Y-34127660D01*
G37*
G04 #@! TD.AperFunction*
M02*
Terminal
$ head -30 /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-F_Silkscreen.gbr
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.9)*
G04 #@! TF.CreationDate,2023-03-18T16:21:46+02:00*
G04 #@! TF.ProjectId,HadesMicro,48616465-734d-4696-9372-6f2e6b696361,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Legend,Top*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.9)) date 2023-03-18 16:21:46*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,0.150000*%
%ADD11C,0.050000*%
%ADD12C,0.100000*%
%ADD13C,0.093750*%
%ADD14C,0.200000*%
%ADD15C,0.120000*%
%ADD16C,0.127000*%
%ADD17C,0.254000*%
G04 APERTURE END LIST*
D10*
X42037000Y-30480000D02*
X42291000Y-30226000D01*
X39751000Y-30226000D02*
X39751000Y-32766000D01*
X39497000Y-32512000D02*
X39751000Y-32766000D01*
X40005000Y-32512000D02*
Create Project
critical-flight-ctf

CTF challenge - investigate PCB Gerber files for sabotage in drone flight controller design

AI Reasoning

Now let me look at all the silkscreen files and search for hidden text or suspicious patterns:

Terminal
$ cat /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-F_Silkscreen.gbr
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.9)*
G04 #@! TF.CreationDate,2023-03-18T16:21:46+02:00*
G04 #@! TF.ProjectId,HadesMicro,48616465-734d-4696-9372-6f2e6b696361,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Legend,Top*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.9)) date 2023-03-18 16:21:46*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,0.150000*%
%ADD11C,0.050000*%
%ADD12C,0.100000*%
%ADD13C,0.093750*%
%ADD14C,0.200000*%
%ADD15C,0.120000*%
%ADD16C,0.127000*%
%ADD17C,0.254000*%
G04 APERTURE END LIST*
D10*
X42037000Y-30480000D02*
X42291000Y-30226000D01*
X39751000Y-30226000D02*
X39751000Y-32766000D01*
X39497000Y-32512000D02*
X39751000Y-32766000D01*
X40005000Y-32512000D02*
X39497000Y-32512000D01*
X39751000Y-32766000D02*
X40005000Y-32512000D01*
X42037000Y-29972000D02*
X42037000Y-30480000D01*
X63556796Y-49580800D02*
G75*
G03*
X63556796Y-49580800I-56796J0D01*
G01*
X32416396Y-35382200D02*
G75*
G03*
X32416396Y-35382200I-56796J0D01*
G01*
X34981796Y-32004000D02*
G75*
G03*
X34981796Y-32004000I-56796J0D01*
G01*
X56825796Y-32385000D02*
G75*
G03*
X56825796Y-32385000I-56796J0D01*
G01*
X59187996Y-32486600D02*
G75*
G03*
X59187996Y-32486600I-56796J0D01*
G01*
X43465396Y-67386200D02*
G75*
G03*
X43465396Y-67386200I-56796J0D01*
G01*
X40112596Y-48310800D02*
G75*
G03*
X40112596Y-48310800I-56796J0D01*
G01*
X42291000Y-30226000D02*
X42037000Y-29972000D01*
X39751000Y-30607000D02*
X40132000Y-30607000D01*
X40132000Y-30607000D02*
X40132000Y-30226000D01*
X39751000Y-30226000D02*
X42291000Y-30226000D01*
D11*
X41592523Y-45831914D02*
X41973476Y-45831914D01*
X41783000Y-46022390D02*
X41783000Y-45641438D01*
X61429923Y-32395314D02*
X61810876Y-32395314D01*
X61620400Y-32585790D02*
X61620400Y-32204838D01*
X29679923Y-51013514D02*
X30060876Y-51013514D01*
X29870400Y-51203990D02*
X29870400Y-50823038D01*
X55054523Y-56576114D02*
X55435476Y-56576114D01*
X55245000Y-56766590D02*
X55245000Y-56385638D01*
X56832523Y-56576114D02*
X57213476Y-56576114D01*
X57023000Y-56766590D02*
X57023000Y-56385638D01*
X58610523Y-56550714D02*
X58991476Y-56550714D01*
X58801000Y-56741190D02*
X58801000Y-56360238D01*
X60388523Y-56525314D02*
X60769476Y-56525314D01*
X60579000Y-56715790D02*
X60579000Y-56334838D01*
D10*
X31027619Y-35036166D02*
X31027619Y-35655214D01*
X30646666Y-35321880D01*
X30646666Y-35464738D01*
X30599047Y-35559976D01*
X30551428Y-35607595D01*
X30456190Y-35655214D01*
X30218095Y-35655214D01*
X30122857Y-35607595D01*
X30075238Y-35559976D01*
X30027619Y-35464738D01*
X30027619Y-35179023D01*
X30075238Y-35083785D01*
X30122857Y-35036166D01*
X30694285Y-38099976D02*
X30027619Y-38099976D01*
X31075238Y-37861880D02*
X30360952Y-37623785D01*
X30360952Y-38242833D01*
X30932380Y-32543785D02*
X30980000Y-32591404D01*
X31027619Y-32686642D01*
X31027619Y-32924738D01*
X30980000Y-33019976D01*
X30932380Y-33067595D01*
X30837142Y-33115214D01*
X30741904Y-33115214D01*
X30599047Y-33067595D01*
X30027619Y-32496166D01*
X30027619Y-33115214D01*
X31027619Y-40687595D02*
X31027619Y-40211404D01*
X30551428Y-40163785D01*
X30599047Y-40211404D01*
X30646666Y-40306642D01*
X30646666Y-40544738D01*
X30599047Y-40639976D01*
X30551428Y-40687595D01*
X30456190Y-40735214D01*
X30218095Y-40735214D01*
X30122857Y-40687595D01*
X30075238Y-40639976D01*
X30027619Y-40544738D01*
X30027619Y-40306642D01*
X30075238Y-40211404D01*
X30122857Y-40163785D01*
X31027619Y-43179976D02*
X31027619Y-42989500D01*
X30980000Y-42894261D01*
X30932380Y-42846642D01*
X30789523Y-42751404D01*
X30599047Y-42703785D01*
X30218095Y-42703785D01*
X30122857Y-42751404D01*
X30075238Y-42799023D01*
X30027619Y-42894261D01*
X30027619Y-43084738D01*
X30075238Y-43179976D01*
X30122857Y-43227595D01*
X30218095Y-43275214D01*
X30456190Y-43275214D01*
X30551428Y-43227595D01*
X30599047Y-43179976D01*
X30646666Y-43084738D01*
X30646666Y-42894261D01*
X30599047Y-42799023D01*
X30551428Y-42751404D01*
X30456190Y-42703785D01*
X31027619Y-45132666D02*
X31027619Y-45799333D01*
X30027619Y-45370761D01*
X30599047Y-47974261D02*
X30646666Y-47879023D01*
X30694285Y-47831404D01*
X30789523Y-47783785D01*
X30837142Y-47783785D01*
X30932380Y-47831404D01*
X30980000Y-47879023D01*
X31027619Y-47974261D01*
X31027619Y-48164738D01*
X30980000Y-48259976D01*
X30932380Y-48307595D01*
X30837142Y-48355214D01*
X30789523Y-48355214D01*
X30694285Y-48307595D01*
X30646666Y-48259976D01*
X30599047Y-48164738D01*
X30599047Y-47974261D01*
X30551428Y-47879023D01*
X30503809Y-47831404D01*
X30408571Y-47783785D01*
X30218095Y-47783785D01*
X30122857Y-47831404D01*
X30075238Y-47879023D01*
X30027619Y-47974261D01*
X30027619Y-48164738D01*
X30075238Y-48259976D01*
X30122857Y-48307595D01*
X30218095Y-48355214D01*
X30408571Y-48355214D01*
X30503809Y-48307595D01*
X30551428Y-48259976D01*
X30599047Y-48164738D01*
X27128838Y-50514285D02*
X27081219Y-50657142D01*
X27081219Y-50895238D01*
X27128838Y-50990476D01*
X27176457Y-51038095D01*
X27271695Y-51085714D01*
X27366933Y-51085714D01*
X27462171Y-51038095D01*
X27509790Y-50990476D01*
X27557409Y-50895238D01*
X27605028Y-50704761D01*
X27652647Y-50609523D01*
X27700266Y-50561904D01*
X27795504Y-50514285D01*
X27890742Y-50514285D01*
X27985980Y-50561904D01*
X28033600Y-50609523D01*
X28081219Y-50704761D01*
X28081219Y-50942857D01*
X28033600Y-51085714D01*
X25011071Y-50419047D02*
X25011071Y-51180952D01*
X24630119Y-50800000D02*
X25392023Y-50800000D01*
X22471071Y-50419047D02*
X22471071Y-51180952D01*
X48602876Y-26852619D02*
X48936209Y-27328809D01*
X49174304Y-26852619D02*
X49174304Y-27852619D01*
X48793352Y-27852619D01*
X48698114Y-27805000D01*
X48650495Y-27757380D01*
X48602876Y-27662142D01*
X48602876Y-27519285D01*
X48650495Y-27424047D01*
X48698114Y-27376428D01*
X48793352Y-27328809D01*
X49174304Y-27328809D01*
X47602876Y-26947857D02*
X47650495Y-26900238D01*
X47793352Y-26852619D01*
X47888590Y-26852619D01*
X48031447Y-26900238D01*
X48126685Y-26995476D01*
X48174304Y-27090714D01*
X48221923Y-27281190D01*
X48221923Y-27424047D01*
X48174304Y-27614523D01*
X48126685Y-27709761D01*
X48031447Y-27805000D01*
X47888590Y-27852619D01*
X47793352Y-27852619D01*
X47650495Y-27805000D01*
X47602876Y-27757380D01*
D12*
X54395714Y-55929571D02*
X54502857Y-55965285D01*
X54681428Y-55965285D01*
X54752857Y-55929571D01*
X54788571Y-55893857D01*
X54824285Y-55822428D01*
X54824285Y-55751000D01*
X54788571Y-55679571D01*
X54752857Y-55643857D01*
X54681428Y-55608142D01*
X54538571Y-55572428D01*
X54467142Y-55536714D01*
X54431428Y-55501000D01*
X54395714Y-55429571D01*
X54395714Y-55358142D01*
X54431428Y-55286714D01*
X54467142Y-55251000D01*
X54538571Y-55215285D01*
X54717142Y-55215285D01*
X54824285Y-55251000D01*
X56495142Y-55597828D02*
X56245142Y-55597828D01*
X56245142Y-55990685D02*
X56245142Y-55240685D01*
X56602285Y-55240685D01*
X57697857Y-55990685D02*
X57697857Y-55240685D01*
X57947857Y-55776400D01*
X58197857Y-55240685D01*
X58197857Y-55990685D01*
X58697857Y-55240685D02*
X58840714Y-55240685D01*
X58912142Y-55276400D01*
X58983571Y-55347828D01*
X59019285Y-55490685D01*
X59019285Y-55740685D01*
X58983571Y-55883542D01*
X58912142Y-55954971D01*
X58840714Y-55990685D01*
X58697857Y-55990685D01*
X58626428Y-55954971D01*
X58555000Y-55883542D01*
X58519285Y-55740685D01*
X58519285Y-55490685D01*
X58555000Y-55347828D01*
X58626428Y-55276400D01*
X58697857Y-55240685D01*
X59340714Y-55990685D02*
X59340714Y-55240685D01*
X59519285Y-55240685D01*
X59626428Y-55276400D01*
X59697857Y-55347828D01*
X59733571Y-55419257D01*
X59769285Y-55562114D01*
X59769285Y-55669257D01*
X59733571Y-55812114D01*
X59697857Y-55883542D01*
X59626428Y-55954971D01*
X59519285Y-55990685D01*
X59340714Y-55990685D01*
X60090714Y-55597828D02*
X60340714Y-55597828D01*
X60447857Y-55990685D02*
X60090714Y-55990685D01*
X60090714Y-55240685D01*
X60447857Y-55240685D01*
D13*
X52943357Y-45057190D02*
X52943357Y-44723857D01*
X52943357Y-44771476D02*
X52990976Y-44747666D01*
X53086214Y-44723857D01*
X53229071Y-44723857D01*
X53324309Y-44747666D01*
X53371928Y-44795285D01*
X53371928Y-45057190D01*
X53371928Y-44795285D02*
X53419547Y-44747666D01*
X53514785Y-44723857D01*
X53657642Y-44723857D01*
X53752880Y-44747666D01*
X53800500Y-44795285D01*
X53800500Y-45057190D01*
X54276690Y-45057190D02*
X54276690Y-44723857D01*
X54276690Y-44557190D02*
X54229071Y-44581000D01*
X54276690Y-44604809D01*
X54324309Y-44581000D01*
X54276690Y-44557190D01*
X54276690Y-44604809D01*
X55181452Y-45033380D02*
X55086214Y-45057190D01*
X54895738Y-45057190D01*
X54800500Y-45033380D01*
X54752880Y-45009571D01*
X54705261Y-44961952D01*
X54705261Y-44819095D01*
X54752880Y-44771476D01*
X54800500Y-44747666D01*
X54895738Y-44723857D01*
X55086214Y-44723857D01*
X55181452Y-44747666D01*
X55610023Y-45057190D02*
X55610023Y-44723857D01*
X55610023Y-44819095D02*
X55657642Y-44771476D01*
X55705261Y-44747666D01*
X55800500Y-44723857D01*
X55895738Y-44723857D01*
X56371928Y-45057190D02*
X56276690Y-45033380D01*
X56229071Y-45009571D01*
X56181452Y-44961952D01*
X56181452Y-44819095D01*
X56229071Y-44771476D01*
X56276690Y-44747666D01*
X56371928Y-44723857D01*
X56514785Y-44723857D01*
X56610023Y-44747666D01*
X56657642Y-44771476D01*
X56705261Y-44819095D01*
X56705261Y-44961952D01*
X56657642Y-45009571D01*
X56610023Y-45033380D01*
X56514785Y-45057190D01*
X56371928Y-45057190D01*
D10*
X25455571Y-61214047D02*
X25455571Y-61975952D01*
D12*
X39930028Y-64589428D02*
X40037171Y-64625142D01*
X40072885Y-64660857D01*
X40108600Y-64732285D01*
X40108600Y-64839428D01*
X40072885Y-64910857D01*
X40037171Y-64946571D01*
X39965742Y-64982285D01*
X39680028Y-64982285D01*
X39680028Y-64232285D01*
X39930028Y-64232285D01*
X40001457Y-64268000D01*
X40037171Y-64303714D01*
X40072885Y-64375142D01*
X40072885Y-64446571D01*
X40037171Y-64518000D01*
X40001457Y-64553714D01*
X39930028Y-64589428D01*
X39680028Y-64589428D01*
X40822885Y-64982285D02*
X40394314Y-64982285D01*
X40608600Y-64982285D02*
X40608600Y-64232285D01*
X40537171Y-64339428D01*
X40465742Y-64410857D01*
X40394314Y-64446571D01*
X38989000Y-32494142D02*
X38989000Y-32851285D01*
X38739000Y-32101285D02*
X38989000Y-32494142D01*
X39239000Y-32101285D01*
X42922000Y-30636714D02*
X42422000Y-29886714D01*
X42422000Y-30636714D02*
X42922000Y-29886714D01*
D10*
X30027619Y-30575214D02*
X30027619Y-30003785D01*
X30027619Y-30289500D02*
X31027619Y-30289500D01*
X30884761Y-30194261D01*
X30789523Y-30099023D01*
X30741904Y-30003785D01*
D12*
X32945028Y-64589428D02*
X33052171Y-64625142D01*
X33087885Y-64660857D01*
X33123600Y-64732285D01*
X33123600Y-64839428D01*
X33087885Y-64910857D01*
X33052171Y-64946571D01*
X32980742Y-64982285D01*
X32695028Y-64982285D01*
X32695028Y-64232285D01*
X32945028Y-64232285D01*
X33016457Y-64268000D01*
X33052171Y-64303714D01*
X33087885Y-64375142D01*
X33087885Y-64446571D01*
X33052171Y-64518000D01*
X33016457Y-64553714D01*
X32945028Y-64589428D01*
X32695028Y-64589428D01*
X33587885Y-64232285D02*
X33659314Y-64232285D01*
X33730742Y-64268000D01*
X33766457Y-64303714D01*
X33802171Y-64375142D01*
X33837885Y-64518000D01*
X33837885Y-64696571D01*
X33802171Y-64839428D01*
X33766457Y-64910857D01*
X33730742Y-64946571D01*
X33659314Y-64982285D01*
X33587885Y-64982285D01*
X33516457Y-64946571D01*
X33480742Y-64910857D01*
X33445028Y-64839428D01*
X33409314Y-64696571D01*
X33409314Y-64518000D01*
X33445028Y-64375142D01*
X33480742Y-64303714D01*
X33516457Y-64268000D01*
X33587885Y-64232285D01*
D11*
X40627323Y-25511914D02*
X41008276Y-25511914D01*
X40817800Y-25702390D02*
X40817800Y-25321438D01*
D14*
X45823857Y-44049071D02*
X45823857Y-42549071D01*
X45823857Y-43263357D02*
X47252428Y-43263357D01*
X47252428Y-44049071D02*
X47252428Y-42549071D01*
X48323857Y-43620500D02*
X49514333Y-43620500D01*
X48085761Y-44049071D02*
X48919095Y-42549071D01*
X49752428Y-44049071D01*
X50585761Y-44049071D02*
X50585761Y-42549071D01*
X51181000Y-42549071D01*
X51538142Y-42620500D01*
X51776238Y-42763357D01*
X51895285Y-42906214D01*
X52014333Y-43191928D01*
X52014333Y-43406214D01*
X51895285Y-43691928D01*
X51776238Y-43834785D01*
X51538142Y-43977642D01*
X51181000Y-44049071D01*
X50585761Y-44049071D01*
X53085761Y-43263357D02*
X53919095Y-43263357D01*
X54276238Y-44049071D02*
X53085761Y-44049071D01*
X53085761Y-42549071D01*
X54276238Y-42549071D01*
X55228619Y-43977642D02*
X55585761Y-44049071D01*
X56181000Y-44049071D01*
X56419095Y-43977642D01*
X56538142Y-43906214D01*
X56657190Y-43763357D01*
X56657190Y-43620500D01*
X56538142Y-43477642D01*
X56419095Y-43406214D01*
X56181000Y-43334785D01*
X55704809Y-43263357D01*
X55466714Y-43191928D01*
X55347666Y-43120500D01*
X55228619Y-42977642D01*
X55228619Y-42834785D01*
X55347666Y-42691928D01*
X55466714Y-42620500D01*
X55704809Y-42549071D01*
X56300047Y-42549071D01*
X56657190Y-42620500D01*
D15*
X50772000Y-63610000D02*
X51842000Y-63610000D01*
X46232000Y-63320000D02*
X45732000Y-63320000D01*
X45942000Y-63610000D02*
X44872000Y-63610000D01*
X44872000Y-63610000D02*
X44872000Y-69330000D01*
X46232000Y-63620000D02*
X46232000Y-63320000D01*
X51842000Y-69330000D02*
X48357000Y-69330000D01*
X48357000Y-63910000D02*
X50772000Y-63910000D01*
X48357000Y-63910000D02*
X45942000Y-63910000D01*
X45942000Y-63910000D02*
X45942000Y-63610000D01*
X50772000Y-63910000D02*
X50772000Y-63610000D01*
X51842000Y-63610000D02*
X51842000Y-69330000D01*
X44872000Y-69330000D02*
X48357000Y-69330000D01*
D16*
X38403800Y-43326400D02*
X38583800Y-43326400D01*
X36523800Y-43726400D02*
X36523800Y-43326400D01*
X38583800Y-45386400D02*
X38583800Y-44986400D01*
X36523800Y-45386400D02*
X36523800Y-44986400D01*
X36523800Y-43326400D02*
X36703800Y-43326400D01*
X38583800Y-43326400D02*
X38583800Y-43726400D01*
X38403800Y-45386400D02*
X38583800Y-45386400D01*
X36703800Y-45386400D02*
X36523800Y-45386400D01*
D14*
X36153800Y-44056400D02*
G75*
G03*
X36153800Y-44056400I-100000J0D01*
G01*
X34496000Y-67879000D02*
X28496000Y-67879000D01*
X29096000Y-69629000D02*
X29096000Y-68229000D01*
X28496000Y-67879000D02*
X28496000Y-65979000D01*
X34496000Y-65979000D02*
X34496000Y-67879000D01*
X28496000Y-65979000D02*
X34496000Y-65979000D01*
X41481000Y-67879000D02*
X35481000Y-67879000D01*
X41481000Y-65979000D02*
X41481000Y-67879000D01*
X36081000Y-69629000D02*
X36081000Y-68229000D01*
X35481000Y-65979000D02*
X41481000Y-65979000D01*
X35481000Y-67879000D02*
X35481000Y-65979000D01*
D15*
X36311521Y-27281600D02*
X36637079Y-27281600D01*
X36311521Y-26261600D02*
X36637079Y-26261600D01*
X40692800Y-23911879D02*
X40692800Y-23586321D01*
X39672800Y-23911879D02*
X39672800Y-23586321D01*
X48385000Y-31841221D02*
X48385000Y-32166779D01*
X49405000Y-31841221D02*
X49405000Y-32166779D01*
X55653000Y-59422500D02*
X57123000Y-59422500D01*
X57123000Y-59422500D02*
X57123000Y-57137500D01*
X55653000Y-57137500D02*
X55653000Y-59422500D01*
X57431000Y-59422500D02*
X58901000Y-59422500D01*
X57431000Y-57137500D02*
X57431000Y-59422500D01*
X58901000Y-59422500D02*
X58901000Y-57137500D01*
X59209000Y-59422500D02*
X60679000Y-59422500D01*
X60679000Y-59422500D02*
X60679000Y-57137500D01*
X59209000Y-57137500D02*
X59209000Y-59422500D01*
X62064000Y-29361000D02*
X60364000Y-29361000D01*
X62064000Y-29361000D02*
X62064000Y-31911000D01*
X60364000Y-29361000D02*
X60364000Y-31911000D01*
X32869000Y-51459500D02*
X32869000Y-49759500D01*
X32869000Y-51459500D02*
X30319000Y-51459500D01*
X32869000Y-49759500D02*
X30319000Y-49759500D01*
D14*
X37340200Y-29443800D02*
X37340200Y-30093800D01*
X34440200Y-29443800D02*
X37340200Y-29443800D01*
X37340200Y-30093800D02*
X34440200Y-30093800D01*
X34440200Y-30093800D02*
X34440200Y-29443800D01*
X34390200Y-31593800D02*
X34390200Y-30443800D01*
D15*
X61085000Y-38161279D02*
X61085000Y-37835721D01*
X62105000Y-38161279D02*
X62105000Y-37835721D01*
X60454000Y-39105721D02*
X60454000Y-39431279D01*
X59434000Y-39105721D02*
X59434000Y-39431279D01*
D17*
X30167000Y-56806000D02*
G75*
G03*
X30167000Y-56806000I-125000J0D01*
G01*
D15*
X61113000Y-69330000D02*
X57628000Y-69330000D01*
X57628000Y-63910000D02*
X55213000Y-63910000D01*
X61113000Y-63610000D02*
X61113000Y-69330000D01*
X60043000Y-63610000D02*
X61113000Y-63610000D01*
X54143000Y-69330000D02*
X57628000Y-69330000D01*
X54143000Y-63610000D02*
X54143000Y-69330000D01*
X55503000Y-63620000D02*
X55503000Y-63320000D01*
X55213000Y-63910000D02*
X55213000Y-63610000D01*
X55213000Y-63610000D02*
X54143000Y-63610000D01*
X57628000Y-63910000D02*
X60043000Y-63910000D01*
X55503000Y-63320000D02*
X55003000Y-63320000D01*
X60043000Y-63910000D02*
X60043000Y-63610000D01*
X69330000Y-53314000D02*
X69330000Y-56799000D01*
X69330000Y-60284000D02*
X69330000Y-56799000D01*
X63320000Y-58924000D02*
X63320000Y-59424000D01*
X63620000Y-58924000D02*
X63320000Y-58924000D01*
X63910000Y-56799000D02*
X63910000Y-54384000D01*
X63610000Y-53314000D02*
X69330000Y-53314000D01*
X63910000Y-56799000D02*
X63910000Y-59214000D01*
X63610000Y-59214000D02*
X63610000Y-60284000D01*
X63910000Y-59214000D02*
X63610000Y-59214000D01*
X63610000Y-60284000D02*
X69330000Y-60284000D01*
X63910000Y-54384000D02*
X63610000Y-54384000D01*
X63610000Y-54384000D02*
X63610000Y-53314000D01*
D11*
X43380000Y-67352000D02*
X43380000Y-67352000D01*
X43430000Y-67352000D02*
X43430000Y-67352000D01*
X43430000Y-67352000D02*
G75*
G03*
X43380000Y-67352000I-25000J0D01*
G01*
X43380000Y-67352000D02*
G75*
G03*
X43430000Y-67352000I25000J0D01*
G01*
D16*
X42974000Y-37374000D02*
X43254000Y-37374000D01*
X47534000Y-37374000D02*
X47254000Y-37374000D01*
X42974000Y-40434000D02*
X42974000Y-39404000D01*
X47534000Y-39404000D02*
X47534000Y-40434000D01*
X47534000Y-40434000D02*
X47254000Y-40434000D01*
X47534000Y-38404000D02*
X47534000Y-37374000D01*
X43254000Y-40434000D02*
X42974000Y-40434000D01*
X42974000Y-38404000D02*
X42974000Y-37374000D01*
D14*
X43725000Y-36804000D02*
G75*
G03*
X43725000Y-36804000I-100000J0D01*
G01*
D15*
X31061470Y-52327500D02*
X30259000Y-52327500D01*
X30805529Y-53532500D02*
X30259000Y-53532500D01*
X32479000Y-53532500D02*
X32479000Y-52327500D01*
X30259000Y-53532500D02*
X30259000Y-52327500D01*
X32479000Y-53532500D02*
X31932471Y-53532500D01*
X32479000Y-55052500D02*
X31369000Y-55052500D01*
X32479000Y-54292500D02*
X32479000Y-55052500D01*
X32479000Y-52327500D02*
X31676530Y-52327500D01*
X38555000Y-40448000D02*
X39305000Y-40448000D01*
X33835000Y-40448000D02*
X33085000Y-40448000D01*
X39305000Y-40448000D02*
X39305000Y-39698000D01*
X39305000Y-34228000D02*
X39305000Y-34978000D01*
X38555000Y-34228000D02*
X39305000Y-34228000D01*
X33085000Y-40448000D02*
X33085000Y-39698000D01*
X33835000Y-34228000D02*
X33085000Y-34228000D01*
X26330000Y-46730000D02*
X26330000Y-28890000D01*
X23730000Y-49330000D02*
X21130000Y-49330000D01*
X26330000Y-28890000D02*
X21130000Y-28890000D01*
X26330000Y-48000000D02*
X26330000Y-49330000D01*
X23730000Y-46730000D02*
X23730000Y-49330000D01*
X21130000Y-49330000D02*
X21130000Y-28890000D01*
X26330000Y-49330000D02*
X25000000Y-49330000D01*
X26330000Y-46730000D02*
X23730000Y-46730000D01*
X26211220Y-28921400D02*
X27541220Y-28921400D01*
X28871220Y-31521400D02*
X28871220Y-49361400D01*
X26211220Y-31521400D02*
X26211220Y-49361400D01*
X26211220Y-31521400D02*
X28871220Y-31521400D01*
X26211220Y-49361400D02*
X28871220Y-49361400D01*
X26211220Y-30251400D02*
X26211220Y-28921400D01*
X39447800Y-26073100D02*
X39447800Y-28358100D01*
X39447800Y-28358100D02*
X40917800Y-28358100D01*
X40917800Y-28358100D02*
X40917800Y-26073100D01*
X46002000Y-26306000D02*
X44932000Y-26306000D01*
X48417000Y-26006000D02*
X46002000Y-26006000D01*
X46002000Y-26006000D02*
X46002000Y-26306000D01*
X51902000Y-20586000D02*
X48417000Y-20586000D01*
X50542000Y-26296000D02*
X50542000Y-26596000D01*
X50832000Y-26006000D02*
X50832000Y-26306000D01*
X44932000Y-26306000D02*
X44932000Y-20586000D01*
X48417000Y-26006000D02*
X50832000Y-26006000D01*
X51902000Y-26306000D02*
X51902000Y-20586000D01*
X44932000Y-20586000D02*
X48417000Y-20586000D01*
X50832000Y-26306000D02*
X51902000Y-26306000D01*
X50542000Y-26596000D02*
X51042000Y-26596000D01*
D17*
X39032800Y-25373600D02*
G75*
G03*
X39032800Y-25373600I-125000J0D01*
G01*
D12*
X60040700Y-46689900D02*
X60040700Y-46689900D01*
X59940700Y-46689900D02*
X59940700Y-46689900D01*
X60540700Y-47389900D02*
X60540700Y-51589900D01*
X59440700Y-51589900D02*
X58440700Y-51589900D01*
X57340700Y-47389900D02*
X57340700Y-51589900D01*
X59440700Y-47389900D02*
X58440700Y-47389900D01*
X59940700Y-46689900D02*
G75*
G03*
X60040700Y-46689900I50000J0D01*
G01*
X60040700Y-46689900D02*
G75*
G03*
X59940700Y-46689900I-50000J0D01*
G01*
D15*
X69210000Y-44209000D02*
X69275000Y-44209000D01*
X62805000Y-44209000D02*
X62870000Y-44209000D01*
X62805000Y-47739000D02*
X62870000Y-47739000D01*
X62870000Y-49064000D02*
X62870000Y-47739000D01*
X69210000Y-47739000D02*
X69275000Y-47739000D01*
X62805000Y-47739000D02*
X62805000Y-44209000D01*
X69275000Y-47739000D02*
X69275000Y-44209000D01*
X59341000Y-36103200D02*
X61141000Y-36103200D01*
X61141000Y-32883200D02*
X58691000Y-32883200D01*
X57594000Y-34095000D02*
X57424000Y-34095000D01*
X57594000Y-38295000D02*
X57594000Y-34095000D01*
X57424000Y-34095000D02*
X57424000Y-32905000D01*
X52294000Y-34095000D02*
X52124000Y-34095000D01*
X57594000Y-38295000D02*
X57424000Y-38295000D01*
X52304000Y-38295000D02*
X52134000Y-38295000D01*
X52134000Y-38295000D02*
X52134000Y-34095000D01*
X30998000Y-26006000D02*
X29833000Y-26006000D01*
X31873000Y-26596000D02*
X32373000Y-26596000D01*
X29833000Y-26306000D02*
X28763000Y-26306000D01*
X29833000Y-26006000D02*
X29833000Y-26306000D01*
X31873000Y-26296000D02*
X31873000Y-26596000D01*
X28763000Y-20586000D02*
X30998000Y-20586000D01*
X33233000Y-20586000D02*
X30998000Y-20586000D01*
X30998000Y-26006000D02*
X32163000Y-26006000D01*
X32163000Y-26306000D02*
X33233000Y-26306000D01*
X33233000Y-26306000D02*
X33233000Y-20586000D01*
X32163000Y-26006000D02*
X32163000Y-26306000D01*
X28763000Y-26306000D02*
X28763000Y-20586000D01*
D12*
X43854000Y-31154000D02*
X43854000Y-31154000D01*
X43954000Y-31154000D02*
X43954000Y-31154000D01*
X43954000Y-31154000D02*
G75*
G03*
X43854000Y-31154000I-50000J0D01*
G01*
X43854000Y-31154000D02*
G75*
G03*
X43954000Y-31154000I50000J0D01*
G01*
D15*
X37464000Y-47954000D02*
X34164000Y-47954000D01*
X34164000Y-47954000D02*
X34164000Y-51954000D01*
D10*
X51911000Y-46895000D02*
X50836000Y-46895000D01*
X51911000Y-46895000D02*
X51911000Y-47970000D01*
X41561000Y-57245000D02*
X41561000Y-56170000D01*
X41561000Y-57245000D02*
X42636000Y-57245000D01*
X41561000Y-46895000D02*
X41561000Y-47895000D01*
X51911000Y-57245000D02*
X50836000Y-57245000D01*
X51911000Y-57245000D02*
X51911000Y-56170000D01*
X41561000Y-47895000D02*
X40536000Y-47895000D01*
X41561000Y-46895000D02*
X42636000Y-46895000D01*
D15*
X36230779Y-53846000D02*
X35905221Y-53846000D01*
X36230779Y-54866000D02*
X35905221Y-54866000D01*
X41658000Y-44612779D02*
X41658000Y-44287221D01*
X40638000Y-44612779D02*
X40638000Y-44287221D01*
X55345000Y-59422500D02*
X55345000Y-57137500D01*
X53875000Y-59422500D02*
X55345000Y-59422500D01*
X53875000Y-57137500D02*
X53875000Y-59422500D01*
X59686000Y-26596000D02*
X60186000Y-26596000D01*
X59976000Y-26006000D02*
X59976000Y-26306000D01*
X59686000Y-26296000D02*
X59686000Y-26596000D01*
X54076000Y-26306000D02*
X54076000Y-20586000D01*
X57561000Y-26006000D02*
X55146000Y-26006000D01*
X55146000Y-26306000D02*
X54076000Y-26306000D01*
X54076000Y-20586000D02*
X57561000Y-20586000D01*
X61046000Y-26306000D02*
X61046000Y-20586000D01*
X61046000Y-20586000D02*
X57561000Y-20586000D01*
X57561000Y-26006000D02*
X59976000Y-26006000D01*
X55146000Y-26006000D02*
X55146000Y-26306000D01*
X59976000Y-26306000D02*
X61046000Y-26306000D01*
X26532500Y-59956500D02*
X26404500Y-59827500D01*
X24522500Y-57536500D02*
X24394500Y-57407500D01*
X20903500Y-53371500D02*
X20903500Y-60491500D01*
X21303500Y-53131500D02*
X20663500Y-53131500D01*
X21363500Y-53371500D02*
X21363500Y-60491500D01*
X28623500Y-53371500D02*
X28623500Y-60491500D01*
X22463500Y-53371500D02*
X22463500Y-60491500D01*
X26738500Y-59751500D02*
X26644500Y-59657500D01*
X24282500Y-57706500D02*
X24189500Y-57612500D01*
X28623500Y-60491500D02*
X20903500Y-60491500D01*
X28623500Y-53371500D02*
X20903500Y-53371500D01*
X20663500Y-53131500D02*
X20663500Y-53531500D01*
X24023500Y-54315500D02*
G75*
G03*
X23783401Y-55210174I1440014J-866003D01*
G01*
X26903501Y-56047500D02*
G75*
G03*
X26888858Y-54291606I-1439999J866000D01*
G01*
X24572500Y-56606500D02*
G75*
G03*
X26353693Y-56607004I891000J1425003D01*
G01*
X26329500Y-53741499D02*
G75*
G03*
X24573606Y-53756142I-866000J-1439999D01*
G01*
X23783500Y-55181500D02*
G75*
G03*
X24038779Y-56071764I1679990J-3D01*
G01*
X27143500Y-58681500D02*
G75*
G03*
X27143500Y-58681500I-1680000J0D01*
G01*
D10*
X69467000Y-30013000D02*
X69317000Y-30013000D01*
X69467000Y-30313000D02*
X69467000Y-30013000D01*
X69917000Y-30313000D02*
X69467000Y-30313000D01*
X63342000Y-35238000D02*
X63342000Y-35963000D01*
X63767000Y-32363000D02*
X63767000Y-31638000D01*
X69467000Y-38013000D02*
X69917000Y-38013000D01*
X63767000Y-35963000D02*
X63767000Y-36688000D01*
X63342000Y-35963000D02*
X63767000Y-35963000D01*
X65517000Y-38313000D02*
X66917000Y-38313000D01*
X69467000Y-38313000D02*
X69467000Y-38013000D01*
X69317000Y-38313000D02*
X69467000Y-38313000D01*
X66917000Y-30013000D02*
X65517000Y-30013000D01*
M02*
Terminal
$ cat /home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-B_Silkscreen.gbr
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.9)*
G04 #@! TF.CreationDate,2023-03-18T16:21:46+02:00*
G04 #@! TF.ProjectId,HadesMicro,48616465-734d-4696-9372-6f2e6b696361,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Legend,Bot*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.9)) date 2023-03-18 16:21:46*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,0.150000*%
%ADD11C,0.100000*%
G04 APERTURE END LIST*
D10*
X32639000Y-60286900D02*
X30099000Y-60286900D01*
X33909000Y-60286900D02*
X33909000Y-62826900D01*
X38481000Y-60794900D02*
X39497000Y-60794900D01*
X40513000Y-61810900D02*
X40259000Y-61556900D01*
X42799000Y-61556900D02*
X40259000Y-61556900D01*
X36830000Y-61810900D02*
X36576000Y-61556900D01*
X39243000Y-63080900D02*
X38989000Y-62826900D01*
X36576000Y-61556900D02*
X36830000Y-61302900D01*
X32639000Y-62826900D02*
X32639000Y-61556900D01*
X31623000Y-65620900D02*
X31877000Y-65366900D01*
X30099000Y-60286900D02*
X30099000Y-62826900D01*
X31623000Y-65112900D02*
X31623000Y-65620900D01*
X40259000Y-61556900D02*
X40513000Y-61302900D01*
X36830000Y-61302900D02*
X36830000Y-61810900D01*
X40187116Y-61556900D02*
G75*
G03*
X40187116Y-61556900I-1198116J0D01*
G01*
X39751000Y-63080900D02*
X40132000Y-63080900D01*
X38989000Y-65366900D02*
X38989000Y-62755015D01*
X34544000Y-65366900D02*
X38989000Y-65366900D01*
X33020000Y-61302900D02*
X33020000Y-61810900D01*
X27559000Y-61556900D02*
X30099000Y-61556900D01*
X34544000Y-66636900D02*
X32004000Y-66636900D01*
X32639000Y-61556900D02*
X32639000Y-60286900D01*
X33909000Y-61556900D02*
X32639000Y-61556900D01*
X36449000Y-62826900D02*
X36449000Y-61556900D01*
X38735000Y-63080900D02*
X39243000Y-63080900D01*
X28829000Y-61556900D02*
X28829000Y-65366900D01*
X30099000Y-62826900D02*
X32639000Y-62826900D01*
X33909000Y-62826900D02*
X36449000Y-62826900D01*
X36449000Y-60286900D02*
X33909000Y-60286900D01*
X36449000Y-61556900D02*
X36449000Y-60286900D01*
X37790885Y-61556900D02*
X36449000Y-61556900D01*
X34544000Y-64096900D02*
X34544000Y-66636900D01*
X38989000Y-62826900D02*
X38735000Y-63080900D01*
X32004000Y-65366900D02*
X32004000Y-64096900D01*
X39497000Y-62318900D02*
X38481000Y-62318900D01*
X38862000Y-61556900D02*
X39497000Y-62318900D01*
X39497000Y-60794900D02*
X38862000Y-61556900D01*
X40513000Y-61302900D02*
X40513000Y-61810900D01*
X32004000Y-66636900D02*
X32004000Y-65366900D01*
X28829000Y-65366900D02*
X32004000Y-65366900D01*
X31877000Y-65366900D02*
X31623000Y-65112900D01*
X32766000Y-61556900D02*
X33020000Y-61302900D01*
X33020000Y-61810900D02*
X32766000Y-61556900D01*
X32004000Y-64096900D02*
X34544000Y-64096900D01*
D11*
X55342285Y-65873428D02*
X55342285Y-66337714D01*
X55628000Y-66087714D01*
X55628000Y-66194857D01*
X55663714Y-66266285D01*
X55699428Y-66302000D01*
X55770857Y-66337714D01*
X55949428Y-66337714D01*
X56020857Y-66302000D01*
X56056571Y-66266285D01*
X56092285Y-66194857D01*
X56092285Y-65980571D01*
X56056571Y-65909142D01*
X56020857Y-65873428D01*
X55342285Y-66552000D02*
X56092285Y-66802000D01*
X55342285Y-67052000D01*
X55342285Y-67230571D02*
X55342285Y-67694857D01*
X55628000Y-67444857D01*
X55628000Y-67552000D01*
X55663714Y-67623428D01*
X55699428Y-67659142D01*
X55770857Y-67694857D01*
X55949428Y-67694857D01*
X56020857Y-67659142D01*
X56056571Y-67623428D01*
X56092285Y-67552000D01*
X56092285Y-67337714D01*
X56056571Y-67266285D01*
X56020857Y-67230571D01*
X57856885Y-65849571D02*
X57856885Y-66278142D01*
X58606885Y-66063857D02*
X57856885Y-66063857D01*
X57856885Y-66456714D02*
X58606885Y-66956714D01*
X57856885Y-66956714D02*
X58606885Y-66456714D01*
X59851485Y-66296000D02*
X59494342Y-66046000D01*
X59851485Y-65867428D02*
X59101485Y-65867428D01*
X59101485Y-66153142D01*
X59137200Y-66224571D01*
X59172914Y-66260285D01*
X59244342Y-66296000D01*
X59351485Y-66296000D01*
X59422914Y-66260285D01*
X59458628Y-66224571D01*
X59494342Y-66153142D01*
X59494342Y-65867428D01*
X59101485Y-66546000D02*
X59851485Y-67046000D01*
X59101485Y-67046000D02*
X59851485Y-66546000D01*
X56622600Y-66230571D02*
X56586885Y-66159142D01*
X56586885Y-66052000D01*
X56622600Y-65944857D01*
X56694028Y-65873428D01*
X56765457Y-65837714D01*
X56908314Y-65802000D01*
X57015457Y-65802000D01*
X57158314Y-65837714D01*
X57229742Y-65873428D01*
X57301171Y-65944857D01*
X57336885Y-66052000D01*
X57336885Y-66123428D01*
X57301171Y-66230571D01*
X57265457Y-66266285D01*
X57015457Y-66266285D01*
X57015457Y-66123428D01*
X57336885Y-66587714D02*
X56586885Y-66587714D01*
X57336885Y-67016285D01*
X56586885Y-67016285D01*
X57336885Y-67373428D02*
X56586885Y-67373428D01*
X56586885Y-67552000D01*
X56622600Y-67659142D01*
X56694028Y-67730571D01*
X56765457Y-67766285D01*
X56908314Y-67802000D01*
X57015457Y-67802000D01*
X57158314Y-67766285D01*
X57229742Y-67730571D01*
X57301171Y-67659142D01*
X57336885Y-67552000D01*
X57336885Y-67373428D01*
D10*
X68314914Y-41335660D02*
X69314914Y-41210660D01*
X68362533Y-41329708D02*
X68314914Y-41430898D01*
X68314914Y-41621375D01*
X68362533Y-41710660D01*
X68410152Y-41752327D01*
X68505390Y-41788041D01*
X68791104Y-41752327D01*
X68886342Y-41692803D01*
X68933961Y-41639232D01*
X68981580Y-41538041D01*
X68981580Y-41347565D01*
X68933961Y-41258279D01*
X68981580Y-42157089D02*
X67981580Y-42282089D01*
X68981580Y-42585660D02*
X68457771Y-42651136D01*
X68362533Y-42615422D01*
X68314914Y-42526136D01*
X68314914Y-42383279D01*
X68362533Y-42282089D01*
X68410152Y-42228517D01*
X68981580Y-43061851D02*
X68314914Y-43145184D01*
X67981580Y-43186851D02*
X68029200Y-43133279D01*
X68076819Y-43174946D01*
X68029200Y-43228517D01*
X67981580Y-43186851D01*
X68076819Y-43174946D01*
X68981580Y-43680898D02*
X68933961Y-43591613D01*
X68838723Y-43555898D01*
X67981580Y-43663041D01*
X68933961Y-44020184D02*
X68981580Y-44109470D01*
X68981580Y-44299946D01*
X68933961Y-44401136D01*
X68838723Y-44460660D01*
X68791104Y-44466613D01*
X68695866Y-44430898D01*
X68648247Y-44341613D01*
X68648247Y-44198755D01*
X68600628Y-44109470D01*
X68505390Y-44073755D01*
X68457771Y-44079708D01*
X68362533Y-44139232D01*
X68314914Y-44240422D01*
X68314914Y-44383279D01*
X68362533Y-44472565D01*
X68981580Y-45299946D02*
X68457771Y-45365422D01*
X68362533Y-45329708D01*
X68314914Y-45240422D01*
X68314914Y-45049946D01*
X68362533Y-44948755D01*
X68933961Y-45305898D02*
X68981580Y-45204708D01*
X68981580Y-44966613D01*
X68933961Y-44877327D01*
X68838723Y-44841613D01*
X68743485Y-44853517D01*
X68648247Y-44913041D01*
X68600628Y-45014232D01*
X68600628Y-45252327D01*
X68553009Y-45353517D01*
X68981580Y-45918994D02*
X68933961Y-45829708D01*
X68838723Y-45793994D01*
X67981580Y-45901136D01*
X68886342Y-46311851D02*
X68933961Y-46353517D01*
X68981580Y-46299946D01*
X68933961Y-46258279D01*
X68886342Y-46311851D01*
X68981580Y-46299946D01*
X68933961Y-47210660D02*
X68981580Y-47109470D01*
X68981580Y-46918994D01*
X68933961Y-46829708D01*
X68886342Y-46788041D01*
X68791104Y-46752327D01*
X68505390Y-46788041D01*
X68410152Y-46847565D01*
X68362533Y-46901136D01*
X68314914Y-47002327D01*
X68314914Y-47192803D01*
X68362533Y-47282089D01*
X68981580Y-47776136D02*
X68933961Y-47686851D01*
X68886342Y-47645184D01*
X68791104Y-47609470D01*
X68505390Y-47645184D01*
X68410152Y-47704708D01*
X68362533Y-47758279D01*
X68314914Y-47859470D01*
X68314914Y-48002327D01*
X68362533Y-48091613D01*
X68410152Y-48133279D01*
X68505390Y-48168994D01*
X68791104Y-48133279D01*
X68886342Y-48073755D01*
X68933961Y-48020184D01*
X68981580Y-47918994D01*
X68981580Y-47776136D01*
X68886342Y-48549946D02*
X68933961Y-48591613D01*
X68981580Y-48538041D01*
X68933961Y-48496375D01*
X68886342Y-48549946D01*
X68981580Y-48538041D01*
X68314914Y-49526136D02*
X68981580Y-49442803D01*
X68314914Y-49097565D02*
X68838723Y-49032089D01*
X68933961Y-49067803D01*
X68981580Y-49157089D01*
X68981580Y-49299946D01*
X68933961Y-49401136D01*
X68886342Y-49454708D01*
X68981580Y-49918994D02*
X67981580Y-50043994D01*
X68600628Y-50061851D02*
X68981580Y-50299946D01*
X68314914Y-50383279D02*
X68695866Y-49954708D01*
X35440904Y-62009280D02*
X35440904Y-61009280D01*
X35059952Y-61009280D01*
X34964714Y-61056900D01*
X34917095Y-61104519D01*
X34869476Y-61199757D01*
X34869476Y-61342614D01*
X34917095Y-61437852D01*
X34964714Y-61485471D01*
X35059952Y-61533090D01*
X35440904Y-61533090D01*
X33559714Y-65771661D02*
X33416857Y-65819280D01*
X33178761Y-65819280D01*
X33083523Y-65771661D01*
X33035904Y-65724042D01*
X32988285Y-65628804D01*
X32988285Y-65533566D01*
X33035904Y-65438328D01*
X33083523Y-65390709D01*
X33178761Y-65343090D01*
X33369238Y-65295471D01*
X33464476Y-65247852D01*
X33512095Y-65200233D01*
X33559714Y-65104995D01*
X33559714Y-65009757D01*
X33512095Y-64914519D01*
X33464476Y-64866900D01*
X33369238Y-64819280D01*
X33131142Y-64819280D01*
X32988285Y-64866900D01*
X31702333Y-62009280D02*
X31702333Y-61009280D01*
X31369000Y-61723566D01*
X31035666Y-61009280D01*
X31035666Y-62009280D01*
D11*
X50555085Y-66296000D02*
X50197942Y-66046000D01*
X50555085Y-65867428D02*
X49805085Y-65867428D01*
X49805085Y-66153142D01*
X49840800Y-66224571D01*
X49876514Y-66260285D01*
X49947942Y-66296000D01*
X50055085Y-66296000D01*
X50126514Y-66260285D01*
X50162228Y-66224571D01*
X50197942Y-66153142D01*
X50197942Y-65867428D01*
X49805085Y-66546000D02*
X50555085Y-67046000D01*
X49805085Y-67046000D02*
X50555085Y-66546000D01*
X47351600Y-66230571D02*
X47315885Y-66159142D01*
X47315885Y-66052000D01*
X47351600Y-65944857D01*
X47423028Y-65873428D01*
X47494457Y-65837714D01*
X47637314Y-65802000D01*
X47744457Y-65802000D01*
X47887314Y-65837714D01*
X47958742Y-65873428D01*
X48030171Y-65944857D01*
X48065885Y-66052000D01*
X48065885Y-66123428D01*
X48030171Y-66230571D01*
X47994457Y-66266285D01*
X47744457Y-66266285D01*
X47744457Y-66123428D01*
X48065885Y-66587714D02*
X47315885Y-66587714D01*
X48065885Y-67016285D01*
X47315885Y-67016285D01*
X48065885Y-67373428D02*
X47315885Y-67373428D01*
X47315885Y-67552000D01*
X47351600Y-67659142D01*
X47423028Y-67730571D01*
X47494457Y-67766285D01*
X47637314Y-67802000D01*
X47744457Y-67802000D01*
X47887314Y-67766285D01*
X47958742Y-67730571D01*
X48030171Y-67659142D01*
X48065885Y-67552000D01*
X48065885Y-67373428D01*
X46071285Y-65873428D02*
X46071285Y-66337714D01*
X46357000Y-66087714D01*
X46357000Y-66194857D01*
X46392714Y-66266285D01*
X46428428Y-66302000D01*
X46499857Y-66337714D01*
X46678428Y-66337714D01*
X46749857Y-66302000D01*
X46785571Y-66266285D01*
X46821285Y-66194857D01*
X46821285Y-65980571D01*
X46785571Y-65909142D01*
X46749857Y-65873428D01*
X46071285Y-66552000D02*
X46821285Y-66802000D01*
X46071285Y-67052000D01*
X46071285Y-67230571D02*
X46071285Y-67694857D01*
X46357000Y-67444857D01*
X46357000Y-67552000D01*
X46392714Y-67623428D01*
X46428428Y-67659142D01*
X46499857Y-67694857D01*
X46678428Y-67694857D01*
X46749857Y-67659142D01*
X46785571Y-67623428D01*
X46821285Y-67552000D01*
X46821285Y-67337714D01*
X46785571Y-67266285D01*
X46749857Y-67230571D01*
X48560485Y-65849571D02*
X48560485Y-66278142D01*
X49310485Y-66063857D02*
X48560485Y-66063857D01*
X48560485Y-66456714D02*
X49310485Y-66956714D01*
X48560485Y-66956714D02*
X49310485Y-66456714D01*
X67730571Y-58263285D02*
X67266285Y-58263285D01*
X67516285Y-58549000D01*
X67409142Y-58549000D01*
X67337714Y-58584714D01*
X67302000Y-58620428D01*
X67266285Y-58691857D01*
X67266285Y-58870428D01*
X67302000Y-58941857D01*
X67337714Y-58977571D01*
X67409142Y-59013285D01*
X67623428Y-59013285D01*
X67694857Y-58977571D01*
X67730571Y-58941857D01*
X67052000Y-58263285D02*
X66802000Y-59013285D01*
X66552000Y-58263285D01*
X66373428Y-58263285D02*
X65909142Y-58263285D01*
X66159142Y-58549000D01*
X66052000Y-58549000D01*
X65980571Y-58584714D01*
X65944857Y-58620428D01*
X65909142Y-58691857D01*
X65909142Y-58870428D01*
X65944857Y-58941857D01*
X65980571Y-58977571D01*
X66052000Y-59013285D01*
X66266285Y-59013285D01*
X66337714Y-58977571D01*
X66373428Y-58941857D01*
X67424228Y-57029000D02*
X67495657Y-56993285D01*
X67602800Y-56993285D01*
X67709942Y-57029000D01*
X67781371Y-57100428D01*
X67817085Y-57171857D01*
X67852800Y-57314714D01*
X67852800Y-57421857D01*
X67817085Y-57564714D01*
X67781371Y-57636142D01*
X67709942Y-57707571D01*
X67602800Y-57743285D01*
X67531371Y-57743285D01*
X67424228Y-57707571D01*
X67388514Y-57671857D01*
X67388514Y-57421857D01*
X67531371Y-57421857D01*
X67067085Y-57743285D02*
X67067085Y-56993285D01*
X66638514Y-57743285D01*
X66638514Y-56993285D01*
X66281371Y-57743285D02*
X66281371Y-56993285D01*
X66102800Y-56993285D01*
X65995657Y-57029000D01*
X65924228Y-57100428D01*
X65888514Y-57171857D01*
X65852800Y-57314714D01*
X65852800Y-57421857D01*
X65888514Y-57564714D01*
X65924228Y-57636142D01*
X65995657Y-57707571D01*
X66102800Y-57743285D01*
X66281371Y-57743285D01*
X67771057Y-56437571D02*
X67663914Y-56473285D01*
X67485342Y-56473285D01*
X67413914Y-56437571D01*
X67378200Y-56401857D01*
X67342485Y-56330428D01*
X67342485Y-56259000D01*
X67378200Y-56187571D01*
X67413914Y-56151857D01*
X67485342Y-56116142D01*
X67628200Y-56080428D01*
X67699628Y-56044714D01*
X67735342Y-56009000D01*
X67771057Y-55937571D01*
X67771057Y-55866142D01*
X67735342Y-55794714D01*
X67699628Y-55759000D01*
X67628200Y-55723285D01*
X67449628Y-55723285D01*
X67342485Y-55759000D01*
X66592485Y-56401857D02*
X66628200Y-56437571D01*
X66735342Y-56473285D01*
X66806771Y-56473285D01*
X66913914Y-56437571D01*
X66985342Y-56366142D01*
X67021057Y-56294714D01*
X67056771Y-56151857D01*
X67056771Y-56044714D01*
X67021057Y-55901857D01*
X66985342Y-55830428D01*
X66913914Y-55759000D01*
X66806771Y-55723285D01*
X66735342Y-55723285D01*
X66628200Y-55759000D01*
X66592485Y-55794714D01*
X65913914Y-56473285D02*
X66271057Y-56473285D01*
X66271057Y-55723285D01*
X67814314Y-55294571D02*
X67707171Y-55330285D01*
X67528600Y-55330285D01*
X67457171Y-55294571D01*
X67421457Y-55258857D01*
X67385742Y-55187428D01*
X67385742Y-55116000D01*
X67421457Y-55044571D01*
X67457171Y-55008857D01*
X67528600Y-54973142D01*
X67671457Y-54937428D01*
X67742885Y-54901714D01*
X67778600Y-54866000D01*
X67814314Y-54794571D01*
X67814314Y-54723142D01*
X67778600Y-54651714D01*
X67742885Y-54616000D01*
X67671457Y-54580285D01*
X67492885Y-54580285D01*
X67385742Y-54616000D01*
X67064314Y-55330285D02*
X67064314Y-54580285D01*
X66885742Y-54580285D01*
X66778600Y-54616000D01*
X66707171Y-54687428D01*
X66671457Y-54758857D01*
X66635742Y-54901714D01*
X66635742Y-55008857D01*
X66671457Y-55151714D01*
X66707171Y-55223142D01*
X66778600Y-55294571D01*
X66885742Y-55330285D01*
X67064314Y-55330285D01*
X66350028Y-55116000D02*
X65992885Y-55116000D01*
X66421457Y-55330285D02*
X66171457Y-54580285D01*
X65921457Y-55330285D01*
X23479000Y-55584285D02*
X23479000Y-54834285D01*
X23193285Y-54834285D01*
X23121857Y-54870000D01*
X23086142Y-54905714D01*
X23050428Y-54977142D01*
X23050428Y-55084285D01*
X23086142Y-55155714D01*
X23121857Y-55191428D01*
X23193285Y-55227142D01*
X23479000Y-55227142D01*
X22800428Y-54834285D02*
X22621857Y-55584285D01*
X22479000Y-55048571D01*
X22336142Y-55584285D01*
X22157571Y-54834285D01*
X21443285Y-55584285D02*
X21693285Y-55227142D01*
X21871857Y-55584285D02*
X21871857Y-54834285D01*
X21586142Y-54834285D01*
X21514714Y-54870000D01*
X21479000Y-54905714D01*
X21443285Y-54977142D01*
X21443285Y-55084285D01*
X21479000Y-55155714D01*
X21514714Y-55191428D01*
X21586142Y-55227142D01*
X21871857Y-55227142D01*
X23050428Y-58299000D02*
X23121857Y-58263285D01*
X23229000Y-58263285D01*
X23336142Y-58299000D01*
X23407571Y-58370428D01*
X23443285Y-58441857D01*
X23479000Y-58584714D01*
X23479000Y-58691857D01*
X23443285Y-58834714D01*
X23407571Y-58906142D01*
X23336142Y-58977571D01*
X23229000Y-59013285D01*
X23157571Y-59013285D01*
X23050428Y-58977571D01*
X23014714Y-58941857D01*
X23014714Y-58691857D01*
X23157571Y-58691857D01*
X22693285Y-59013285D02*
X22693285Y-58263285D01*
X22264714Y-59013285D01*
X22264714Y-58263285D01*
X21907571Y-59013285D02*
X21907571Y-58263285D01*
X21729000Y-58263285D01*
X21621857Y-58299000D01*
X21550428Y-58370428D01*
X21514714Y-58441857D01*
X21479000Y-58584714D01*
X21479000Y-58691857D01*
X21514714Y-58834714D01*
X21550428Y-58906142D01*
X21621857Y-58977571D01*
X21729000Y-59013285D01*
X21907571Y-59013285D01*
X31962285Y-21987000D02*
X31212285Y-21987000D01*
X31212285Y-22272714D01*
X31248000Y-22344142D01*
X31283714Y-22379857D01*
X31355142Y-22415571D01*
X31462285Y-22415571D01*
X31533714Y-22379857D01*
X31569428Y-22344142D01*
X31605142Y-22272714D01*
X31605142Y-21987000D01*
X31212285Y-22665571D02*
X31962285Y-22844142D01*
X31426571Y-22987000D01*
X31962285Y-23129857D01*
X31212285Y-23308428D01*
X31962285Y-24022714D02*
X31605142Y-23772714D01*
X31962285Y-23594142D02*
X31212285Y-23594142D01*
X31212285Y-23879857D01*
X31248000Y-23951285D01*
X31283714Y-23987000D01*
X31355142Y-24022714D01*
X31462285Y-24022714D01*
X31533714Y-23987000D01*
X31569428Y-23951285D01*
X31605142Y-23879857D01*
X31605142Y-23594142D01*
X29978000Y-22415571D02*
X29942285Y-22344142D01*
X29942285Y-22237000D01*
X29978000Y-22129857D01*
X30049428Y-22058428D01*
X30120857Y-22022714D01*
X30263714Y-21987000D01*
X30370857Y-21987000D01*
X30513714Y-22022714D01*
X30585142Y-22058428D01*
X30656571Y-22129857D01*
X30692285Y-22237000D01*
X30692285Y-22308428D01*
X30656571Y-22415571D01*
X30620857Y-22451285D01*
X30370857Y-22451285D01*
X30370857Y-22308428D01*
X30692285Y-22772714D02*
X29942285Y-22772714D01*
X30692285Y-23201285D01*
X29942285Y-23201285D01*
X30692285Y-23558428D02*
X29942285Y-23558428D01*
X29942285Y-23737000D01*
X29978000Y-23844142D01*
X30049428Y-23915571D01*
X30120857Y-23951285D01*
X30263714Y-23987000D01*
X30370857Y-23987000D01*
X30513714Y-23951285D01*
X30585142Y-23915571D01*
X30656571Y-23844142D01*
X30692285Y-23737000D01*
X30692285Y-23558428D01*
X57791000Y-22415571D02*
X57755285Y-22344142D01*
X57755285Y-22237000D01*
X57791000Y-22129857D01*
X57862428Y-22058428D01*
X57933857Y-22022714D01*
X58076714Y-21987000D01*
X58183857Y-21987000D01*
X58326714Y-22022714D01*
X58398142Y-22058428D01*
X58469571Y-22129857D01*
X58505285Y-22237000D01*
X58505285Y-22308428D01*
X58469571Y-22415571D01*
X58433857Y-22451285D01*
X58183857Y-22451285D01*
X58183857Y-22308428D01*
X58505285Y-22772714D02*
X57755285Y-22772714D01*
X58505285Y-23201285D01*
X57755285Y-23201285D01*
X58505285Y-23558428D02*
X57755285Y-23558428D01*
X57755285Y-23737000D01*
X57791000Y-23844142D01*
X57862428Y-23915571D01*
X57933857Y-23951285D01*
X58076714Y-23987000D01*
X58183857Y-23987000D01*
X58326714Y-23951285D01*
X58398142Y-23915571D01*
X58469571Y-23844142D01*
X58505285Y-23737000D01*
X58505285Y-23558428D01*
X59025285Y-22058428D02*
X59025285Y-22522714D01*
X59311000Y-22272714D01*
X59311000Y-22379857D01*
X59346714Y-22451285D01*
X59382428Y-22487000D01*
X59453857Y-22522714D01*
X59632428Y-22522714D01*
X59703857Y-22487000D01*
X59739571Y-22451285D01*
X59775285Y-22379857D01*
X59775285Y-22165571D01*
X59739571Y-22094142D01*
X59703857Y-22058428D01*
X59025285Y-22737000D02*
X59775285Y-22987000D01*
X59025285Y-23237000D01*
X59025285Y-23415571D02*
X59025285Y-23879857D01*
X59311000Y-23629857D01*
X59311000Y-23737000D01*
X59346714Y-23808428D01*
X59382428Y-23844142D01*
X59453857Y-23879857D01*
X59632428Y-23879857D01*
X59703857Y-23844142D01*
X59739571Y-23808428D01*
X59775285Y-23737000D01*
X59775285Y-23522714D01*
X59739571Y-23451285D01*
X59703857Y-23415571D01*
X56536085Y-22847371D02*
X56536085Y-23275942D01*
X57286085Y-23061657D02*
X56536085Y-23061657D01*
X56536085Y-23454514D02*
X57286085Y-23954514D01*
X56536085Y-23954514D02*
X57286085Y-23454514D01*
X56016085Y-23204900D02*
X55658942Y-22954900D01*
X56016085Y-22776328D02*
X55266085Y-22776328D01*
X55266085Y-23062042D01*
X55301800Y-23133471D01*
X55337514Y-23169185D01*
X55408942Y-23204900D01*
X55516085Y-23204900D01*
X55587514Y-23169185D01*
X55623228Y-23133471D01*
X55658942Y-23062042D01*
X55658942Y-22776328D01*
X55266085Y-23454900D02*
X56016085Y-23954900D01*
X55266085Y-23954900D02*
X56016085Y-23454900D01*
X50559857Y-22469142D02*
X50595571Y-22433428D01*
X50631285Y-22326285D01*
X50631285Y-22254857D01*
X50595571Y-22147714D01*
X50524142Y-22076285D01*
X50452714Y-22040571D01*
X50309857Y-22004857D01*
X50202714Y-22004857D01*
X50059857Y-22040571D01*
X49988428Y-22076285D01*
X49917000Y-22147714D01*
X49881285Y-22254857D01*
X49881285Y-22326285D01*
X49917000Y-22433428D01*
X49952714Y-22469142D01*
X50631285Y-22790571D02*
X49881285Y-22790571D01*
X50238428Y-22790571D02*
X50238428Y-23219142D01*
X50631285Y-23219142D02*
X49881285Y-23219142D01*
X50631285Y-23969142D02*
X50631285Y-23540571D01*
X50631285Y-23754857D02*
X49881285Y-23754857D01*
X49988428Y-23683428D01*
X50059857Y-23612000D01*
X50095571Y-23540571D01*
X49289857Y-22469142D02*
X49325571Y-22433428D01*
X49361285Y-22326285D01*
X49361285Y-22254857D01*
X49325571Y-22147714D01*
X49254142Y-22076285D01*
X49182714Y-22040571D01*
X49039857Y-22004857D01*
X48932714Y-22004857D01*
X48789857Y-22040571D01*
X48718428Y-22076285D01*
X48647000Y-22147714D01*
X48611285Y-22254857D01*
X48611285Y-22326285D01*
X48647000Y-22433428D01*
X48682714Y-22469142D01*
X49361285Y-22790571D02*
X48611285Y-22790571D01*
X48968428Y-22790571D02*
X48968428Y-23219142D01*
X49361285Y-23219142D02*
X48611285Y-23219142D01*
X48682714Y-23540571D02*
X48647000Y-23576285D01*
X48611285Y-23647714D01*
X48611285Y-23826285D01*
X48647000Y-23897714D01*
X48682714Y-23933428D01*
X48754142Y-23969142D01*
X48825571Y-23969142D01*
X48932714Y-23933428D01*
X49361285Y-23504857D01*
X49361285Y-23969142D01*
X48045257Y-22469142D02*
X48080971Y-22433428D01*
X48116685Y-22326285D01*
X48116685Y-22254857D01*
X48080971Y-22147714D01*
X48009542Y-22076285D01*
X47938114Y-22040571D01*
X47795257Y-22004857D01*
X47688114Y-22004857D01*
X47545257Y-22040571D01*
X47473828Y-22076285D01*
X47402400Y-22147714D01*
X47366685Y-22254857D01*
X47366685Y-22326285D01*
X47402400Y-22433428D01*
X47438114Y-22469142D01*
X48116685Y-22790571D02*
X47366685Y-22790571D01*
X47723828Y-22790571D02*
X47723828Y-23219142D01*
X48116685Y-23219142D02*
X47366685Y-23219142D01*
X47366685Y-23504857D02*
X47366685Y-23969142D01*
X47652400Y-23719142D01*
X47652400Y-23826285D01*
X47688114Y-23897714D01*
X47723828Y-23933428D01*
X47795257Y-23969142D01*
X47973828Y-23969142D01*
X48045257Y-23933428D01*
X48080971Y-23897714D01*
X48116685Y-23826285D01*
X48116685Y-23612000D01*
X48080971Y-23540571D01*
X48045257Y-23504857D01*
X46800657Y-22469142D02*
X46836371Y-22433428D01*
X46872085Y-22326285D01*
X46872085Y-22254857D01*
X46836371Y-22147714D01*
X46764942Y-22076285D01*
X46693514Y-22040571D01*
X46550657Y-22004857D01*
X46443514Y-22004857D01*
X46300657Y-22040571D01*
X46229228Y-22076285D01*
X46157800Y-22147714D01*
X46122085Y-22254857D01*
X46122085Y-22326285D01*
X46157800Y-22433428D01*
X46193514Y-22469142D01*
X46872085Y-22790571D02*
X46122085Y-22790571D01*
X46479228Y-22790571D02*
X46479228Y-23219142D01*
X46872085Y-23219142D02*
X46122085Y-23219142D01*
X46372085Y-23897714D02*
X46872085Y-23897714D01*
X46086371Y-23719142D02*
X46622085Y-23540571D01*
X46622085Y-24004857D01*
X67076533Y-28572590D02*
X67362247Y-28572590D01*
X67219390Y-28572590D02*
X67219390Y-28072590D01*
X67267009Y-28144019D01*
X67314628Y-28191638D01*
X67362247Y-28215447D01*
X66886057Y-28120209D02*
X66862247Y-28096400D01*
X66814628Y-28072590D01*
X66695580Y-28072590D01*
X66647961Y-28096400D01*
X66624152Y-28120209D01*
X66600342Y-28167828D01*
X66600342Y-28215447D01*
X66624152Y-28286876D01*
X66909866Y-28572590D01*
X66600342Y-28572590D01*
X66028914Y-28048780D02*
X66457485Y-28691638D01*
X65600342Y-28572590D02*
X65886057Y-28572590D01*
X65743200Y-28572590D02*
X65743200Y-28072590D01*
X65790819Y-28144019D01*
X65838438Y-28191638D01*
X65886057Y-28215447D01*
X65362247Y-28572590D02*
X65267009Y-28572590D01*
X65219390Y-28548780D01*
X65195580Y-28524971D01*
X65147961Y-28453542D01*
X65124152Y-28358304D01*
X65124152Y-28167828D01*
X65147961Y-28120209D01*
X65171771Y-28096400D01*
X65219390Y-28072590D01*
X65314628Y-28072590D01*
X65362247Y-28096400D01*
X65386057Y-28120209D01*
X65409866Y-28167828D01*
X65409866Y-28286876D01*
X65386057Y-28334495D01*
X65362247Y-28358304D01*
X65314628Y-28382114D01*
X65219390Y-28382114D01*
X65171771Y-28358304D01*
X65147961Y-28334495D01*
X65124152Y-28286876D01*
D10*
X25011071Y-50672952D02*
X25011071Y-49911047D01*
X24630119Y-50292000D02*
X25392023Y-50292000D01*
X22923452Y-50363428D02*
X22161547Y-50363428D01*
X27819314Y-50696761D02*
X27676457Y-50744380D01*
X27438361Y-50744380D01*
X27343123Y-50696761D01*
X27295504Y-50649142D01*
X27247885Y-50553904D01*
X27247885Y-50458666D01*
X27295504Y-50363428D01*
X27343123Y-50315809D01*
X27438361Y-50268190D01*
X27628838Y-50220571D01*
X27724076Y-50172952D01*
X27771695Y-50125333D01*
X27819314Y-50030095D01*
X27819314Y-49934857D01*
X27771695Y-49839619D01*
X27724076Y-49792000D01*
X27628838Y-49744380D01*
X27390742Y-49744380D01*
X27247885Y-49792000D01*
M02*
AI Reasoning

Let me now examine the copper layers more carefully for suspicious patterns, and also look for hidden text or unusual structures:

Terminal
$ cd /home/user/Desktop/ctf/hw_critical_flight/flight_control_board && grep -i "G04" HadesMicro-F_Cu.gbr | head -20
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.9)*
G04 #@! TF.CreationDate,2023-03-18T16:21:46+02:00*
G04 #@! TF.ProjectId,HadesMicro,48616465-734d-4696-9372-6f2e6b696361,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Copper,L1,Top*
G04 #@! TF.FilePolarity,Positive*
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.9)) date 2023-03-18 16:21:46*
G04 APERTURE LIST*
G04 Aperture macros list*
G04 Aperture macros list end*
G04 #@! TA.AperFunction,ComponentPad*
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
G04 #@! TD*
G04 #@! TA.AperFunction,SMDPad,CuDef*
G04 #@! TD*
G04 #@! TA.AperFunction,SMDPad,CuDef*
G04 #@! TD*
G04 #@! TA.AperFunction,SMDPad,CuDef*
Terminal
$ cd /home/user/Desktop/ctf/hw_critical_flight/flight_control_board && grep -i "G04" HadesMicro-B_Cu.gbr | head -20
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.9)*
G04 #@! TF.CreationDate,2023-03-18T16:21:46+02:00*
G04 #@! TF.ProjectId,HadesMicro,48616465-734d-4696-9372-6f2e6b696361,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Copper,L4,Bot*
G04 #@! TF.FilePolarity,Positive*
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.9)) date 2023-03-18 16:21:46*
G04 APERTURE LIST*
G04 #@! TA.AperFunction,NonConductor*
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
Terminal
$ cd /home/user/Desktop/ctf/hw_critical_flight/flight_control_board && head -50 HadesMicro-B_Cu.gbr
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.9)*
G04 #@! TF.CreationDate,2023-03-18T16:21:46+02:00*
G04 #@! TF.ProjectId,HadesMicro,48616465-734d-4696-9372-6f2e6b696361,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Copper,L4,Bot*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.9)) date 2023-03-18 16:21:46*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,0.250000*%
G04 #@! TA.AperFunction,NonConductor*
%ADD11C,0.250000*%
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
%ADD12R,0.800000X1.300000*%
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
%ADD13O,0.800000X1.300000*%
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
%ADD14R,1.300000X0.800000*%
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
%ADD15O,1.300000X0.800000*%
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
%ADD16R,1.000000X1.000000*%
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
%ADD17O,1.000000X1.000000*%
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
%ADD18R,1.700000X1.700000*%
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
%ADD19O,1.700000X1.700000*%
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
%ADD20C,6.400000*%
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
%ADD21C,0.800000*%
G04 #@! TD*
G04 #@! TA.AperFunction,ComponentPad*
%ADD22R,2.400000X2.400000*%
G04 #@! TD*
AI Reasoning

Let me try to render these Gerber files to visually inspect them. I'll install a Gerber viewer:

Terminal
$ which gerber2png gerbv python3 2>/dev/null; pip3 list 2>/dev/null | grep -i gerber; dpkg -l | grep -i gerber 2>/dev/null
/usr/bin/gerbv
/usr/bin/python3
ii  gerbv                                          2.10.0-1build2                                    amd64        Gerber file viewer (only RS 274 X format)
Terminal
$ cd /home/user/Desktop/ctf/hw_critical_flight/flight_control_board && mkdir -p /tmp/gerber_render && gerbv --export=png --output=/tmp/gerber_render/top_cu.png --dpi=300 HadesMicro-F_Cu.gbr 2>&1
(Bash completed with no output)
Terminal
$ cd /home/user/Desktop/ctf/hw_critical_flight/flight_control_board && gerbv --export=png --output=/tmp/gerber_render/bot_cu.png --dpi=300 HadesMicro-B_Cu.gbr 2>&1 && gerbv --export=png --output=/tmp/gerber_render/top_silk.png --dpi=300 HadesMicro-F_Silkscreen.gbr 2>&1 && gerbv --export=png --output=/tmp/gerber_render/bot_silk.png --dpi=300 HadesMicro-B_Silkscreen.gbr 2>&1 && gerbv --export=png --output=/tmp/gerber_render/in1_cu.png --dpi=300 HadesMicro-In1_Cu.gbr 2>&1 && gerbv --export=png --output=/tmp/gerber_render/in2_cu.png --dpi=300 HadesMicro-In2_Cu.gbr 2>&1 && gerbv --export=png --output=/tmp/gerber_render/edge.png --dpi=300 HadesMicro-Edge_Cuts.gbr 2>&1 && gerbv --export=png --output=/tmp/gerber_render/f_fab.png --dpi=300 HadesMicro-F_Fab.gbr 2>&1 && gerbv --export=png --output=/tmp/gerber_render/b_fab.png --dpi=300 HadesMicro-B_Fab.gbr 2>&1

** (process:78603): WARNING **: 22:36:01.074: Most likely found a RS-274D file "/home/user/Desktop/ctf/hw_critical_flight/flight_control_board/HadesMicro-B_Fab.gbr" ... trying to open anyways

Terminal
$ ls -la /tmp/gerber_render/
total 132
drwxrwxr-x  2 user user  4096 Apr 17 22:36 .
drwxrwxrwt 17 root root 20480 Apr 17 22:35 ..
-rw-rw-r--  1 user user    87 Apr 17 22:36 b_fab.png
-rw-rw-r--  1 user user 15725 Apr 17 22:36 bot_cu.png
-rw-rw-r--  1 user user  4292 Apr 17 22:36 bot_silk.png
-rw-rw-r--  1 user user  2794 Apr 17 22:36 edge.png
-rw-rw-r--  1 user user 10738 Apr 17 22:36 f_fab.png
-rw-rw-r--  1 user user 13619 Apr 17 22:36 in1_cu.png
-rw-rw-r--  1 user user 15126 Apr 17 22:36 in2_cu.png
-rw-rw-r--  1 user user 20291 Apr 17 22:35 top_cu.png
-rw-rw-r--  1 user user  5672 Apr 17 22:36 top_silk.png
AI Reasoning

Let me visually inspect these rendered images to look for suspicious patterns:

Image Analysis
/tmp/gerber_render/top_cu.png
Query

This is a rendered PCB Gerber file (top copper layer) for a drone flight controller called HadesMicro. I'm looking for sabotage - suspicious traces, unusual copper fills, hidden text, extra components, short circuits, or any malicious modifications that could cause the drone to malfunction. Please describe any anomalies you see.

Visual Summary

The image shows a top copper layer of a PCB with a purple (dark blue) background and black conductive traces, pads, and copper fills. A central square component (likely a microcontroller) is surrounded by traces connecting to various pads, with four large circular mounting holes at the corners.

Key Observations

  • Color and Layout: Purple background with black conductive elements (traces, pads, copper fills). The layout is compact, typical of a flight controller.
  • Central Component: A square component (presumed microcontroller) with multiple pins connected to surrounding traces.
  • Mounting Holes: Four large circular pads at the corners, standard for PCB mounting.
  • Traces and Pads: Dense network of traces connecting rectangular/circular pads around the central component; no obvious overlapping traces (potential short circuits) are visible.
  • Copper Fills: Solid black areas (copper fills) around the central component and other regions, consistent with standard PCB design for shielding or power distribution.
  • Text: No legible text is visible on this layer (text is typically on silkscreen or other layers, not top copper).

Sabotage Anomalies (User Query)

  • Suspicious Traces: No unusual routing (e.g., sharp bends, out-of-place traces) is visible. Traces follow standard PCB design practices.
  • Unusual Copper Fills: Copper fills appear normal—no overfills, underfills, or irregular shapes suggesting sabotage.
  • Hidden Text: No text is present on this top copper layer (text resides on silkscreen or other layers).
  • Extra Components: No actual components (only pads) are visible; no extra pads or components are apparent.
  • Short Circuits: No visible trace overlaps or crossings on the top layer (which would indicate a short circuit).
  • Malicious Modifications: Without the original design for comparison, it is impossible to confirm if traces, pads, or fills have been altered. The layout looks consistent with a typical flight controller, but subtle modifications (e.g., altered trace widths, hidden vias) cannot be detected from this 2D top layer alone.

Flags (Limitations)

  • The image is a 2D representation of the top copper layer; vias (connections to other layers), component values, and silkscreen text are not visible.
  • Resolution limitations may prevent detection of subtle trace anomalies or modifications.
  • Original Gerber files (or a baseline design) are required to definitively identify malicious modifications.
Image Analysis
/tmp/gerber_render/bot_cu.png
Query

This is a rendered PCB Gerber file (bottom copper layer) for a drone flight controller called HadesMicro. I'm looking for sabotage - suspicious traces, unusual copper fills, hidden text, extra components, short circuits, or any malicious modifications. Please describe any anomalies you see.

Visual Summary

The image displays a rendered PCB bottom copper layer (Gerber file) with a purple substrate and black copper traces, pads, and fills. A vertical text string is visible on the left, and the layout includes standard PCB elements like vias, mounting holes, and routing traces.

Key Observations

  • Text: The legible text on the left reads HTB1533_7h3_1m32_w02k1n95.
  • Copper Elements: Black traces (thin lines) connect to circular/rectangular pads and larger black copper fills (likely ground planes).
  • Mounting Holes: Four large circular holes are present at the corners of the board.
  • Vias: Small circular vias (connection points between layers) are scattered across the layout.
  • Layout: Traces follow typical routing patterns for a flight controller, with no obvious overlapping or abnormal spacing.

Analysis for Sabotage

Based on the visible elements:

  • Suspicious Traces/Short Circuits: No obvious short circuits (traces do not overlap in a way that would indicate a fault) or unusual trace routing (paths appear consistent with standard PCB design).
  • Unusual Copper Fills: The black fills are consistent with typical ground plane designs for a flight controller; no abnormal shapes or unexpected fills are visible.
  • Hidden Text/Extra Components: The only visible text is HTB1533_7h3_1m32_w02k1n95; no additional hidden text or extra components (e.g., unexpected pads/traces) are apparent. Note: This is a copper layer, so component footprints (e.g., ICs, resistors) are not visible here.
  • Malicious Modifications: No obvious signs of tampering (e.g., altered traces, added vias) are detectable.

Limitations

  • Resolution/Ambiguity: The image resolution limits detection of subtle issues (e.g., micro-short circuits, extremely thin traces, or minor modifications).
  • Layer Context: This is a single copper layer (bottom); top-layer traces, silkscreen, or component placements (which could reveal sabotage) are not visible.

No definitive anomalies are observable in the provided image, but low resolution and limited layer visibility prevent a complete assessment of potential sabotage.

Image Analysis
/tmp/gerber_render/in1_cu.png
Query

This is a rendered PCB Gerber file (inner layer 1 copper) for a drone flight controller called HadesMicro. I'm looking for sabotage - suspicious traces, unusual copper fills, hidden text, extra components, short circuits, or any malicious modifications. Please describe any anomalies.

Visual Summary

The image shows a purple PCB inner copper layer (labeled as "inner layer 1") with black geometric elements (pads, vias, traces) and a distinct text string. The layout includes clustered and scattered pads, with a notable text element in the lower-right quadrant.

Key Observations

  • Background & Color: Solid purple, consistent with Gerber file rendering for copper layers.
  • Black Elements: Circular pads (likely vias), rectangular pads, and thin traces connecting pads. No large copper fills are visible.
  • Text String: A black box containing _0f_313c720n1c5#$@} is present in the lower-right area—an atypical feature for an inner copper layer (text is usually on silkscreen or label layers, not copper).
  • Layout: Pads are organized in clusters (e.g., a vertical column of circles on the left) and scattered groups, with traces forming connections between them.
  • Components: No visible component footprints (e.g., resistors, capacitors) are present, as this is an inner copper layer (components reside on other layers).

Anomalies

  • Text String: The most prominent anomaly. Inner copper layers typically do not contain text, so this could indicate a hidden message, watermark, or unauthorized modification.
  • Short Circuits: No obvious short circuits (traces crossing without vias) are visible, but fine details (e.g., microscopic shorts) may be undetectable due to resolution.
  • Copper Fills/Components: No unusual copper fills or extra components are apparent, but the text is a significant deviation from standard PCB layer content.

Flags for Insufficient Information

  • The image is a single inner copper layer; top/bottom layers (component, silkscreen, solder mask) are not visible, so hidden text or modifications on other layers cannot be assessed.
  • Resolution limitations may prevent detection of subtle anomalies (e.g., tiny shorts, faint traces, or encrypted text).
  • The purpose of the text string is unknown without additional context (e.g., design files, manufacturer notes).
Image Analysis
/tmp/gerber_render/in2_cu.png
Query

This is a rendered PCB Gerber file (inner layer 2 copper) for a drone flight controller called HadesMicro. I'm looking for sabotage - suspicious traces, unusual copper fills, hidden text, extra components, short circuits, or any malicious modifications. Please describe any anomalies.

Visual Summary

The image displays a PCB inner layer (copper) with a purple background and black conductive elements (traces, pads, vias) arranged in a dense, patterned layout. Key features include circular pads, rectangular pads, clustered vias, and a central black rectangular region.

Key Observations

  • Color & Layers: The background is solid purple (likely the non-conductive layer, e.g., solder mask or the copper layer’s base), with black elements representing conductive copper (traces, pads, vias).
  • Pads & Vias: Numerous circular pads (varying sizes) and rectangular pads are scattered across the board, alongside clustered small circular vias (for electrical connections).
  • Central Region: A prominent black rectangular area (possibly a copper fill or component footprint) is centered, surrounded by smaller pads/vias.
  • Layout: The design is dense with no obvious gaps, suggesting a compact PCB (consistent with a flight controller).

Analysis of Anomalies (Sabotage Indicators)

No obvious anomalies are visible in the provided image:

  • Suspicious Traces: Traces appear as standard interconnected pads/vias, with no visible irregularities (e.g., unexpected branching, overhangs, or non-functional loops).
  • Unusual Copper Fills: The central black rectangle is a solid copper region, but this is typical for ground planes or component footprints—no evidence of abnormal shape/size.
  • Hidden Text: No legible text (e.g., labels, serial numbers) is visible in the image.
  • Extra Components: No physical components (e.g., resistors, ICs) are present—only pads/vias (consistent with a Gerber file of a copper layer, not a populated board).
  • Short Circuits: No overlapping black elements (traces/pads) are visible that would indicate unintended connections; all elements appear spaced as per standard PCB design.

Limitations & Ambiguities

  • The image is a single layer (inner layer 2 copper) of a PCB; without access to schematics, other layers, or a populated board, it is impossible to confirm if traces are shorted functionally (e.g., between layers) or if the copper fill is malicious.
  • The "normal" appearance of elements is inferred from typical PCB design practices, but without a reference design for the HadesMicro flight controller, subtle anomalies (e.g., altered trace widths, hidden vias) cannot be ruled out.

In summary, the visible elements are consistent with a standard PCB inner copper layer, and no overt sabotage indicators are present. Further analysis (e.g., comparing to a reference Gerber, inspecting other layers, or examining a populated board) would be required to confirm absence of subtle malicious modifications.

AI Reasoning

Excellent findings! The vision analysis revealed hidden text on the PCB layers. Let me now look more carefully at these findings:

  1. Bottom copper layer has text: HTB1533_7h3_1m32_w02k1n95
  2. Inner layer 1 has text: _0f_313c720n1c5#$@}

This appears to be a flag split across layers. Let me combine them and also look more closely at other layers for additional parts:

Image Analysis
/tmp/gerber_render/top_silk.png
Query

This is a rendered PCB Gerber file (top silkscreen layer) for a drone flight controller. Look for any hidden text, labels, suspicious component designators, or messages that might be part of a flag or sabotage indicator.

Visual Summary

The image displays a top silkscreen layer of a PCB (likely for a drone flight controller) with blue line art on a black background. Key visible elements include text labels, component outlines, and numbered pin indicators.

Key Observations

  • Text Elements:
    • "HADES" (large, central font) with "micro" below it.
    • "RC" (top-right, likely a component label).
    • "S F MODE" (right side, possibly a mode indicator).
    • "B0" and "B1" (bottom, likely button or pin labels).
    • Vertical numbers "1–8" (left side, pin designators).
  • Component Outlines: Rectangular and irregular shapes (e.g., top-right "RC" area, bottom "B0/B1" rectangles) representing component footprints or silkscreen labels.
  • Symbols: Plus (+) and minus (-) signs (e.g., near "S F MODE" and left-side pins) for polarity or power indicators.

Answer to User Query

No hidden text, suspicious component designators, or sabotage indicators are visible in the provided silkscreen layer. All text ("HADES micro," "RC," "S F MODE," "B0," "B1," "1–8") appears to be functional labels for components, pins, or operational modes—consistent with standard PCB silkscreen conventions for flight controllers.

Flagged Limitations: The analysis is limited to the top silkscreen layer. Other PCB layers (e.g., copper traces, solder mask, inner layers) are not visible and could contain hidden elements not assessable here.

Image Analysis
/tmp/gerber_render/bot_silk.png
Query

This is a rendered PCB Gerber file (bottom silkscreen layer) for a drone flight controller. Look for any hidden text, labels, suspicious component designators, or messages that might be part of a flag or sabotage indicator.

Visual Summary

The image displays a PCB bottom silkscreen layer with purple text and symbols on a black background, featuring component designators, voltage labels, channel identifiers, and a schematic-like symbol.

Key Observations

  • Legible Text: Visible text includes "GND", "PAR", "CH4", "CH5", "CH6", "RX", "TX", "3V3", "5V", "BAT", "END", "M", "Q", "2", and a vertical text "bblazar.co.uk" on the right.
  • Schematic Symbol: A lower-middle symbol contains "M", "Q", and "2" (common component designators for motors, transistors, and component numbers).
  • Text Style: Purple text on a black background, consistent with PCB silkscreen layers.
  • Standard Labels: "GND" (ground), "3V3"/"5V" (voltages), "CH4-6" (channels), "RX"/"TX" (communication), and "BAT" (battery) are typical for drone flight controllers.

Answer to User Query

No hidden text is visible; all text is legible. Component designators ("M", "Q", "2") and labels are standard for a drone flight controller (e.g., "GND" for ground, "3V3"/"5V" for power, "CH4-6" for signal channels, "RX"/"TX" for data transmission). The URL "bblazar.co.uk" is present but does not indicate obvious sabotage—it could be the designer’s domain. No suspicious or non-standard designators or messages are visible that suggest sabotage.

Flagged Information

  • The image resolution limits full verification of all text (e.g., if "PAR" is a typo or intentional).
  • The purpose of "bblazar.co.uk" cannot be confirmed visually (e.g., whether it is a legitimate designer domain or unrelated).
  • No additional context (e.g., full schematic, component datasheets) is visible to assess potential sabotage beyond the silkscreen layer.
Image Analysis
/tmp/gerber_render/f_fab.png
Query

This is a rendered PCB Gerber file (front fabrication layer) for a drone flight controller. Look for any hidden text, suspicious labels, or messages embedded in the design.

Visual Summary

The image is a dark blue PCB front fabrication layer (Gerber file) with light blue traces and component labels, depicting a drone flight controller layout. Key elements include labeled components (e.g., MCU1, PWM1, IMU1) and interfaces (e.g., VIN1, RC1, TELE1, US81, SWD1, GPS1), with standard PCB elements (capacitors, resistors, connectors) clearly visible.

Key Observations

  • Component Designators: Light blue text labels identify components (e.g., MCU1, PWM1, IMU1, REG1, RC1, TELE1, US81, SWD1, I2C3, GPS1, SBUS1, FLASH1, SERVO1, PWM_PWR1) across the board.
  • Standard PCB Elements: Capacitors (C2, C3, C7, C8, C11, C12, C13, C14, C15, C16, C17, C18, C22, C23, C25, C26, C29, C34), resistors (R3, R4, R5, R7, R8, R14, R15, R19), and connectors (VIN1, RC1, TELE1, US81, SWD1, I2C3, GPS1, SBUS1, SERVO1, PWM_PWR1) are labeled.
  • No Hidden Text: All visible text consists of standard component designators and part names; no obscured, unusual, or "suspicious" labels/messages are present.

Answer to User Query

Based on the visual evidence, there are no hidden text, suspicious labels, or messages embedded in the design. All text is legible and limited to standard component designators (e.g., MCU1, PWM1) and part names (e.g., VIN1, REG1), which are typical for a PCB front fabrication layer.

Flagged Information

  • This analysis is limited to the front fabrication layer; text on the back layer or internal layers (not visible here) could contain hidden elements, but they are outside the scope of this image.
  • The image resolution and cropping do not obscure any visible text—all labels are legible.
Image Analysis
/tmp/gerber_render/edge.png
Query

This is a rendered PCB edge cuts layer (board outline). Look for any unusual shapes or hidden messages.

Visual Summary

The image displays a simple rectangular outline with rounded corners, representing a PCB (printed circuit board) edge cuts layer. The background is solid black, and the board outline is a thin, light-colored (likely purple or blue) line forming a uniform, smooth shape.

Key Observations

  • Shape: The PCB outline is a standard rounded rectangle—no irregularities, cutouts, or non-standard geometric features are visible.
  • Color/Contrast: The outline is a single, consistent light color against a solid black background, with no additional lines, text, or patterns.
  • Completeness: The image appears to show only the edge cuts layer (board outline) without any other PCB layers (e.g., copper traces, silkscreen, or components) visible.

Answer to User Query: Unusual Shapes or Hidden Messages

Based on the visible content, there are no unusual shapes (the outline is a typical rounded rectangle, common for PCBs) and no hidden messages (the image contains only the board outline with no text, symbols, or covert patterns). The simplicity of the outline—lacking additional details, breaks, or anomalies—confirms the absence of unexpected elements.

Flagged Limitations

  • The image is cropped to only the edge cuts layer; other PCB layers (e.g., internal copper, silkscreen) are not visible, so hidden messages or shapes in those layers cannot be assessed.
  • Resolution/contrast limitations (if present) could obscure fine details, but the current view shows a clean, uniform outline with no detectable anomalies.
AI Reasoning

Now let me render higher resolution images of the bottom copper and inner layer 1 to read the hidden text more clearly:

Terminal
$ cd /home/user/Desktop/ctf/hw_critical_flight/flight_control_board && gerbv --export=png --output=/tmp/gerber_render/bot_cu_hires.png --dpi=600 HadesMicro-B_Cu.gbr 2>&1 && gerbv --export=png --output=/tmp/gerber_render/in1_cu_hires.png --dpi=600 HadesMicro-In1_Cu.gbr 2>&1
(Bash completed with no output)
Image Analysis
/tmp/gerber_render/bot_cu_hires.png
Query

This is a high-resolution render of the bottom copper layer of a PCB. There is hidden text etched in copper that I need you to read precisely. The text appears to be on the left side of the board. Please read and transcribe EXACTLY every character you can see that forms text, preserving case and special characters.

Visual Summary

The image depicts a high-resolution render of a PCB’s bottom copper layer, featuring a purple substrate with black copper traces, pads, and components. A vertical text string is etched in copper on the left side of the board.

Key Observations

  • PCB Layout: The board includes through-hole pads (e.g., large circular pads at corners), surface-mount pads (smaller circular pads), and interconnected copper traces forming circuit paths.
  • Text Element: A vertical text string is clearly visible on the left side, etched in copper.
  • Color Scheme: Purple background with black copper traces, pads, and text.

Answer to User Query

The hidden text etched in copper on the left side of the board is:
HTB{533_7h3_1nn32_w02k1n95}

Flagged Information

No additional text or ambiguous elements are visible in the image. The provided transcription is based on clear, legible characters in the image; no further context or higher resolution is required for this specific query.

Image Analysis
/tmp/gerber_render/in1_cu_hires.png
Query

This is a high-resolution render of inner copper layer 1 of a PCB. There is hidden text etched in copper that I need you to read precisely. The text appears to be in the lower-right area. Please read and transcribe EXACTLY every character you can see that forms text, preserving case and special characters.

Visual Summary

The image is a high-resolution render of a PCB’s inner copper layer 1, featuring a purple background with black circuit elements (pads, traces, and components). A rectangular black region in the lower-right contains etched text.

Key Observations

  • The PCB includes various black circular pads, rectangular pads, and interconnected traces.
  • A distinct black rectangular area in the lower-right quadrant displays white etched text.

Transcribed Text (Lower-Right Area)

The text visible in the lower-right rectangular region is: _0f_313c720n1c5#$@}

Notes on Completeness

All characters in the lower-right text are legible and transcribed exactly as observed. No additional text is visible in the image, and the resolution is sufficient to confirm each character.

AI Reasoning

I found the flag! Let me now look at the inner layer 2 to see if there's additional text that connects to the inner layer 1 piece:

Terminal
$ cd /home/user/Desktop/ctf/hw_critical_flight/flight_control_board && gerbv --export=png --output=/tmp/gerber_render/in2_cu_hires.png --dpi=600 HadesMicro-In2_Cu.gbr 2>&1
(Bash completed with no output)
Image Analysis
/tmp/gerber_render/in2_cu_hires.png
Query

This is a high-resolution render of inner copper layer 2 of a PCB. Look carefully for any hidden text, messages, or suspicious patterns etched in the copper. Please transcribe any text you find EXACTLY.

Visual Summary

The image is a high-resolution render of a printed circuit board (PCB) inner copper layer (layer 2), featuring a solid purple background with black copper traces, pads, and vias. The layout includes circular pads, rectangular pads, and interconnected traces, typical of PCB design, with no immediately visible text or unusual patterns.

Key Observations

  • Background & Color Scheme: A uniform purple background (likely representing the non-copper substrate) with black copper features (traces, pads, vias).
  • Copper Elements:
    • Circular pads (varying sizes, some grouped in clusters).
    • Rectangular pads (e.g., a large vertical cluster on the left, smaller rectangular shapes elsewhere).
    • Interconnected traces (thin black lines linking pads/vias).
    • Vias (small circular holes, possibly for layer-to-layer connections).
  • Layout: Pads and traces are distributed across the board, with no obvious alphanumeric text or symbolic patterns (e.g., letters, numbers, or intentional "messages") visible in the copper.

Answer to User Query

No hidden text, messages, or suspicious patterns are visible in the copper layer. The image shows standard PCB elements (pads, traces, vias) with no discernible alphanumeric characters or unusual etched designs.

Note: While the resolution is high, the absence of text may be due to the nature of the PCB (e.g., no intentional etched text) or limitations in this specific render. Higher magnification or alternative imaging techniques (e.g., contrast adjustment) could theoretically reveal finer details, but none are present in the provided image.

AI Reasoning

The flag is assembled from the two layers. Let me verify by also trying to extract the text directly from the Gerber files:

Terminal
$ cd /home/user/Desktop/ctf/hw_critical_flight/flight_control_board && grep -a "HTB\|htb\|flag\|FLAG" *.gbr
(Bash completed with no output)
AI Reasoning

The flag text is rendered as copper traces (geometric shapes, not text strings). Let me try to install a Gerber-to-SVG converter for a cleaner view:

Terminal
$ pip3 install gerber2svg 2>/dev/null || pip3 install pcb-tools 2>/dev/null; which gerber2svg 2>/dev/null
(Bash completed with no output)
AI Reasoning

Let me try another approach - convert to SVG with gerbv:

Terminal
$ cd /home/user/Desktop/ctf/hw_critical_flight/flight_control_board && gerbv --export=svg --output=/tmp/gerber_render/bot_cu.svg HadesMicro-B_Cu.gbr 2>&1 && gerbv --export=svg --output=/tmp/gerber_render/in1_cu.svg HadesMicro-In1_Cu.gbr 2>&1
(Bash completed with no output)
Terminal
$ head -50 /tmp/gerber_render/bot_cu.svg 2>/dev/null; echo "---"; wc -l /tmp/gerber_render/bot_cu.svg /tmp/gerber_render/in1_cu.svg
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="146" height="146" viewBox="0 0 146 146">
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.181969 -1.852224 L 1.181969 -1.870995 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.181969 -1.870995 L 1.20074 -1.872894 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.20074 -1.872894 L 1.198842 -1.870995 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.198842 -1.870995 L 1.196997 -1.867252 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.196997 -1.867252 L 1.196997 -1.857866 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.196997 -1.857866 L 1.198842 -1.854123 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.198842 -1.854123 L 1.20074 -1.852224 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.20074 -1.852224 L 1.204484 -1.850379 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.204484 -1.850379 L 1.21387 -1.850379 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.21387 -1.850379 L 1.217613 -1.852224 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.217613 -1.852224 L 1.219458 -1.854123 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.219458 -1.854123 L 1.221357 -1.857866 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.221357 -1.857866 L 1.221357 -1.867252 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.221357 -1.867252 L 1.219458 -1.870995 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.219458 -1.870995 L 1.217613 -1.872894 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.181969 -1.83725 L 1.181969 -1.81289 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.181969 -1.81289 L 1.196997 -1.826019 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.196997 -1.826019 L 1.196997 -1.820377 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.196997 -1.820377 L 1.198842 -1.816633 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.198842 -1.816633 L 1.20074 -1.814735 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.20074 -1.814735 L 1.204484 -1.81289 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.204484 -1.81289 L 1.21387 -1.81289 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.21387 -1.81289 L 1.217613 -1.814735 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.217613 -1.814735 L 1.219458 -1.816633 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.219458 -1.816633 L 1.221357 -1.820377 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.221357 -1.820377 L 1.221357 -1.831607 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.221357 -1.831607 L 1.219458 -1.835351 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.219458 -1.835351 L 1.217613 -1.83725 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.181969 -1.799761 L 1.181969 -1.775401 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.181969 -1.775401 L 1.196997 -1.78853 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.196997 -1.78853 L 1.196997 -1.782888 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.196997 -1.782888 L 1.198842 -1.779144 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.198842 -1.779144 L 1.20074 -1.777245 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.20074 -1.777245 L 1.204484 -1.775401 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.204484 -1.775401 L 1.21387 -1.775401 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.21387 -1.775401 L 1.217613 -1.777245 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.217613 -1.777245 L 1.219458 -1.779144 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.219458 -1.779144 L 1.221357 -1.782888 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.221357 -1.782888 L 1.221357 -1.794118 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.221357 -1.794118 L 1.219458 -1.797862 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.219458 -1.797862 L 1.217613 -1.799761 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.2251 -1.76786 L 1.2251 -1.737912 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.181969 -1.732269 L 1.181969 -1.706011 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.181969 -1.706011 L 1.221357 -1.722883 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.221357 -1.691037 L 1.181969 -1.691037 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.221357 -1.674164 L 1.20074 -1.674164 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.20074 -1.674164 L 1.196997 -1.676008 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
<path fill="none" stroke-width="0.00984252" stroke-linecap="round" stroke-linejoin="miter" stroke="rgb(45.098039%, 45.098039%, 87.058824%)" stroke-opacity="1" stroke-miterlimit="10" d="M 1.196997 -1.676008 L 1.195098 -1.679752 " transform="matrix(72, 0, 0, -72, -54.289249, -54.828859)"/>
---
   659 /tmp/gerber_render/bot_cu.svg
   480 /tmp/gerber_render/in1_cu.svg
  1139 total
AI Reasoning

Now let me save the findings to the workspace and provide the final answer:

Write Task
Analyze PCB Gerber files for sabotage

Investigate the HadesMicro flight controller PCB Gerber files for suspicious modifications that cause drones to malfunction

malware-analysis
Steps
  • Extract and enumerate Gerber files from the zip archive
  • Render all Gerber layers as PNG images using gerbv
  • Visually inspect each layer for hidden text, unusual traces, or sabotage
  • Identify hidden flag text on bottom copper and inner layer 1
  • Assemble the complete flag from multiple layers
Write Todo
critical-flight-ctf
  • analyze-gerber-files.json
AI Response

Analysis Complete - Sabotage Found

Summary

The PCB design files for the HadesMicro flight controller (generated by KiCad 6.0.9) contain hidden text etched into the copper layers. This text is not part of normal PCB design - it was deliberately added to the Gerber files as a form of sabotage signature.

Suspicious Alterations Found

The sabotage evidence is hidden text rendered as copper traces on internal layers, invisible during normal board operation but present in the production files:

Layer Hidden Text
Bottom Copper (HadesMicro-B_Cu.gbr) HTB{533_7h3_1nn32_w02k1n95}
Inner Layer 1 (HadesMicro-In1_Cu.gbr) _0f_313c720n1c5#$@}

The Flag

Combining the text from both layers reveals the complete flag:

HTB{533_7h3_1nn32_w02k1n95_0f_313c720n1c5#$@}

Which translates from leet speak as: "see the inner workings of electronics"

How the Sabotage Was Hidden

  • The text was rendered as copper trace geometries on internal PCB layers (not visible on the board surface)
  • The bottom copper layer contains the first portion of the flag, drawn vertically along the left edge
  • The inner copper layer 1 contains the second portion, embedded in a copper fill region in the lower-right quadrant
  • These would not be visible on the finished PCB (covered by solder mask and hidden between FR4 layers) but would exist as actual copper features in the manufactured board
  • This technique is a known hardware supply chain attack vector where modifications to Gerber files can go undetected without layer-by-layer visual inspection