手机,电脑的蓝牙传送文件

本文介绍蓝牙传送文件,手机之间,电脑之间,手机与电脑之间。 现在一般手机和笔记本电脑都带有蓝牙功能,但其功能很多人都不曾使用,我就是这样。蓝牙传送不需要网络,要求低,只要你会使用。我一直想使用这个功能,可直到前几天才学会使用。既然学会了,就介绍给大家,也给我做个笔记,否则过些天又不知道使用了。 一,蓝牙手机 首先要打开手机的蓝牙功能,平常大家不用蓝牙的时候一般处于关闭状态,需要的时候才开启,这样比较省电不是。 打开蓝牙 打开蓝牙于两种方法,一种是通过快捷方式,比如桌面的蓝牙开关等以及状态栏的下拉菜单,还有一种是菜单设置里的蓝牙选项,选择打开蓝牙 设置蓝牙,配对蓝牙 在蓝牙界面里按菜单键可以看到设备名称、开关,接受到的文件,已配对的设备,可用设备。不同手机可能不一样,但会有不同的方式显示以上项目。设备名称可以把手机命名为自己喜欢的容易识别的名称 比如“我的手机”“liwenz9i”等。蓝牙开关,打开时,当前可被附近的蓝牙设备发现,此时需要配对的另一台手机也设置好并处于可检测状态就能在可用设备里检测到了.。接收的文件,可以查看你接收到的文件。已配对的设备,列出已配对的设备,你可以取消配对或者设置些共享,点击可以连接,这也包括音响设备。可用设备,列出可用设备,可用设备可以设置为配对设备。 检测到需要配对的手机后,点击设备名称-选择配对。此时会在两台设备显示蓝牙配对请求界面,核对好秘钥之后选择“配对”就配对好了手机,之后再次使用蓝牙传输文件就不需要再次匹配了。 使用蓝牙发送文件 配对好之后就能在两台手机间传输任何可读取的文件了,比如照片、音乐、视频、APK包等等。 打开文件管理器,选择需要传输的文件-按更多-选择分享就能看到如下的一个菜单,如果有安装其他的设计软件并带有分享功能就能在菜单里看到了。 点击蓝牙后就跑到蓝牙界面,选择要发送的蓝牙设备,文件就处于传输状态了。此时在接受方手机要选择接受操作才能完成传输操作。如果接收方是电脑必须先设置为蓝牙接收状态,否则发送失败。 蓝牙手机文件接收:蓝牙手机在被蓝牙发送文件时,在手机状态栏有个下载的状态符号,点击就看到如下信息,询问是否接收文件,选择接受则接收文件。文件位置在本地内部存储->bluetooth。设置蓝牙里的接收文件也可看到。 二,蓝牙电脑 手机的蓝牙功能非常的方便,可以省去数据线的麻烦,直接就可相互传输文件。对于蓝牙功能,现在的笔记本电脑上同样拥有,我们也可以像手机一样,让电脑通过蓝牙来传输文件。有很多朋友在使用笔记本的蓝牙时不会用使得蓝牙功能一直搁置没有使用,下面就介绍一下笔记本的蓝牙是如何传输文件的。 将电脑的蓝牙打开,如果你的电脑有手动的蓝牙开关的话,那么就手动打开,一般都是开机自动启动的。如果你的蓝牙不是开机启动的话,那么就需要到服务里打开,让其开机自动启动。 将电脑的蓝牙设置里面的允许Bluetooth设备查找的选项勾选。 这个选项勾选后别的设备才可以搜索到你的电脑,否则是无法连接的。 在接受文件之前的必要的一步,将蓝牙选项中的接受文件界面打开,否则你是接受不到文件的。打开的方法,右击电脑右下角的蓝牙的图标,选择接收文件。 电脑蓝牙发送,打开蓝牙,选择发送一个文件,选择你要发送的文件,选择你的目标蓝牙设备,可能手机或电脑。也可以资源管理器,选择好文件,可以多选,右键,Send To(发送),选择蓝牙设备。 蓝牙电脑接收界面,在你接收到一些文件后,接收文件界面如下,你需要选择文件存放目录,并最后确认Finish,文件才被最后接收。 特别说明,电脑接收文件必须先打开蓝牙文件接收状态,手机不用,但文件发送后接收方必须确认接受。

