首页
越南之旅
越南之旅2
友链
更多
时光机
Search
1
基于PushBear开发借助微信第三方实现消息推送和提醒
9,120 阅读
2
基于ESP8266-01开发wifi钓鱼器
2,163 阅读
3
Win10数字权利激活神器 HWIDGen v60.01 汉化版
1,897 阅读
4
Cloudreve云盘源码+搭建教程+成品
1,845 阅读
5
国内主流安全软件个人向非专业测评
1,841 阅读
默认
技术文章
前端技术
网络技术
打卡研究
软件工具
windows软件
IOS软件
Android软件
建站相关
网站源码
Typecho
服务器相关
WordPress
WordPress主题
WordPress 插件
闲谈
游戏分享
博客大事件
网络安全
服务器安全
程序漏洞
安全武器库
网络教程
学习笔记
网易云音乐专栏
登录
Search
标签搜索
esp8266
typecho
合宙ESP32C3
网站源码
AnyDesk
建站
点击器
WiFi打卡
程潇
累计撰写
253
篇文章
累计收到
48
条评论
首页
栏目
默认
技术文章
前端技术
网络技术
打卡研究
软件工具
windows软件
IOS软件
Android软件
建站相关
网站源码
Typecho
服务器相关
WordPress
WordPress主题
WordPress 插件
闲谈
游戏分享
博客大事件
网络安全
服务器安全
程序漏洞
安全武器库
网络教程
学习笔记
网易云音乐专栏
页面
越南之旅
越南之旅2
友链
时光机
搜索到
5
篇与
esp8266
的结果
2022-12-08
Arduino-IDE搭建ESP8266开发环境
一. 下载Arduino和ESP8266的开发板安装包下载地址:链接: https://pan.baidu.com/s/1x40Vm3G0n5HuBgjkc3OwZQ?pwd=xamc 提取码: xamc 下载后共有两个文件:arduino-1.8.15-windows.zip是Arduino的安装包,8266_package_3.0.1_arduino.cn是ESP8266的开发板安装包,从软件直接下载,因为是国外的服务 器,速度非常慢,所以这里直接提供二. 安装Arduino1.右键 arduino-1.8.15-windows.zip ,点击解压文件2.解压后双击arduino-1.8.15-windows.exe,用户账户控制,点击按钮是3.点击按钮:I Agree4.点击Next5.点击Broesw,选择合适的路径,然后点击Install进行安装6.等待安装完成,过程中会弹出如下图所示驱动安装点击按钮:安装。应该是共三个7.安装完成,点击按钮Close二. 安装开发板安装包双击8266_package_3.0.1_arduino.cn,开发板安装包会自动完成安装三. Arduino配置1.双击Arduino图标打开软件2.点击文件,点击首选项3.开发板管理器地址输入:http://arduino.esp8266.com/stable/package_esp8266com_index.json,点击按钮好4.依次选择:工具->开发板:”Arduino Uno”->ESP8266 Boards(3.0.1),然后选择对应的开发板,因为我这边用的NodeMCU,所以我选择了:NodeMCU 1.0(ESP-12E Module).到这里开发环境就配置好了。
2022年12月08日
16 阅读
0 评论
0 点赞
2022-12-08
利用ESP8266制作钉钉WIFI打卡神器升级版
之前研究的一版破解WiFi打卡的工具,但是WIFI名称、密码、MAC地址全部写死在程序里了,改动需要修改代码重新下载。升级了下网页配置功能 利用自己之前学的一点html知识,结合做前端朋友的帮助,写了一个配网页面,配置时,会对密码和MAC地址进行校验,密码长度必须超过8位或者不输入,MAC先进行格式校验,后对每两个数据进行十六进制校验,通过后,修改所有参数,通过EEPROM库将数据保存在flash。然后重启设备,重新启动后读取配置信息,开启AP并修改MAC地址下面是最新版的代码,有需要的可以自己下载arduino,买个ESP8266-12F模块,下载进去即可使用#include <ESP8266WiFi.h> #include <ESP8266WebServer.h> #include <EEPROM.h> //首页html const char* home_page_str = "<html>\n <head>\n <meta charset=\"utf-8\" name=\"viewport\" content=\"width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0\">\n <title>配置页面</title>\n <script src=\"config.html\" type=\"text/javascript\" charset=\"utf-8\"></script>\n <style>\n .formBox{\n width: 100%;\n float: left;\n margin: 0 auto\n }\n .formBox > form {\n width: 80%;\n margin: 0 auto;\n }\n form > input{\n width: 100%;\n height: 40px;\n }\n </style>\n </head>\n <body>\n <div align=\"center\">\n <h1>欢迎使用WIFI打卡神器</h1>\n \n </div><br><br>\n <div align=\"center\" class=\"formBox\">\n <form action=\"/result.html\">\n <h3>WIFI名称:</h3>\n <input type=\"text\" name=\"ssid\" value=\"\" required><br>\n <h3>WIFI密码:</h3>\n <input type=\"text\" name=\"password\" value=\"\"><br>\n <h3>MAC地址:</h3>\n <input type=\"text\" name=\"mac\" value=\"\" required><br>\n <input type=\"submit\" style=\"margin-top: 30px; font-size: 20px;\" value=\"配置\">\n </form> \n </div>\n </body>\n <script>\n \n let {mac,password,ssid} = config;\n document.getElementsByName('mac')[0].value = mac || '';\n document.getElementsByName('password')[0].value = password || '';\n document.getElementsByName('ssid')[0].value = ssid || '';\n \n \n </script>\n</html>"; //定义配置类型 typedef struct { unsigned char Default_Tag;//默认标记 char stassid[32];//定义WIFI名称 char stapsw[64];//定义WIFI密码 uint8_t mac[6]; //定义mac地址 }config_type; //定义默认配置 config_type const Default_Config = { .Default_Tag = 254, .stassid = "www.dzahz.cn\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", .stapsw = {'\0'}, .mac = {0x44,0x55,0xC4,0x37,0xB9,0xC0} }; config_type config; //配置信息 ESP8266WebServer server(80); void setup() { // 启动串口通讯 Serial.begin(115200); Serial.println(); Serial.printf("设置接入点中 ... "); //读取WIFI配置 loadConfig(); if(config.Default_Tag != Default_Config.Default_Tag) //判断是否初始化配置 { config = Default_Config; saveConfig(); } Serial.printf("ssid:%s\n",config.stassid); Serial.printf("pasword:%s\n",config.stapsw); Serial.printf("mac:%x:%x:%x:%x:%x:%x\n",config.mac[0],config.mac[1],config.mac[2],config.mac[3],config.mac[4],config.mac[5]); //启动AP delay(500); wifi_set_macaddr(SOFTAP_IF, config.mac); delay(500); WiFi.mode(WIFI_AP); if(config.stapsw[0] == '\0') WiFi.softAP(config.stassid, NULL); else WiFi.softAP(config.stassid, config.stapsw); //设置wedserver回调 server.on("/",HTTP_GET, homepage); server.on("/result.html",HTTP_GET, config_result); server.on("/config.html",HTTP_GET, query_par); server.onNotFound(handleNotFound); //启动服务 server.begin(); } //十六禁止格式判断,传输数据指针 bool hex_jud(char *str) { if((str[0] > '9') || (str[0] < '0')) //一个如果不是数字,则判断是否是A-F { if((str[0] > 'F') || (str[0] < 'A')) { if((str[0] > 'f') || (str[0] < 'a')) { return false; } } } if((str[1] > '9') || (str[1] < '0')) //一个如果不是数字,则判断是否是A-F { if((str[1] > 'F') || (str[1] < 'A')) { if((str[1] > 'f') || (str[1] < 'a')) { return false; } } } return true; } /**************************************** *函数名称:saveConfig *函数功能:保存配置信息 *输入参数:无 *输出参数:无 *备 注: *****************************************/ void saveConfig() //保存配置函数 { EEPROM.begin(1024); //申请1024的内存 配置保存在前256 uint8_t *p = (uint8_t *)(&config); for (int i = 0; i < sizeof(config); i++) { EEPROM.write(i, *(p + i)); } EEPROM.commit(); } /**************************************** *函数名称:loadConfig *函数功能:读取配置信息 *输入参数:无 *输出参数:无 *备 注: *****************************************/ void loadConfig() { EEPROM.begin(1024); uint8_t *p = (uint8_t *)(&config); for (int i = 0; i < sizeof(config); i++) { *(p + i) = EEPROM.read(i); } EEPROM.commit(); } //acsii转十六进制格式 uint8_t acsii_hes(char *str) { uint8_t h; uint8_t l; if((str[0] <= '9') && (str[0] >= '0')) h = str[0] - '0'; else if((str[0] <= 'F') && (str[0] >= 'A')) h = str[0] - 'A' + 10; else if((str[0] <= 'f') && (str[0] >= 'a')) h = str[0] - 'a' + 10; if((str[1] <= '9') && (str[1] >= '0')) l = str[1] - '0'; else if((str[1] <= 'F') && (str[1] >= 'A')) l = str[1] - 'A' + 10; else if((str[1] <= 'f') && (str[1] >= 'a')) l = str[1] - 'a' + 10; return (h << 4) | l; } //自定义主页访问处理函数 void homepage() { server.send(200, "text/html", home_page_str); Serial.println("用户访问了主页"); } //查SSID接口 void query_par() { char str[256]; sprintf(str,"const config = {\"ssid\":\"%s\",\"password\":\"%s\",\"mac\":\"%2X:%2X:%2X:%2X:%2X:%2X\"}",config.stassid,config.stapsw,config.mac[0],config.mac[1],config.mac[2],config.mac[3],config.mac[4],config.mac[5]); server.send(200, "text/html", str); } //查WIFI密码接口 void read_stapsw() { server.send(200, "text/plain", config.stapsw); } //查mac接口 void read_mac() { char str[50]; sprintf(str,"%2X:%2X:%2X:%2X:%2X:%2X",config.mac[0],config.mac[1],config.mac[2],config.mac[3],config.mac[4],config.mac[5]); server.send(200, "text/plain", str); } //配置接口 void config_result() { char ssid[32]; char password[64]; char mac[64]; char str[512]; int len; int i; //取出所有信息 sprintf(ssid,"%s",server.arg("ssid").c_str()); sprintf(password,"%s",server.arg("password").c_str()); sprintf(mac,"%s",server.arg("mac").c_str()); Serial.printf("ssid:%s\n",ssid); Serial.printf("pasword:%s\n",password); Serial.printf("mac:%s\n",mac); //校验密码长度 len = strlen(password); if((len < 8) && (len != 0)) { sprintf(str,"<html><meta charset=\"utf-8\"><body><p>密码长度错误,长度:%d<b></body></html>",len); server.send(200, "text/html",str); return; } //校验MAC格式 len = strlen(mac); Serial.printf("maclen:%d\n",len); if(len != 17) //校验总长度 { server.send(200, "text/html","<html><meta charset=\"utf-8\"><body><p>mac格式错误<b></body></html>"); return; } for(i = 0; i < 5; i++) //校验: { Serial.printf("mac:%d\n",mac[i*3+2]); if(mac[i*3+2] != ':') { server.send(200, "text/html","<html><meta charset=\"utf-8\"><body><p>mac格式错误<b></body></html>"); return; } } for(i = 0; i < 6; i++) //校验是否十六进制 { if(hex_jud(&mac[i*3]) == false) { server.send(200, "text/html","<html><meta charset=\"utf-8\"><body><p>mac格式错误<b></body></html>"); return; } } //保存信息 len = strlen(ssid); for(i = 0; i < 32; i++) //先清除原有配置 config.stassid[i] = 0; for(i = 0; i < len; i++) config.stassid[i] = ssid[i]; len = strlen(password); for(i = 0; i < 32; i++) //先清除原有配置 config.stapsw[i] = 0; for(i = 0; i < len; i++) config.stapsw[i] = password[i]; for(i = 0; i < 6; i++) //十六进制 { config.mac[i] = acsii_hes(&mac[i*3]); } saveConfig(); server.send(200, "text/html", "<html><meta charset=\"utf-8\"><body><p>设置成功,设备重启<b></body></html>"); delay(500); system_restart(); //复位 } // 设置处理404情况的函数'handleNotFound' void handleNotFound() { // 当浏览器请求的网络资源无法在服务器找到时, server.send(404, "text/plain", "404: Not found"); // NodeMCU将调用此函数。 } void loop() { //监听客户请求并处理 server.handleClient(); }
2022年12月08日
44 阅读
0 评论
0 点赞
2022-11-30
EPS8266刷固件,清除Flash
关于使用Arduino给8266烧录程序后,8266无法使用AT指令,刷固件教程由于之前使用8266的时候,用过Arduino烧录过程序,导致无法使用AT指令集,本文将带给大家最详细的清除Flash的教程,学不会你顺着网线来找我。在写文章之前,已经踩过很多雷了,在网上一搜如何清除Flash的时候,大多数都是使用Python,既不方便使用,也不易操作。其实安信可官方网站已经有提供了相应的固件清除程序。下载:https://docs.ai-thinker.com/esp_download在页面找到这两个,下载烧录软件和 文件。文件在页面的最下方。下载完成解压后找到这个ESP_DOWNLOAD_TOOL_V2.4.exe执行文件打开它使用:1.选择ESP82662.根据我所示的图片修改为以下的配置根据这个顺序找到相应的烧录文件填写入Download Path Config这里需要根据你自己不同的8266芯片的FLASH选择不同的FLASH的大小路径的地方选择下载的Ai-Thinker_ESP8266_DOUT_8Mbit_v1.5.4.1-a_20171130_bin文件的路径地址写0x00000下面的COM端口号,根据自己电脑选择,波特率设置为115200设置好之后,点start,烧录完成会出现FINISH即完成。这样就擦除了8266的FLASH,AT指令集可以正常使用。软件和固件打包下载:{cloud title="" type="default" url="https://neictop-1256272185.cos.ap-guangzhou.myqcloud.com/2022/11/30/1669821489.zip" password=""/}
2022年11月30日
9 阅读
0 评论
0 点赞
2022-11-18
此内容被密码保护
加密文章,请前往内页查看详情
2022年11月18日
13 阅读
0 评论
0 点赞
2018-09-05
基于ESP8266-01开发wifi钓鱼器
声明:此教程仅用于测试和自己玩,请勿用于非法用途,否则后果自负。至于无线网络安全方面大家都了解 802.11W 这个协议漏洞吧?黑客们经常利用这个漏洞对 wifi 用户发动 deauth 攻击来解除合法 wifi 用户的无线认证关系,从而使 wifi 用户无法连接到自己家的 wifi。运行于 Kali 系统平台上的钓鱼渗透测试工具 wifiphisher 正是利用了这个漏洞,对目标 wifi 进行 deauth 攻击使用户连接不上自己家 wifi,同时伪造一个与目标 wifi 同名,同信道,无密码的钓鱼 wifi,在这种情况下用户很有可能会连接上 wifiphisher 伪造的钓鱼 wifi。一旦用户连接上伪造的钓鱼 wifi,用户手机会自动弹出钓鱼页面,并且无论用户进入任何网址(https 除外)都会被重定向到钓鱼页面。当用户在钓鱼页面上输入 wifi 密码并且确认时,wifi 密码会被显示在电脑屏幕上。但是由于 wifiphisher 使用麻烦,所需工具也比较多,所以用它来进行钓鱼渗透测试的人不多。因此我用 esp8266 做一次钓鱼渗透测试,在这里我给大家分享一下我的经验。先请出主角 ESP8266-01 和烧录调试器准备工作给电脑打上ESP8266-01驱动CH341SER.zip短接GND-100进入烧录模式将烧录器连接到电脑并查看其端口下载烧录器及固件wifi钓鱼固件及烧录器.zip,并打开.在config项设置好固件目录和烧录地址 0x00000回到operation项确定好端口设置完成点击Flash 开始烧录,一会等进度条走完 显示绿色钩说明已经烧录成功。烧完后如果正常的话电脑会多出来一个叫WIFIMMDY的WIFI,这个wifi就是esp8266发出来的,如果没有显示,请给esp8266重新上电,等个几秒钟就会显示出来。此时你就可以连接WIFIMMDY了,但是还没什么用,WIFIMMDY的密码为:hackerbyljh如果烧录不成功估计你要可能擦除下flash了,擦除flash的方法请参考本站的另一篇文章 ESP8266清理flash 由于步奏比较多,我就不一一详述了然后电脑连接WIFIMMDY,浏览器输入http://192.168.0.1/backdoor.html 就能进入web页面了,如下图,经测试,路由器型号选择通用型成功率比较高点,然后输入wifi编号,点确定,提示SSID伪造成功,手机就会发现伪造了个和你攻击的wifi一样的wifi,原来HH的wifi会不见了,8266的蓝灯常亮,手机连接那个wifi后自动弹出路由器升级的页面,然后输入wifi密码,点击开始升级,此时你的esp8266会将密码保存,升级完后,8266的灯就会灭掉到此,整个esp8266制作钓鱼wifi的教程到此结束,祝大家玩的开心!!!
2018年09月05日
2,163 阅读
0 评论
0 点赞
网站已运行
00
天
00
时
00
分
00
秒
Powered by
Typecho
※ Theme is
RST网络
桂ICP备18006850号-1