├── AreasOfImprovement.txt ├── LICENSE ├── MainUnit ├── ExampleOutput │ └── beacon8rCluster_12 │ │ └── beacon8rCluster_12.ino ├── about.txt ├── beacon8pattern.txt ├── biglistGenAccessPoints.txt └── plugNChug.py ├── README.md ├── SecondaryUnit ├── Beacon_RickRoll │ └── Beacon_RickRoll.ino ├── CallItFreindo │ └── CallItFreindo.ino ├── SPIFF_SERVER_BOOK │ ├── SPIFF_SERVER_BOOK.ino │ └── data │ │ └── index.html ├── Trevor_Project_MKII_part3 │ └── Trevor_Project_MKII_part3.ino └── secureAP │ └── secureAP.ino ├── Wi-Fi Beacons will give you up Defcon26 slides.pdf └── images ├── BeaconsWillGiveYouUp.jpg ├── action_shot_beacon8r.JPG └── beacon8r.JPG /AreasOfImprovement.txt: -------------------------------------------------------------------------------- 1 | 1. Put a big set of wheels on harness side of unit instead of 4 swivels - to roll better on soft rug. 2 | 2. Evalutate cage redesign 3 | 3. Reposition Antenna further away from body 4 | 4. Wire up main unit to a flip toggle /Arm switch 5 | 5. Write and debug code to allow programs on chip to be toggled by inputs.(buttons etc) 6 | 6. Get a lithium ion battery setup instead of AGM. 7 | 7. Vary Tx power (reasons) 8 | 8. Experiment for distance with better antennas using single ESP8266 for fun of it. 9 | 9. Consider mast with powerful antenna for directional rick rolling. 10 | 10. Get some neat stickers made! 11 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 John Aho 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 | -------------------------------------------------------------------------------- /MainUnit/ExampleOutput/beacon8rCluster_12/beacon8rCluster_12.ino: -------------------------------------------------------------------------------- 1 | /* 2 | * Fake beacon frames for ESP8266 using the Arduino IDE 3 | * 4 | * Based on https://github.com/markszabo/FakeBeaconESP8266 which is 5 | * - Based on the WiFiBeaconJam by kripthor (https://github.com/kripthor/WiFiBeaconJam) 6 | * 7 | * More info: http://nomartini-noparty.blogspot.com/2016/07/esp8266-and-beacon-frames.html 8 | more about beacon frames https://mrncciew.com/2014/10/08/802-11-mgmt-beacon-frame/ 9 | 10 | */ 11 | 12 | #include 13 | 14 | extern "C" { 15 | #include "user_interface.h" 16 | } 17 | 18 | bool ledState = false; 19 | uint32_t currentTime = 0; 20 | uint32_t attackTime = 0; 21 | uint32_t packetRateTime = 0; 22 | byte channel = 1; 23 | 24 | void setup() { 25 | delay(500); 26 | system_update_cpu_freq(160); 27 | currentTime = millis(); 28 | wifi_set_opmode(STATION_MODE); 29 | wifi_promiscuous_enable(1); 30 | pinMode(BUILTIN_LED, OUTPUT); 31 | randomSeed(os_random()); 32 | } 33 | 34 | 35 | 36 | void loop() { 37 | currentTime = millis(); 38 | 39 | // Randomize channel for this startup run session// 40 | channel = genSafishChannel();// 41 | 42 | //snBcn("test"); //sends beacon frames with the SSID 'test' 43 | //sendRandomBeacon(10); //sends beacon frames with 10 character long random SSID 44 | //sendFuzzedBeacon("test",10); //sends beacon frames with 10 different SSID all starting with 'test' and ending with whitespaces (spaces and/or tabs) 45 | Beacon8r(); 46 | if(ledState){ 47 | digitalWrite(BUILTIN_LED,HIGH); 48 | ledState = false; 49 | }else{ 50 | digitalWrite(BUILTIN_LED,LOW); 51 | ledState = true; 52 | } 53 | 54 | } 55 | 56 | void sendFuzzedBeacon(char* baseSsid, int nr) { 57 | int baseLen = strlen(baseSsid); 58 | int i=0; 59 | for(int j=0; j < 32 - baseLen; j++) { //32 is the maximum length of the SSID 60 | for(int k=0; k < pow(2,j); k++) { 61 | int kk = k; 62 | String ssid = baseSsid; 63 | for(int l=0; l < j; l++) { 64 | if(kk%2 == 1) ssid += " "; //add a space 65 | else ssid += "\t"; //add a tab 66 | kk /= 2; 67 | } 68 | char charBufSsid[33]; 69 | ssid.toCharArray(charBufSsid, 33); 70 | snBcn(charBufSsid); 71 | if(++i >= nr) return; 72 | } 73 | } 74 | } 75 | 76 | void sendRandomBeacon(int len) { 77 | char ssid[len+1]; 78 | randomString(len, ssid); 79 | snBcn(ssid); 80 | } 81 | 82 | void randomString(int len, char* ssid) { 83 | String alfa = "1234567890qwertyuiopasdfghjkklzxcvbnm QWERTYUIOPASDFGHJKLZXCVBNM_"; 84 | for(int i = 0; i < len; i++) { 85 | ssid[i] = alfa[random(65)]; 86 | } 87 | } 88 | 89 | void randomNumString(int len, char* ssid) { 90 | String alfa = "1234567890"; 91 | for(int i = 0; i < len; i++) { 92 | ssid[i] = alfa[random(9)]; 93 | } 94 | } 95 | 96 | int genSafishChannel(){ 97 | int chan = random(1,3); 98 | if(chan ==1) 99 | return 1; 100 | if(chan ==2) 101 | return 6; 102 | if(chan ==3) 103 | return 11; 104 | 105 | return 1; 106 | } 107 | 108 | void snBcn(char* ssid){ 109 | 110 | int sflen = 8; 111 | char suffixssid[sflen+1]; 112 | randomNumString(sflen, suffixssid); 113 | 114 | int oglen = strlen(ssid); 115 | char result[oglen+sflen+1]; 116 | strcpy(result, ssid); 117 | strcat(result, suffixssid); 118 | 119 | sendSuffBcn(result); 120 | } 121 | 122 | void sendSuffBcn (char* ssid) { 123 | 124 | currentTime = millis(); //gets current time 125 | 126 | 127 | wifi_set_channel(channel); 128 | 129 | uint8_t packet[128] = { 0x80, 0x00, //Frame Control 130 | 0x230, 0x020, //Duration 131 | /*4*/ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //Destination address 132 | /*10*/ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, //Source address - overwritten later 133 | /*16*/ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, //BSSID - overwritten to the same as the source address 134 | /*22*/ 0xc0, 0x6c, //Seq-ctl 135 | //Frame body starts here 136 | /*24*/ 0x83, 0x51, 0xf7, 0x8f, 0x0f, 0x00, 0x00, 0x00, //timestamp - the number of microseconds the AP has been active 137 | /*32*/ 0xFF, 0xA28, //Beacon interval stock was: 0xFF, 0x00, 138 | /*34*/ 0x01, 0x04, //Capability info 139 | /* SSID */ 140 | /*36*/ 0x00 141 | }; 142 | 143 | int ssidLen = strlen(ssid); 144 | packet[37] = ssidLen; 145 | 146 | for(int i = 0; i < ssidLen; i++) { 147 | packet[38+i] = ssid[i]; 148 | } 149 | 150 | uint8_t postSSID[13] = {0x01, 0x08, 0x82, 0x84, 0x8b, 0x96, 0x24, 0x30, 0x48, 0x6c, //supported rate 151 | 0x03, 0x01, 0x04 /*DSSS (Current Channel)*/ }; 152 | 153 | for(int i = 0; i < 12; i++) { 154 | packet[38 + ssidLen + i] = postSSID[i]; 155 | } 156 | 157 | packet[50 + ssidLen] = channel; 158 | 159 | // Randomize SRC MAC 160 | packet[10] = packet[16] = random(256); 161 | packet[11] = packet[17] = random(256); 162 | packet[12] = packet[18] = random(256); 163 | packet[13] = packet[19] = random(256); 164 | packet[14] = packet[20] = random(256); 165 | packet[15] = packet[21] = random(256); 166 | 167 | 168 | /* packet[15] = packet[21]= packet[10] = packet[16] = random(256); 169 | packet[13] = packet[19] = packet[11] = packet[17] = random(256); 170 | packet[14] = packet[20] = packet[12] = packet[18] = random(256); 171 | */ 172 | 173 | 174 | packet[24] = currentTime; //sets current time so packets show up on wireshark 175 | 176 | int packetSize = 51 + ssidLen; 177 | 178 | bool sent = false; 179 | int packySent = 0; 180 | //delay(1); 181 | for(int k=0;k<250 && !sent && packySent <2 ;k++){ 182 | sent = wifi_send_pkt_freedom(packet, packetSize, 0) == 0; 183 | if(sent){ 184 | packySent++; 185 | }else{ 186 | delay(1); 187 | } 188 | } 189 | } 190 | 191 | void Beacon8r() { 192 | snBcn("STALLSWORTH"); 193 | snBcn("STALLEY"); 194 | snBcn("STAINS"); 195 | snBcn("SROCK"); 196 | snBcn("SPRITZER"); 197 | snBcn("SPRACKLIN"); 198 | snBcn("SPINUZZI"); 199 | snBcn("SPIDELL"); 200 | snBcn("SPICE"); 201 | snBcn("SPEYRER"); 202 | snBcn("SPERBECK"); 203 | snBcn("SPENDLOVE"); 204 | snBcn("SPEEDY"); 205 | snBcn("SPECKMAN"); 206 | snBcn("SPARGUR"); 207 | snBcn("SPANGENBERG"); 208 | snBcn("SPAID"); 209 | snBcn("SOWLE"); 210 | snBcn("SOULIER"); 211 | snBcn("SOTOLONGO"); 212 | snBcn("SOSTRE"); 213 | snBcn("SOREY"); 214 | snBcn("SONIER"); 215 | snBcn("SOMOGYI"); 216 | snBcn("SOMERA"); 217 | snBcn("SOLO"); 218 | snBcn("SOLDO"); 219 | snBcn("SOFIA"); 220 | snBcn("SODERHOLM"); 221 | snBcn("SNOOTS"); 222 | snBcn("SNOOKS"); 223 | snBcn("SNOKE"); 224 | snBcn("SNODDERLY"); 225 | snBcn("SNIDE"); 226 | snBcn("SNEE"); 227 | snBcn("SMOKE"); 228 | snBcn("SMITHHART"); 229 | snBcn("SMILLIE"); 230 | snBcn("SMAY"); 231 | snBcn("SMALLMAN"); 232 | snBcn("SLIWINSKI"); 233 | snBcn("SLENTZ"); 234 | snBcn("SLEDD"); 235 | snBcn("SLAGER"); 236 | snBcn("SKOGEN"); 237 | snBcn("SKOG"); 238 | snBcn("SKARDA"); 239 | snBcn("SKALICKY"); 240 | snBcn("SIWEK"); 241 | snBcn("SITTERSON"); 242 | snBcn("SISTI"); 243 | snBcn("SISSEL"); 244 | snBcn("SIS"); 245 | snBcn("SINOPOLI"); 246 | snBcn("SIMILTON"); 247 | snBcn("SIMILA"); 248 | snBcn("SIMENSON"); 249 | snBcn("SILVERTOOTH"); 250 | snBcn("SILOS"); 251 | snBcn("SIGGINS"); 252 | snBcn("SIELER"); 253 | snBcn("SIBURT"); 254 | snBcn("SIANEZ"); 255 | snBcn("SHURLEY"); 256 | snBcn("SHULAR"); 257 | snBcn("SHUECRAFT"); 258 | snBcn("SHREEVES"); 259 | snBcn("SHON"); 260 | snBcn("SHOLLENBERGER"); 261 | snBcn("SHOEN"); 262 | snBcn("SHISHIDO"); 263 | snBcn("SHIPPS"); 264 | snBcn("SHIPES"); 265 | snBcn("SHINALL"); 266 | snBcn("SHERFIELD"); 267 | snBcn("SHAWE"); 268 | snBcn("SHARRETT"); 269 | snBcn("SHARRARD"); 270 | snBcn("SHANKMAN"); 271 | snBcn("SHAN"); 272 | snBcn("SHAM"); 273 | snBcn("SESSUM"); 274 | snBcn("SERVISS"); 275 | snBcn("SERVELLO"); 276 | snBcn("SERICE"); 277 | snBcn("SERDA"); 278 | snBcn("SEMLER"); 279 | snBcn("SEMENZA"); 280 | snBcn("SELMON"); 281 | snBcn("SELLEN"); 282 | snBcn("SELEY"); 283 | snBcn("SEIDNER"); 284 | snBcn("SEIB"); 285 | snBcn("SEHGAL"); 286 | snBcn("SEELBACH"); 287 | snBcn("SEDIVY"); 288 | snBcn("SEBREN"); 289 | snBcn("SEBO"); 290 | snBcn("SEANEZ"); 291 | snBcn("SEAGROVES"); 292 | snBcn("SEAGREN"); 293 | snBcn("SEAGRAVE"); 294 | snBcn("SEABRON"); 295 | snBcn("SCHWERTNER"); 296 | snBcn("SCHWEGEL"); 297 | snBcn("SCHWARZER"); 298 | snBcn("SCHRUNK"); 299 | snBcn("SCHRIEFER"); 300 | snBcn("SCHREDER"); 301 | snBcn("SCHRANK"); 302 | snBcn("SCHOPP"); 303 | snBcn("SCHONFELD"); 304 | snBcn("SCHOENWETTER"); 305 | snBcn("SCHNALL"); 306 | snBcn("SCHNACKENBERG"); 307 | snBcn("SCHNACK"); 308 | snBcn("SCHMUTZLER"); 309 | snBcn("SCHMIERER"); 310 | snBcn("SCHMIDGALL"); 311 | snBcn("SCHLUP"); 312 | snBcn("SCHLOEMER"); 313 | snBcn("SCHLITT"); 314 | snBcn("SCHERMANN"); 315 | snBcn("SCHERFF"); 316 | snBcn("SCHELLENBERG"); 317 | snBcn("SCHAIN"); 318 | snBcn("SCHAEDLER"); 319 | snBcn("SCHABEL"); 320 | snBcn("SCACCIA"); 321 | snBcn("SAYE"); 322 | snBcn("SAXMAN"); 323 | snBcn("SAUREZ"); 324 | snBcn("SASSEEN"); 325 | snBcn("SASNETT"); 326 | snBcn("SAS"); 327 | snBcn("SARTI"); 328 | snBcn("SARRA"); 329 | snBcn("SARBER"); 330 | snBcn("SARAN"); 331 | snBcn("SANTOY"); 332 | snBcn("SANTERAMO"); 333 | snBcn("SANSOUCY"); 334 | snBcn("SANDO"); 335 | snBcn("SANDLES"); 336 | snBcn("SANDBURG"); 337 | snBcn("SANDAU"); 338 | snBcn("SAMRA"); 339 | snBcn("SAMAHA"); 340 | snBcn("SALON"); 341 | snBcn("SALIZAR"); 342 | snBcn("SALAM"); 343 | snBcn("SAINDON"); 344 | snBcn("SAGASER"); 345 | snBcn("SAETEUN"); 346 | snBcn("SADUSKY"); 347 | snBcn("SACKMAN"); 348 | snBcn("SABATER"); 349 | snBcn("SAAS"); 350 | snBcn("RUTHVEN"); 351 | snBcn("RUSZKOWSKI"); 352 | snBcn("RUSCHE"); 353 | snBcn("RUMPF"); 354 | snBcn("RUHTER"); 355 | snBcn("RUHENKAMP"); 356 | snBcn("RUFO"); 357 | snBcn("RUDGE"); 358 | snBcn("RUDDLE"); 359 | snBcn("ROWLEE"); 360 | snBcn("ROWAND"); 361 | snBcn("ROUTHIER"); 362 | snBcn("ROUGEOT"); 363 | snBcn("ROTRAMEL"); 364 | snBcn("ROTAN"); 365 | snBcn("ROSWELL"); 366 | snBcn("ROSTEN"); 367 | snBcn("ROSILLO"); 368 | snBcn("ROOKARD"); 369 | snBcn("ROODE"); 370 | snBcn("RONGSTAD"); 371 | snBcn("ROLLIE"); 372 | snBcn("ROIDER"); 373 | snBcn("ROFFE"); 374 | snBcn("ROETTGER"); 375 | snBcn("RODICK"); 376 | snBcn("ROCHEZ"); 377 | snBcn("ROCHAT"); 378 | snBcn("ROADS"); 379 | snBcn("RIVKIN"); 380 | snBcn("RIVADENEIRA"); 381 | snBcn("RISTON"); 382 | snBcn("RISSO"); 383 | snBcn("RISE"); 384 | snBcn("RINDERKNECHT"); 385 | snBcn("RIIS"); 386 | snBcn("RIGGSBEE"); 387 | snBcn("RIFKIN"); 388 | snBcn("RIEKER"); 389 | snBcn("RIEGLE"); 390 | snBcn("RIEDY"); 391 | snBcn("RICHWINE"); 392 | snBcn("RICHMON"); 393 | snBcn("RICCIUTI"); 394 | snBcn("RICCARDO"); 395 | snBcn("RICARDSON"); 396 | snBcn("RHEW"); 397 | snBcn("REVOIR"); 398 | snBcn("REVIER"); 399 | snBcn("REMSBERG"); 400 | snBcn("REMISZEWSKI"); 401 | snBcn("REMBOLD"); 402 | snBcn("RELLA"); 403 | snBcn("REINKEN"); 404 | snBcn("REILAND"); 405 | snBcn("REIDEL"); 406 | snBcn("REICHART"); 407 | snBcn("REHAK"); 408 | snBcn("REDWAY"); 409 | snBcn("REDNOUR"); 410 | snBcn("REDIFER"); 411 | snBcn("REDGATE"); 412 | snBcn("REDENBAUGH"); 413 | snBcn("REDBURN"); 414 | snBcn("REAP"); 415 | snBcn("READUS"); 416 | snBcn("RAYBUCK"); 417 | snBcn("RAUHUFF"); 418 | snBcn("RAUDA"); 419 | snBcn("RATTE"); 420 | snBcn("RATHJE"); 421 | snBcn("RAPPLEY"); 422 | snBcn("RANDS"); 423 | snBcn("RAMSEYER"); 424 | snBcn("RAMSEUR"); 425 | snBcn("RAMSDALE"); 426 | snBcn("RAMO"); 427 | snBcn("RAMARIZ"); 428 | snBcn("RAITZ"); 429 | snBcn("RAISCH"); 430 | snBcn("RAINONE"); 431 | snBcn("RAHR"); 432 | snBcn("RAGASA"); 433 | snBcn("RAFALSKI"); 434 | snBcn("RADUNZ"); 435 | snBcn("QUENZER"); 436 | snBcn("QUEJA"); 437 | snBcn("QUEENAN"); 438 | snBcn("PYUN"); 439 | snBcn("PUZ"); 440 | snBcn("PUTZIER"); 441 | snBcn("PUSKAS"); 442 | snBcn("PURRINGTON"); 443 | snBcn("PURI"); 444 | snBcn("PUNT"); 445 | snBcn("PULLAR"); 446 | snBcn("PRUSE"); 447 | snBcn("PRING"); 448 | snBcn("PRIMEAU"); 449 | snBcn("PREVETTE"); 450 | snBcn("PREUETT"); 451 | snBcn("PRESTO"); 452 | snBcn("PRESTAGE"); 453 | snBcn("POWNELL"); 454 | snBcn("POWNALL"); 455 | snBcn("POTTHOFF"); 456 | snBcn("POTRATZ"); 457 | snBcn("POTH"); 458 | snBcn("POTER"); 459 | snBcn("POSTHUMA"); 460 | snBcn("POSEN"); 461 | snBcn("PORRITT"); 462 | snBcn("POPKIN"); 463 | snBcn("POORMON"); 464 | snBcn("POLIDORO"); 465 | snBcn("POLES"); 466 | snBcn("POLCYN"); 467 | snBcn("POKORA"); 468 | snBcn("POER"); 469 | snBcn("PLUVIOSE"); 470 | snBcn("PLOCK"); 471 | snBcn("PLEVA"); 472 | snBcn("PLACKE"); 473 | snBcn("PIOLI"); 474 | snBcn("PINGLETON"); 475 | snBcn("PINCHBACK"); 476 | snBcn("PINCH"); 477 | snBcn("PIERETTI"); 478 | snBcn("PICCONE"); 479 | snBcn("PIATKOWSKI"); 480 | snBcn("PHILLEY"); 481 | snBcn("PHIBBS"); 482 | snBcn("PHAY"); 483 | snBcn("PHAGAN"); 484 | snBcn("PFUND"); 485 | snBcn("PEYER"); 486 | snBcn("PETTERSEN"); 487 | snBcn("PETTER"); 488 | snBcn("PETRUCELLI"); 489 | snBcn("PETROPOULOS"); 490 | snBcn("PETRAS"); 491 | snBcn("PETIX"); 492 | snBcn("PESTER"); 493 | snBcn("PERKS"); 494 | snBcn("PEPPERMAN"); 495 | snBcn("PENNICK"); 496 | snBcn("PENADO"); 497 | snBcn("PELOT"); 498 | snBcn("PELIS"); 499 | snBcn("PEEDEN"); 500 | snBcn("PECHON"); 501 | snBcn("PEAL"); 502 | snBcn("PAZMINO"); 503 | snBcn("PATCHIN"); 504 | snBcn("PASIERB"); 505 | snBcn("PARRAN"); 506 | snBcn("PARILLA"); 507 | snBcn("PARDY"); 508 | snBcn("PARCELLS"); 509 | snBcn("PARAGAS"); 510 | snBcn("PARADEE"); 511 | snBcn("PAPIN"); 512 | snBcn("PANKO"); 513 | snBcn("PANGRAZIO"); 514 | snBcn("PANGELINAN"); 515 | snBcn("PANDYA"); 516 | snBcn("PANCHERI"); 517 | snBcn("PANAS"); 518 | snBcn("PALMITER"); 519 | snBcn("PALLARES"); 520 | snBcn("PALINKAS"); 521 | snBcn("PALEK"); 522 | snBcn("PAGLIARO"); 523 | snBcn("PACKHAM"); 524 | snBcn("PACITTI"); 525 | snBcn("OZIER"); 526 | snBcn("OVERBAUGH"); 527 | snBcn("OURSLER"); 528 | snBcn("OUIMETTE"); 529 | snBcn("OTTESON"); 530 | snBcn("OTSUKA"); 531 | snBcn("OTHON"); 532 | snBcn("OSMUNDSON"); 533 | snBcn("OROZ"); 534 | snBcn("ORGILL"); 535 | snBcn("ORDENEAUX"); 536 | snBcn("ORAMA"); 537 | snBcn("OPPY"); 538 | snBcn("OPHEIM"); 539 | snBcn("ONKST"); 540 | snBcn("OLTMANNS"); 541 | snBcn("OLSTAD"); 542 | snBcn("OLOFSON"); 543 | snBcn("OLLIVIER"); 544 | snBcn("OLEN"); 545 | snBcn("OLEJNICZAK"); 546 | snBcn("OKURA"); 547 | snBcn("OKUNA"); 548 | snBcn("OKEY"); 549 | snBcn("OHRT"); 550 | snBcn("OHARRA"); 551 | snBcn("OGUENDO"); 552 | snBcn("OGIER"); 553 | snBcn("OFFERMANN"); 554 | snBcn("OETZEL"); 555 | snBcn("OECHSLE"); 556 | snBcn("ODOR"); 557 | snBcn("ODOHERTY"); 558 | snBcn("ODDI"); 559 | snBcn("OCKERMAN"); 560 | snBcn("OCCHIOGROSSO"); 561 | snBcn("OBRYON"); 562 | snBcn("OBREMSKI"); 563 | snBcn("NYREEN"); 564 | snBcn("NYLUND"); 565 | snBcn("NYLEN"); 566 | snBcn("NYHOLM"); 567 | snBcn("NUON"); 568 | snBcn("NUANES"); 569 | snBcn("NORRICK"); 570 | snBcn("NORIS"); 571 | snBcn("NORDELL"); 572 | snBcn("NORBURY"); 573 | snBcn("NOONER"); 574 | snBcn("NONO"); 575 | snBcn("NOMURA"); 576 | snBcn("NOLE"); 577 | snBcn("NOLDEN"); 578 | snBcn("NOLA"); 579 | snBcn("NOFSINGER"); 580 | snBcn("NOCITO"); 581 | snBcn("NOBEL"); 582 | snBcn("NIEDBALA"); 583 | snBcn("NIEBERGALL"); 584 | snBcn("NICOLINI"); 585 | snBcn("NICOLE"); 586 | snBcn("NICKLAUS"); 587 | snBcn("NEVILS"); 588 | snBcn("NEUBURGER"); 589 | snBcn("NEMEROFSKY"); 590 | snBcn("NEMECEK"); 591 | snBcn("NAZARENO"); 592 | snBcn("NASTRI"); 593 | snBcn("NAST"); 594 | snBcn("NANCY"); 595 | snBcn("NAGORSKI"); 596 | snBcn("MYRE"); 597 | snBcn("MUZZEY"); 598 | snBcn("MUTTON"); 599 | snBcn("MUTSCHLER"); 600 | snBcn("MUTHER"); 601 | snBcn("MUSUMECI"); 602 | snBcn("MURANAKA"); 603 | snBcn("MURAMOTO"); 604 | snBcn("MURAD"); 605 | snBcn("MURACH"); 606 | snBcn("MUNS"); 607 | snBcn("MUNNO"); 608 | snBcn("MUNCRIEF"); 609 | snBcn("MUGRAGE"); 610 | snBcn("MUECKE"); 611 | snBcn("MOZER"); 612 | snBcn("MOYET"); 613 | snBcn("MOWLES"); 614 | snBcn("MOTTERN"); 615 | snBcn("MOSMAN"); 616 | snBcn("MOSCONI"); 617 | snBcn("MORINE"); 618 | snBcn("MORGE"); 619 | snBcn("MORAVEC"); 620 | snBcn("MORAD"); 621 | snBcn("MONEYMAKER"); 622 | snBcn("MONES"); 623 | snBcn("MONCUR"); 624 | snBcn("MONAREZ"); 625 | snBcn("MOLZAHN"); 626 | snBcn("MOGLIA"); 627 | snBcn("MOESCH"); 628 | snBcn("MODY"); 629 | snBcn("MODISETT"); 630 | snBcn("MITNICK"); 631 | snBcn("MITHCELL"); 632 | snBcn("MITCHINER"); 633 | snBcn("MISTRY"); 634 | snBcn("MISERCOLA"); 635 | snBcn("MIRABILE"); 636 | snBcn("MINVIELLE"); 637 | snBcn("MINO"); 638 | snBcn("MINKLER"); 639 | snBcn("MINIFIELD"); 640 | snBcn("MINICHIELLO"); 641 | snBcn("MINDELL"); 642 | snBcn("MINASIAN"); 643 | snBcn("MILTEER"); 644 | snBcn("MILLWEE"); 645 | snBcn("MILLSTEIN"); 646 | snBcn("MILLIEN"); 647 | snBcn("MIKRUT"); 648 | snBcn("MIHALY"); 649 | snBcn("MIGGINS"); 650 | snBcn("MICHARD"); 651 | snBcn("MEZO"); 652 | snBcn("METZNER"); 653 | snBcn("MESQUITA"); 654 | snBcn("MERVIN"); 655 | snBcn("MERRIWETHER"); 656 | snBcn("MERK"); 657 | snBcn("MERFELD"); 658 | snBcn("MERCIK"); 659 | snBcn("MERCADANTE"); 660 | snBcn("MENTION"); 661 | snBcn("MENNA"); 662 | snBcn("MENDIZABAL"); 663 | snBcn("MENDER"); 664 | snBcn("MEMBERS"); 665 | snBcn("MELUSKY"); 666 | snBcn("MELQUIST"); 667 | snBcn("MELLADO"); 668 | snBcn("MELER"); 669 | snBcn("MELENDES"); 670 | snBcn("MEKEEL"); 671 | snBcn("MEIGGS"); 672 | snBcn("MEGGINSON"); 673 | snBcn("MECK"); 674 | snBcn("MCWHERTER"); 675 | snBcn("MCWAYNE"); 676 | snBcn("MCSPARREN"); 677 | snBcn("MCREA"); 678 | snBcn("MCNEFF"); 679 | snBcn("MCNEASE"); 680 | snBcn("MCMURRIN"); 681 | snBcn("MCKEAG"); 682 | snBcn("MCHUGHES"); 683 | snBcn("MCGUINESS"); 684 | snBcn("MCGILTON"); 685 | snBcn("MCELREATH"); 686 | snBcn("MCELHONE"); 687 | snBcn("MCELHENNEY"); 688 | snBcn("MCELDOWNEY"); 689 | snBcn("MCCURTAIN"); 690 | snBcn("MCCURE"); 691 | snBcn("MCCOSKER"); 692 | snBcn("MCCORY"); 693 | snBcn("MCCORMIC"); 694 | snBcn("MCCLINE"); 695 | snBcn("MCCLEAVE"); 696 | snBcn("MCCLATCHEY"); 697 | snBcn("MCCARNEY"); 698 | snBcn("MCCANSE"); 699 | snBcn("MCALLEN"); 700 | snBcn("MAZZIE"); 701 | snBcn("MAZIN"); 702 | snBcn("MAZANEC"); 703 | snBcn("MAYETTE"); 704 | snBcn("MAUTZ"); 705 | snBcn("MAUSER"); 706 | snBcn("MAUN"); 707 | snBcn("MATTAS"); 708 | snBcn("MATHURIN"); 709 | snBcn("MATHIESEN"); 710 | snBcn("MASSMANN"); 711 | snBcn("MASRI"); 712 | snBcn("MASIAS"); 713 | snBcn("MASCOLO"); 714 | snBcn("MASCETTI"); 715 | snBcn("MASCAGNI"); 716 | snBcn("MARZOLF"); 717 | snBcn("MARUSKA"); 718 | snBcn("MARTAIN"); 719 | snBcn("MARTA"); 720 | snBcn("MARSZALEK"); 721 | snBcn("MAROLF"); 722 | snBcn("MARMAS"); 723 | snBcn("MARLOR"); 724 | snBcn("MARKWOOD"); 725 | snBcn("MARINES"); 726 | snBcn("MARINERO"); 727 | snBcn("MARIER"); 728 | snBcn("MARICH"); 729 | snBcn("MARCOM"); 730 | snBcn("MARCIANTE"); 731 | snBcn("MARCHMAN"); 732 | snBcn("MARCHIO"); 733 | snBcn("MARBACH"); 734 | snBcn("MANZONE"); 735 | snBcn("MANTEY"); 736 | snBcn("MANNINA"); 737 | snBcn("MANHARDT"); 738 | snBcn("MANFRED"); 739 | snBcn("MANAOIS"); 740 | snBcn("MALMGREN"); 741 | snBcn("MALLONEE"); 742 | snBcn("MALLIN"); 743 | snBcn("MALLARY"); 744 | snBcn("MALETTE"); 745 | snBcn("MAKINSON"); 746 | snBcn("MAKINS"); 747 | snBcn("MAKAREWICZ"); 748 | snBcn("MAINWARING"); 749 | snBcn("MAIDA"); 750 | snBcn("MAIAVA"); 751 | snBcn("MAGRO"); 752 | snBcn("MAGOUYRK"); 753 | snBcn("MAGETT"); 754 | snBcn("MAEDER"); 755 | snBcn("MADYUN"); 756 | snBcn("MADUENA"); 757 | snBcn("MADEN"); 758 | snBcn("MADEIRA"); 759 | snBcn("MACNAMARA"); 760 | snBcn("MACKINS"); 761 | snBcn("MACKEL"); 762 | snBcn("MACINNES"); 763 | snBcn("MACIA"); 764 | snBcn("MACGOWAN"); 765 | snBcn("LYSSY"); 766 | snBcn("LYERLY"); 767 | snBcn("LYALLS"); 768 | snBcn("LUTTER"); 769 | snBcn("LUNNEY"); 770 | snBcn("LUKSA"); 771 | snBcn("LUDEMAN"); 772 | snBcn("LUCIDI"); 773 | snBcn("LUCCI"); 774 | snBcn("LOWDEN"); 775 | snBcn("LOVIER"); 776 | snBcn("LOUGHRIDGE"); 777 | snBcn("LOSCH"); 778 | snBcn("LORY"); 779 | snBcn("LORSON"); 780 | snBcn("LORENZANO"); 781 | snBcn("LORDEN"); 782 | snBcn("LORBER"); 783 | snBcn("LOPARDO"); 784 | snBcn("LOOSIER"); 785 | snBcn("LOOMER"); 786 | snBcn("LONGSDORF"); 787 | snBcn("LONGCHAMPS"); 788 | snBcn("LONCAR"); 789 | snBcn("LOKER"); 790 | snBcn("LOGWOOD"); 791 | snBcn("LOEFFELHOLZ"); 792 | snBcn("LOCKMILLER"); 793 | snBcn("LIVOTI"); 794 | snBcn("LINFORD"); 795 | snBcn("LINENBERGER"); 796 | snBcn("LINDLOFF"); 797 | snBcn("LINDENBAUM"); 798 | snBcn("LIMOGES"); 799 | snBcn("LILLA"); 800 | snBcn("LILEY"); 801 | snBcn("LIGHTHILL"); 802 | snBcn("LIGHTBOURNE"); 803 | snBcn("LIESKE"); 804 | snBcn("LEZA"); 805 | snBcn("LEVELS"); 806 | snBcn("LEVANDOSKI"); 807 | snBcn("LEUCK"); 808 | snBcn("LEPERE"); 809 | snBcn("LEONHART"); 810 | snBcn("LENON"); 811 | snBcn("LEMMA"); 812 | snBcn("LEMLER"); 813 | snBcn("LEISING"); 814 | snBcn("LEINONEN"); 815 | snBcn("LEHTINEN"); 816 | snBcn("LEHAN"); 817 | snBcn("LEETCH"); 818 | snBcn("LEEMING"); 819 | snBcn("LEDYARD"); 820 | snBcn("LEDWITH"); 821 | snBcn("LEDINGHAM"); 822 | snBcn("LECLERE"); 823 | snBcn("LECK"); 824 | snBcn("LEBERT"); 825 | snBcn("LEANDRY"); 826 | snBcn("LAZZELL"); 827 | snBcn("LAYO"); 828 | snBcn("LAYE"); 829 | snBcn("LAXEN"); 830 | snBcn("LAWTHER"); 831 | snBcn("LAWN"); 832 | snBcn("LAWERANCE"); 833 | snBcn("LAVOY"); 834 | snBcn("LAVERTU"); 835 | snBcn("LAVERDE"); 836 | snBcn("LAUREN"); 837 | snBcn("LATOUCHE"); 838 | snBcn("LATNER"); 839 | snBcn("LATHEN"); 840 | snBcn("LAST"); 841 | snBcn("LASKIN"); 842 | snBcn("LASHBAUGH"); 843 | snBcn("LASCALA"); 844 | snBcn("LARROQUE"); 845 | snBcn("LARICK"); 846 | snBcn("LARAIA"); 847 | snBcn("LAPLUME"); 848 | snBcn("LANZILOTTA"); 849 | snBcn("LANNOM"); 850 | snBcn("LANDRIGAN"); 851 | snBcn("LANDOLT"); 852 | snBcn("LANDESS"); 853 | snBcn("LANCIA"); 854 | snBcn("LAMKINS"); 855 | snBcn("LALLA"); 856 | snBcn("LALK"); 857 | snBcn("LAKEMAN"); 858 | snBcn("LAKATOS"); 859 | snBcn("LAIB"); 860 | snBcn("LAHAY"); 861 | snBcn("LAGRAVE"); 862 | snBcn("LAGERQUIST"); 863 | snBcn("LAFOY"); 864 | snBcn("LAFLECHE"); 865 | snBcn("LADER"); 866 | snBcn("LABRADA"); 867 | snBcn("KWIECINSKI"); 868 | snBcn("KUTNER"); 869 | snBcn("KUNSHIER"); 870 | snBcn("KULAKOWSKI"); 871 | snBcn("KUJAK"); 872 | snBcn("KUEHNLE"); 873 | snBcn("KUBISIAK"); 874 | snBcn("KRZYMINSKI"); 875 | snBcn("KRUGH"); 876 | snBcn("KROIS"); 877 | snBcn("KRITIKOS"); 878 | snBcn("KRILL"); 879 | snBcn("KRIENER"); 880 | snBcn("KREWSON"); 881 | snBcn("KRETZSCHMAR"); 882 | snBcn("KRETZ"); 883 | snBcn("KRESSE"); 884 | snBcn("KREITER"); 885 | snBcn("KREISCHER"); 886 | snBcn("KREBEL"); 887 | snBcn("KRAUT"); 888 | snBcn("KRANS"); 889 | snBcn("KRALING"); 890 | snBcn("KRAHENBUHL"); 891 | snBcn("KOUNS"); 892 | snBcn("KOTSON"); 893 | snBcn("KOSSOW"); 894 | snBcn("KOPRIVA"); 895 | snBcn("KONKLE"); 896 | snBcn("KOLTER"); 897 | snBcn("KOLK"); 898 | snBcn("KOLICH"); 899 | snBcn("KOHNER"); 900 | snBcn("KOEPPEN"); 901 | snBcn("KOENIGS"); 902 | snBcn("KOCK"); 903 | snBcn("KOCHANSKI"); 904 | snBcn("KOBUS"); 905 | snBcn("KNOWLING"); 906 | snBcn("KNOUFF"); 907 | snBcn("KNOERZER"); 908 | snBcn("KNIPPEL"); 909 | snBcn("KLOBERDANZ"); 910 | snBcn("KLEINERT"); 911 | snBcn("KLARICH"); 912 | snBcn("KLAASSEN"); 913 | snBcn("KIZZIE"); 914 | snBcn("KISAMORE"); 915 | snBcn("KIRN"); 916 | snBcn("KIRALY"); 917 | snBcn("KIPPS"); 918 | snBcn("KINSON"); 919 | snBcn("KINNEMAN"); 920 | snBcn("KINGTON"); 921 | snBcn("KINE"); 922 | snBcn("KIMBRIEL"); 923 | snBcn("KILLE"); 924 | snBcn("KICK"); 925 | snBcn("KIBODEAUX"); 926 | snBcn("KHAMVONGSA"); 927 | snBcn("KEYLON"); 928 | snBcn("KEVER"); 929 | snBcn("KESER"); 930 | snBcn("KERTZ"); 931 | snBcn("KERCHEVAL"); 932 | snBcn("KENNETH"); 933 | snBcn("KENDRIX"); 934 | snBcn("KENDLE"); 935 | snBcn("KEN"); 936 | snBcn("KEMPT"); 937 | snBcn("KEMPLE"); 938 | snBcn("KEESEY"); 939 | snBcn("KEATS"); 940 | snBcn("KEATLEY"); 941 | snBcn("KAZMIERSKI"); 942 | snBcn("KAZDA"); 943 | snBcn("KAZARIAN"); 944 | snBcn("KAWASHIMA"); 945 | snBcn("KATSCH"); 946 | snBcn("KASUN"); 947 | snBcn("KASSNER"); 948 | snBcn("KASSEM"); 949 | snBcn("KASPERSKI"); 950 | snBcn("KASINGER"); 951 | snBcn("KASCHAK"); 952 | snBcn("KARELS"); 953 | snBcn("KANTOLA"); 954 | snBcn("KANA"); 955 | snBcn("KAMAI"); 956 | snBcn("KALTHOFF"); 957 | snBcn("KALLA"); 958 | snBcn("KALANI"); 959 | snBcn("KAHRS"); 960 | snBcn("KAHANEK"); 961 | snBcn("KACHER"); 962 | snBcn("JURASEK"); 963 | snBcn("JUNIPER"); 964 | snBcn("JUNGELS"); 965 | snBcn("JUKES"); 966 | snBcn("JUELFS"); 967 | snBcn("JUDICE"); 968 | snBcn("JUDA"); 969 | snBcn("JU"); 970 | snBcn("JOSSELYN"); 971 | snBcn("JONSSON"); 972 | snBcn("JONAK"); 973 | snBcn("JOENS"); 974 | snBcn("JOBSON"); 975 | snBcn("JEGEDE"); 976 | snBcn("JEE"); 977 | snBcn("JEANJACQUES"); 978 | snBcn("JAWOROWSKI"); 979 | snBcn("JASPERS"); 980 | snBcn("JANNSEN"); 981 | snBcn("JANNER"); 982 | snBcn("JANKOWIAK"); 983 | snBcn("JANK"); 984 | snBcn("JANIAK"); 985 | snBcn("JACKOWSKI"); 986 | snBcn("JACKLIN"); 987 | snBcn("JABBOUR"); 988 | snBcn("IYER"); 989 | snBcn("IVESON"); 990 | snBcn("IVAN"); 991 | snBcn("ISNER"); 992 | snBcn("INIQUEZ"); 993 | snBcn("INGWERSON"); 994 | snBcn("INGBER"); 995 | snBcn("INA"); 996 | snBcn("IMBROGNO"); 997 | snBcn("ILLE"); 998 | snBcn("IKEHARA"); 999 | snBcn("IANNELLI"); 1000 | snBcn("HYSON"); 1001 | snBcn("HUXFORD"); 1002 | snBcn("HUSETH"); 1003 | snBcn("HURNS"); 1004 | snBcn("HURNEY"); 1005 | snBcn("HURLES"); 1006 | snBcn("HUNNINGS"); 1007 | snBcn("HUMBARGER"); 1008 | snBcn("HULAN"); 1009 | snBcn("HUISINGA"); 1010 | snBcn("HUGHETT"); 1011 | snBcn("HUGHEN"); 1012 | snBcn("HUDLER"); 1013 | snBcn("HUBIAK"); 1014 | snBcn("HRICKO"); 1015 | snBcn("HOW"); 1016 | snBcn("HOVERSTEN"); 1017 | snBcn("HOTTEL"); 1018 | snBcn("HOSAKA"); 1019 | snBcn("HORSCH"); 1020 | snBcn("HORMANN"); 1021 | snBcn("HORDGE"); 1022 | snBcn("HONZELL"); 1023 | snBcn("HOMBURG"); 1024 | snBcn("HOLTEN"); 1025 | snBcn("HOLME"); 1026 | snBcn("HOLLOPETER"); 1027 | snBcn("HOLLINSWORTH"); 1028 | snBcn("HOLLIBAUGH"); 1029 | snBcn("HOLBERG"); 1030 | snBcn("HOHMANN"); 1031 | snBcn("HOENSTINE"); 1032 | snBcn("HODELL"); 1033 | snBcn("HODDE"); 1034 | snBcn("HOBERT"); 1035 | snBcn("HIVES"); 1036 | snBcn("HITER"); 1037 | snBcn("HIRKO"); 1038 | snBcn("HIPOLITO"); 1039 | snBcn("HINZMANN"); 1040 | snBcn("HINRICHSEN"); 1041 | snBcn("HINGER"); 1042 | snBcn("HINCKS"); 1043 | snBcn("HILZ"); 1044 | snBcn("HILBORN"); 1045 | snBcn("HIGHLEY"); 1046 | snBcn("HIGASHI"); 1047 | snBcn("HIEATT"); 1048 | snBcn("HICKEN"); 1049 | snBcn("HEVERLY"); 1050 | snBcn("HESCH"); 1051 | snBcn("HERVERT"); 1052 | snBcn("HERSHKOWITZ"); 1053 | snBcn("HERRERAS"); 1054 | snBcn("HERMANNS"); 1055 | snBcn("HERGET"); 1056 | snBcn("HENRIGUEZ"); 1057 | snBcn("HENNON"); 1058 | snBcn("HENGEL"); 1059 | snBcn("HELMLINGER"); 1060 | snBcn("HELMIG"); 1061 | snBcn("HELEN"); 1062 | snBcn("HELDMAN"); 1063 | snBcn("HEIZER"); 1064 | snBcn("HEINITZ"); 1065 | snBcn("HEIFNER"); 1066 | snBcn("HEIDORN"); 1067 | snBcn("HEGLIN"); 1068 | snBcn("HEFFLER"); 1069 | snBcn("HEBNER"); 1070 | snBcn("HEATHMAN"); 1071 | snBcn("HEASLIP"); 1072 | snBcn("HAZLIP"); 1073 | snBcn("HAYMES"); 1074 | snBcn("HAYASE"); 1075 | snBcn("HAWVER"); 1076 | snBcn("HAW"); 1077 | snBcn("HAVERMALE"); 1078 | snBcn("HAVAS"); 1079 | snBcn("HAUBER"); 1080 | snBcn("HASHIM"); 1081 | snBcn("HASENAUER"); 1082 | snBcn("HARVEL"); 1083 | snBcn("HARTNEY"); 1084 | snBcn("HARTEL"); 1085 | snBcn("HARSHA"); 1086 | snBcn("HARPINE"); 1087 | snBcn("HARKRIDER"); 1088 | snBcn("HARKIN"); 1089 | snBcn("HARER"); 1090 | snBcn("HARCLERODE"); 1091 | snBcn("HANZELY"); 1092 | snBcn("HANNI"); 1093 | snBcn("HANNAGAN"); 1094 | snBcn("HAMPEL"); 1095 | snBcn("HAMMERSCHMIDT"); 1096 | snBcn("HAMAR"); 1097 | snBcn("HALLUMS"); 1098 | snBcn("HALLIN"); 1099 | snBcn("HAINLINE"); 1100 | snBcn("HAID"); 1101 | snBcn("HAGGART"); 1102 | snBcn("HAFEN"); 1103 | snBcn("HAER"); 1104 | snBcn("HADIARIS"); 1105 | snBcn("HADAD"); 1106 | snBcn("HACKFORD"); 1107 | snBcn("HABEEB"); 1108 | snBcn("GUYMON"); 1109 | snBcn("GUTTERY"); 1110 | snBcn("GUNNETT"); 1111 | snBcn("GULL"); 1112 | snBcn("GUILLETTE"); 1113 | snBcn("GUILIANO"); 1114 | snBcn("GUILBEAUX"); 1115 | snBcn("GUIHER"); 1116 | snBcn("GUIGNARD"); 1117 | snBcn("GUERRY"); 1118 | snBcn("GUDE"); 1119 | snBcn("GUCMAN"); 1120 | snBcn("GUADIAN"); 1121 | snBcn("GRZYBOWSKI"); 1122 | snBcn("GRZELAK"); 1123 | snBcn("GRUSSENDORF"); 1124 | snBcn("GRUMET"); 1125 | snBcn("GRUENHAGEN"); 1126 | snBcn("GRUDZINSKI"); 1127 | snBcn("GROUND"); 1128 | snBcn("GROSSMANN"); 1129 | snBcn("GROF"); 1130 | snBcn("GRISSO"); 1131 | snBcn("GRISANTI"); 1132 | snBcn("GRIFFITTS"); 1133 | snBcn("GRIESBAUM"); 1134 | snBcn("GRELLA"); 1135 | snBcn("GREGSTON"); 1136 | snBcn("GRAVELINE"); 1137 | snBcn("GRANDUSKY"); 1138 | snBcn("GRANDINETTI"); 1139 | snBcn("GRAMM"); 1140 | snBcn("GOYNES"); 1141 | snBcn("GOWING"); 1142 | snBcn("GOUDIE"); 1143 | snBcn("GOSMAN"); 1144 | snBcn("GORT"); 1145 | snBcn("GORSLINE"); 1146 | snBcn("GORALSKI"); 1147 | snBcn("GOODSTEIN"); 1148 | snBcn("GOODROE"); 1149 | snBcn("GOODLIN"); 1150 | snBcn("GOODHEART"); 1151 | snBcn("GOODHART"); 1152 | snBcn("GONZELEZ"); 1153 | snBcn("GONTHIER"); 1154 | snBcn("GOLDSWORTHY"); 1155 | snBcn("GOLDADE"); 1156 | snBcn("GOETTEL"); 1157 | snBcn("GOERLITZ"); 1158 | snBcn("GOEPFERT"); 1159 | snBcn("GOEHNER"); 1160 | snBcn("GOBEN"); 1161 | snBcn("GOBEILLE"); 1162 | snBcn("GLOCK"); 1163 | snBcn("GLIEM"); 1164 | snBcn("GLEICH"); 1165 | snBcn("GLASSON"); 1166 | snBcn("GLASCOE"); 1167 | snBcn("GLADWELL"); 1168 | snBcn("GIUSTO"); 1169 | snBcn("GIRDNER"); 1170 | snBcn("GIPPLE"); 1171 | snBcn("GILLER"); 1172 | snBcn("GIESING"); 1173 | snBcn("GIAMMONA"); 1174 | snBcn("GHORMLEY"); 1175 | snBcn("GERMON"); 1176 | snBcn("GERINGER"); 1177 | snBcn("GERGELY"); 1178 | snBcn("GERBERICH"); 1179 | snBcn("GEPNER"); 1180 | snBcn("GENS"); 1181 | snBcn("GENIER"); 1182 | snBcn("GEMME"); 1183 | snBcn("GELSINGER"); 1184 | snBcn("GEIGLE"); 1185 | snBcn("GEBBIA"); 1186 | snBcn("GAYNER"); 1187 | snBcn("GAVITT"); 1188 | snBcn("GATRELL"); 1189 | snBcn("GASTINEAU"); 1190 | snBcn("GASIEWSKI"); 1191 | snBcn("GASCOIGNE"); 1192 | snBcn("GARRO"); 1193 | snBcn("GARIN"); 1194 | snBcn("GANONG"); 1195 | snBcn("GANGA"); 1196 | snBcn("GALPIN"); 1197 | snBcn("GALLUS"); 1198 | snBcn("GALIZIA"); 1199 | snBcn("GAJDA"); 1200 | snBcn("GAHM"); 1201 | snBcn("GAGEN"); 1202 | snBcn("GAFFIGAN"); 1203 | snBcn("FURNO"); 1204 | snBcn("FURNIA"); 1205 | snBcn("FURGASON"); 1206 | snBcn("FRONCZAK"); 1207 | snBcn("FRISHMAN"); 1208 | snBcn("FRIESS"); 1209 | snBcn("FRIERDICH"); 1210 | snBcn("FRESH"); 1211 | snBcn("FREESTONE"); 1212 | snBcn("FRANTA"); 1213 | snBcn("FRANKOVICH"); 1214 | snBcn("FORS"); 1215 | snBcn("FORRES"); 1216 | snBcn("FORRER"); 1217 | snBcn("FLORIS"); 1218 | snBcn("FLORIDO"); 1219 | snBcn("FLORIA"); 1220 | snBcn("FLIS"); 1221 | snBcn("FLICEK"); 1222 | snBcn("FLENS"); 1223 | snBcn("FLEGAL"); 1224 | snBcn("FLAMENCO"); 1225 | snBcn("FINKLER"); 1226 | snBcn("FINKENBINDER"); 1227 | snBcn("FINEFROCK"); 1228 | snBcn("FILTER"); 1229 | snBcn("FILPO"); 1230 | snBcn("FILION"); 1231 | snBcn("FIERMAN"); 1232 | snBcn("FIELDMAN"); 1233 | snBcn("FERREYRA"); 1234 | snBcn("FERNENDEZ"); 1235 | snBcn("FERGESON"); 1236 | snBcn("FERA"); 1237 | snBcn("FENCIL"); 1238 | snBcn("FEITH"); 1239 | snBcn("FEIGHT"); 1240 | snBcn("FEDERICI"); 1241 | snBcn("FEDERER"); 1242 | snBcn("FECHTNER"); 1243 | snBcn("FEAGAN"); 1244 | snBcn("FAUSNAUGH"); 1245 | snBcn("FAUBERT"); 1246 | snBcn("FATA"); 1247 | snBcn("FARMAN"); 1248 | snBcn("FARINELLA"); 1249 | snBcn("FANTAUZZI"); 1250 | snBcn("FANARA"); 1251 | snBcn("FALSO"); 1252 | snBcn("FALARDEAU"); 1253 | snBcn("FAGNANI"); 1254 | snBcn("FABRO"); 1255 | snBcn("EXCELL"); 1256 | snBcn("EWTON"); 1257 | snBcn("EVEY"); 1258 | snBcn("EVERETTS"); 1259 | snBcn("EVE"); 1260 | snBcn("EVARTS"); 1261 | snBcn("ETHERINGTON"); 1262 | snBcn("ESTREMERA"); 1263 | snBcn("ESTIS"); 1264 | snBcn("ESTABROOKS"); 1265 | snBcn("ESSIG"); 1266 | snBcn("ESPLIN"); 1267 | snBcn("ESPENSCHIED"); 1268 | snBcn("ERNZEN"); 1269 | snBcn("ERICH"); 1270 | snBcn("EPPES"); 1271 | snBcn("EPPARD"); 1272 | snBcn("ENTWISLE"); 1273 | snBcn("EMMI"); 1274 | snBcn("EMISON"); 1275 | snBcn("ELISON"); 1276 | snBcn("ELGUEZABAL"); 1277 | snBcn("ELEDGE"); 1278 | snBcn("ELBAZ"); 1279 | snBcn("EISLER"); 1280 | snBcn("EIDEN"); 1281 | snBcn("EICHORST"); 1282 | snBcn("EICHERT"); 1283 | snBcn("EGLE"); 1284 | snBcn("EGGLER"); 1285 | snBcn("EGGIMANN"); 1286 | snBcn("EDEY"); 1287 | snBcn("ECKERMAN"); 1288 | snBcn("ECHELBERGER"); 1289 | snBcn("EBBS"); 1290 | snBcn("EBANKS"); 1291 | snBcn("DZIAK"); 1292 | snBcn("DYCHE"); 1293 | snBcn("DYCE"); 1294 | snBcn("DUSCH"); 1295 | snBcn("DUROSS"); 1296 | snBcn("DURLEY"); 1297 | snBcn("DURATE"); 1298 | snBcn("DUNSWORTH"); 1299 | snBcn("DUMKE"); 1300 | snBcn("DULEK"); 1301 | snBcn("DUHL"); 1302 | snBcn("DUGGIN"); 1303 | snBcn("DUFFORD"); 1304 | snBcn("DUDZIAK"); 1305 | snBcn("DUCREPIN"); 1306 | snBcn("DUBREE"); 1307 | snBcn("DUBRE"); 1308 | snBcn("DUBIE"); 1309 | snBcn("DUBAS"); 1310 | snBcn("DROSTE"); 1311 | snBcn("DRISKO"); 1312 | snBcn("DREWNIAK"); 1313 | snBcn("DOXTATOR"); 1314 | snBcn("DOWTIN"); 1315 | snBcn("DOWNUM"); 1316 | snBcn("DOUBET"); 1317 | snBcn("DOTTLE"); 1318 | snBcn("DOSIER"); 1319 | snBcn("DOSHI"); 1320 | snBcn("DORST"); 1321 | snBcn("DORSET"); 1322 | snBcn("DORNBUSCH"); 1323 | snBcn("DOREN"); 1324 | snBcn("DONZE"); 1325 | snBcn("DONICA"); 1326 | snBcn("DOMANSKI"); 1327 | snBcn("DOMAGALA"); 1328 | snBcn("DOHSE"); 1329 | snBcn("DOERNER"); 1330 | snBcn("DOERFLER"); 1331 | snBcn("DOBLE"); 1332 | snBcn("DOBKINS"); 1333 | snBcn("DILTS"); 1334 | snBcn("DIGIULIO"); 1335 | snBcn("DIGAETANO"); 1336 | snBcn("DIETZEL"); 1337 | snBcn("DIDDLE"); 1338 | snBcn("DICKEL"); 1339 | snBcn("DEZARN"); 1340 | snBcn("DEVOY"); 1341 | snBcn("DEVOSS"); 1342 | snBcn("DEVONSHIRE"); 1343 | snBcn("DEVON"); 1344 | snBcn("DEVILLA"); 1345 | snBcn("DEVERE"); 1346 | snBcn("DETERS"); 1347 | snBcn("DESVERGNES"); 1348 | snBcn("DESHAY"); 1349 | snBcn("DESENA"); 1350 | snBcn("DEROSS"); 1351 | snBcn("DER"); 1352 | snBcn("DEPEDRO"); 1353 | snBcn("DENSLEY"); 1354 | snBcn("DEMOREST"); 1355 | snBcn("DEMORE"); 1356 | snBcn("DEMORA"); 1357 | snBcn("DEMIRJIAN"); 1358 | snBcn("DEMERCHANT"); 1359 | snBcn("DEMATTEIS"); 1360 | snBcn("DEMATEO"); 1361 | snBcn("DELGARDO"); 1362 | snBcn("DELFAVERO"); 1363 | snBcn("DELAURENTIS"); 1364 | snBcn("DELAMAR"); 1365 | snBcn("DELACY"); 1366 | snBcn("DEITRICH"); 1367 | snBcn("DEISHER"); 1368 | snBcn("DEGRACIA"); 1369 | snBcn("DEGRAAF"); 1370 | snBcn("DEFRIES"); 1371 | snBcn("DEFILIPPIS"); 1372 | snBcn("DECOURSEY"); 1373 | snBcn("DEBRUIN"); 1374 | snBcn("DEBIASI"); 1375 | snBcn("DEBAR"); 1376 | snBcn("DEARDEN"); 1377 | snBcn("DEALY"); 1378 | snBcn("DAYHOFF"); 1379 | snBcn("DAVINO"); 1380 | snBcn("DARVIN"); 1381 | snBcn("DARRISAW"); 1382 | snBcn("DARBYSHIRE"); 1383 | snBcn("DAQUINO"); 1384 | snBcn("DAPRILE"); 1385 | snBcn("DANIAL"); 1386 | snBcn("DANH"); 1387 | snBcn("DANAHY"); 1388 | snBcn("DALSANTO"); 1389 | snBcn("DALLAVALLE"); 1390 | snBcn("DAINE"); 1391 | snBcn("DAGEL"); 1392 | snBcn("DADAMO"); 1393 | snBcn("DACY"); 1394 | snBcn("DACUNHA"); 1395 | snBcn("DABADIE"); 1396 | snBcn("CZYZ"); 1397 | snBcn("CUTSINGER"); 1398 | snBcn("CURNEY"); 1399 | snBcn("CUPPERNELL"); 1400 | snBcn("CUNLIFFE"); 1401 | snBcn("CUMBY"); 1402 | snBcn("CULLOP"); 1403 | snBcn("CULLINANE"); 1404 | snBcn("CUGINI"); 1405 | snBcn("CUDMORE"); 1406 | snBcn("CUDA"); 1407 | snBcn("CUCUZZA"); 1408 | snBcn("CUCH"); 1409 | snBcn("CRUMBY"); 1410 | snBcn("CROUSER"); 1411 | snBcn("CROCK"); 1412 | snBcn("CRITTON"); 1413 | snBcn("CRITCHLEY"); 1414 | snBcn("CRISTY"); 1415 | snBcn("CREMONA"); 1416 | snBcn("CREMAR"); 1417 | snBcn("CREHAN"); 1418 | snBcn("CREARY"); 1419 | snBcn("CRASCO"); 1420 | snBcn("CRALL"); 1421 | snBcn("CRABBE"); 1422 | snBcn("COZZOLINO"); 1423 | snBcn("COZIER"); 1424 | snBcn("COYNER"); 1425 | snBcn("COUVILLIER"); 1426 | snBcn("COUNTERMAN"); 1427 | snBcn("COULTHARD"); 1428 | snBcn("COUDRIET"); 1429 | snBcn("COTTOM"); 1430 | snBcn("CORZO"); 1431 | snBcn("CORNUTT"); 1432 | snBcn("CORKRAN"); 1433 | snBcn("CORDS"); 1434 | snBcn("CORDA"); 1435 | snBcn("COPELIN"); 1436 | snBcn("COONAN"); 1437 | snBcn("CONSOLO"); 1438 | snBcn("CONROW"); 1439 | snBcn("CONRAN"); 1440 | snBcn("CONNERTON"); 1441 | snBcn("CONKWRIGHT"); 1442 | snBcn("CONDREN"); 1443 | snBcn("COMP"); 1444 | snBcn("COMLY"); 1445 | snBcn("COMISKY"); 1446 | snBcn("COLLI"); 1447 | snBcn("COLLET"); 1448 | snBcn("COLELLO"); 1449 | snBcn("COLBECK"); 1450 | snBcn("COLARUSSO"); 1451 | snBcn("COINER"); 1452 | snBcn("COHRON"); 1453 | snBcn("CODERE"); 1454 | snBcn("COCKS"); 1455 | snBcn("COBIA"); 1456 | snBcn("CLY"); 1457 | snBcn("CLUSTER"); 1458 | snBcn("CLURE"); 1459 | snBcn("CLOWSER"); 1460 | snBcn("CLOVIS"); 1461 | snBcn("CLINGENPEEL"); 1462 | snBcn("CLENNEY"); 1463 | snBcn("CLENDANIEL"); 1464 | snBcn("CLEMENSON"); 1465 | snBcn("CLEERE"); 1466 | snBcn("CLECKLER"); 1467 | snBcn("CLAYBAUGH"); 1468 | snBcn("CLASON"); 1469 | snBcn("CIRULLO"); 1470 | snBcn("CIRAULO"); 1471 | snBcn("CIOLEK"); 1472 | snBcn("CIAMPI"); 1473 | snBcn("CHRISTOPHERSE"); 1474 | snBcn("CHRISTOPHE"); 1475 | snBcn("CHOVANEC"); 1476 | snBcn("CHOPRA"); 1477 | snBcn("CHOL"); 1478 | snBcn("CHIEM"); 1479 | snBcn("CHESTNUTT"); 1480 | snBcn("CHESTERMAN"); 1481 | snBcn("CHERNOFF"); 1482 | snBcn("CHERMAK"); 1483 | snBcn("CHELETTE"); 1484 | snBcn("CHECKETTS"); 1485 | snBcn("CHARPIA"); 1486 | snBcn("CHARO"); 1487 | snBcn("CHARGOIS"); 1488 | snBcn("CHAMPMAN"); 1489 | snBcn("CHALLENDER"); 1490 | snBcn("CHAFINS"); 1491 | snBcn("CERRUTO"); 1492 | snBcn("CELI"); 1493 | snBcn("CEA"); 1494 | snBcn("CAZENAVE"); 1495 | snBcn("CAY"); 1496 | snBcn("CAVALUZZI"); 1497 | snBcn("CAUTHON"); 1498 | snBcn("CAUDY"); 1499 | snBcn("CATINO"); 1500 | snBcn("CATERINA"); 1501 | snBcn("CATANO"); 1502 | snBcn("CASTELL"); 1503 | snBcn("CASSARO"); 1504 | snBcn("CASSARINO"); 1505 | snBcn("CARRANO"); 1506 | snBcn("CAROZZA"); 1507 | snBcn("CAROW"); 1508 | snBcn("CARMICKLE"); 1509 | snBcn("CARLYON"); 1510 | snBcn("CARLEW"); 1511 | snBcn("CARDENA"); 1512 | snBcn("CAPUTI"); 1513 | snBcn("CAPLEY"); 1514 | snBcn("CAPALBO"); 1515 | snBcn("CANSECO"); 1516 | snBcn("CANDELLA"); 1517 | snBcn("CANAL"); 1518 | snBcn("CAMPTON"); 1519 | snBcn("CAMPOSANO"); 1520 | snBcn("CALLEROS"); 1521 | snBcn("CALLEJA"); 1522 | snBcn("CALLEGARI"); 1523 | snBcn("CALICA"); 1524 | snBcn("CALARCO"); 1525 | snBcn("CALAIS"); 1526 | snBcn("CAILLIER"); 1527 | snBcn("CAHUE"); 1528 | snBcn("CADENHEAD"); 1529 | snBcn("CADENAS"); 1530 | snBcn("CABERA"); 1531 | snBcn("BUZZO"); 1532 | snBcn("BUSTO"); 1533 | snBcn("BUSSMANN"); 1534 | snBcn("BUSENBARK"); 1535 | snBcn("BURZYNSKI"); 1536 | snBcn("BURSLEY"); 1537 | snBcn("BURSELL"); 1538 | snBcn("BURLE"); 1539 | snBcn("BURKLEO"); 1540 | snBcn("BURKETTE"); 1541 | snBcn("BURCZYK"); 1542 | snBcn("BUMSTEAD"); 1543 | snBcn("BULLETT"); 1544 | snBcn("BUIKEMA"); 1545 | snBcn("BUENAVENTURA"); 1546 | snBcn("BUEGE"); 1547 | snBcn("BUECHEL"); 1548 | snBcn("BUDREAU"); 1549 | snBcn("BUDHRAM"); 1550 | snBcn("BUCKNAM"); 1551 | snBcn("BRYE"); 1552 | snBcn("BRUSHWOOD"); 1553 | snBcn("BRUMBALOW"); 1554 | snBcn("BRULOTTE"); 1555 | snBcn("BRUINGTON"); 1556 | snBcn("BRUDERER"); 1557 | snBcn("BROWNS"); 1558 | snBcn("BROUGHER"); 1559 | snBcn("BROMFIELD"); 1560 | snBcn("BROEGE"); 1561 | snBcn("BRODHEAD"); 1562 | snBcn("BROCKLESBY"); 1563 | snBcn("BROADIE"); 1564 | snBcn("BRIZUELA"); 1565 | snBcn("BRITZ"); 1566 | snBcn("BRISENDINE"); 1567 | snBcn("BRILLA"); 1568 | snBcn("BRIGGEMAN"); 1569 | snBcn("BRIERTON"); 1570 | snBcn("BRIDGEFORD"); 1571 | snBcn("BREYFOGLE"); 1572 | snBcn("BREVIG"); 1573 | snBcn("BREUNINGER"); 1574 | snBcn("BRESSE"); 1575 | snBcn("BRESETTE"); 1576 | snBcn("BRELSFORD"); 1577 | snBcn("BREITBACH"); 1578 | snBcn("BREAD"); 1579 | snBcn("BRAYLEY"); 1580 | snBcn("BRAUND"); 1581 | snBcn("BRANSCOM"); 1582 | snBcn("BRANDO"); 1583 | snBcn("BRANDNER"); 1584 | snBcn("BRAHM"); 1585 | snBcn("BRABOY"); 1586 | snBcn("BRABBLE"); 1587 | snBcn("BOZMAN"); 1588 | snBcn("BOYTE"); 1589 | snBcn("BOYNES"); 1590 | snBcn("BOYKEN"); 1591 | snBcn("BOWELL"); 1592 | snBcn("BOWAN"); 1593 | snBcn("BOUTET"); 1594 | snBcn("BOUSE"); 1595 | snBcn("BOULET"); 1596 | snBcn("BOULE"); 1597 | snBcn("BOTTCHER"); 1598 | snBcn("BOSQUEZ"); 1599 | snBcn("BORRELL"); 1600 | snBcn("BORIA"); 1601 | snBcn("BORDES"); 1602 | snBcn("BORCHARD"); 1603 | snBcn("BONSON"); 1604 | snBcn("BONINO"); 1605 | snBcn("BONAS"); 1606 | snBcn("BONAMICO"); 1607 | snBcn("BOLSTAD"); 1608 | snBcn("BOLSER"); 1609 | snBcn("BOLLIS"); 1610 | snBcn("BOLICH"); 1611 | snBcn("BOLF"); 1612 | snBcn("BOKER"); 1613 | snBcn("BOILEAU"); 1614 | snBcn("BOHAC"); 1615 | snBcn("BOGUCKI"); 1616 | snBcn("BOGREN"); 1617 | snBcn("BOEGER"); 1618 | snBcn("BODZIONY"); 1619 | snBcn("BODO"); 1620 | snBcn("BODLEY"); 1621 | snBcn("BOBACK"); 1622 | snBcn("BLYTHER"); 1623 | snBcn("BLIGHT"); 1624 | snBcn("BLENKER"); 1625 | snBcn("BLAZINA"); 1626 | snBcn("BLASE"); 1627 | snBcn("BLAMER"); 1628 | snBcn("BLACKNALL"); 1629 | snBcn("BLACKMOND"); 1630 | snBcn("BITZ"); 1631 | snBcn("BISER"); 1632 | snBcn("BISCARDI"); 1633 | snBcn("BINZ"); 1634 | snBcn("BILTON"); 1635 | snBcn("BILLOTTE"); 1636 | snBcn("BILLAFUERTE"); 1637 | snBcn("BIGFORD"); 1638 | snBcn("BIEGLER"); 1639 | snBcn("BIBBER"); 1640 | snBcn("BHANDARI"); 1641 | snBcn("BEYERSDORF"); 1642 | snBcn("BEVELLE"); 1643 | snBcn("BETTENDORF"); 1644 | snBcn("BESSARD"); 1645 | snBcn("BERTSCHE"); 1646 | snBcn("BERNE"); 1647 | snBcn("BERLINGER"); 1648 | snBcn("BERISH"); 1649 | snBcn("BERANEK"); 1650 | snBcn("BENTSON"); 1651 | snBcn("BENTSEN"); 1652 | snBcn("BENSKIN"); 1653 | snBcn("BENOY"); 1654 | snBcn("BENOIST"); 1655 | snBcn("BENITZ"); 1656 | snBcn("BELONGIA"); 1657 | snBcn("BELMORE"); 1658 | snBcn("BELKA"); 1659 | snBcn("BELEN"); 1660 | snBcn("BEITZEL"); 1661 | snBcn("BEITER"); 1662 | snBcn("BEITEL"); 1663 | snBcn("BEHRNS"); 1664 | snBcn("BECKWORTH"); 1665 | snBcn("BECKA"); 1666 | snBcn("BEAUDION"); 1667 | snBcn("BEARY"); 1668 | snBcn("BEARE"); 1669 | snBcn("BEAMES"); 1670 | snBcn("BEABOUT"); 1671 | snBcn("BEABER"); 1672 | snBcn("BAZZANO"); 1673 | snBcn("BAZINET"); 1674 | snBcn("BAUCUM"); 1675 | snBcn("BATREZ"); 1676 | snBcn("BASWELL"); 1677 | snBcn("BASTOS"); 1678 | snBcn("BASCOMB"); 1679 | snBcn("BARTHA"); 1680 | snBcn("BARSTAD"); 1681 | snBcn("BARRILLEAUX"); 1682 | snBcn("BARRETTO"); 1683 | snBcn("BARRESI"); 1684 | snBcn("BARONA"); 1685 | snBcn("BARKHURST"); 1686 | snBcn("BARKE"); 1687 | snBcn("BARDALES"); 1688 | snBcn("BARCZAK"); 1689 | snBcn("BARCA"); 1690 | snBcn("BARASH"); 1691 | snBcn("BANFILL"); 1692 | snBcn("BAMBINO"); 1693 | snBcn("BALONEK"); 1694 | snBcn("BALMES"); 1695 | snBcn("BALLON"); 1696 | snBcn("BALKO"); 1697 | snBcn("BALESTRIERI"); 1698 | snBcn("BALDINO"); 1699 | snBcn("BALDELLI"); 1700 | snBcn("BAKEN"); 1701 | snBcn("BAIZA"); 1702 | snBcn("BAHNER"); 1703 | snBcn("BAEK"); 1704 | snBcn("BADOUR"); 1705 | snBcn("BADMAN"); 1706 | snBcn("BADLEY"); 1707 | snBcn("BADIA"); 1708 | snBcn("BACKMON"); 1709 | snBcn("BACICH"); 1710 | snBcn("BACCA"); 1711 | snBcn("AYSCUE"); 1712 | snBcn("AYO"); 1713 | snBcn("AYNES"); 1714 | snBcn("AUSTEN"); 1715 | snBcn("AUSIELLO"); 1716 | snBcn("AURINGER"); 1717 | snBcn("AUILES"); 1718 | snBcn("ASPINWALL"); 1719 | snBcn("ASKWITH"); 1720 | snBcn("ARTIGA"); 1721 | snBcn("ARROLIGA"); 1722 | snBcn("ARNS"); 1723 | snBcn("ARMAN"); 1724 | snBcn("ARELLANES"); 1725 | snBcn("ARACENA"); 1726 | snBcn("ANTWINE"); 1727 | snBcn("ANTUNA"); 1728 | snBcn("ANSELMI"); 1729 | snBcn("ANSEL"); 1730 | snBcn("ANNEN"); 1731 | snBcn("ANGELINO"); 1732 | snBcn("ANGELI"); 1733 | snBcn("ANGAROLA"); 1734 | snBcn("ANDRAE"); 1735 | snBcn("AMPARO"); 1736 | snBcn("AMODIO"); 1737 | snBcn("AMIE"); 1738 | snBcn("AMEEN"); 1739 | snBcn("ALWINE"); 1740 | snBcn("ALVERIO"); 1741 | snBcn("ALTRO"); 1742 | snBcn("ALTOBELLO"); 1743 | snBcn("ALTEMUS"); 1744 | snBcn("ALQUICIRA"); 1745 | snBcn("ALLY"); 1746 | snBcn("ALLPHIN"); 1747 | snBcn("ALLEMAND"); 1748 | snBcn("ALLAM"); 1749 | snBcn("ALESSIO"); 1750 | snBcn("AKPAN"); 1751 | snBcn("AKERMAN"); 1752 | snBcn("AIONA"); 1753 | snBcn("AIKMAN"); 1754 | snBcn("AGYEMAN"); 1755 | snBcn("AGREDANO"); 1756 | snBcn("ADAMIK"); 1757 | snBcn("ADAMCZAK"); 1758 | snBcn("ACREY"); 1759 | snBcn("ACHILLES"); 1760 | snBcn("ACEVADO"); 1761 | snBcn("ABU"); 1762 | snBcn("ABREO"); 1763 | snBcn("ABRAHAMSEN"); 1764 | snBcn("ABILD"); 1765 | snBcn("ZWICKER"); 1766 | snBcn("ZWEIG"); 1767 | snBcn("ZUVICH"); 1768 | snBcn("ZUMPANO"); 1769 | snBcn("ZULUAGA"); 1770 | snBcn("ZUBEK"); 1771 | snBcn("ZORNES"); 1772 | snBcn("ZOGLMANN"); 1773 | snBcn("ZIMINSKI"); 1774 | snBcn("ZIMBELMAN"); 1775 | snBcn("ZHANEL"); 1776 | snBcn("ZENOR"); 1777 | snBcn("ZECHMAN"); 1778 | snBcn("ZAUNER"); 1779 | snBcn("ZAMARRON"); 1780 | snBcn("ZAFFINO"); 1781 | snBcn("YUSUF"); 1782 | snBcn("YTUARTE"); 1783 | snBcn("YOKE"); 1784 | snBcn("YETT"); 1785 | snBcn("YERKOVICH"); 1786 | snBcn("YELDER"); 1787 | snBcn("YAW"); 1788 | snBcn("YASUDA"); 1789 | snBcn("YAPP"); 1790 | snBcn("YANKEE"); 1791 | snBcn("YADEN"); 1792 | snBcn("YACKLEY"); 1793 | snBcn("YACCARINO"); 1794 | snBcn("XIA"); 1795 | snBcn("WYTCH"); 1796 | snBcn("WYRE"); 1797 | snBcn("WUSSOW"); 1798 | snBcn("WORTHING"); 1799 | snBcn("WORMWOOD"); 1800 | snBcn("WORMACK"); 1801 | snBcn("WORLDS"); 1802 | snBcn("WORDSWORTH"); 1803 | snBcn("WORDELL"); 1804 | snBcn("WOODROOF"); 1805 | snBcn("WOODINGTON"); 1806 | snBcn("WOODHAMS"); 1807 | snBcn("WOODDELL"); 1808 | snBcn("WOLLNER"); 1809 | snBcn("WOJTKOWSKI"); 1810 | snBcn("WOJCICKI"); 1811 | snBcn("WOGAN"); 1812 | snBcn("WLODARCZYK"); 1813 | snBcn("WIXTED"); 1814 | snBcn("WITHINGTON"); 1815 | snBcn("WITHEM"); 1816 | snBcn("WISLER"); 1817 | snBcn("WIRICK"); 1818 | snBcn("WINTERHALTER"); 1819 | snBcn("WINSKI"); 1820 | snBcn("WINNE"); 1821 | snBcn("WINEMILLER"); 1822 | snBcn("WIMETT"); 1823 | snBcn("WILTFONG"); 1824 | snBcn("WILLIBRAND"); 1825 | snBcn("WILLES"); 1826 | snBcn("WILKOS"); 1827 | snBcn("WILBON"); 1828 | snBcn("WIKTOR"); 1829 | snBcn("WIGGERS"); 1830 | snBcn("WIGG"); 1831 | snBcn("WIEGMANN"); 1832 | snBcn("WICKLIFF"); 1833 | snBcn("WIBERG"); 1834 | snBcn("WHITTLER"); 1835 | snBcn("WHITTENTON"); 1836 | snBcn("WHITLING"); 1837 | snBcn("WHITLEDGE"); 1838 | snBcn("WHITHERSPOON"); 1839 | snBcn("WHITERS"); 1840 | snBcn("WHITECOTTON"); 1841 | snBcn("WHITEBIRD"); 1842 | snBcn("WHEARY"); 1843 | snBcn("WETHERILL"); 1844 | snBcn("WESTMARK"); 1845 | snBcn("WESTABY"); 1846 | snBcn("WERTENBERGER"); 1847 | snBcn("WENTLAND"); 1848 | snBcn("WENSTROM"); 1849 | snBcn("WENKER"); 1850 | snBcn("WELLEN"); 1851 | snBcn("WEIER"); 1852 | snBcn("WEGLEITNER"); 1853 | snBcn("WEDEKIND"); 1854 | snBcn("WAWERS"); 1855 | snBcn("WASSEL"); 1856 | snBcn("WAREHIME"); 1857 | snBcn("WANK"); 1858 | snBcn("WANDERSEE"); 1859 | snBcn("WALTMON"); 1860 | snBcn("WALTERSHEID"); 1861 | snBcn("WALBRIDGE"); 1862 | snBcn("WAKELY"); 1863 | snBcn("WAKEHAM"); 1864 | snBcn("WAJDA"); 1865 | snBcn("WAITHE"); 1866 | snBcn("WAIDELICH"); 1867 | snBcn("WAHLER"); 1868 | snBcn("WAHINGTON"); 1869 | snBcn("WAGSTER"); 1870 | snBcn("WADEL"); 1871 | snBcn("VUYOVICH"); 1872 | snBcn("VUOLO"); 1873 | snBcn("VULICH"); 1874 | snBcn("VUKOVICH"); 1875 | snBcn("VOLMER"); 1876 | snBcn("VOLLRATH"); 1877 | snBcn("VOLLBRECHT"); 1878 | snBcn("VOGELGESANG"); 1879 | snBcn("VOELLER"); 1880 | snBcn("VLACH"); 1881 | snBcn("VIVAR"); 1882 | snBcn("VITULLO"); 1883 | snBcn("VITANZA"); 1884 | snBcn("VISKER"); 1885 | snBcn("VISALLI"); 1886 | snBcn("VIRAY"); 1887 | snBcn("VINNING"); 1888 | snBcn("VINIARD"); 1889 | snBcn("VILLAPANDO"); 1890 | snBcn("VILLAMAN"); 1891 | snBcn("VIER"); 1892 | snBcn("VIAR"); 1893 | snBcn("VIALL"); 1894 | snBcn("VERSTRAETE"); 1895 | snBcn("VERMILYA"); 1896 | snBcn("VERDON"); 1897 | snBcn("VENN"); 1898 | snBcn("VELTEN"); 1899 | snBcn("VELIS"); 1900 | snBcn("VASEY"); 1901 | snBcn("VANOVEN"); 1902 | snBcn("VANORDER"); 1903 | snBcn("VANLUE"); 1904 | snBcn("VANHEEL"); 1905 | snBcn("VANDERWOUDE"); 1906 | snBcn("VANDERHEIDE"); 1907 | snBcn("VANDENHEUVEL"); 1908 | snBcn("VANDENBOS"); 1909 | snBcn("VANDEBERG"); 1910 | snBcn("VANDAL"); 1911 | snBcn("VANBLARCOM"); 1912 | snBcn("VANAKEN"); 1913 | snBcn("VANACKER"); 1914 | snBcn("VALLIAN"); 1915 | snBcn("VALINE"); 1916 | snBcn("VALENT"); 1917 | snBcn("VAINE"); 1918 | snBcn("VAILE"); 1919 | snBcn("VADNER"); 1920 | snBcn("UTTECH"); 1921 | snBcn("URIOSTE"); 1922 | snBcn("URBANIK"); 1923 | snBcn("UNRATH"); 1924 | snBcn("UNNASCH"); 1925 | snBcn("UNDERKOFLER"); 1926 | snBcn("UEHARA"); 1927 | snBcn("UDY"); 1928 | snBcn("TYRER"); 1929 | snBcn("TYBURSKI"); 1930 | snBcn("TWADDLE"); 1931 | snBcn("TURNTINE"); 1932 | snBcn("TUNIS"); 1933 | snBcn("TULLOCK"); 1934 | snBcn("TRUNK"); 1935 | snBcn("TROPP"); 1936 | snBcn("TROILO"); 1937 | snBcn("TRITSCH"); 1938 | snBcn("TRIOLA"); 1939 | snBcn("TRIGO"); 1940 | snBcn("TRIBOU"); 1941 | snBcn("TRIBLEY"); 1942 | snBcn("TRI"); 1943 | snBcn("TRETHEWEY"); 1944 | snBcn("TRESS"); 1945 | snBcn("TRELA"); 1946 | snBcn("TREHARNE"); 1947 | snBcn("TREFETHEN"); 1948 | snBcn("TRAYLER"); 1949 | snBcn("TRAX"); 1950 | snBcn("TRAUT"); 1951 | snBcn("TRANG"); 1952 | snBcn("TRANEL"); 1953 | snBcn("TRAGER"); 1954 | snBcn("TRACZYK"); 1955 | snBcn("TOWSLEY"); 1956 | snBcn("TORRECILLAS"); 1957 | snBcn("TORNATORE"); 1958 | snBcn("TORK"); 1959 | snBcn("TORIVIO"); 1960 | snBcn("TORIELLO"); 1961 | snBcn("TOOLES"); 1962 | snBcn("TOODLE"); 1963 | snBcn("TOMME"); 1964 | snBcn("TOLOSA"); 1965 | snBcn("TOLEN"); 1966 | snBcn("TOCA"); 1967 | snBcn("TITTERINGTON"); 1968 | snBcn("TIPSWORD"); 1969 | snBcn("TINKLENBERG"); 1970 | snBcn("TIM"); 1971 | snBcn("TIGNEY"); 1972 | snBcn("TIGERT"); 1973 | snBcn("THYGERSON"); 1974 | snBcn("THURN"); 1975 | snBcn("THUR"); 1976 | snBcn("THREATS"); 1977 | snBcn("THORSTAD"); 1978 | snBcn("THORNBERG"); 1979 | snBcn("THORESEN"); 1980 | snBcn("THOMASTON"); 1981 | snBcn("THOLEN"); 1982 | snBcn("THICKE"); 1983 | snBcn("THEILER"); 1984 | snBcn("THEBEAU"); 1985 | snBcn("THEAUX"); 1986 | snBcn("THAKER"); 1987 | snBcn("TEWANI"); 1988 | snBcn("TEUFEL"); 1989 | snBcn("TETLEY"); 1990 | snBcn("TERREBONNE"); 1991 | snBcn("TERRANO"); 1992 | snBcn("TERPENING"); 1993 | snBcn("TELLY"); 1994 | snBcn("TELA"); 1995 | snBcn("TEIG"); 1996 | snBcn("TEICHERT"); 1997 | snBcn("TEGETHOFF"); 1998 | snBcn("TEELE"); 1999 | snBcn("TATAR"); 2000 | snBcn("TASHJIAN"); 2001 | snBcn("TARTE"); 2002 | snBcn("TANTON"); 2003 | snBcn("TANIMOTO"); 2004 | snBcn("TAMIMI"); 2005 | snBcn("TAMAS"); 2006 | snBcn("TALMAN"); 2007 | snBcn("TAAL"); 2008 | snBcn("SZYDLOWSKI"); 2009 | snBcn("SZOSTAK"); 2010 | snBcn("SWOYER"); 2011 | snBcn("SWERDLOW"); 2012 | snBcn("SWEEDEN"); 2013 | snBcn("SWEDA"); 2014 | snBcn("SWANKE"); 2015 | snBcn("SWANDER"); 2016 | snBcn("SWACKHAMMER"); 2017 | snBcn("SUYAMA"); 2018 | snBcn("SURIANO"); 2019 | snBcn("SURI"); 2020 | snBcn("SURDAM"); 2021 | snBcn("SUPRENANT"); 2022 | snBcn("SUNDET"); 2023 | snBcn("SUMMERTON"); 2024 | snBcn("SULT"); 2025 | snBcn("SULEIMAN"); 2026 | snBcn("SUFFRIDGE"); 2027 | snBcn("SUBY"); 2028 | snBcn("STYCH"); 2029 | snBcn("STUDENY"); 2030 | snBcn("STUBBINS"); 2031 | snBcn("STRUPP"); 2032 | snBcn("STRUCKMAN"); 2033 | snBcn("STRIEF"); 2034 | snBcn("STRICTLAND"); 2035 | snBcn("STREMCHA"); 2036 | snBcn("STREHL"); 2037 | snBcn("STRAMEL"); 2038 | snBcn("STOY"); 2039 | snBcn("STOUTAMIRE"); 2040 | snBcn("STOROZUK"); 2041 | snBcn("STORDAHL"); 2042 | snBcn("STOPHER"); 2043 | snBcn("STOLLEY"); 2044 | snBcn("STOLFI"); 2045 | snBcn("STOEGER"); 2046 | snBcn("STOCKHAUSEN"); 2047 | snBcn("STJULIAN"); 2048 | snBcn("STIVANSON"); 2049 | snBcn("STINTON"); 2050 | snBcn("STINCHFIELD"); 2051 | snBcn("STIGLER"); 2052 | snBcn("STIEGLITZ"); 2053 | snBcn("STGERMAINE"); 2054 | snBcn("STEUER"); 2055 | snBcn("STEUBER"); 2056 | snBcn("STEUART"); 2057 | snBcn("STEPTER"); 2058 | snBcn("STEPNOWSKI"); 2059 | snBcn("STEPANIAN"); 2060 | snBcn("STEIMER"); 2061 | snBcn("STEFANELLI"); 2062 | snBcn("STEBNER"); 2063 | snBcn("STEARS"); 2064 | snBcn("STEANS"); 2065 | snBcn("STAYNER"); 2066 | snBcn("STAUBIN"); 2067 | snBcn("STATZ"); 2068 | snBcn("STASIK"); 2069 | snBcn("STARN"); 2070 | snBcn("STARMER"); 2071 | snBcn("STARGEL"); 2072 | snBcn("STANZIONE"); 2073 | snBcn("STANKOVICH"); 2074 | snBcn("STAN"); 2075 | snBcn("STAMOUR"); 2076 | snBcn("STAIB"); 2077 | snBcn("STADELMAN"); 2078 | snBcn("STADEL"); 2079 | snBcn("STACHURA"); 2080 | snBcn("SQUADRITO"); 2081 | snBcn("SPRINKLES"); 2082 | snBcn("SPRINGSTEAD"); 2083 | snBcn("SPRAGG"); 2084 | snBcn("SPIGELMYER"); 2085 | snBcn("SPIELER"); 2086 | snBcn("SPIELBERG"); 2087 | snBcn("SPAUR"); 2088 | snBcn("SOVOCOOL"); 2089 | snBcn("SOVEREIGN"); 2090 | snBcn("SOUNDARA"); 2091 | snBcn("SOULIA"); 2092 | snBcn("SOUFFRANT"); 2093 | snBcn("SOS"); 2094 | snBcn("SORCE"); 2095 | snBcn("SONKIN"); 2096 | snBcn("SODHI"); 2097 | snBcn("SOBLE"); 2098 | snBcn("SNIFFEN"); 2099 | snBcn("SMOUSE"); 2100 | snBcn("SMITTLE"); 2101 | snBcn("SMITHEE"); 2102 | snBcn("SMEDICK"); 2103 | snBcn("SMALLER"); 2104 | snBcn("SLOWINSKI"); 2105 | snBcn("SLOVACEK"); 2106 | snBcn("SLOMINSKI"); 2107 | snBcn("SLICE"); 2108 | snBcn("SKOWRONEK"); 2109 | snBcn("SKOKAN"); 2110 | snBcn("SKANES"); 2111 | snBcn("SIVERTSON"); 2112 | snBcn("SINYARD"); 2113 | snBcn("SINKA"); 2114 | snBcn("SINARD"); 2115 | snBcn("SIMONIN"); 2116 | snBcn("SIMONIAN"); 2117 | snBcn("SIMMIONS"); 2118 | snBcn("SILCOTT"); 2119 | snBcn("SILBERG"); 2120 | snBcn("SIEFKEN"); 2121 | snBcn("SIDDON"); 2122 | snBcn("SHUTTLESWORTH"); 2123 | snBcn("SHUBIN"); 2124 | snBcn("SHUBECK"); 2125 | snBcn("SHIRO"); 2126 | snBcn("SHIRAKI"); 2127 | snBcn("SHIPPER"); 2128 | snBcn("SHINA"); 2129 | snBcn("SHILT"); 2130 | snBcn("SHIKLES"); 2131 | snBcn("SHIDELER"); 2132 | snBcn("SHENTON"); 2133 | snBcn("SHELVEY"); 2134 | snBcn("SHELLITO"); 2135 | snBcn("SHELHORSE"); 2136 | snBcn("SHAWCROFT"); 2137 | snBcn("SHATTO"); 2138 | snBcn("SHANHOLTZER"); 2139 | snBcn("SHAMONSKY"); 2140 | snBcn("SHALL"); 2141 | snBcn("SHADDEN"); 2142 | snBcn("SEYMER"); 2143 | snBcn("SEYFARTH"); 2144 | snBcn("SEWER"); 2145 | snBcn("SETLOCK"); 2146 | snBcn("SERVANT"); 2147 | snBcn("SERRATOS"); 2148 | snBcn("SERR"); 2149 | snBcn("SEPULUEDA"); 2150 | snBcn("SENAY"); 2151 | snBcn("SEMMEL"); 2152 | snBcn("SEMANS"); 2153 | snBcn("SELVIG"); 2154 | snBcn("SELKIRK"); 2155 | snBcn("SELK"); 2156 | snBcn("SELIGSON"); 2157 | snBcn("SELDIN"); 2158 | snBcn("SEIPLE"); 2159 | snBcn("SEIERSEN"); 2160 | snBcn("SEIDLING"); 2161 | snBcn("SEIDENSTICKER"); 2162 | snBcn("SECKER"); 2163 | snBcn("SEARSON"); 2164 | snBcn("SCORDO"); 2165 | snBcn("SCOLLARD"); 2166 | snBcn("SCOGGAN"); 2167 | snBcn("SCOBEE"); 2168 | snBcn("SCIANDRA"); 2169 | snBcn("SCIALDONE"); 2170 | snBcn("SCHWIMMER"); 2171 | snBcn("SCHWIEGER"); 2172 | snBcn("SCHWEER"); 2173 | snBcn("SCHWANZ"); 2174 | snBcn("SCHUTZENHOFER"); 2175 | snBcn("SCHUETZE"); 2176 | snBcn("SCHRODT"); 2177 | snBcn("SCHRIEVER"); 2178 | snBcn("SCHRIBER"); 2179 | snBcn("SCHREMP"); 2180 | snBcn("SCHRECONGOST"); 2181 | snBcn("SCHRAEDER"); 2182 | snBcn("SCHONBERG"); 2183 | snBcn("SCHOLTZ"); 2184 | snBcn("SCHOLLE"); 2185 | snBcn("SCHOETTLE"); 2186 | snBcn("SCHOENEMANN"); 2187 | snBcn("SCHOENE"); 2188 | snBcn("SCHNITKER"); 2189 | snBcn("SCHMUHL"); 2190 | snBcn("SCHMITH"); 2191 | snBcn("SCHLOTTERBECK"); 2192 | snBcn("SCHLEPPENBACH"); 2193 | snBcn("SCHLEE"); 2194 | snBcn("SCHICKEL"); 2195 | snBcn("SCHIBI"); 2196 | snBcn("SCHEIN"); 2197 | snBcn("SCHEIDE"); 2198 | snBcn("SCHEIBE"); 2199 | snBcn("SCHEIB"); 2200 | snBcn("SCHAUMBERG"); 2201 | snBcn("SCHARDEIN"); 2202 | snBcn("SCHAALMA"); 2203 | snBcn("SCANTLIN"); 2204 | snBcn("SCANTLEBURY"); 2205 | snBcn("SAYLE"); 2206 | snBcn("SAUSEDO"); 2207 | snBcn("SAURER"); 2208 | snBcn("SASSONE"); 2209 | snBcn("SARRACINO"); 2210 | snBcn("SARIC"); 2211 | snBcn("SANZ"); 2212 | snBcn("SANTINO"); 2213 | snBcn("SANTARPIA"); 2214 | snBcn("SANTANO"); 2215 | snBcn("SANTANIELLO"); 2216 | snBcn("SANGHA"); 2217 | snBcn("SANDVIK"); 2218 | snBcn("SANDORAL"); 2219 | snBcn("SANDOBAL"); 2220 | snBcn("SANDERCOCK"); 2221 | snBcn("SANANTONIO"); 2222 | snBcn("SALVIEJO"); 2223 | snBcn("SALSBERRY"); 2224 | snBcn("SALOIS"); 2225 | snBcn("SALAZER"); 2226 | snBcn("SAGON"); 2227 | snBcn("SAGLIBENE"); 2228 | snBcn("SAGEL"); 2229 | snBcn("SAGAL"); 2230 | snBcn("SAETERN"); 2231 | snBcn("SAEFONG"); 2232 | snBcn("SADIQ"); 2233 | snBcn("SABORI"); 2234 | snBcn("SABALLOS"); 2235 | snBcn("RYGIEL"); 2236 | snBcn("RUSHLOW"); 2237 | snBcn("RUNCO"); 2238 | snBcn("RULLI"); 2239 | snBcn("RULLER"); 2240 | snBcn("RUFFCORN"); 2241 | snBcn("RUESS"); 2242 | snBcn("RUEBUSH"); 2243 | snBcn("RUDLONG"); 2244 | snBcn("RUDIN"); 2245 | snBcn("RUDGERS"); 2246 | snBcn("RUDESILL"); 2247 | snBcn("RUDERMAN"); 2248 | snBcn("RUCKI"); 2249 | snBcn("RUCINSKI"); 2250 | snBcn("RUBNER"); 2251 | snBcn("RUBINSON"); 2252 | snBcn("RUBIANO"); 2253 | snBcn("RUAN"); 2254 | snBcn("ROZNOWSKI"); 2255 | snBcn("ROZANSKI"); 2256 | snBcn("ROWSON"); 2257 | snBcn("ROWER"); 2258 | snBcn("ROUNSAVILLE"); 2259 | snBcn("ROUDABUSH"); 2260 | snBcn("ROTUNDO"); 2261 | snBcn("ROTHELL"); 2262 | snBcn("ROTCHFORD"); 2263 | snBcn("ROSILES"); 2264 | snBcn("ROSHAK"); 2265 | snBcn("ROSETTI"); 2266 | snBcn("ROSENKRANZ"); 2267 | snBcn("RORER"); 2268 | snBcn("ROLLYSON"); 2269 | snBcn("ROKOSZ"); 2270 | snBcn("ROJEK"); 2271 | snBcn("ROITMAN"); 2272 | snBcn("ROHRS"); 2273 | snBcn("ROGEL"); 2274 | snBcn("ROEWE"); 2275 | snBcn("RODRIGES"); 2276 | snBcn("RODOCKER"); 2277 | snBcn("RODGERSON"); 2278 | snBcn("RODAN"); 2279 | snBcn("RODAK"); 2280 | snBcn("ROCQUE"); 2281 | snBcn("ROCHHOLZ"); 2282 | snBcn("ROCHEL"); 2283 | snBcn("ROBICHEAU"); 2284 | snBcn("ROBBINSON"); 2285 | snBcn("ROADY"); 2286 | snBcn("RITCHOTTE"); 2287 | snBcn("RIPPLINGER"); 2288 | snBcn("RIPPETOE"); 2289 | snBcn("RINGSTAFF"); 2290 | snBcn("RINGENBERG"); 2291 | snBcn("RINARD"); 2292 | snBcn("RIGLER"); 2293 | snBcn("RIGHTMIRE"); 2294 | snBcn("RIESEN"); 2295 | snBcn("RIEK"); 2296 | snBcn("RIDGES"); 2297 | snBcn("RICHNER"); 2298 | snBcn("RICHBERG"); 2299 | snBcn("RIBACK"); 2300 | snBcn("RIAL"); 2301 | snBcn("RHYNER"); 2302 | snBcn("RHEES"); 2303 | snBcn("RESSE"); 2304 | snBcn("RENNO"); 2305 | snBcn("RENEE"); 2306 | snBcn("RENDLEMAN"); 2307 | snBcn("REN"); 2308 | snBcn("REISZ"); 2309 | snBcn("REISENAUER"); 2310 | snBcn("REINSCHMIDT"); 2311 | snBcn("REINS"); 2312 | snBcn("REINHOLT"); 2313 | snBcn("REINARD"); 2314 | snBcn("REIFSNYDER"); 2315 | snBcn("REHFELD"); 2316 | snBcn("REHA"); 2317 | snBcn("REGESTER"); 2318 | snBcn("REFFITT"); 2319 | snBcn("REDLER"); 2320 | snBcn("REDISKE"); 2321 | snBcn("RECKNER"); 2322 | snBcn("RECKART"); 2323 | snBcn("REBOLLOSO"); 2324 | snBcn("REBOLLAR"); 2325 | snBcn("REASONOVER"); 2326 | snBcn("REASNER"); 2327 | snBcn("REASER"); 2328 | snBcn("REANO"); 2329 | snBcn("REAGH"); 2330 | snBcn("RAVAL"); 2331 | snBcn("RATTERMAN"); 2332 | snBcn("RATIGAN"); 2333 | snBcn("RATER"); 2334 | snBcn("RASP"); 2335 | snBcn("RANESES"); 2336 | snBcn("RANDOLF"); 2337 | snBcn("RAMIL"); 2338 | snBcn("RAMDAS"); 2339 | snBcn("RAMBERG"); 2340 | snBcn("RAJANIEMI"); 2341 | snBcn("RAIL"); 2342 | snBcn("RAID"); 2343 | snBcn("RAGGIO"); 2344 | snBcn("RAGEL"); 2345 | snBcn("RAGAIN"); 2346 | snBcn("RADE"); 2347 | snBcn("RADAKER"); 2348 | snBcn("RACIOPPI"); 2349 | snBcn("RABINOVICH"); 2350 | snBcn("QUICKLE"); 2351 | snBcn("QUERTERMOUS"); 2352 | snBcn("QUEAL"); 2353 | snBcn("QUARTUCCI"); 2354 | snBcn("QUANDER"); 2355 | snBcn("QUAIN"); 2356 | snBcn("PYNES"); 2357 | snBcn("PUTZEL"); 2358 | snBcn("PURL"); 2359 | snBcn("PULIZZI"); 2360 | snBcn("PUGLIARES"); 2361 | snBcn("PRUSAK"); 2362 | snBcn("PRUETER"); 2363 | snBcn("PROTANO"); 2364 | snBcn("PROPPS"); 2365 | snBcn("PRIMACK"); 2366 | snBcn("PRIEUR"); 2367 | snBcn("PRESTA"); 2368 | snBcn("PREISTER"); 2369 | snBcn("PRAWL"); 2370 | snBcn("PRATLEY"); 2371 | snBcn("PRAIRIE"); 2372 | snBcn("POZZO"); 2373 | snBcn("POWLESS"); 2374 | snBcn("POVEY"); 2375 | snBcn("POTTORF"); 2376 | snBcn("POTE"); 2377 | snBcn("POSTLEY"); 2378 | snBcn("PORZIO"); 2379 | snBcn("PORTS"); 2380 | snBcn("PORTNEY"); 2381 | snBcn("PONZI"); 2382 | snBcn("PONTORIERO"); 2383 | snBcn("PONTO"); 2384 | snBcn("PONT"); 2385 | snBcn("PONCEDELEON"); 2386 | snBcn("POLIMENI"); 2387 | snBcn("POLHAMUS"); 2388 | snBcn("POLE"); 2389 | snBcn("POLAN"); 2390 | snBcn("POETKER"); 2391 | snBcn("POELLNITZ"); 2392 | snBcn("PODGURSKI"); 2393 | snBcn("PLOTTS"); 2394 | snBcn("PLIEGO"); 2395 | snBcn("PLAUGHER"); 2396 | snBcn("PLANTENBERG"); 2397 | snBcn("PLAIR"); 2398 | snBcn("PLAGMANN"); 2399 | snBcn("PIZZITOLA"); 2400 | snBcn("PITTINGER"); 2401 | snBcn("PITCAVAGE"); 2402 | snBcn("PISCHKE"); 2403 | snBcn("PIONTEK"); 2404 | snBcn("PINTAR"); 2405 | snBcn("PINNOW"); 2406 | snBcn("PINNEO"); 2407 | snBcn("PINLEY"); 2408 | snBcn("PINGEL"); 2409 | snBcn("PINELLO"); 2410 | snBcn("PIMENTA"); 2411 | snBcn("PILLARD"); 2412 | snBcn("PIKER"); 2413 | snBcn("PIETRAS"); 2414 | snBcn("PIERE"); 2415 | snBcn("PICASSO"); 2416 | snBcn("PHILLPS"); 2417 | snBcn("PFLEGER"); 2418 | snBcn("PFAHL"); 2419 | snBcn("PEZZUTI"); 2420 | snBcn("PETRUCCELLI"); 2421 | snBcn("PETRELLO"); 2422 | snBcn("PETEET"); 2423 | snBcn("PESCATORE"); 2424 | snBcn("PERUZZI"); 2425 | snBcn("PERUSSE"); 2426 | snBcn("PEROTTA"); 2427 | snBcn("PERONA"); 2428 | snBcn("PERINI"); 2429 | snBcn("PERETTI"); 2430 | snBcn("PERELMAN"); 2431 | snBcn("PERCIFUL"); 2432 | snBcn("PEPPIN"); 2433 | snBcn("PENNIX"); 2434 | snBcn("PENNINO"); 2435 | snBcn("PENALOSA"); 2436 | snBcn("PEMBLE"); 2437 | snBcn("PELZ"); 2438 | snBcn("PELTZER"); 2439 | snBcn("PELPHREY"); 2440 | snBcn("PELOTE"); 2441 | snBcn("PELLUM"); 2442 | snBcn("PELLECCHIA"); 2443 | snBcn("PELIKAN"); 2444 | snBcn("PEITZ"); 2445 | snBcn("PEELS"); 2446 | snBcn("PEBWORTH"); 2447 | snBcn("PEARY"); 2448 | snBcn("PAWLICKI"); 2449 | snBcn("PAVELICH"); 2450 | snBcn("PASTER"); 2451 | snBcn("PASQUARELLA"); 2452 | snBcn("PASKEY"); 2453 | snBcn("PASEUR"); 2454 | snBcn("PASCHEL"); 2455 | snBcn("PARSLOW"); 2456 | snBcn("PARROW"); 2457 | snBcn("PARROT"); 2458 | snBcn("PARLOW"); 2459 | snBcn("PARLETT"); 2460 | snBcn("PARLER"); 2461 | snBcn("PARGO"); 2462 | snBcn("PARCO"); 2463 | snBcn("PAPROCKI"); 2464 | snBcn("PANEPINTO"); 2465 | snBcn("PANEBIANCO"); 2466 | snBcn("PANDY"); 2467 | snBcn("PANDEY"); 2468 | snBcn("PAMPHILE"); 2469 | snBcn("PAMINTUAN"); 2470 | snBcn("PAMER"); 2471 | snBcn("PALUSO"); 2472 | snBcn("PALEO"); 2473 | snBcn("PAKER"); 2474 | snBcn("PAGETT"); 2475 | snBcn("PACZKOWSKI"); 2476 | snBcn("OZBURN"); 2477 | snBcn("OVINGTON"); 2478 | snBcn("OVERMEYER"); 2479 | snBcn("OUELLET"); 2480 | snBcn("OSTERLUND"); 2481 | snBcn("OSLIN"); 2482 | snBcn("OSEGUERA"); 2483 | snBcn("OSAKI"); 2484 | snBcn("ORROCK"); 2485 | snBcn("ORMSBEE"); 2486 | snBcn("ORLIKOWSKI"); 2487 | snBcn("ORGANISTA"); 2488 | snBcn("OREGAN"); 2489 | snBcn("OREBAUGH"); 2490 | snBcn("ORABUENA"); 2491 | snBcn("OPENSHAW"); 2492 | snBcn("ONTIVEROZ"); 2493 | snBcn("ONDO"); 2494 | snBcn("OMOHUNDRO"); 2495 | snBcn("OLLOM"); 2496 | snBcn("OLLIVIERRE"); 2497 | snBcn("OLIVENCIA"); 2498 | snBcn("OLEY"); 2499 | snBcn("OLAZABAL"); 2500 | snBcn("OKINO"); 2501 | snBcn("OKI"); 2502 | snBcn("OFFENBERGER"); 2503 | snBcn("OESTMANN"); 2504 | snBcn("OCKER"); 2505 | snBcn("OBAR"); 2506 | snBcn("OAKESON"); 2507 | snBcn("NUZUM"); 2508 | snBcn("NURRE"); 2509 | snBcn("NOWINSKI"); 2510 | snBcn("NOVOSEL"); 2511 | snBcn("NORQUIST"); 2512 | snBcn("NORDLIE"); 2513 | snBcn("NOORANI"); 2514 | snBcn("NONNEMACHER"); 2515 | snBcn("NOLDER"); 2516 | snBcn("NJOKU"); 2517 | snBcn("NIZNIK"); 2518 | snBcn("NIWA"); 2519 | snBcn("NISS"); 2520 | snBcn("NINNEMAN"); 2521 | snBcn("NINER"); 2522 | snBcn("NIMTZ"); 2523 | snBcn("NIEMCZYK"); 2524 | snBcn("NIEDER"); 2525 | snBcn("NICOLO"); 2526 | snBcn("NICHLOS"); 2527 | snBcn("NIBLACK"); 2528 | snBcn("NEWYEAR"); 2529 | snBcn("NEWTOWN"); 2530 | snBcn("NEWILL"); 2531 | snBcn("NEWCOM"); 2532 | snBcn("NEVERSON"); 2533 | snBcn("NEUHART"); 2534 | snBcn("NEUENSCHWANDE"); 2535 | snBcn("NESTLER"); 2536 | snBcn("NENNO"); 2537 | snBcn("NEJMAN"); 2538 | snBcn("NEIFFER"); 2539 | snBcn("NEIDLINGER"); 2540 | snBcn("NEGLIA"); 2541 | snBcn("NEEDS"); 2542 | snBcn("NEARING"); 2543 | snBcn("NAZARIAN"); 2544 | snBcn("NAVOR"); 2545 | snBcn("NARY"); 2546 | snBcn("NARAYAN"); 2547 | snBcn("NANGLE"); 2548 | snBcn("NAKAMA"); 2549 | snBcn("NAISH"); 2550 | snBcn("NAIK"); 2551 | snBcn("NADOLSKI"); 2552 | snBcn("MUSCATO"); 2553 | snBcn("MURPHREY"); 2554 | snBcn("MURDICK"); 2555 | snBcn("MURCHIE"); 2556 | snBcn("MURATALLA"); 2557 | snBcn("MUNNIS"); 2558 | snBcn("MUNDWILLER"); 2559 | snBcn("MUNCEY"); 2560 | snBcn("MUNCE"); 2561 | snBcn("MULLENBACH"); 2562 | snBcn("MULHEARN"); 2563 | snBcn("MULCAHEY"); 2564 | snBcn("MUHAMMED"); 2565 | snBcn("MUCHOW"); 2566 | snBcn("MOUNTFORD"); 2567 | snBcn("MOUDRY"); 2568 | snBcn("MOSKO"); 2569 | snBcn("MORVAY"); 2570 | snBcn("MORRICAL"); 2571 | snBcn("MORR"); 2572 | snBcn("MOROS"); 2573 | snBcn("MORMANN"); 2574 | snBcn("MORGEN"); 2575 | snBcn("MOREDOCK"); 2576 | snBcn("MORDEN"); 2577 | snBcn("MORDARSKI"); 2578 | snBcn("MORAVEK"); 2579 | snBcn("MORANDI"); 2580 | snBcn("MORALE"); 2581 | snBcn("MOORADIAN"); 2582 | snBcn("MONTEJO"); 2583 | snBcn("MONTEGUT"); 2584 | snBcn("MONTAN"); 2585 | snBcn("MONSANTO"); 2586 | snBcn("MONFORD"); 2587 | snBcn("MONCUS"); 2588 | snBcn("MOLINAS"); 2589 | snBcn("MOLEK"); 2590 | snBcn("MOHD"); 2591 | snBcn("MOEHRLE"); 2592 | snBcn("MOEHRING"); 2593 | snBcn("MODZELESKI"); 2594 | snBcn("MODEL"); 2595 | snBcn("MODAFFERI"); 2596 | snBcn("MOALA"); 2597 | snBcn("MOAKE"); 2598 | snBcn("MIYAHIRA"); 2599 | snBcn("MITANI"); 2600 | snBcn("MISCHEL"); 2601 | snBcn("MINGES"); 2602 | snBcn("MINELLA"); 2603 | snBcn("MIMES"); 2604 | snBcn("MILLES"); 2605 | snBcn("MILBRETT"); 2606 | snBcn("MILANES"); 2607 | snBcn("MIKOLAJCZYK"); 2608 | snBcn("MIKAMI"); 2609 | snBcn("MEUCCI"); 2610 | snBcn("METLER"); 2611 | snBcn("METHVEN"); 2612 | snBcn("METGE"); 2613 | snBcn("MESSMORE"); 2614 | snBcn("MESSERSCHMIDT"); 2615 | snBcn("MESROBIAN"); 2616 | snBcn("MESERVEY"); 2617 | snBcn("MERSEAL"); 2618 | snBcn("MENOR"); 2619 | snBcn("MENON"); 2620 | snBcn("MENEAR"); 2621 | snBcn("MELOTT"); 2622 | snBcn("MELLEY"); 2623 | snBcn("MELFI"); 2624 | snBcn("MEINHART"); 2625 | snBcn("MEGIVERN"); 2626 | snBcn("MEGEATH"); 2627 | snBcn("MEESTER"); 2628 | snBcn("MEELER"); 2629 | snBcn("MEEGAN"); 2630 | snBcn("MEDOFF"); 2631 | snBcn("MEDLER"); 2632 | snBcn("MECKLEY"); 2633 | snBcn("MEATH"); 2634 | snBcn("MEARNS"); 2635 | snBcn("MCQUIGG"); 2636 | snBcn("MCPADDEN"); 2637 | snBcn("MCLURE"); 2638 | snBcn("MCKELLIPS"); 2639 | snBcn("MCKEITHEN"); 2640 | snBcn("MCGLATHERY"); 2641 | snBcn("MCGINNES"); 2642 | snBcn("MCGHAN"); 2643 | snBcn("MCDONEL"); 2644 | snBcn("MCCULLOM"); 2645 | snBcn("MCCRAKEN"); 2646 | snBcn("MCCRACKIN"); 2647 | snBcn("MCCONATHY"); 2648 | snBcn("MCCLOE"); 2649 | snBcn("MCCLAUGHRY"); 2650 | snBcn("MCCLAFLIN"); 2651 | snBcn("MCCARREN"); 2652 | snBcn("MCCAIG"); 2653 | snBcn("MCAULAY"); 2654 | snBcn("MCAFFEE"); 2655 | snBcn("MAZZUCA"); 2656 | snBcn("MAYTUBBY"); 2657 | snBcn("MAYNER"); 2658 | snBcn("MAYMI"); 2659 | snBcn("MATTIELLO"); 2660 | snBcn("MATTHIS"); 2661 | snBcn("MATTHEES"); 2662 | snBcn("MATTHAI"); 2663 | snBcn("MATHIASON"); 2664 | snBcn("MASTROGIOVANN"); 2665 | snBcn("MASTELLER"); 2666 | snBcn("MASHACK"); 2667 | snBcn("MARUCCI"); 2668 | snBcn("MARTORANA"); 2669 | snBcn("MARTINIZ"); 2670 | snBcn("MARTER"); 2671 | snBcn("MARTELLARO"); 2672 | snBcn("MARSTELLER"); 2673 | snBcn("MARRIS"); 2674 | snBcn("MARRARA"); 2675 | snBcn("MARONI"); 2676 | snBcn("MAROLDA"); 2677 | snBcn("MAROCCO"); 2678 | snBcn("MARITN"); 2679 | snBcn("MARGO"); 2680 | snBcn("MARESH"); 2681 | snBcn("MAREADY"); 2682 | snBcn("MARCHIONE"); 2683 | snBcn("MARBUT"); 2684 | snBcn("MARANAN"); 2685 | snBcn("MARAGNO"); 2686 | snBcn("MAPPS"); 2687 | snBcn("MANRRIQUEZ"); 2688 | snBcn("MANNY"); 2689 | snBcn("MANNIS"); 2690 | snBcn("MANNI"); 2691 | snBcn("MANGINA"); 2692 | snBcn("MANGANELLI"); 2693 | snBcn("MANCERA"); 2694 | snBcn("MAMON"); 2695 | snBcn("MALOCH"); 2696 | snBcn("MALLOZZI"); 2697 | snBcn("MALLER"); 2698 | snBcn("MAJCHRZAK"); 2699 | snBcn("MAJANO"); 2700 | snBcn("MAINELLA"); 2701 | snBcn("MAHANNA"); 2702 | snBcn("MAERTENS"); 2703 | snBcn("MADON"); 2704 | snBcn("MACUMBER"); 2705 | snBcn("MACIOCE"); 2706 | snBcn("MACHUGA"); 2707 | snBcn("MACHLIN"); 2708 | snBcn("MACHIDA"); 2709 | snBcn("MACHALA"); 2710 | snBcn("MABRA"); 2711 | snBcn("LYNNE"); 2712 | snBcn("LYBBERT"); 2713 | snBcn("LUVERT"); 2714 | snBcn("LUTTS"); 2715 | snBcn("LUTTRULL"); 2716 | snBcn("LUPEZ"); 2717 | snBcn("LUKEHART"); 2718 | snBcn("LUDEWIG"); 2719 | snBcn("LUCHSINGER"); 2720 | snBcn("LOYAL"); 2721 | snBcn("LOVECCHIO"); 2722 | snBcn("LOUISSAINT"); 2723 | snBcn("LOUGHNEY"); 2724 | snBcn("LOTTIE"); 2725 | snBcn("LOSTROH"); 2726 | snBcn("LOSE"); 2727 | snBcn("LORTON"); 2728 | snBcn("LORETTE"); 2729 | snBcn("LOPEMAN"); 2730 | snBcn("LOPARO"); 2731 | snBcn("LONGS"); 2732 | snBcn("LONER"); 2733 | snBcn("LONDO"); 2734 | snBcn("LOMBERA"); 2735 | snBcn("LOKIETEK"); 2736 | snBcn("LOIKO"); 2737 | snBcn("LOHRENZ"); 2738 | snBcn("LOHAN"); 2739 | snBcn("LOFTIES"); 2740 | snBcn("LOCKLAR"); 2741 | snBcn("LOCKABY"); 2742 | snBcn("LOBIANCO"); 2743 | snBcn("LOADER"); 2744 | snBcn("LOA"); 2745 | snBcn("LLANO"); 2746 | snBcn("LIVESEY"); 2747 | snBcn("LITSTER"); 2748 | snBcn("LITER"); 2749 | snBcn("LISKE"); 2750 | snBcn("LINSKY"); 2751 | snBcn("LINNE"); 2752 | snBcn("LINDBECK"); 2753 | snBcn("LIMES"); 2754 | snBcn("LICUDINE"); 2755 | snBcn("LEYUA"); 2756 | snBcn("LEVIE"); 2757 | snBcn("LETTERMAN"); 2758 | snBcn("LEONELLI"); 2759 | snBcn("LENZO"); 2760 | snBcn("LENZE"); 2761 | snBcn("LENTS"); 2762 | snBcn("LEITAO"); 2763 | snBcn("LEIF"); 2764 | snBcn("LEIDECKER"); 2765 | snBcn("LEIBOLD"); 2766 | snBcn("LEHNE"); 2767 | snBcn("LEGAN"); 2768 | snBcn("LEGACY"); 2769 | snBcn("LEFAVE"); 2770 | snBcn("LEEHY"); 2771 | snBcn("LEDUE"); 2772 | snBcn("LECOUNT"); 2773 | snBcn("LECEA"); 2774 | snBcn("LEADLEY"); 2775 | snBcn("LAZZARA"); 2776 | snBcn("LAZCANO"); 2777 | snBcn("LAZALDE"); 2778 | snBcn("LAYER"); 2779 | snBcn("LAVI"); 2780 | snBcn("LAVANCHA"); 2781 | snBcn("LAVAN"); 2782 | snBcn("LAV"); 2783 | snBcn("LAUDE"); 2784 | snBcn("LATU"); 2785 | snBcn("LATTY"); 2786 | snBcn("LATO"); 2787 | snBcn("LARRANAGA"); 2788 | snBcn("LAPIDUS"); 2789 | snBcn("LAPENTA"); 2790 | snBcn("LANGRIDGE"); 2791 | snBcn("LANGEVELD"); 2792 | snBcn("LANGEL"); 2793 | snBcn("LANES"); 2794 | snBcn("LANDOWSKI"); 2795 | snBcn("LANDGREN"); 2796 | snBcn("LANDFRIED"); 2797 | snBcn("LAME"); 2798 | snBcn("LAMATTINA"); 2799 | snBcn("LALLIER"); 2800 | snBcn("LAIRMORE"); 2801 | snBcn("LAHAIE"); 2802 | snBcn("LAGAZO"); 2803 | snBcn("LAGAN"); 2804 | snBcn("LAFOE"); 2805 | snBcn("LAFLUER"); 2806 | snBcn("LAFLAME"); 2807 | snBcn("LAFEVERS"); 2808 | snBcn("LADA"); 2809 | snBcn("LACOSS"); 2810 | snBcn("LACHNEY"); 2811 | snBcn("LABRECK"); 2812 | snBcn("LABRECHE"); 2813 | snBcn("LABAY"); 2814 | snBcn("LAA"); 2815 | snBcn("KWASNIK"); 2816 | snBcn("KUZYK"); 2817 | snBcn("KUTZNER"); 2818 | snBcn("KUSHNIR"); 2819 | snBcn("KUSEK"); 2820 | snBcn("KURTZMAN"); 2821 | snBcn("KURIAN"); 2822 | snBcn("KULHANEK"); 2823 | snBcn("KUKLINSKI"); 2824 | snBcn("KUH"); 2825 | snBcn("KUENY"); 2826 | snBcn("KUCZYNSKI"); 2827 | snBcn("KUBITZ"); 2828 | snBcn("KUANG"); 2829 | snBcn("KRUSCHKE"); 2830 | snBcn("KROUS"); 2831 | snBcn("KROMPEL"); 2832 | snBcn("KRITZ"); 2833 | snBcn("KRIMPLE"); 2834 | snBcn("KRIESE"); 2835 | snBcn("KRENZER"); 2836 | snBcn("KREIS"); 2837 | snBcn("KRATZKE"); 2838 | snBcn("KRANE"); 2839 | snBcn("KRAGE"); 2840 | snBcn("KRAEBEL"); 2841 | snBcn("KOZUB"); 2842 | snBcn("KOZMA"); 2843 | snBcn("KOURI"); 2844 | snBcn("KOUDELKA"); 2845 | snBcn("KOTCHER"); 2846 | snBcn("KOTAS"); 2847 | snBcn("KOSTIC"); 2848 | snBcn("KOSH"); 2849 | snBcn("KOSAR"); 2850 | snBcn("KOPKO"); 2851 | snBcn("KOPKA"); 2852 | snBcn("KOOY"); 2853 | snBcn("KONIGSBERG"); 2854 | snBcn("KONARSKI"); 2855 | snBcn("KOLMER"); 2856 | snBcn("KOHLMEYER"); 2857 | snBcn("KOBBE"); 2858 | snBcn("KNOOP"); 2859 | snBcn("KNOEDLER"); 2860 | snBcn("KNOCKE"); 2861 | snBcn("KNIPPLE"); 2862 | snBcn("KNIPPENBERG"); 2863 | snBcn("KNICKREHM"); 2864 | snBcn("KNEISEL"); 2865 | snBcn("KLUSS"); 2866 | snBcn("KLOSSNER"); 2867 | snBcn("KLIPFEL"); 2868 | snBcn("KLAWITER"); 2869 | snBcn("KLASEN"); 2870 | snBcn("KITTLES"); 2871 | snBcn("KISSACK"); 2872 | snBcn("KIRTLAND"); 2873 | snBcn("KIRSCHENMANN"); 2874 | snBcn("KIRCKOF"); 2875 | snBcn("KIPHART"); 2876 | snBcn("KINSTLER"); 2877 | snBcn("KINION"); 2878 | snBcn("KILTON"); 2879 | snBcn("KILLMAN"); 2880 | snBcn("KIEHL"); 2881 | snBcn("KIEF"); 2882 | snBcn("KETT"); 2883 | snBcn("KESLING"); 2884 | snBcn("KESKE"); 2885 | snBcn("KERSTEIN"); 2886 | snBcn("KEPPLE"); 2887 | snBcn("KENEIPP"); 2888 | snBcn("KEMPSON"); 2889 | snBcn("KEMPEL"); 2890 | snBcn("KELP"); 2891 | snBcn("KEHM"); 2892 | snBcn("KEHLER"); 2893 | snBcn("KEH"); 2894 | snBcn("KEERAN"); 2895 | snBcn("KEEDY"); 2896 | snBcn("KEBERT"); 2897 | snBcn("KEAST"); 2898 | snBcn("KEARBEY"); 2899 | snBcn("KAWAGUCHI"); 2900 | snBcn("KAUPU"); 2901 | snBcn("KAUBLE"); 2902 | snBcn("KATZENBACH"); 2903 | snBcn("KATE"); 2904 | snBcn("KATCHER"); 2905 | snBcn("KARTES"); 2906 | snBcn("KARPOWICZ"); 2907 | snBcn("KARPF"); 2908 | snBcn("KAREN"); 2909 | snBcn("KARBAN"); 2910 | snBcn("KANZLER"); 2911 | snBcn("KANAREK"); 2912 | snBcn("KAMPER"); 2913 | snBcn("KAMAN"); 2914 | snBcn("KALSOW"); 2915 | snBcn("KALAFUT"); 2916 | snBcn("KAESER"); 2917 | snBcn("KAERCHER"); 2918 | snBcn("KAEO"); 2919 | snBcn("KAEDING"); 2920 | snBcn("JUREWICZ"); 2921 | snBcn("JULSON"); 2922 | snBcn("JOZWICK"); 2923 | snBcn("JOLLIE"); 2924 | snBcn("JOHNIGAN"); 2925 | snBcn("JOHLL"); 2926 | snBcn("JOCHUM"); 2927 | snBcn("JEWKES"); 2928 | snBcn("JESTES"); 2929 | snBcn("JESKA"); 2930 | snBcn("JERSEY"); 2931 | snBcn("JEREB"); 2932 | snBcn("JAYSON"); 2933 | snBcn("JAUREZ"); 2934 | snBcn("JARECKI"); 2935 | snBcn("JANSMA"); 2936 | snBcn("JANOSIK"); 2937 | snBcn("JANDRIS"); 2938 | snBcn("JAMIN"); 2939 | snBcn("JAHR"); 2940 | snBcn("JACOT"); 2941 | snBcn("JABS"); 2942 | snBcn("IVENS"); 2943 | snBcn("ITSON"); 2944 | snBcn("ISENHOWER"); 2945 | snBcn("IOVINO"); 2946 | snBcn("IONESCU"); 2947 | snBcn("INGRUM"); 2948 | snBcn("INGELS"); 2949 | snBcn("INCH"); 2950 | snBcn("IMRIE"); 2951 | snBcn("IMLAY"); 2952 | snBcn("IHLENFELD"); 2953 | snBcn("IHDE"); 2954 | snBcn("IGOU"); 2955 | snBcn("IBACH"); 2956 | snBcn("HUYETT"); 2957 | snBcn("HURRY"); 2958 | snBcn("HUPPE"); 2959 | snBcn("HULTBERG"); 2960 | snBcn("HULLIHEN"); 2961 | snBcn("HUGI"); 2962 | snBcn("HUESO"); 2963 | snBcn("HUESMAN"); 2964 | snBcn("HSIAO"); 2965 | snBcn("HRONEK"); 2966 | snBcn("HOVDE"); 2967 | snBcn("HOUSEWRIGHT"); 2968 | snBcn("HOULAHAN"); 2969 | snBcn("HOUGHAM"); 2970 | snBcn("HOUCHEN"); 2971 | snBcn("HOSTLER"); 2972 | snBcn("HOSTER"); 2973 | snBcn("HOSANG"); 2974 | snBcn("HORNIK"); 2975 | snBcn("HORNES"); 2976 | snBcn("HORIO"); 2977 | snBcn("HONYUMPTEWA"); 2978 | snBcn("HONEYMAN"); 2979 | snBcn("HONER"); 2980 | snBcn("HOMMERDING"); 2981 | snBcn("HOLSWORTH"); 2982 | snBcn("HOLLOBAUGH"); 2983 | snBcn("HOLLINSHEAD"); 2984 | snBcn("HOLLANDS"); 2985 | snBcn("HOLLAN"); 2986 | snBcn("HOLECEK"); 2987 | snBcn("HOLDORF"); 2988 | snBcn("HOKES"); 2989 | snBcn("HOGSTON"); 2990 | snBcn("HOESLY"); 2991 | snBcn("HODKINSON"); 2992 | snBcn("HODGMAN"); 2993 | snBcn("HODGENS"); 2994 | snBcn("HOCHSTEDLER"); 2995 | snBcn("HOCHHAUSER"); 2996 | snBcn("HOBBIE"); 2997 | snBcn("HOARE"); 2998 | snBcn("HNAT"); 2999 | snBcn("HISS"); 3000 | snBcn("HISKEY"); 3001 | snBcn("HIRSCHY"); 3002 | snBcn("HINOSTROZA"); 3003 | snBcn("HINK"); 3004 | snBcn("HING"); 3005 | snBcn("HILLMER"); 3006 | snBcn("HILLIAN"); 3007 | snBcn("HILLERMAN"); 3008 | snBcn("HIETALA"); 3009 | snBcn("HIERRO"); 3010 | snBcn("HICKLING"); 3011 | snBcn("HICKINGBOTTOM"); 3012 | snBcn("HEYE"); 3013 | snBcn("HEUBUSCH"); 3014 | snBcn("HESSELSCHWARD"); 3015 | snBcn("HERRIOT"); 3016 | snBcn("HERNON"); 3017 | snBcn("HERMIDA"); 3018 | snBcn("HERMANS"); 3019 | snBcn("HENTSCHEL"); 3020 | snBcn("HENNINGSON"); 3021 | snBcn("HENNEKE"); 3022 | snBcn("HENK"); 3023 | snBcn("HENINGER"); 3024 | snBcn("HELTSLEY"); 3025 | snBcn("HELMLE"); 3026 | snBcn("HELMINIAK"); 3027 | snBcn("HELMES"); 3028 | snBcn("HELLNER"); 3029 | snBcn("HELLMUTH"); 3030 | snBcn("HELKE"); 3031 | snBcn("HEITMEYER"); 3032 | snBcn("HEIRD"); 3033 | snBcn("HEINLE"); 3034 | snBcn("HEINICKE"); 3035 | snBcn("HEINANDEZ"); 3036 | snBcn("HEIMSOTH"); 3037 | snBcn("HEIMLICH"); 3038 | snBcn("HEIBEL"); 3039 | snBcn("HEGYI"); 3040 | snBcn("HEGGAN"); 3041 | snBcn("HEFEL"); 3042 | snBcn("HEERALALL"); 3043 | snBcn("HEDRINGTON"); 3044 | snBcn("HEACOX"); 3045 | snBcn("HAZLEGROVE"); 3046 | snBcn("HAZELETT"); 3047 | snBcn("HAYMORE"); 3048 | snBcn("HAVENHILL"); 3049 | snBcn("HAUTALA"); 3050 | snBcn("HASCALL"); 3051 | snBcn("HARVIE"); 3052 | snBcn("HARTRICK"); 3053 | snBcn("HARTLING"); 3054 | snBcn("HARRER"); 3055 | snBcn("HARLES"); 3056 | snBcn("HARGENRADER"); 3057 | snBcn("HANSHEW"); 3058 | snBcn("HANLY"); 3059 | snBcn("HANKLA"); 3060 | snBcn("HANISCH"); 3061 | snBcn("HANCOX"); 3062 | snBcn("HAMMANN"); 3063 | snBcn("HAMBELTON"); 3064 | snBcn("HALSETH"); 3065 | snBcn("HALLISEY"); 3066 | snBcn("HALLECK"); 3067 | snBcn("HALLAS"); 3068 | snBcn("HAISLEY"); 3069 | snBcn("HAIRR"); 3070 | snBcn("HAINEY"); 3071 | snBcn("HAINER"); 3072 | snBcn("HAILSTOCK"); 3073 | snBcn("HAERTEL"); 3074 | snBcn("GUZEK"); 3075 | snBcn("GUYETT"); 3076 | snBcn("GUSTER"); 3077 | snBcn("GUSSLER"); 3078 | snBcn("GURWITZ"); 3079 | snBcn("GURKA"); 3080 | snBcn("GUNSOLUS"); 3081 | snBcn("GUINANE"); 3082 | snBcn("GUIDEN"); 3083 | snBcn("GUGLIOTTI"); 3084 | snBcn("GUEVIN"); 3085 | snBcn("GUEVARRA"); 3086 | snBcn("GUERARD"); 3087 | snBcn("GUDAITIS"); 3088 | snBcn("GUADELOUPE"); 3089 | snBcn("GSCHWIND"); 3090 | snBcn("GRUPE"); 3091 | snBcn("GRUMBACH"); 3092 | snBcn("GRUENES"); 3093 | snBcn("GRUENBERG"); 3094 | snBcn("GROSSER"); 3095 | snBcn("GROM"); 3096 | snBcn("GRODSKI"); 3097 | snBcn("GRODEN"); 3098 | snBcn("GRIZZEL"); 3099 | snBcn("GRITTEN"); 3100 | snBcn("GRISWALD"); 3101 | snBcn("GRISHABER"); 3102 | snBcn("GRINAGE"); 3103 | snBcn("GRIMWOOD"); 3104 | snBcn("GRIMS"); 3105 | snBcn("GRIFFON"); 3106 | snBcn("GRIFFIES"); 3107 | snBcn("GRIBBEN"); 3108 | snBcn("GREW"); 3109 | snBcn("GRESSLEY"); 3110 | snBcn("GREN"); 3111 | snBcn("GREENSTREET"); 3112 | snBcn("GREALISH"); 3113 | snBcn("GRAVETT"); 3114 | snBcn("GRANTZ"); 3115 | snBcn("GRANFIELD"); 3116 | snBcn("GRANADE"); 3117 | snBcn("GOWELL"); 3118 | snBcn("GOSSOM"); 3119 | snBcn("GORSKY"); 3120 | snBcn("GORING"); 3121 | snBcn("GOODNOW"); 3122 | snBcn("GOODFRIEND"); 3123 | snBcn("GOODEMOTE"); 3124 | snBcn("GOLOB"); 3125 | snBcn("GOLLNICK"); 3126 | snBcn("GOLLADAY"); 3127 | snBcn("GOLDWYN"); 3128 | snBcn("GOLDSBORO"); 3129 | snBcn("GOLDS"); 3130 | snBcn("GOLDRICK"); 3131 | snBcn("GOHRING"); 3132 | snBcn("GOHN"); 3133 | snBcn("GOETTSCH"); 3134 | snBcn("GOERTZEN"); 3135 | snBcn("GOELZ"); 3136 | snBcn("GODINHO"); 3137 | snBcn("GOANS"); 3138 | snBcn("GLUMAC"); 3139 | snBcn("GLEISNER"); 3140 | snBcn("GLEEN"); 3141 | snBcn("GLASSNER"); 3142 | snBcn("GLANZER"); 3143 | snBcn("GLADUE"); 3144 | snBcn("GJELAJ"); 3145 | snBcn("GIVHAN"); 3146 | snBcn("GIRTY"); 3147 | snBcn("GIRONE"); 3148 | snBcn("GIRGENTI"); 3149 | snBcn("GIORGIANNI"); 3150 | snBcn("GILPATRIC"); 3151 | snBcn("GILLIHAN"); 3152 | snBcn("GILLET"); 3153 | snBcn("GILBAR"); 3154 | snBcn("GIERUT"); 3155 | snBcn("GIERHART"); 3156 | snBcn("GIBERT"); 3157 | snBcn("GIANOTTI"); 3158 | snBcn("GIANNETTO"); 3159 | snBcn("GIANELLI"); 3160 | snBcn("GIAMBANCO"); 3161 | snBcn("GHARING"); 3162 | snBcn("GEURTS"); 3163 | snBcn("GETTIS"); 3164 | snBcn("GETTEL"); 3165 | snBcn("GEST"); 3166 | snBcn("GERMANI"); 3167 | snBcn("GERDIS"); 3168 | snBcn("GERBITZ"); 3169 | snBcn("GEPPERT"); 3170 | snBcn("GENNINGS"); 3171 | snBcn("GEMMER"); 3172 | 3173 | 3174 | } 3175 | 3176 | -------------------------------------------------------------------------------- /MainUnit/about.txt: -------------------------------------------------------------------------------- 1 | So this is the code and files you need to have to program way too many ESP8266's to do beacon broadcasting. 2 | 3 | -------------------------------------------------------------------------------- /MainUnit/beacon8pattern.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * Fake beacon frames for ESP8266 using the Arduino IDE 3 | * 4 | * Based on https://github.com/markszabo/FakeBeaconESP8266 which is 5 | * - Based on the WiFiBeaconJam by kripthor (https://github.com/kripthor/WiFiBeaconJam) 6 | * 7 | * More info: http://nomartini-noparty.blogspot.com/2016/07/esp8266-and-beacon-frames.html 8 | more about beacon frames https://mrncciew.com/2014/10/08/802-11-mgmt-beacon-frame/ 9 | 10 | */ 11 | 12 | #include 13 | 14 | extern "C" { 15 | #include "user_interface.h" 16 | } 17 | 18 | bool ledState = false; 19 | uint32_t currentTime = 0; 20 | uint32_t attackTime = 0; 21 | uint32_t packetRateTime = 0; 22 | byte channel = 1; 23 | 24 | void setup() { 25 | delay(500); 26 | system_update_cpu_freq(160); 27 | currentTime = millis(); 28 | wifi_set_opmode(STATION_MODE); 29 | wifi_promiscuous_enable(1); 30 | pinMode(BUILTIN_LED, OUTPUT); 31 | randomSeed(os_random()); 32 | } 33 | 34 | 35 | 36 | void loop() { 37 | currentTime = millis(); 38 | 39 | // Randomize channel for this startup run session// 40 | channel = genSafishChannel();// 41 | 42 | //snBcn("test"); //sends beacon frames with the SSID 'test' 43 | //sendRandomBeacon(10); //sends beacon frames with 10 character long random SSID 44 | //sendFuzzedBeacon("test",10); //sends beacon frames with 10 different SSID all starting with 'test' and ending with whitespaces (spaces and/or tabs) 45 | Beacon8r(); 46 | if(ledState){ 47 | digitalWrite(BUILTIN_LED,HIGH); 48 | ledState = false; 49 | }else{ 50 | digitalWrite(BUILTIN_LED,LOW); 51 | ledState = true; 52 | } 53 | 54 | } 55 | 56 | void sendFuzzedBeacon(char* baseSsid, int nr) { 57 | int baseLen = strlen(baseSsid); 58 | int i=0; 59 | for(int j=0; j < 32 - baseLen; j++) { //32 is the maximum length of the SSID 60 | for(int k=0; k < pow(2,j); k++) { 61 | int kk = k; 62 | String ssid = baseSsid; 63 | for(int l=0; l < j; l++) { 64 | if(kk%2 == 1) ssid += " "; //add a space 65 | else ssid += "\t"; //add a tab 66 | kk /= 2; 67 | } 68 | char charBufSsid[33]; 69 | ssid.toCharArray(charBufSsid, 33); 70 | snBcn(charBufSsid); 71 | if(++i >= nr) return; 72 | } 73 | } 74 | } 75 | 76 | void sendRandomBeacon(int len) { 77 | char ssid[len+1]; 78 | randomString(len, ssid); 79 | snBcn(ssid); 80 | } 81 | 82 | void randomString(int len, char* ssid) { 83 | String alfa = "1234567890qwertyuiopasdfghjkklzxcvbnm QWERTYUIOPASDFGHJKLZXCVBNM_"; 84 | for(int i = 0; i < len; i++) { 85 | ssid[i] = alfa[random(65)]; 86 | } 87 | } 88 | 89 | void randomNumString(int len, char* ssid) { 90 | String alfa = "1234567890"; 91 | for(int i = 0; i < len; i++) { 92 | ssid[i] = alfa[random(9)]; 93 | } 94 | } 95 | 96 | int genSafishChannel(){ 97 | int chan = random(1,3); 98 | if(chan ==1) 99 | return 1; 100 | if(chan ==2) 101 | return 6; 102 | if(chan ==3) 103 | return 11; 104 | 105 | return 1; 106 | } 107 | 108 | void snBcn(char* ssid){ 109 | 110 | int sflen = 8; 111 | char suffixssid[sflen+1]; 112 | randomNumString(sflen, suffixssid); 113 | 114 | int oglen = strlen(ssid); 115 | char result[oglen+sflen+1]; 116 | strcpy(result, ssid); 117 | strcat(result, suffixssid); 118 | 119 | sendSuffBcn(result); 120 | } 121 | 122 | void sendSuffBcn (char* ssid) { 123 | 124 | currentTime = millis(); //gets current time 125 | 126 | 127 | wifi_set_channel(channel); 128 | 129 | uint8_t packet[128] = { 0x80, 0x00, //Frame Control 130 | 0x230, 0x020, //Duration 131 | /*4*/ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //Destination address 132 | /*10*/ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, //Source address - overwritten later 133 | /*16*/ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, //BSSID - overwritten to the same as the source address 134 | /*22*/ 0xc0, 0x6c, //Seq-ctl 135 | //Frame body starts here 136 | /*24*/ 0x83, 0x51, 0xf7, 0x8f, 0x0f, 0x00, 0x00, 0x00, //timestamp - the number of microseconds the AP has been active 137 | /*32*/ 0xFF, 0xA28, //Beacon interval stock was: 0xFF, 0x00, 138 | /*34*/ 0x01, 0x04, //Capability info 139 | /* SSID */ 140 | /*36*/ 0x00 141 | }; 142 | 143 | int ssidLen = strlen(ssid); 144 | packet[37] = ssidLen; 145 | 146 | for(int i = 0; i < ssidLen; i++) { 147 | packet[38+i] = ssid[i]; 148 | } 149 | 150 | uint8_t postSSID[13] = {0x01, 0x08, 0x82, 0x84, 0x8b, 0x96, 0x24, 0x30, 0x48, 0x6c, //supported rate 151 | 0x03, 0x01, 0x04 /*DSSS (Current Channel)*/ }; 152 | 153 | for(int i = 0; i < 12; i++) { 154 | packet[38 + ssidLen + i] = postSSID[i]; 155 | } 156 | 157 | packet[50 + ssidLen] = channel; 158 | 159 | // Randomize SRC MAC 160 | packet[10] = packet[16] = random(256); 161 | packet[11] = packet[17] = random(256); 162 | packet[12] = packet[18] = random(256); 163 | packet[13] = packet[19] = random(256); 164 | packet[14] = packet[20] = random(256); 165 | packet[15] = packet[21] = random(256); 166 | 167 | 168 | /* packet[15] = packet[21]= packet[10] = packet[16] = random(256); 169 | packet[13] = packet[19] = packet[11] = packet[17] = random(256); 170 | packet[14] = packet[20] = packet[12] = packet[18] = random(256); 171 | */ 172 | 173 | 174 | packet[24] = currentTime; //sets current time so packets show up on wireshark 175 | 176 | int packetSize = 51 + ssidLen; 177 | 178 | bool sent = false; 179 | int packySent = 0; 180 | //delay(1); 181 | for(int k=0;k<250 && !sent && packySent <2 ;k++){ 182 | sent = wifi_send_pkt_freedom(packet, packetSize, 0) == 0; 183 | if(sent){ 184 | packySent++; 185 | }else{ 186 | delay(1); 187 | } 188 | } 189 | } 190 | 191 | void Beacon8r() { 192 | -------------------------------------------------------------------------------- /MainUnit/plugNChug.py: -------------------------------------------------------------------------------- 1 | import os 2 | # python 3X I believe. 3 | # MIT license and all that. part of Beacon8r code. @Beacon8r and @dj_ir0ngruve on twitter. 4 | 5 | # Apologies for potato code. Python's not my main language. Yes, this was developed on windows so separator slashes are wrong for linux. Ran out of time to test right now for cross platform. 6 | 7 | #Basically this takes any big list of names in a file named "biglistGenAccessPoints.txt", big list get it? 8 | #and chunks through them and spits out a complete Arduino folder/file set you can use to program an ESP8266 9 | #It creates the new folders and files in: genDuinoFolder 10 | 11 | 12 | #Change these variables before running 13 | beaconpattern = r"FULLPATHTO\beacon8pattern.txt" # Top part of each file 14 | listaccesspoints = r"FULLPATHTO\biglistGenAccessPoints.txt" # The list of access points you want to chunk out 15 | genDuinoFolder = r"FULLPATHTO_FOLDER_YOU_WANT_RESULTS_IN" #Where you set the reformatted chunks to be created in. 16 | 17 | 18 | spliton = 2980 #Number of beacons to advertise per ESP8266. 2980 is near upper limit of space on chip I think. 130k / 1980 = roughly 44 ish ESP8266 folder/.ino file sets. Note that Folder name and *.ino file name I think have to be the same. 19 | #Note: 13-17 per ESP8266 should be used for stability of viewing on a phone's wifi list. 20 | #You can have around 4-5 total esp8266's near each other powered by portable usb batteries no big deal. 21 | #First year I put each esp8266 in a ziploc bag for a smaller project.. Kapton tape covering each unit is better. 22 | #Heat can get up to 140F not sure what that is real temperature. 23 | 24 | #Finally... You can broadcast Emoji's. Arduino ide is fine with emojis but I haven't been able to put emojis in list here and not have python crash. 25 | 26 | read_dataBP = 'blank' 27 | bcn8rPlaceName = "beacon8rCluster_" 28 | 29 | if not os.path.exists(genDuinoFolder): 30 | os.makedirs(genDuinoFolder) 31 | 32 | with open(beaconpattern) as f: 33 | read_dataBP = f.read() 34 | f.closed 35 | 36 | print(read_dataBP) 37 | 38 | 39 | 40 | def write_file (): 41 | with open(genDuinoFolder + "\\"+ currWkngName+ "\\"+ currWkngName +".ino", "w") as cf: 42 | cf.write(fileInProgress+ "\r\n}\r\n") 43 | cf.closed 44 | 45 | 46 | counter =0 47 | programs =0 48 | first = 0 49 | 50 | currWkngName = bcn8rPlaceName + str(programs) 51 | fileInProgress = "" 52 | 53 | 54 | with open(listaccesspoints) as bl: 55 | for line in bl: 56 | counter += 1 57 | if( counter %spliton == 0 or first ==0): 58 | if(len(fileInProgress) >0): 59 | #write fileInProgress to disk. 60 | if not os.path.exists(genDuinoFolder + "\\"+ currWkngName): 61 | os.makedirs(genDuinoFolder + "\\"+ currWkngName) 62 | #writeFile... 63 | write_file() 64 | programs +=1 65 | first =1 66 | currWkngName = bcn8rPlaceName + str(programs) 67 | print(currWkngName +" and "+ currWkngName + r".ino") 68 | # Create directory if doesn't exists 69 | if not os.path.exists(genDuinoFolder + "\\"+ currWkngName): 70 | os.makedirs(genDuinoFolder + "\\"+ currWkngName) 71 | #set stored first part of program 72 | fileInProgress = read_dataBP 73 | fileInProgress += ' snBcn("'+line[:-1] + '");\r' #removes \r\n at end of line then adds \r where needed. 74 | 75 | 76 | bl.closed 77 | 78 | write_file() 79 | 80 | 81 | print(counter) # How many things have you done? 82 | print(programs) # Oh why, the humanity, oh why!! 83 | 84 | #This is what I imagine python programmers reading my code to the end feel like: https://xkcd.com/1513/ 85 | 86 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Beacon8r 2 | ![](images/BeaconsWillGiveYouUp.jpg) 3 | 4 | ## As seen at DefCon 26 in the Hardware Hacking Village - Saturday at 5pm. 5 | ### Here are my [DefCon 26 Slides](Wi-Fi%20Beacons%20will%20give%20you%20up%20Defcon26%20slides.pdf) 6 | 7 | # Why 8 | To make people giggle and stress test wifi analyzer tools. Also rick rolling might be involved. Also to inspire people to get into playing with ESP8266's. 9 | 10 | 11 | # Info 12 | The top main part is made up of 44 ESP8266's -WeMos D1 Pro mini's to be exact. Some versions come with antennas so that's what I got. 13 | The secondary part is 13 NodeMCU ESP8266's which are sturdy units with lots of pinouts. 14 | 15 | **This project pushes roughly a million unique SSIDs every minute.** In theory. Real numbers in the next few weeks. 16 | It uses 44 ESP8266's and each one is advertising almost 3k SSID's every 6-8 seconds for a total of 130k unique SSID's every 6-8 seconds with unique MAC addresses per SSID and each SSID get's a numeric suffix. 17 | 18 | That's what the main unit on top does. In the top there are 44 ESP8266 each hooked up to one half of a usb to mini power splitter cable into an anker powered usb hub running off of mains. I checked and wiring them all up 12 volt out to 12 volt in of hub wasn't much of a power savings. Weight savings would be worth it though. 19 | 20 | The secondary unit on bottom in the flat box broadcasts a rick roll, the trevor memorial project and some books. 21 | 22 | FYI you can use emoji's as access point names, just not in the main unit section. 23 | 24 | 25 | So there is a total of 57 ESP8266's here and when all powered up it draws 46-49 watts. Yes lithium ion batteries are much lighter but I didn't have time/money to go with Li-ion for it all. Plus, the usb battery packs I got in bulk for this weren't up to the job so instead of ordering more I went lead acid. 26 | 27 | # Unit 28 | ![](images/beacon8r.JPG) 29 | 30 | # Action Shot 31 | ![](images/action_shot_beacon8r.JPG) 32 | 33 | 34 | # Notes 35 | NodeMCU modules tend to be less power hungry than WeMos D1 mini Pro's But I don't have hard data to back that up. Just a gut feeling and a couple data points. 36 | 37 | If you re-create this - don't put antennas so close to your body and especially don't use more powerful antenna's unless you know what you are doing. 38 | 39 | Also, don't run something like the main unit in a normal wifi area. The antenna's aren't that powerful but a bunch of them near a 2.4 ghz only device might muddy the water. It did crash someones phone when they were using a wifi analyzer but I don't know phone brand or app version/name. I did manage to crash a wristband esp8266 based wifi access point lister/enumerator that one person was wearing. 40 | 41 | I was able to connect to a different person's access point who was standing right next to me because his access point had a 9db antenna. 42 | 43 | In general when you are playing with these use judgement and keep them a bit away from your body. I wouldn't power one up and put it in your pocket but that's just me. 44 | 45 | # Attributions 46 | I tried to note in each file where I borrowed/adapted code from. I'll take the blame for the python code though. 47 | 48 | 49 | # How much does it weigh? 50 | Too much. 51 | -------------------------------------------------------------------------------- /SecondaryUnit/Beacon_RickRoll/Beacon_RickRoll.ino: -------------------------------------------------------------------------------- 1 | /* 2 | * Fake beacon frames for ESP8266 using the Arduino IDE 3 | * Compiled with Arduino 1.6.9 and esp8266 2.1.0, but other versions should work too 4 | * Based on Markszabo https://github.com/markszabo/FakeBeaconESP8266 and 5 | * WiFiBeaconJam by kripthor (https://github.com/kripthor/WiFiBeaconJam) 6 | * 7 | * More info: http://nomartini-noparty.blogspot.com/2016/07/esp8266-and-beacon-frames.html 8 | 9 | This rick roll won't show up in wireshark because the timestamp is not being set. See other examples in project where it is if you want to copy. 10 | */ 11 | 12 | #include //more about beacon frames https://mrncciew.com/2014/10/08/802-11-mgmt-beacon-frame/ 13 | 14 | extern "C" { 15 | #include "user_interface.h" 16 | } 17 | 18 | void setup() { 19 | delay(500); 20 | wifi_set_opmode(STATION_MODE); 21 | wifi_promiscuous_enable(1); 22 | } 23 | 24 | 25 | 26 | void loop() { 27 | //sendBeacon("test"); //sends beacon frames with the SSID 'test' 28 | //sendRandomBeacon(10); //sends beacon frames with 10 character long random SSID 29 | //sendFuzzedBeacon("test",10); //sends beacon frames with 10 different SSID all starting with 'test' and ending with whitespaces (spaces and/or tabs) 30 | RickRoll(); 31 | } 32 | 33 | void sendFuzzedBeacon(char* baseSsid, int nr) { 34 | int baseLen = strlen(baseSsid); 35 | int i=0; 36 | for(int j=0; j < 32 - baseLen; j++) { //32 is the maximum length of the SSID 37 | for(int k=0; k < pow(2,j); k++) { 38 | int kk = k; 39 | String ssid = baseSsid; 40 | for(int l=0; l < j; l++) { 41 | if(kk%2 == 1) ssid += " "; //add a space 42 | else ssid += "\t"; //add a tab 43 | kk /= 2; 44 | } 45 | char charBufSsid[33]; 46 | ssid.toCharArray(charBufSsid, 33); 47 | sendBeacon(charBufSsid); 48 | if(++i >= nr) return; 49 | } 50 | } 51 | } 52 | 53 | void sendRandomBeacon(int len) { 54 | char ssid[len+1]; 55 | randomString(len, ssid); 56 | sendBeacon(ssid); 57 | } 58 | 59 | void randomString(int len, char* ssid) { 60 | String alfa = "1234567890qwertyuiopasdfghjkklzxcvbnm QWERTYUIOPASDFGHJKLZXCVBNM_"; 61 | for(int i = 0; i < len; i++) { 62 | ssid[i] = alfa[random(65)]; 63 | } 64 | } 65 | 66 | void sendBeacon(char* ssid) { 67 | // Randomize channel // 68 | byte channel = random(1,12); 69 | wifi_set_channel(channel); 70 | 71 | uint8_t packet[128] = { 0x80, 0x00, //Frame Control 72 | 0x00, 0x00, //Duration 73 | /*4*/ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //Destination address 74 | /*10*/ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, //Source address - overwritten later 75 | /*16*/ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, //BSSID - overwritten to the same as the source address 76 | /*22*/ 0xc0, 0x6c, //Seq-ctl 77 | //Frame body starts here 78 | /*24*/ 0x83, 0x51, 0xf7, 0x8f, 0x0f, 0x00, 0x00, 0x00, //timestamp - the number of microseconds the AP has been active 79 | /*32*/ 0xFF, 0x00, //Beacon interval 80 | /*34*/ 0x01, 0x04, //Capability info 81 | /* SSID */ 82 | /*36*/ 0x00 83 | }; 84 | 85 | int ssidLen = strlen(ssid); 86 | packet[37] = ssidLen; 87 | 88 | for(int i = 0; i < ssidLen; i++) { 89 | packet[38+i] = ssid[i]; 90 | } 91 | 92 | uint8_t postSSID[13] = {0x01, 0x08, 0x82, 0x84, 0x8b, 0x96, 0x24, 0x30, 0x48, 0x6c, //supported rate 93 | 0x03, 0x01, 0x04 /*DSSS (Current Channel)*/ }; 94 | 95 | for(int i = 0; i < 12; i++) { 96 | packet[38 + ssidLen + i] = postSSID[i]; 97 | } 98 | 99 | packet[50 + ssidLen] = channel; 100 | 101 | // Randomize SRC MAC 102 | packet[10] = packet[16] = random(256); 103 | packet[11] = packet[17] = random(256); 104 | packet[12] = packet[18] = random(256); 105 | packet[13] = packet[19] = random(256); 106 | packet[14] = packet[20] = random(256); 107 | packet[15] = packet[21] = random(256); 108 | 109 | int packetSize = 51 + ssidLen; 110 | 111 | wifi_send_pkt_freedom(packet, packetSize, 0); 112 | wifi_send_pkt_freedom(packet, packetSize, 0); 113 | wifi_send_pkt_freedom(packet, packetSize, 0); 114 | delay(1); 115 | } 116 | 117 | void RickRoll() { 118 | sendBeacon("01 Never gonna give you up,"); 119 | sendBeacon("02 never gonna let you down"); 120 | sendBeacon("03 Never gonna run around"); 121 | sendBeacon("04 and desert you"); 122 | sendBeacon("05 Never gonna make you cry,"); 123 | sendBeacon("06 never gonna say goodbye"); 124 | sendBeacon("07 Never gonna tell a lie"); 125 | sendBeacon("08 and hurt you"); 126 | } 127 | -------------------------------------------------------------------------------- /SecondaryUnit/CallItFreindo/CallItFreindo.ino: -------------------------------------------------------------------------------- 1 | /* 2 | * Fake beacon frames for ESP8266 using the Arduino IDE 3 | * Compiled with Arduino 1.6.9 and esp8266 2.1.0, but other versions should work too 4 | * 5 | * Based on the WiFiBeaconJam by kripthor (https://github.com/kripthor/WiFiBeaconJam) 6 | * 7 | * More info: http://nomartini-noparty.blogspot.com/2016/07/esp8266-and-beacon-frames.html 8 | */ 9 | 10 | #include //more about beacon frames https://mrncciew.com/2014/10/08/802-11-mgmt-beacon-frame/ 11 | 12 | extern "C" { 13 | #include "user_interface.h" 14 | } 15 | 16 | void setup() { 17 | delay(500); 18 | wifi_set_opmode(STATION_MODE); 19 | wifi_promiscuous_enable(1); 20 | } 21 | 22 | 23 | 24 | void loop() { 25 | //sendBeacon("test"); //sends beacon frames with the SSID 'test' 26 | //sendRandomBeacon(10); //sends beacon frames with 10 character long random SSID 27 | //sendFuzzedBeacon("test",10); //sends beacon frames with 10 different SSID all starting with 'test' and ending with whitespaces (spaces and/or tabs) 28 | RickRoll(); 29 | } 30 | 31 | void sendFuzzedBeacon(char* baseSsid, int nr) { 32 | int baseLen = strlen(baseSsid); 33 | int i=0; 34 | for(int j=0; j < 32 - baseLen; j++) { //32 is the maximum length of the SSID 35 | for(int k=0; k < pow(2,j); k++) { 36 | int kk = k; 37 | String ssid = baseSsid; 38 | for(int l=0; l < j; l++) { 39 | if(kk%2 == 1) ssid += " "; //add a space 40 | else ssid += "\t"; //add a tab 41 | kk /= 2; 42 | } 43 | char charBufSsid[33]; 44 | ssid.toCharArray(charBufSsid, 33); 45 | sendBeacon(charBufSsid); 46 | if(++i >= nr) return; 47 | } 48 | } 49 | } 50 | 51 | void sendRandomBeacon(int len) { 52 | char ssid[len+1]; 53 | randomString(len, ssid); 54 | sendBeacon(ssid); 55 | } 56 | 57 | void randomString(int len, char* ssid) { 58 | String alfa = "1234567890qwertyuiopasdfghjkklzxcvbnm QWERTYUIOPASDFGHJKLZXCVBNM_"; 59 | for(int i = 0; i < len; i++) { 60 | ssid[i] = alfa[random(65)]; 61 | } 62 | } 63 | 64 | void sendBeacon(char* ssid) { 65 | // Randomize channel // 66 | byte channel = random(1,12); 67 | wifi_set_channel(channel); 68 | 69 | uint8_t packet[128] = { 0x80, 0x00, //Frame Control 70 | 0x00, 0x00, //Duration 71 | /*4*/ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //Destination address 72 | /*10*/ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, //Source address - overwritten later 73 | /*16*/ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, //BSSID - overwritten to the same as the source address 74 | /*22*/ 0xc0, 0x6c, //Seq-ctl 75 | //Frame body starts here 76 | /*24*/ 0x83, 0x51, 0xf7, 0x8f, 0x0f, 0x00, 0x00, 0x00, //timestamp - the number of microseconds the AP has been active 77 | /*32*/ 0xFF, 0x00, //Beacon interval maybe. Not all hardware respects it? probably my lack of understanding -ja 78 | /*34*/ 0x01, 0x04, //Capability info 79 | /* SSID */ 80 | /*36*/ 0x00 81 | }; 82 | 83 | int ssidLen = strlen(ssid); 84 | packet[37] = ssidLen; 85 | 86 | for(int i = 0; i < ssidLen; i++) { 87 | packet[38+i] = ssid[i]; 88 | } 89 | 90 | uint8_t postSSID[13] = {0x01, 0x08, 0x82, 0x84, 0x8b, 0x96, 0x24, 0x30, 0x48, 0x6c, //supported rate 91 | 0x03, 0x01, 0x04 /*DSSS (Current Channel)*/ }; 92 | 93 | for(int i = 0; i < 12; i++) { 94 | packet[38 + ssidLen + i] = postSSID[i]; 95 | } 96 | 97 | packet[50 + ssidLen] = channel; 98 | 99 | // Randomize SRC MAC 100 | packet[10] = packet[16] = random(256); 101 | packet[11] = packet[17] = random(256); 102 | packet[12] = packet[18] = random(256); 103 | packet[13] = packet[19] = random(256); 104 | packet[14] = packet[20] = random(256); 105 | packet[15] = packet[21] = random(256); 106 | 107 | int packetSize = 51 + ssidLen; 108 | bool sent = false; 109 | for(int k=0;k<5 && !sent;k++){ 110 | sent = wifi_send_pkt_freedom(packet, packetSize, 0) == 0; 111 | delay(1); 112 | } 113 | 114 | //delay(1); 115 | } 116 | 117 | void RickRoll() { 118 | sendBeacon("Virus Detected"); 119 | sendBeacon("Call it Friendo"); 120 | sendBeacon("Bulbasaur"); 121 | sendBeacon("Mew-Too"); 122 | sendBeacon("HP-Print-A4-LaserJet 1302"); 123 | sendBeacon("MR MESEEKS"); 124 | sendBeacon("Morty Crew"); 125 | sendBeacon("Spice Must Flow"); 126 | sendBeacon("Join Outer Worlds"); 127 | sendBeacon("FREE USB DRIVE"); 128 | sendBeacon("👾👾👾👾👾👾👾👾👾"); 129 | sendBeacon("🤖🤖🤖🤖🤖🤖🤖🤖🤖"); 130 | sendBeacon("👻👻👻👻👻👻👻👻👻"); 131 | sendBeacon("🎃🎃🎃🎃🎃🎃🎃🎃🎃"); 132 | sendBeacon("🎃👻🎃👻🎃👻🎃👻🎃"); 133 | sendBeacon("👽👽👽👽👽👽👽👽👽"); 134 | sendBeacon("🚠🚠🚠🚠"); 135 | sendBeacon("🎃🎃🎃🎃🎃🤖🤖🤖🤖🤖🤖🎃🎃🎃🎃"); 136 | } 137 | -------------------------------------------------------------------------------- /SecondaryUnit/SPIFF_SERVER_BOOK/SPIFF_SERVER_BOOK.ino: -------------------------------------------------------------------------------- 1 | /* 2 | adapted from: https://tttapa.github.io/ESP8266/Chap11%20-%20SPIFFS.html 3 | 4 | Plugin you need for spiffs : https://github.com/esp8266/arduino-esp8266fs-plugin 5 | 6 | Note currently about a 3mb limit total for Data folder. 7 | 8 | Steps to install! 9 | 1 - build and program esp8266 unit with this code. 10 | 2 - While it's still connected run Tools->"ESP8266 Sketch Data Upload" - If you don't have this install plugin above. 11 | 12 | After programming to view your web page either hop on your router and see what device newly joined and navigate to that OR open up serial monitor in IDE and press the reset button on ESP8266 and watch monitor for Ip Address. If all you see is gibberish your speed setting for the monitor is wrong. Change it to match what the setting is below in Serial.begin([speed setting]) 13 | 14 | */ 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include // Include the SPIFFS library 21 | 22 | 23 | ESP8266WiFiMulti wifiMulti; // Create an instance of the ESP8266WiFiMulti class, called 'wifiMulti' 24 | 25 | ESP8266WebServer server(80); // Create a webserver object that listens for HTTP request on port 80 26 | 27 | String getContentType(String filename); // convert the file extension to the MIME type 28 | bool handleFileRead(String path); // send the right file to the client (if it exists) 29 | 30 | void setup() { 31 | Serial.begin(115200); // Start the Serial communication to send messages to the computer 32 | delay(10); 33 | Serial.println('\n'); 34 | 35 | wifiMulti.addAP("ssid_from_AP_1", "your_password_for_AP_1"); // add Wi-Fi networks you want to connect to 36 | wifiMulti.addAP("ssid_from_AP_2", "your_password_for_AP_2"); 37 | wifiMulti.addAP("ssid_from_AP_3", "your_password_for_AP_3"); 38 | 39 | Serial.println("Connecting ..."); 40 | int i = 0; 41 | while (wifiMulti.run() != WL_CONNECTED) { // Wait for the Wi-Fi to connect 42 | delay(250); 43 | Serial.print('.'); 44 | } 45 | Serial.println('\n'); 46 | Serial.print("Connected to "); 47 | Serial.println(WiFi.SSID()); // Tell us what network we're connected to 48 | Serial.print("IP address:\t"); 49 | Serial.println(WiFi.localIP()); // Send the IP address of the ESP8266 to the computer 50 | 51 | if (MDNS.begin("esp8266")) { // Start the mDNS responder for esp8266.local 52 | Serial.println("mDNS responder started"); 53 | } else { 54 | Serial.println("Error setting up MDNS responder!"); 55 | } 56 | 57 | SPIFFS.begin(); // Start the SPI Flash Files System 58 | 59 | server.onNotFound([]() { // If the client requests any URI 60 | if (!handleFileRead(server.uri())) // send it if it exists 61 | server.send(404, "text/plain", "404: Not Found"); // otherwise, respond with a 404 (Not Found) error 62 | }); 63 | 64 | server.begin(); // Actually start the server 65 | Serial.println("HTTP server started"); 66 | } 67 | 68 | void loop(void) { 69 | server.handleClient(); 70 | } 71 | 72 | String getContentType(String filename){ 73 | if(filename.endsWith(".htm")) return "text/html"; 74 | else if(filename.endsWith(".html")) return "text/html"; 75 | else if(filename.endsWith(".css")) return "text/css"; 76 | else if(filename.endsWith(".js")) return "application/javascript"; 77 | else if(filename.endsWith(".png")) return "image/png"; 78 | else if(filename.endsWith(".gif")) return "image/gif"; 79 | else if(filename.endsWith(".jpg")) return "image/jpeg"; 80 | else if(filename.endsWith(".ico")) return "image/x-icon"; 81 | else if(filename.endsWith(".mp3")) return "audio/mpeg"; 82 | else if(filename.endsWith(".mp4")) return "audio/mpeg"; 83 | else if(filename.endsWith(".xml")) return "text/xml"; 84 | else if(filename.endsWith(".pdf")) return "application/x-pdf"; 85 | else if(filename.endsWith(".zip")) return "application/x-zip"; 86 | else if(filename.endsWith(".gz")) return "application/x-gzip"; 87 | return "text/plain"; 88 | } 89 | 90 | bool handleFileRead(String path) { // send the right file to the client (if it exists) 91 | Serial.println("handleFileRead: " + path); 92 | if (path.endsWith("/")) path += "index.html"; // If a folder is requested, send the index file 93 | String contentType = getContentType(path); // Get the MIME type 94 | if (SPIFFS.exists( path)) { // If the file exists 95 | File file = SPIFFS.open(path, "r"); // Open it 96 | size_t sent = server.streamFile(file, contentType); // And send it to the client 97 | file.close(); // Then close the file again 98 | return true; 99 | } 100 | Serial.println("\tFile Not Found"); 101 | String str = "found nada"; 102 | Dir dir = SPIFFS.openDir("/"); 103 | while (dir.next()) { 104 | Serial.println( dir.fileName()); 105 | str = "found something"; 106 | } 107 | Serial.println( str); 108 | return false; // If the file doesn't exist, return false 109 | } 110 | -------------------------------------------------------------------------------- /SecondaryUnit/SPIFF_SERVER_BOOK/data/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Any web page you want. I just happened to use books at convention. 5 | 6 | 7 | 8 |