SphereFace论文翻译——中英文对照+标注总结

SphereFace: Deep Hypersphere Embedding for Face Recognition 文章目录 SphereFace: Deep Hypersphere Embedding for Face Recognition Abstract 摘要 1. Introduction 1.介绍 2. 相关工作 3. Deep Hypersphere Embedding 3.1. Revisiting the Softmax Loss 3.深度超球面嵌入 3.1 回顾Softmax Loss 3.2. Introducing Angular Margin to Softmax Loss 3.2. 将角间隔引入Softmax loss 3.3. Hypersphere Interpretation of A-Softmax Loss 3.3 A-Softmax loss的超球面解释 3.4. Properties of A-Softmax Loss 3.4. A-Softmax Loss的属性 3.5. Discussions 3.5. 讨论 4. Experiments (more in Appendix) 4.

图像色彩增强之python实现——MSR,MSRCR,MSRCP,autoMSRCR

转载请注明出处:https://blog.csdn.net/weixin_38285131/article/details/88097771 最近在做街景图象色彩校正方面的工作,对于过暗,过曝光,以及背光等现象,用过一些gamma校正以及其他的方法,最终选择基于Retinex原理的方法对这几种现象都有一定的增强效果。 Retinex理论基于一下假设: 1.真实世界是无颜色的,我们所感知的颜色是光与物质的相互作用的结果。我们见到的水是无色的,但是水膜—肥皂膜却是显现五彩缤纷,那是薄膜表面光干涉的结果。 2.每一颜色区域由给定波长的红、绿、蓝三原色构成的; 3.三原色决定了每个单位区域的颜色。 Retinex理论的基础理论是物体的颜色是由物体对长波(红色)、中波(绿色)、短波(蓝色)光线的反射能力来决定的,而不是由反射光强度的绝对值来决定的,物体的色彩不受光照非均匀性的影响,具有一致性,即retinex是以色感一致性(颜色恒常性)为基础的。不同于传统的线性、非线性的只能增强图像某一类特征的方法,Retinex可以在动态范围压缩、边缘增强和颜色恒常三个方面达到平衡,因此可以对各种不同类型的图像进行自适应的增强。 40多年来,研究人员模仿人类视觉系统发展了Retinex算法,从单尺度Retinex算法,MSR改进成多尺度加权平均的MSR算法,再发展成彩色恢复多尺度MSRCR算法和色彩增益加权的AutoMSRCR算法。 主要算法公式介绍可以参考如下博客: https://blog.csdn.net/ajianyingxiaoqinghan/article/details/71435098 我再对这几种方法稍稍总结一下: 一丶单尺度的Retinex——SSR 可以理解为图像分解,一幅图像S(x,y)可以分为他的光照图象 I(x,y)和反射图像R(x,y),反射图象是根据物体本身的反射特性,所以基本不会发生变化,光照图像是根据环境明暗来决定的。 只看公式的话感觉一下就看懵逼了,我感觉就三个步骤: 1)将图像进行log变换 2)然后将log图像进行高斯模糊 3)利用原图和模糊之后的log图像做差分 二丶多尺度的Retinex——MSR 通俗解释:就是再多个单尺度Retinex做平均,区别是在第二步高斯模糊是选择的sigma是不同的 原始图像进行三次SSR 高斯模糊选择15,80,200作为高斯模糊sigma参数 对三次的SSR结果做平均即为MSR图像 三丶彩色恢复多尺度Retinex——MSRCR,MSRCP等 对多尺度MSR结果做了色彩平衡,归一化,增益和偏差线性加权 四丶参数说明 { “sigma_list”: [15, 80, 200],多尺度高斯模糊sigma值 “G” : 5.0,增益 “b” : 25.0,偏差 “alpha” : 125.0, “beta” : 46.0, “low_clip” : 0.01, “high_clip” : 0.99 } 五丶图像增强结果: 六丶代码 retinex.py import numpy as np import cv2 def singleScaleRetinex(img, sigma): retinex = np.log10(img) - np.log10(cv2.GaussianBlur(img, (0, 0), sigma)) return retinex def multiScaleRetinex(img, sigma_list): retinex = np.

Tor源码阅读与改造(一)

