├── LICENSE ├── README.md ├── RECON2017-idacolors.clr ├── REcon2017-skin ├── icons │ ├── expand.png │ └── spacer.png ├── manifest.xml ├── preview.png └── stylesheet.qss └── preview.png /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Tamir Bahar 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [RECON 2017](https://recon.cx/2017/montreal/) 2 | RECON 2017 IDA skin & color scheme 3 | 4 | ![](preview.png) 5 | 6 | ## Installation 7 | 8 | ### Color Scheme 9 | 10 | In IDA, go to `Options->Colors->Import` and select the color scheme (`RECON2017-idacolors.clr`). 11 | 12 | If you don't like menus, hold Alt and click o,c,i. 13 | 14 | ### Skin 15 | 16 | The skin is powered by [IDASkins](https://github.com/zyantific/IDASkins) and based on its dark scheme. 17 | 18 | Follow the installtion instructions [here](https://github.com/zyantific/IDASkins), then copy the `RECON2017-skin` directory to your `skins` directory. 19 | -------------------------------------------------------------------------------- /RECON2017-idacolors.clr: -------------------------------------------------------------------------------- 1 | [DISASM] 2 | 000000 // 3 | 00ff00 //Default color 4 | ff00ff //Regular comment 5 | 00ff00 //Repeatable comment 6 | 00ff00 //Automatic comment 7 | ff00ff //Instruction 8 | 00ff00 //Dummy Data Name 9 | 00ff00 //Regular Data Name 10 | ff00ff //Demangled Name 11 | 00ff00 //Punctuation 12 | 00ff00 //Char constant in instruction 13 | 00ff00 //String constant in instruction 14 | 00ff00 //Numeric constant in instruction 15 | 00ff00 //Void operand 16 | 00ff00 //Code reference 17 | 00ff00 //Data reference 18 | 00ff00 //Code reference to tail byte 19 | 00ff00 //Data reference to tail byte 20 | 00ff00 //Error or problem 21 | c0c0c0 //Line prefix 22 | 00ff00 //Binary line prefix bytes 23 | 00ff00 //Extra line 24 | 00ff00 //Alternative operand 25 | 00ff00 //Hidden name 26 | 00ff00 //Library function name 27 | 00ff00 //Local variable name 28 | 00ff00 //Dummy code name 29 | ff00ff //Assembler directive 30 | 00ff00 //Macro 31 | 00ff00 //String constant in data directive 32 | 00ff00 //Char constant in data directive 33 | 00ff00 //Numeric constant in data directive 34 | 00ff00 //Keywords 35 | 00ff00 //Register name 36 | 00ff00 //Imported name 37 | 00ff00 //Segment name 38 | 00ff00 //Dummy unknown name 39 | 00ff00 //Regular code name 40 | 00ff00 //Regular unknown name 41 | 00ff00 //Collapsed line 42 | 000000 //Max color number 43 | 000000 //Line prefix: library function 44 | c0c0c0 //Line prefix: regular function 45 | 00ff00 //Line prefix: instruction 46 | 00ff00 //Line prefix: data 47 | 00ff00 //Line prefix: unexplored 48 | 00ff00 //Line prefix: externs 49 | 00ff00 //Line prefix: current item 50 | 00ff00 //Line prefix: current line 51 | 00ff00 //Punctuation 52 | 00ff00 //Opcode bytes 53 | 000000 //Manual operand 54 | [NAVBAR] 55 | ad00ad //Library function 56 | ec00ec //Regular function 57 | 00d400 //Instruction 58 | 007300 //Data item 59 | 004800 //Unexplored 60 | ff00ff //External symbol 61 | 230023 //Errors 62 | 001d00 //Gaps 63 | 00ff80 //Cursor 64 | 630063 //Address 65 | [DEBUG] 66 | 413518 //Current IP 67 | 5b3939 //Current IP (+ enabled breakpoint) 68 | 408020 //Current IP (+ disabled breakpoint) 69 | 2d2d2d //Default background 70 | 000076 //Address (+ enabled breakpoint) 71 | 00ff00 //Address (+ disabled breakpoint) 72 | 004080 //Current IP (+ unavailable breakpoint) 73 | 0080ff //Address (+ unavailable breakpoint) 74 | ffffff //Registers 75 | 8482ff //Registers (changed) 76 | 800080 //Registers (edited) 77 | [ARROW] 78 | 34466c //Jump in current function 79 | dede00 //Jump external to function 80 | 00aaff //Jump under the cursor 81 | 008000 //Jump target 82 | ff4040 //Register target 83 | [GRAPH] 84 | 001500 //Top color 85 | 006100 //Bottom color 86 | f5f5f5 //Normal title 87 | 989faa //Selected title 88 | 54585e //Current title 89 | 00ffff //Group frame 90 | 242424 //Node shadow 91 | 003900 //Highlight color 1 92 | 00006d //Highlight color 2 93 | 0000ff //Foreign node 94 | cb4300 //Normal edge 95 | 009100 //Yes edge 96 | 0000bc //No edge 97 | ffaaaa //Highlighted edge 98 | 008ec6 //Current edge 99 | [MISC] 100 | 212121 //Message text 101 | d4d4d4 //Message background 102 | 404080 //Patched bytes 103 | 0080ff //Unsaved changes 104 | [OTHER] 105 | 000000 //Highlight color 106 | e1ffff //Hint color 107 | [SYNTAX] 108 | ff0000 0 0 //Keyword 1 109 | 800080 0 0 //Keyword 2 110 | 0000ff 0 0 //Keyword 3 111 | 00008b 0 0 //String 112 | 006400 0 1 //Comment 113 | ff0000 1 0 //Preprocessor 114 | 8b8b00 1 0 //Number 115 | -------------------------------------------------------------------------------- /REcon2017-skin/icons/expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmr232/RECon2017/d32349f4a905053a59a3ed59bb3b5a8ed2ad8c23/REcon2017-skin/icons/expand.png -------------------------------------------------------------------------------- /REcon2017-skin/icons/spacer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmr232/RECon2017/d32349f4a905053a59a3ed59bb3b5a8ed2ad8c23/REcon2017-skin/icons/spacer.png -------------------------------------------------------------------------------- /REcon2017-skin/manifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 7 | -------------------------------------------------------------------------------- /REcon2017-skin/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmr232/RECon2017/d32349f4a905053a59a3ed59bb3b5a8ed2ad8c23/REcon2017-skin/preview.png -------------------------------------------------------------------------------- /REcon2017-skin/stylesheet.qss: -------------------------------------------------------------------------------- 1 | QWidget { 2 | background-color: #000; 3 | color: #0f0; 4 | } 5 | 6 | QCheckBox { 7 | background-color: rgba(0, 0, 0, 0); 8 | } 9 | 10 | QTextEdit { 11 | background-color: #000; 12 | border: 1px solid #f0f; 13 | border-radius: 2px; 14 | } 15 | 16 | QMenuBar, QMenuBar::item { 17 | background-color: #000; 18 | color: #0f0; 19 | } 20 | 21 | QMenu::item:selected { 22 | color: #f0f; 23 | } 24 | 25 | QLineEdit { 26 | border: 1px solid #f0f; 27 | min-height: 20px; 28 | border-radius: 2px; 29 | } 30 | 31 | QLineEdit:hover, QLineEdit:focus { 32 | border: 1px solid #0f0; 33 | } 34 | 35 | QTabBar::tab { 36 | background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, 37 | stop: 0 #600060, stop: 1 #300030); 38 | } 39 | 40 | QTabBar::tab:selected { 41 | background-color: #000; 42 | } 43 | 44 | QHeaderView::section { 45 | background-color: #000; 46 | border-left: 3px solid #f0f; 47 | } 48 | 49 | QTableView { 50 | border: 1px solid #f0f; 51 | background-color: #000; 52 | 53 | } 54 | 55 | QTableCornerButton::section { 56 | background: #000; 57 | border: 2px outset #808; 58 | } 59 | 60 | IDAView, hexview_t, CustomIDAMemo { 61 | border: none; 62 | } 63 | 64 | CustomIDAMemo, EditContainer { 65 | font-family: ""; 66 | font-size: ; 67 | font-style: ; 68 | font-weight: ; 69 | } 70 | 71 | IDAView { 72 | font-family: ""; 73 | font-size: ; 74 | font-style: ; 75 | font-weight: ; 76 | } 77 | 78 | hexview_t { 79 | font-family: ""; 80 | font-size: ; 81 | font-style: ; 82 | font-weight: ; 83 | } 84 | 85 | /* TODO: DEBUG_REGISTERS, OUTPUT_WINDOW */ 86 | 87 | QScrollBar { 88 | background-color: #040; 89 | width: 20px; 90 | margin: 0 0 0 0; 91 | } 92 | 93 | QScrollBar::sub-line, QScrollBar::add-line { 94 | width: 0; 95 | height: 0; 96 | } 97 | 98 | QScrollBar::add-page, QScrollBar::sub-page { 99 | background: none; 100 | } 101 | 102 | QScrollBar::handle:vertical { 103 | min-height: 20px; 104 | } 105 | 106 | QScrollBar::handle:horizontal { 107 | min-width: 20px; 108 | } 109 | 110 | QScrollBar::handle { 111 | background-color: #060; 112 | margin: 3px; 113 | border-radius: 7px; 114 | } 115 | 116 | QToolBar { 117 | border: 1px solid #707; 118 | } 119 | 120 | QPushButton { 121 | border: 1px solid #707; 122 | text-align: center; 123 | min-height: 20px; 124 | min-width: 50px; 125 | padding: 0 6px 0 6px; 126 | border-radius: 2px; 127 | } 128 | 129 | QPushButton:hover, QPushButton:default { 130 | border: 1px solid #a0a; 131 | } 132 | 133 | QPushButton:pressed { 134 | border: 1px solid #e0e; 135 | } 136 | 137 | QComboBox { 138 | border: 1px solid #f0f; 139 | border-radius: 2px; 140 | } 141 | 142 | QComboBox > QLineEdit, QComboBox > QLineEdit:hover, QComboBox > QLineEdit:focus { 143 | border: none; 144 | min-height: default; 145 | } 146 | 147 | QComboBox:hover, QComboBox:focus { 148 | border: 1px solid #aa00aa; 149 | } 150 | 151 | QComboBox::drop-down { 152 | subcontrol-origin: padding; 153 | subcontrol-position: top right; 154 | width: 15px; 155 | 156 | border-left-width: 1px; 157 | border-left-color: #606; 158 | border-left-style: solid; 159 | } 160 | 161 | QComboBox::down-arrow { 162 | image: url(/icons/expand.png); 163 | } 164 | 165 | /* Close, maximize and undock button for dock widgets */ 166 | IDADockWidget > QWidget > QAbstractButton { 167 | background-color: #606; 168 | border-radius: 3px; 169 | } 170 | 171 | QRadioButton, QLabel, QCheckBox { 172 | background: transparent; 173 | } 174 | 175 | TNavBand > QPushButton, RegJumpButton { 176 | min-height: 0; 177 | min-width: 0; 178 | padding: 0 0 0 0; 179 | border: none; 180 | } 181 | 182 | EditContainer, ChooserContainer, QGroupBox, QListView, QTreeView { 183 | border: 1px solid #600060; 184 | border-radius: 2px; 185 | } 186 | 187 | QGroupBox { 188 | margin-top: 5px; 189 | } 190 | 191 | QGroupBox::title { 192 | subcontrol-origin: margin; 193 | subcontrol-position: top center; 194 | } 195 | 196 | /* Remove border from IDC/Python switch button */ 197 | CLIWidget > QGroupBox > QPushButton, 198 | CLIWidget > QGroupBox > QPushButton:hover, 199 | CLIWidget > QGroupBox > QPushButton:focus { 200 | border: none; 201 | } 202 | 203 | CLIWidget > QGroupBox { 204 | margin-top: 0; 205 | } 206 | 207 | QTreeView::item:selected, QListView::item:selected, QTableView::item:selected { 208 | background-color: #470047; 209 | color: #ddd; 210 | } -------------------------------------------------------------------------------- /preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tmr232/RECon2017/d32349f4a905053a59a3ed59bb3b5a8ed2ad8c23/preview.png --------------------------------------------------------------------------------