Put Any web page you want here.

9 |
I just happened to use books from https://www.gutenberg.org 10 | 11 |
12 | This isn't a faithful representation of what I had at convention. Use your imagination and have fun here. 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /SecondaryUnit/Trevor_Project_MKII_part3/Trevor_Project_MKII_part3.ino: -------------------------------------------------------------------------------- 1 | /* 2 | * Fake beacon frames for ESP8266 using the Arduino IDE 3 | * 4 | * Based on https://github.com/markszabo/FakeBeaconESP8266 which is 5 | * - Based on the WiFiBeaconJam by kripthor (https://github.com/kripthor/WiFiBeaconJam) 6 | * 7 | * More info: http://nomartini-noparty.blogspot.com/2016/07/esp8266-and-beacon-frames.html 8 | more about beacon frames https://mrncciew.com/2014/10/08/802-11-mgmt-beacon-frame/ 9 | 10 | */ 11 | 12 | #include 13 | 14 | extern "C" { 15 | #include "user_interface.h" 16 | } 17 | 18 | bool ledState = false; 19 | uint32_t currentTime = 0; 20 | uint32_t attackTime = 0; 21 | uint32_t packetRateTime = 0; 22 | byte channel = 1; 23 | 24 | void setup() { 25 | delay(500); 26 | system_update_cpu_freq(160); 27 | currentTime = millis(); 28 | wifi_set_opmode(STATION_MODE); 29 | wifi_promiscuous_enable(1); 30 | pinMode(BUILTIN_LED, OUTPUT); 31 | randomSeed(os_random()); 32 | } 33 | 34 | 35 | 36 | void loop() { 37 | currentTime = millis(); 38 | 39 | // Randomize channel for this startup run session// 40 | channel = genSafishChannel();// 41 | 42 | //snBcn("test"); //sends beacon frames with the SSID 'test' 43 | //sendRandomBeacon(10); //sends beacon frames with 10 character long random SSID 44 | //sendFuzzedBeacon("test",10); //sends beacon frames with 10 different SSID all starting with 'test' and ending with whitespaces (spaces and/or tabs) 45 | Beacon8r(); 46 | if(ledState){ 47 | digitalWrite(BUILTIN_LED,HIGH); 48 | ledState = false; 49 | }else{ 50 | digitalWrite(BUILTIN_LED,LOW); 51 | ledState = true; 52 | } 53 | 54 | } 55 | 56 | void sendFuzzedBeacon(char* baseSsid, int nr) { 57 | int baseLen = strlen(baseSsid); 58 | int i=0; 59 | for(int j=0; j < 32 - baseLen; j++) { //32 is the maximum length of the SSID 60 | for(int k=0; k < pow(2,j); k++) { 61 | int kk = k; 62 | String ssid = baseSsid; 63 | for(int l=0; l < j; l++) { 64 | if(kk%2 == 1) ssid += " "; //add a space 65 | else ssid += "\t"; //add a tab 66 | kk /= 2; 67 | } 68 | char charBufSsid[33]; 69 | ssid.toCharArray(charBufSsid, 33); 70 | snBcn(charBufSsid); 71 | if(++i >= nr) return; 72 | } 73 | } 74 | } 75 | 76 | void sendRandomBeacon(int len) { 77 | char ssid[len+1]; 78 | randomString(len, ssid); 79 | snBcn(ssid); 80 | } 81 | 82 | void randomString(int len, char* ssid) { 83 | String alfa = "1234567890qwertyuiopasdfghjkklzxcvbnm QWERTYUIOPASDFGHJKLZXCVBNM_"; 84 | for(int i = 0; i < len; i++) { 85 | ssid[i] = alfa[random(65)]; 86 | } 87 | } 88 | 89 | void randomNumString(int len, char* ssid) { 90 | String alfa = "1234567890"; 91 | for(int i = 0; i < len; i++) { 92 | ssid[i] = alfa[random(9)]; 93 | } 94 | } 95 | 96 | int genSafishChannel(){ 97 | int chan = random(1,3); 98 | if(chan ==1) 99 | return 1; 100 | if(chan ==2) 101 | return 6; 102 | if(chan ==3) 103 | return 11; 104 | 105 | return 1; 106 | } 107 | 108 | void snBcn(char* ssid){ 109 | 110 | int sflen = 2; 111 | char suffixssid[sflen+1]; 112 | randomNumString(sflen, suffixssid); 113 | 114 | int oglen = strlen(ssid); 115 | char result[oglen+sflen+1]; 116 | strcpy(result, ssid); 117 | strcat(result, suffixssid); 118 | 119 | sendSuffBcn(result); 120 | } 121 | 122 | void sendSuffBcn (char* ssid) { 123 | 124 | currentTime = millis(); //gets current time 125 | 126 | 127 | wifi_set_channel(channel); 128 | 129 | uint8_t packet[128] = { 0x80, 0x00, //Frame Control 130 | 0x230, 0x020, //Duration 131 | /*4*/ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, //Destination address 132 | /*10*/ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, //Source address - overwritten later 133 | /*16*/ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, //BSSID - overwritten to the same as the source address 134 | /*22*/ 0xc0, 0x6c, //Seq-ctl 135 | //Frame body starts here 136 | /*24*/ 0x83, 0x51, 0xf7, 0x8f, 0x0f, 0x00, 0x00, 0x00, //timestamp - the number of microseconds the AP has been active 137 | /*32*/ 0xFF, 0xA28, //Beacon interval stock was: 0xFF, 0x00, 138 | /*34*/ 0x01, 0x04, //Capability info 139 | /* SSID */ 140 | /*36*/ 0x00 141 | }; 142 | 143 | int ssidLen = strlen(ssid); 144 | packet[37] = ssidLen; 145 | 146 | for(int i = 0; i < ssidLen; i++) { 147 | packet[38+i] = ssid[i]; 148 | } 149 | 150 | uint8_t postSSID[13] = {0x01, 0x08, 0x82, 0x84, 0x8b, 0x96, 0x24, 0x30, 0x48, 0x6c, //supported rate 151 | 0x03, 0x01, 0x04 /*DSSS (Current Channel)*/ }; 152 | 153 | for(int i = 0; i < 12; i++) { 154 | packet[38 + ssidLen + i] = postSSID[i]; 155 | } 156 | 157 | packet[50 + ssidLen] = channel; 158 | 159 | // Randomize SRC MAC 160 | packet[10] = packet[16] = random(256); 161 | packet[11] = packet[17] = random(256); 162 | packet[12] = packet[18] = random(256); 163 | packet[13] = packet[19] = random(256); 164 | packet[14] = packet[20] = random(256); 165 | packet[15] = packet[21] = random(256); 166 | 167 | 168 | /* packet[15] = packet[21]= packet[10] = packet[16] = random(256); 169 | packet[13] = packet[19] = packet[11] = packet[17] = random(256); 170 | packet[14] = packet[20] = packet[12] = packet[18] = random(256); 171 | */ 172 | 173 | 174 | packet[24] = currentTime; //sets current time so packets show up on wireshark 175 | 176 | int packetSize = 51 + ssidLen; 177 | 178 | bool sent = false; 179 | int packySent = 0; 180 | //delay(1); 181 | for(int k=0;k<250 && !sent && packySent <2 ;k++){ 182 | sent = wifi_send_pkt_freedom(packet, packetSize, 0) == 0; 183 | if(sent){ 184 | packySent++; 185 | }else{ 186 | delay(1); 187 | } 188 | } 189 | } 190 | 191 | void Beacon8r() { 192 | 193 | /* // each of these sections runs good on one esp8266 for being visible on a phone's wifi. 194 | snBcn("Moose and Squirrel "); 195 | snBcn("Boris and Natasha"); 196 | snBcn("FBI Party Van 667"); 197 | snBcn("Mr Fusion Center"); 198 | snBcn("Dr Oh No"); 199 | snBcn("Potato Internet"); 200 | snBcn("UberPatriot"); 201 | snBcn("TacoEjército"); 202 | snBcn("TaterTots"); 203 | snBcn("TrevorForget"); 204 | snBcn("LemonParty"); 205 | snBcn("VelcroParty"); 206 | snBcn("PickleRick!"); 207 | snBcn("ShinyAndChrome"); 208 | snBcn("WhoIsTrevorGault"); 209 | snBcn("SovereignTrevor"); 210 | snBcn("TheSpyWhoTrevoredMe"); 211 | snBcn("Full Metal Trevor"); 212 | snBcn("Show me the Trevor"); 213 | snBcn("KraftTrevor"); 214 | 215 | snBcn("Top Trevor"); 216 | snBcn("Trevor Tank"); 217 | snBcn("The Dark Trevor"); 218 | snBcn("Trevor 500"); 219 | snBcn("Terminator 8: The Trevorning"); 220 | snBcn("Weekend at Trevor's"); 221 | snBcn("Saving Private Trevor"); 222 | snBcn("Going Full Trevor"); 223 | snBcn("Soul Trevor"); 224 | snBcn("Trevor Force 6"); 225 | snBcn("The Bold and the Trevor"); 226 | snBcn("Running Trevor"); 227 | snBcn("Trevor the explorer"); 228 | snBcn("BioTrevor 2000"); 229 | snBcn("Trevor goes to Whitecastle"); 230 | snBcn("Sir Trevor's tale"); 231 | snBcn("TrevNasty -The superstar years"); 232 | snBcn("Raising Trevor"); 233 | snBcn("TrevorStarter"); 234 | snBcn("Church of Trevorology"); 235 | snBcn("The Last Trevor"); 236 | snBcn("Blue Trevor"); 237 | snBcn("Generation Trevor"); 238 | snBcn("Fire Team Trevor"); 239 | */ 240 | snBcn("Trevor Party!"); 241 | snBcn("Ghost Trevor Killah"); 242 | snBcn("Trevor 2000"); 243 | snBcn("Cooking with Trevor"); 244 | snBcn("Trevor's Home Garden"); 245 | snBcn("I kissed a Trevor"); 246 | snBcn("Trevor <3's Grifter for3ver"); 247 | snBcn("Too many Trevors "); 248 | snBcn("Teenage Mutant Ninja Trevors "); 249 | snBcn("Trevor Memorial Hotel"); 250 | snBcn("Trev-Nasty"); 251 | snBcn("Trevor At Large"); 252 | snBcn("Fresh Trevor of Bel-Air"); 253 | snBcn("Tinker Tailor Soldier Trevor"); 254 | snBcn("Attack of the 50 foot Trevor"); 255 | snBcn("Godzilla Vs Trevor"); 256 | snBcn("Hack for Trevor"); 257 | snBcn("Aliens vs. Trevor"); 258 | snBcn("Kindergarten Trevor"); 259 | snBcn("What Trevor Wants "); 260 | snBcn("The way of the Trevor"); 261 | snBcn("Trevor Air"); 262 | snBcn("Leaving Trevor "); 263 | snBcn("The hardest Trevor"); 264 | snBcn("Trevor Kong"); 265 | snBcn("Le Trevor Noir"); 266 | snBcn("Bridge over the River Trevor"); 267 | snBcn("Breakfast of Trevors"); 268 | snBcn("My milkshake brings all the Trevors"); 269 | // */ 270 | } 271 | -------------------------------------------------------------------------------- /SecondaryUnit/secureAP/secureAP.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | // Adapted from: https://gist.github.com/jaretburkett/21e3b918d1df1ac296fc 5 | //how many clients should be able to telnet to this ESP8266 6 | #define MAX_SRV_CLIENTS 3 7 | 8 | /* Set these to your desired credentials. */ 9 | const char *ssid = "ALL YOUR PASSWORDS"; // Broadcasts a secure wifi access point with this name. 10 | const char *password = "password"; 11 | /* In this case unless you hook this up to a computer it does nothing even if you can guess the password unless uart serial is hooked up */ 12 | 13 | WiFiServer server(23); 14 | WiFiClient serverClients[MAX_SRV_CLIENTS]; 15 | 16 | 17 | int led = 5; 18 | 19 | void setup() { 20 | delay(1000); 21 | Serial.begin(115200); 22 | /* You can remove the password parameter if you want the AP to be open. */ 23 | WiFi.softAP(ssid, password); 24 | 25 | IPAddress myIP = WiFi.softAPIP(); 26 | 27 | // start telnet server 28 | server.begin(); 29 | server.setNoDelay(true); 30 | } 31 | 32 | void loop() { 33 | uint8_t i; 34 | if(server.hasClient()){ 35 | digitalWrite(led, HIGH); 36 | } else{ 37 | digitalWrite(led, LOW); 38 | } 39 | //check if there are any new clients 40 | if (server.hasClient()){ 41 | for(i = 0; i < MAX_SRV_CLIENTS; i++){ 42 | //find free/disconnected spot 43 | if (!serverClients[i] || !serverClients[i].connected()){ 44 | if(serverClients[i]) serverClients[i].stop(); 45 | serverClients[i] = server.available(); 46 | continue; 47 | } 48 | } 49 | //no free/disconnected spot so reject 50 | WiFiClient serverClient = server.available(); 51 | serverClient.stop(); 52 | } 53 | //check clients for data 54 | for(i = 0; i < MAX_SRV_CLIENTS; i++){ 55 | if (serverClients[i] && serverClients[i].connected()){ 56 | if(serverClients[i].available()){ 57 | //get data from the telnet client and push it to the UART 58 | while(serverClients[i].available()) Serial.write(serverClients[i].read()); 59 | } 60 | } 61 | } 62 | //check UART for data 63 | if(Serial.available()){ 64 | size_t len = Serial.available(); 65 | uint8_t sbuf[len]; 66 | Serial.readBytes(sbuf, len); 67 | //push UART data to all connected telnet clients 68 | for(i = 0; i < MAX_SRV_CLIENTS; i++){ 69 | if (serverClients[i] && serverClients[i].connected()){ 70 | serverClients[i].write(sbuf, len); 71 | delay(1); 72 | } 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /Wi-Fi Beacons will give you up Defcon26 slides.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dumpsterfirevip/Beacon8r/0170a31f18f713e184fbbc448ec6550fa3678651/Wi-Fi Beacons will give you up Defcon26 slides.pdf -------------------------------------------------------------------------------- /images/BeaconsWillGiveYouUp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dumpsterfirevip/Beacon8r/0170a31f18f713e184fbbc448ec6550fa3678651/images/BeaconsWillGiveYouUp.jpg -------------------------------------------------------------------------------- /images/action_shot_beacon8r.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dumpsterfirevip/Beacon8r/0170a31f18f713e184fbbc448ec6550fa3678651/images/action_shot_beacon8r.JPG -------------------------------------------------------------------------------- /images/beacon8r.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dumpsterfirevip/Beacon8r/0170a31f18f713e184fbbc448ec6550fa3678651/images/beacon8r.JPG --------------------------------------------------------------------------------