原文链接: http://www.cnblogs.com/flycat-2016/p/10468626.html 0x00 前言 由于公司需求,需要掌握洋葱网络的整体架构和部分详细实现细节,并对Tor进行针对性的改造。在查询Tor官方相关文档和google各种网站后,得到的信息仍无法达到目的,所以便开始了阅读Tor源码的旅程。 Tor的源码可以在官网直接进行下载,URL地址为: https://www.torproject.org/download/download.html.en 虽然Tor源代码代码量较大,但是其代码风格非常的严谨和规范,包括代码结构、函数变量命令方式以及注释等。所以在熟悉Tor代码的套路之后,阅读起来虽然会花一些时间,不过阅读起来非常的舒服。 0x01 利器 所谓 “工欲善其事必先利其器”,虽然Tor代码很规范,但是毕竟代码量较大(估算几十万行),并且都是用C语言进行实现的。阅读源码的IDE可不能直接用普通的代码编辑器比如sublime,笔者选择了Source Insight 作为阅读工具: 该工具除了常见的语法高亮显示,有一个非常棒的功能:自动查找函数调用关系,如上图红框,这对于梳理清楚代码逻辑很有用。 另外静态阅读代码时,会遇上一个函数被众多的函数所调用,拥有众多的函数调用链,此时仍然需要借助于动态调试。因为Tor源码在windows下编译较为繁琐,笔者并没有去折腾这条路,而是选择了linux平台,用gdb作为动态调试工具。 此外,官方的日志永远是最重要的,这能帮助理解Tor的运行流程。但是Tor默认的日志级别并不高,内容不够详细,可以参考这里将日志级别提高: https://www.torproject.org/docs/faq.html.en#Logs 最后,虽然Tor官方文档并没有满足笔者需求,但是对理解代码逻辑仍然具有非常重要的参考意义,这里列出一些有用的: 1. https://metrics.torproject.org/rs.html 这里面有Tor一些公开数据,比如节点总数,各类节点的具体信息等。 2. https://gitweb.torproject.org/torspec.git/tree/ Tor官方对各类模块实现的技术文档 3. https://www.torproject.org/docs/tor-manual.html.en Tor命令行和配置文件的参考手册 0x02 后续 接下来的几篇文章,笔者会将Tor的整体架构和部分功能模块(加解密、链路复用、长连接、hidden service等),以及Tor改造方法实现细节都分享一下。 by:会飞的猫 转载请注明:http://www.cnblogs.com/flycat-2016 转载于:https://www.cnblogs.com/flycat-2016/p/10468626.html

VTK图像处理颜色映射(三)

颜色映射的操作对象是数据集中的标量属性。它是一种常用的 标量算法。它会根据数据集中各个部分不同的标量值,对各个部分上不同的颜色。与此相关的另一种上色方法是控制演员的颜色属性,但这样整个图形只有单一的颜色,这显然没有颜色映射方法灵活。 下面会介绍一下: ScalarBar的用法,可以根据自己的需要来设置scalarBar的属性。 ScalarBar和lookupTable结合使用方法 1 ScalarBar的用法 virtual int IsA(const char * type) 如果此类与指定类的类型(或子类)相同,则返回1。 void PrintSelf(ostream&os,vtkIndent indent) print调用的方法打印有关对象的信息,包括超类。 int HasTranslucentPolygonalGeometry() 这个道具有一些半透明的多边形几何形状吗? void ReleaseGraphicsResources(vtkWindow *) 释放此actor所使用的所有图形资源。 virtual void GetScalarBarRect(int rect [4],vtkViewport * viewport) 使用视口坐标中标量条的尺寸填充rect。 void ShallowCopy(vtkProp * prop) vtkProp的浅拷贝。 int RenderOpaqueGeometry(vtkViewport * viewport) 将标量栏和注释文本绘制到屏幕上。 int RenderTranslucentPolygonalGeometry(vtkViewport *) 将标量栏和注释文本绘制到屏幕上。… int RenderOverlay(vtkViewport * viewport) 将标量栏和注释文本绘制到屏幕上 virtual void SetLookupTable(vtkScalarsToColors *) 设置/获取要使用的查找表。 virtual vtkScalarsToColors * GetLookupTable() 设置/获取要使用的查找表。 virtual void SetUseOpacity(vtkTypeBool) 显示不透明度。 virtual GetUseOpacity() 获取不透明度。

网易WEB白帽子-WEB安全基础

网易WEB白帽子 02..WEB安全基础 1.钓鱼 诱惑性的标题,仿冒真实网址,骗取用户账户,骗取用户资料 2.网页‘篡改’ hacked by Intitle : keyword 标题中还有关键字的网页 Intext : keyword 正文中还有关键字的网页 Site : domain 在某个域名或者子域名下的网页 3. 暗链 隐藏在网站中的链接 网游/医疗/博彩/色情 提高网站排名 4. Webshell(后门) web后门获取权限 XSS 跨站脚本 黑客通过‘HTML’篡改网页,插入恶意脚本,当用户在浏览网页时,实现控制用户浏览器行为的一种攻击方式。 XSS分类 存储型 访问网站,触发XSS(Firebug插件) < img src = ‘’#‘’onerror = ‘alert(hello)’> # 不是一个有效的图片,导致加载失败,进而触发事件 反射型 访问携带带有XSS脚本的链接,触发XSS 通过后端WEB应用程序将XSS脚本,将XSS脚本写入响应页面中,在浏览器在响应页面时触发XSS DOM型 访问携带带有XSS脚本的链接,触发XSS(不在URL参数中,在URL的哈希中)哈希的#分隔符 前端用JavaScript将XSS脚本写入DOM中,触发XSS CSRF 跨站请求伪造 利用用户已登录的身份,在用户不知道的情况下,以用户的名义完成非法操作。 点击挟持 通过覆盖不可见的框架诱导受害者点击而造成的攻击行为。 iframe UI-覆盖 URL跳转 借助未未验证的URL跳转,将应用程序引导到不安全的第三方区域,从而引导的安全问题。 Header头跳转 Javascript跳转 META标签跳转 SQL注入 访问修改数据,或者利用潜在的数据库漏洞进行攻击 命令注入 CURL命令 D:\test>curl -I "http://www.163.com" HTTP/1.0 302 Moved Temporarily Allow: GET,POST,HEAD MIME-Version: 1.

(TOR)内部架构

如图1所示,以便于了解内部流程如何影响流经Tor中继的客户端流量。[1] 1 TCP连接(connection)的多路复用。Tor中的所有中继使用成对TCP连接进行通信,即每个中继与彼此通信的每个中继形成单个TCP连接。 由于一对继电器可能同时为多个电路(circuit)传送数据,因此该对之间的所有电路都通过其单个TCP连接进行多路复用。 每个电路可以承载用户可能正在访问的多个服务或流(stream)的流量。 TCP在多路复用连接时提供可靠性,在中继之间按顺序传送数据包,以及可能不公平的内核级拥塞控制[47]。 了解连接,电路和流这三者的不同对于理解Tor非常重要。 2 TCP连接输入。 Tor使用libevent处理内核TCP缓冲区的输入和输出。 Tor使用libevent注册要读取的套接字,并配置通知回调函数。 当数据到达内核TCP输入缓冲区时(figure 1a),libevent通过其轮询接口了解活动套接字,并异步执行相应的回调(figure 1b)。 执行时,读取回调使用令牌桶确定读取资格。 令牌桶用于限速连接。 Tor按照配置的带宽限制以1秒的间隔填充桶,同时在读取数据时从桶中移除令牌,尽管目前正在探索改变该间隔以提高性能[53]。 有一个全局读取存储区限制了从所有连接读取的带宽,以及一个单独的存储区,用于基于每个连接进行限制(figure 1c)。 如果全局存储桶或其连接存储桶为空,则连接可能会忽略读取事件。 实际上,每连接令牌桶仅用于边缘(非中继)连接。 连接限制通过惩罚噪声连接(例如批量传输)来减少网络拥塞,并且通常会带来更好的性能[17]。 当TCP输入缓冲区符合读取条件时,循环(RR)调度机制用于读取每个连接中16 KiB和18个全局令牌桶大小中较小的一个(figure 1d)。 这种限制是为了公平起见,因此单个连接不能消耗单个读取上的所有全局令牌。 然而,最近的研究表明,输入/输出调度会导致不公平的资源分配[54]。 从TCP缓冲区读取的数据放在每个连接的应用程序输入缓冲区中进行处理(figure 1e),具体来说,在数据到达连接输入缓冲器之后,立即将单元重新排列到它们各自的电路队列中(按FIFO顺序),在那里它们等待进一步处理。这也是用于确保匿名的加密操作的地方。正如之前的工作所表明的那样,这些操作并不是性能瓶颈[61]。因此可以在这里安全地忽略它们。 3 流量控制。 Tor使用端到端流量控制算法来帮助保持稳定的电池流过电路。客户端和出口继电器构成电路的边缘:每个都是穿过Tor网络的数据的入口和出口点。边缘使用称为窗口的单元计数器跟踪电路和流的数据流。入口边缘在发送信元时递减相应的流和电路窗口,当其流窗口达到零时停止从流中读取,并且当电路窗口达到零时停止从电路上复用的所有流中读取。在从出口边缘接收到SENDME确认信元时,Windows递增并且恢复读取。 默认情况下,电路窗口初始化为1000个单元(500 KiB),流窗口为500个单元(250 KiB)。在出口边缘接收100个信元(50 KiB)后,电路SENDME被发送到入口边缘,允许入口边缘读取,打包和转发100个附加信元。在接收50个小区(25 KiB)之后发送流SENDME并允许另外50个小区。窗口大小会对性能产生重大影响,最近的工作提出了一种动态计算它们的算法[7]。 4 细胞处理和排队。 数据在到达连接输入缓冲区时立即被处理(figure 1f),并且每个单元根据其通过电路的方向加密或解密。 然后将单元切换到与下一跳相对应的电路上,并放入电路的先进先出(FIFO)队列(figure 1g)。 单元在电路队列中等待,直到电路调度器选择它们进行写入。 5 调度。 当连接的输出缓冲区中有可用空间时,继电器决定选择多个多路复用电路中的哪一个进行写入。 虽然历史上这是使用循环法完成的,但最近在Tor [52]中引入了新的指数加权移动平均(EWMA)调度程序,并且目前默认使用(figure 1h)。 EWMA记录它为每个电路调度的数据包数量,随着时间的推移呈指数衰减数据包计数。 调度程序在从具有最低数据包计数的电路中选择的时间写入一个单元,然后更新计数。 衰减意味着最近发送的数据包对计数的影响更大,而突发流量不会显着影响调度优先级。 6 连接输出。 已选择并写入连接输出缓冲区的单元(figure 1i)会激活为该连接注册libevent的write事件。 一旦libevent确定可以写入TCP套接字,就会异步执行写回调(figure 1j)。 与连接输入类似,中继检查全局写入桶和每个连接写入桶的令牌。 如果存储桶不为空,则连接符合写入条件(figure 1k),并且允许再次写入每个连接的16 KiB和1 8全局令牌桶大小(figure 1l)。 数据被写入内核级TCP缓冲区(figure 1m)并发送到下一跳。 参考文献: [1] Jansen R, Syverson P, Hopper N.

pyqt5练习——海康摄像头登录信息界面

环境 PyQt 5.11.2 Python 3.6 分析 海康摄像头开发,其中一部分需要用户手动输入IP、端口号、用户名、密码等信息,这些信息可以单独写成一个设置窗口,从窗口获取信息,并传入主窗口,方便后续开发。 窗口UI 实现功能 对于IP地址、端口号、用户名、密码,能够根据正则表达式控制用户的输入类型,设置输入长度; 对于密码,可以设置明文、暗文显示 当用户输入完成后,判断IP地址、端口号、用户名、密码信息是否按要求类型载入到系统变量,为后续传参做准备。 对于某一项输入类型不合要求,弹窗提示,不会载入系统变量 代码 from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * import sys import threading window_width = 1920 window_height = 1080 button_width = 48 class Setting(QWidget): valid_signal = pyqtSignal() def __init__(self): super(Setting, self).__init__() self.ip = '' self.port = '' self.user = '' self.passwd = '' self.widgets = [] self.ip_label = QLabel(self) self.ip_label.setFixedHeight(32) self.ip_label.setText("ip地址:") self.widgets.append(self.ip_label) self.

(TOR)第二代洋葱匿名网络 简介

第二代洋葱匿名网络Tor简介[1] Tor可能是最受欢迎的在线匿名服务。Tor基于源自Chaum的Mix网络概念,沿着洋葱路由的安全加密路径,将数据打包成相同大小的单元。其中每个路由仅知道其前驱和后继路由器,通过电路上洋葱路由器的有限信息实现匿名。在匿名链路的每一跳中,根据流的方向逐层加密或解密。没有中间节点能够读取单元内容,并且单元总是改变外观,使得流不能通过网络观察链接到用户。 具体来说,客户端首先通过三个洋葱路由扩展电路:客户选择一个持久的入口路由作为其第一个节点,选择一个新的随机中间节点,并选择最后一个退出节点,使其能够连接到Tor网络外部的目标Internet服务。洋葱路由通过电路在两个方向上转发流量,进行客户端与其通信对等体之间的通信。[2] Tor的受欢迎程度部分归功于其设计提供的灵活性:外部对等方不需要运行Tor,甚至不需要知道客户端是通过Tor网络连接的。但是,连接到外部对等方的客户端仍必须依赖现有的DNS和SSL / TLS证书身份验证系统,而外部对等方本身不是匿名的。为了缓解这些问题,Tor还开发并维护了一个洋葱服务协议,这是一种通信模式,用户及其对等方都运行Tor并构建连接在一起的电路。所有通信都是Tor网络的内部通信,因此用户及其对等方都享有匿名和端到端加密,而不依赖于外部不安全的名称和证书身份验证系统。[2] 1.Tor的网络结构 Tor网络由洋葱路由器组成,由志愿者提供。打算使用Tor匿名连接到某个Internet主机的用户选择通常三个洋葱路由器的子集,并在这些路由器之间建立所谓的电路。同时通过Tor网络行进时,用户的数据被封装在细胞固定大小(512个字节)的。这些小区沿着形成电路的洋葱路由器链转发。在沿着电路的一对洋葱路由器之间,小区通过TLS安全的TCP连接,其终止于洋葱路由器。也就是说,用户与该用户连接的主机之间没有端到端的TCP连接。相反,Tor网络充当SOCKS代理。该洋葱路由器之间的TCP / TLS连接是按需透明建立的,因此,对于我们的目的,Tor洋葱路由器网络可以被视为全网状覆盖。 应用层(Tor的洋葱路由器软件)在传入连接上接收信元,应用保持匿名所需的加密操作,然后通过另一个TCP连接沿着电路进一步转发信元。对于此处考虑的问题,非常重要的是要注意来自遍历同一对洋葱路由器的所有电路的所有小区在同一TCP连接上复用。因此,这些TCP连接可以被视为覆盖网络中的链路,其可能同时被潜在的许多用户的电路使用。 Tor用户选择的所谓出口路由器是沿着电路的最后一个洋葱路由器。出口路由器建立与主机的TCP连接以及Tor用户打算匿名连接的端口。因此,联系的主机无法看到用户的IP地址,只能看到退出路由器的地址。来自Tor用户的有效载荷数据通过Tor单元到达; 退出路由器解包这些单元并将数据转发给联系的主机。相反,如果数据从主机向用户传输,则退出路由器将数据打包到Tor单元中,并通过Tor覆盖将这些数据发送给用户。 洋葱路由器的每个运营商都可以配置带宽限制。洋葱路由器不允许使用比此限制更多的带宽。因此,运营商可以控制她想要贡献多少资源,并且可以确保不超过存在的限制,例如,由于提供商合同。通常,Tor中配置的带宽限制低于洋葱路由器物理可用的带宽。事实上,这是Tor设计中隐含的一个重要假设:当今互联网的瓶颈通常不在网络骨干网中,而是在接入链路上。如果配置的限制低于相应的接入链路容量,则TCP拥塞控制和公平性将不会干扰由Tor确定的带宽分配。因此,洋葱路由器运营商应注意配置不太大的带宽限制。在这里,我们主要关注Tor内的调度机制,从而做出相同的假设。 参考文献: [1]TSCHORSCH, F., AND SCHEUERMANN, B. Tor is Unfair–and What to Do About It, 2011. [2]Jansen R, Juarez M, Galvez R, et al. Inside job: Applying traffic analysis to measure Tor from within[C]//Network and Distributed System Security Symposium (NDSS). 2018.

OD跳过验证

1.一个简单的登录程序,将程序仍入OD 2.有中文搜索字符串 3.查看登录成功和失败地址(密码已经出来了) 4. 5。将这里的CALL改成JMP跳到登录成功的PUSH推入第一个参数的地址 6.点击登录程序已经破解密码出现 7.解码得到密码