未找到

未发布 邮件客户端WebMail Pro v7.7.5发布,在线订购限时75折优惠!
by Harriet666 keys 分享 1499999118220
AfterLogic WebMail Pro是基于网页并以脚本开发的邮件客户端。能以前端模式与现有的邮件服务器或内置邮件服务器工作。
 
WebMail Pro7.7.5最新版下载>>>

WebMail Pro


WebMail Pro v7.7.5更新内容
  • 增加SQLite支持(实验)
  • 新增模板功能,分配用于存储模板的文件夹(webmail.allow-template-folders)
  • 修复在5.3.9之前的PHP版本中日期时间计算问题
  • Bug修复
未发布 矢量图形引擎库VectorDraw Developer Framework 更新至v7.7011.0.4
by Harriet666 keys 分享 1494227369959

VectorDraw Developer Framework

VectorDraw Developer Framework(VDF)是一款构建2D、3D图形并用于应用程序可视化的矢量图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。

VectorDraw Developer Framework点击下载>>>

VectorDraw Developer Framework(VDF)v7.7011.0.4更新内容点击查看>>>


未发布 AutoVue 21.0.1新版本特性:支持在没有Applets的浏览器中运行
by Harriet666 keys 分享 1490257298040

21.0.1版本的AutoVue中的一大特色就是可以在没有Applet的浏览器中支持AutoVue。Chrome前一段时间删除了对Applet的支持。Firefox也即将推出。所以这是一个非常重要的功能,允许人们继续使用AutoVue作为Web环境的一部分。

【AutoVue系列产品包含:AutoVue 3D Professional AdvancedAutoVue Electro-Mechanical ProfessionalAutoVue EDAAutoVue OfficeAutoVue 2D Professional

AutoVue 21.0.1增加了对Java Web Start Framework的支持,这允许浏览器轻松运行java应用程序。使用此框架,AutoVue客户端可以作为浏览器之外的单独的应用程序运行,这提供了更高的安全性,并且可以在没有Applet支持的浏览器中使用。

对于用户来说,体验将与以前版本的AutoVue非常相似,你可以在浏览器中单击文档或模型,AutoVue客户端将启动并显示相应的文档或客户端。  

【干货】扫描识别控件Dynamic Web TWAIN在线示例汇总
by Harriet666 keys 分享 1509086706928
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。然后用户可以编辑图像并将图像保存为多种格式,用户可保存图像到远程数据库或者SharePoint。这个TWAIN控件还支持上传和处理本地图像。
 
Dynamic Web TWAIN能够在所有主流浏览器上面进行网页扫描。兼容 Firefox, Mozilla , Chrome , Safari , Opera以及其他的浏览器;目前主要有三个版本:ActiveX, Plugin 和 Mac。
 
本文为大家整理了Dynamic Web TWAIN在线示例,欢迎收藏!
 
Dynamic Web TWAIN在线示例Demo>>>
Dynamic Web TWAIN示例:扫描文档和读取条形码
Dynamic Web TWAIN示例:上传文件并执行服务器端OCR
Dynamic Web TWAIN示例:扫描驱动程序许可证和提取信息
Dynamic Web TWAIN示例:使用jQuery扫描高级查看器的文档
Dynamic Web TWAIN示例:扫描文档并执行服务器端OCR
Dynamic Web TWAIN示例:用扫描仪和网络摄像头捕获图像
Dynamic Web TWAIN示例:使用Thumbnails View扫描文档
Dynamic Web TWAIN示例:使用条形码分离器自动进行文档分类
Dynamic Web TWAIN示例:全功能演示
Dynamic Web TWAIN示例:扫描文件并上传到文件系统

 Dynamic Web TWAIN v13.1最新版下载>>>

未发布 网络通讯控件PowerSNMP for .NET常见问题合集
by Harriet666 keys 分享 1502788489271
PowerSNMP for .NET是用于监视和控制网络设备创建自定义的SNMP管理器。简单网络管理协议(SNMP)采用线程通信机制,安全强、并且具有编码/解码功能,您可以快速开发定制SNMP应用程序。由于开发此工具需要的资源少,灵活性好,所以便于重新使用和维护。
 
PowerSNMP for .NET试用版下载>>>
 
问:PowerSNMP for .NET与其他SNMP产品有什么不同?
答:最新版本的PowerSNMP产品线增加了新的.NET 2.0重新设计,利用新的.NET环境的强大功能,提供了最先进的Internet Communications组件。包含以下功能:
  • SNMP版本1,2和3包含认证、加密/解密
  • RFC 1155,1157,1158,1213,2578,2579,3417和3418中定义的内置对象、标识符、表格、通知和组
  • MIB解析,自定义MIB文件可用于在源代码中生成C#或VB类
  • MIB编译,自定义MIB文件可用于在运行时生成动态类和对象
  • 可轻松实现多线程应用程序的启动方法
  • EncodedMessage属性,用于轻松调试发送和接收的字节以及会话记录
.NET环境已经发展,用户也是如此。客户正在开发更多的ASP.NET应用程序,更多的控制台应用程序和更多的服务应用程序。缺乏UI、伪阻塞和异步方法与这些环境无关。由于这些原因,PowerSNMP for .NET 4.x设计有以下重点:
  • 改进异步支持:传统的PowerSNMP异步支持提供了一种在工作线程上执行的方法,但这需要一个信号机制来指示何时完成操作。这导致了难以维护的事件驱动代码。通过新的设计,代码占用更少的资源并且更加灵活。
  • 改进.NET 2.0功能:PowerSNMP 4.x已经充分利用了.NET 2.0中引入功能。现在大多数用户已经从.NET 1.x迁移,可以升级PowerSNMP并兼顾兼容性。当然,.NET 1.x产品线仍可在.NET 1.x环境中使 用以支持旧版应用程序。
  • 支持.NET CF(Compact Framework):通过新的设计,全面支持Compact Framework。

问:试用版与许可版本有什么不同?
答:在开发期间,产品“试用”版本和许可版本之间没有区别。
在运行时,没有有效的开发者许可证创建的应用程序将定期显示一条试用消息。除了这个消息之外,功能没有区别。

问:示例是否随产品一起发送?
答:当然。我们发送将CSharp和Visual Basic .NET中的完整应用程序(不仅仅是简单的技术演示)作为Windows应用程序和Web应用程序。
 
问:PowerSNMP是否完全支持从表格中获取值?GetBulk怎么样?
答:以上都支持。PowerSNMP包括高级表格检索方法,完全支持版本2命令(如GetBulk)。
 
问:应用程序如何使用Manager控件?
答:一个典型的应用程序会将所有代理的IP地址存储在网络上,并且会按照时间表从代理收集统计信息。应用程序的地址也可能会被注册到代理以设置陷阱,因此管理员将以异步方式(动态地)通知重要的代理事件。信息将被记录到文件中,并通过用户界面动态显示。
 
问:应用程序如何使用代理控件?
答:假设PC主机正用于控制硬件设备。你可以创建一个代理,被查询时将通过硬件设备的统计信息进行响应。该概念可以扩展到提供由主机收集和提供的任何类型的信息(使用SNMP标准)。
 
问:我可以创建一个作为Microsoft操作系统代理的子代理吗?
答:通常不能。代理商通常使用“知名”端口161进行通信。由于Microsoft的代理将使用此端口,你的应用程序将必须使用非标准端口,并且你的管理器必须配置为检查你的非标准端口(可以在某些情况下进行,但不常见)。
 
问:当我建立VS.NET 2008 Website时,为什么会出现“尝试反序列化一个空的流”的异常?
答:网站为组件许可创建一个App_Licenses.dll,必须与应用程序一起分发。由于一个明显的VS.NET 2008错误,这个dll在64位操作系统编译时是错误的。为了解决这个问题,可以更换2008 Website中的App_Licenses dll。 
 
选项包括:
a)使用相同的控件/组件在相同(许可)机器上编译2005 Website
b)在32位计算机上编译2005或2008 WebSite,前提是该机器也获得许可(Dart Developer许可证允许安装在最多两台机器)
从以上的选项中选一个替换有缺陷的App_Licenses.dlll,并且网站应该在没有问题的情况下构建和部署。不要删除新的dll,否则VS.NET将再次创建错误的dll。
未发布 Microsoft更新发布了开发者可用的人工智能服务与工具
by Harriet666 keys 分享 1507615109196
在近期的Ignite大会上,Microsoft发布了多个与人工智能服务及工具相关的更新,其中包括发布Azure ML Experimentation服务、Azure ML Model Management服务、Azure ML Workbench以及Microsoft Cognitive Services的一般可用版(GA)。
 
Microsoft的机器学习平台业已得到了相当可观的采用,但是在服务中也发现了一些问题。Microsoft的高级项目经理(Group Program Manager)Matt Winkler给出了这样的解释:
我们已经部署了成百上千的模型,服务了数十亿次的请求。虽然我们只做了数年,但是已经开始看到一些经常性模式。客户告诉我们他们喜欢这种便捷性,但也提出他们需要对计算和数据具有更大的控制,为模型部署提供更多的选项。客户对框架也有着非常多样化的需求,并希望对模型具有同等程度的管理和部署能力。
 
此次新发布的功能,有望通过在模型的开发和部署方式为客户提供更多控制,解决客户感受到的这些不足之处。
 
Azure ML Experimentation服务

Azure ML Experimentation服务使用了基于Git的检查点和版本控制机制,管理项目依赖和对任务的训练操作,无论这些任务是本地执行的,还是以横向或纵向扩展方式执行的。此外,数据科学家也可以选择使用他们自己的框架,例如TensorFlow、Microsfot CNTK和SparkML等。他们也可以选择自己喜欢的开发工具,例如Microsfot Code、Visual Studio、Jupyter和PyCharm等。该服务还捕获服务端运行的度量、输出日志和模型。
 
Azure ML Model Management服务

Azure ML Model Management服务为客户提供了灵活控制模型部署位置的能力。客户可以使用Docker在本地(On-Premise)或云中部署模型,并具有充分的可移植性。

模型的部署和管理是通过HTTP终端实现的。客户可使用Application Insights监控并洞悉模型的性能。该服务对SparkML、Python、Cognitive Toolkit、TF和R提供了最好的支持,还可通过扩展支持Caffe和MXnet等其它一些工具。
 
Azure ML Workbench

Azure ML Workbench是一种用在Windows和Mac OS X上的人工智能开发工具,其中包括完全的Python和Jupyter环境设置,并嵌入了IPython Notebook。它还提供全面的运行历史,并提供对实验对比的体验。Microsoft还在其中添加了数据整理(Data Wrangling)工具,简化了将数据导入到数据科学实验中的体验。数据整理能力包括数据采样和数据理解,进而在数据上执行转换。上述功能是通过使用PROSE(Program Synthesis Using Examples,一种通过示例准备数据的技术)提供的。
 
Microsoft Cognitive服务

Microsoft还宣布了升级了Cognitive Services平台,其中提供Text Analytics服务的一般可用版(GA)。Text Analytics服务支持开发人员做情感分析,以及从文本中检测关键短语、话题和语言。
更多资讯>>>
未发布 教你防范勒索软件:加强网络环境的6条建议
by Harriet666 keys 分享 1496220831242

今年5月的WannaCry(勒索软件)已经让大家尝尽苦头也让网络安全系统管理员的颜面尽扫。目前来说,安全专家们仍然无法预料WannaCry(勒索软件)将会出现何种变种。对于拥有专门的安全专家的大公司来说,网络安全最起码还有个基本的保障,但对个人用户来说,就只能靠自己来进行防护了。

在这里为大家提供6条加强你的网络环境的建议,这6条建议对组织和个人用户来说,都非常有用,且易于操作。

一、使用LAPS保护你的本地管理员帐户

密码重用的常见原因是Windows工作站和服务器上的本地管理员帐户,这些密码通常通过组策略设置为公用值,或者在构建系统映像时设置为标准值。因此,在一台机器上发现本地管理员密码的攻击者就可以利用这些值访问网络上的所有计算机。

在2015年年中,微软发布了一个解决这个该问题的工具,即本地管理员密码解决方案(LAPS)。此方案是将本地管理员密码存储在LDAP上,作为计算机账户的一个机密属性,配合GPO,实现自动定期修改密码、设置密码长度、强度等,更重要是该方案可以将该密码作为计算机帐户属性存储在Active Directory中。该属性“ms-Mcs-AdmPwd”可以通过ACL锁定,以确保只有经过批准的用户,如控制台和系统管理员可以查看密码。 LAPS还包括一个PowerShell模块和一个后台客户端,LAPS UI,以简化管理和检索过程。


可以提供Microsoft LAPS UI Thick Client来支持可能需要访问本地管理员帐户的人员

LAPS实现起来非常快速简单,只需要要求系统管理员创建一个定义密码策略和本地帐户名称的GPO来管理,可以直接将单个文件AdmPwd.dll添加到Windows上。

本地管理员密码解决方案允许系统管理员定义符合其公司策略的密码
二、查看当前账户是否具备管理员权限

攻击者对具有漏洞的账户进行控制一样可以获得该设备的管理权限,比如用户有时会为了某种访问的需要,进行一些临时访问,但在访问完毕后,用户有时会忘了对这些访问进行删除或监控,以至于被黑客利用。根据我们的经验,很少有用户会把这些临时访问权限进行删除。

敏感帐户,如具有管理员权限的帐户应与普通账户,如员工的账户在查看电子邮件和浏览网页时进行帐户区分。如果用户帐户被恶意软件或网络钓鱼进行了攻击,或者在密码已被泄密的情况下,帐户区分将有助于防止对管理员的权限造成进一步损坏。

具有域管理员或企业管理员资格的帐户应受到高度限制,比如只能用于登录域控制器,具有这些权限的帐户不应再在其他系统上进行登录了。在此,我们建议大家可以基于不同的管理功能来为每个账户设置不同的权限的管理账户,比如 “工作站管理”和“服务器管理”组,这样每个管理员就不具有访问整个域的权限了,这将有助于对整个域的权限保护。

三、简化你的补丁管理

许多攻击包括WannaCry的基本攻击机制,都是针对未修补的系统。所以,不管你的网络是否对外开放,都应该定期更新操作系统和应用程序。虽然这个建议属于老生常谈,但从另一个侧面也说明了该建议的重要性。许多攻击就是利用未修复的漏洞和未更新的系统来大做文章。

对于Windows系统来说,利用Windows Server进行更新服务简单而高效。利用WSUS部署更新程序时,WSUS易于设置,可以设置为自动或手动方式。而利用第三方软件来管理更新就有点不靠谱了,比如一些商业插件就允许WSUS从其他供应商那里修补软件。还有一些比较小众的工具,像Ninite这样的第三方更新工具,既不是自动配置的,也不是免费使用的,但它允许用户从其列表中选择支持的应用程序和运行没有完全选定的应用程序。 Flexera的企业软件检查器和Microsoft的系统中心配置管理器(SCCM)等工具也可以帮助管理第三方应用程序的修补。


Windows Server Update Services向导允许管理员选择要管理的更新类型

使用WSUS,管理员可以自动批准补丁到质量检查环境,或手动批准并分配它们
相关的第三方更新工具下载资源:
https://technet.microsoft.com/en-us/windowsserver/bb332157.aspx
https://technet.microsoft.com/en-us/library/hh852344(v=ws.11).aspx
https://www.flexerasoftware.com/enterprise/products/software-vulnerability-management/corporate-software-inspector/
https://ninite.com/pro
https://www.microsoft.com/en-us/cloud-platform/system-center-configuration-manager
 
四、审核空白和默认密码

Verizon发布的《2016年数据泄露调查报告》显示“63%的已确认的数据泄露事件均涉及到密码口令(password)的丢失、密码口令安全性过低或默认密码未

更改”,所以这个建议是非常重要的。当用户在首次使用设备时,应该先对默认的出厂密码进行修改,如果没有设置密码的要先设置密码,但往往人们会忽

略这些关键的保护手段。攻击者就是利用这些疏忽来进行攻击的,因为一般的出厂默认密码都可以在网络上查到。攻击者可以利用网络设备,如交换机和接

入点上的默认密码来重定向流量,执行中间人攻击,或对网络基础设施执行拒绝服务攻击。

更糟糕的是,内部系统所利用的Web控制台在包含敏感业务数据或系统配置的应用程序中通常使用的都是默认密码。攻击者利用网络钓鱼和常见的恶意软

件的攻击向量就可以绕过安全防护,并且有时候真正的威胁是来自内部人员的恶意行为,所以借着 “内部”这个借口来放松对密码的管理,这个观念是非

常错误的。正确的做法应该是,审核所有登录密码,并进行必要的修改和设置。现在,许多设备和服务都支持双因素身份验证, 建议大家尽量开启。


只是用Google搜索出来的一些默认密码列表 
五、禁用LLMNR和NetBIOS名称解析

链路本地组播名称解析(LLMNR)和NetBIOS名称服务(NBT-NS)都可以导致在启用时快速对域名进行攻击。这些协议最常用在初始DNS查找失败时查找所请求的主机,并且会在默认情况下启用。在大多数网络中,由于DNS的存在,所以LLMNR和NetBIOS名称解析根本就没有必要再用了。当对无法找到的主机发出请求时,例如尝试访问 dc-01的用户打算输入 dc01,LLMNR和NBT-NS就会发送广播,寻找该主机。这时攻击者就会通过侦听LLMNR和NetBIOS广播,伪装成用户(客户端)要访问的目标设备,从而让用户乖乖交出相应的登陆凭证。在接受连接后,攻击者可以使用Responder.py或Metasploit等工具将请求转发到执行身份验证过程的流氓服务(如SMB TCP:137)。 在身份验证过程中,用户会向流氓服务器发送用于身份认证的NTLMv2哈希值,这个哈希值将被保存到磁盘中,之后就可以使用像Hashcat或John Ripper(TJR)这样的工具在线下破解,或直接用于 pass-the-hash攻击。

攻击者中断了一个LLMNR请求,并捕获了user01的密码哈希值

由于这些服务通常不是必需的,因此最简单的措施是完全禁用它们。大家可以顺着计算机配置 – >策略 – >管理模板 – >网络 – > DNS客户端 – >关闭组播名称解析来修改组策略,禁用LLMNR。

启用“关闭组播名称解析”的组策略选项禁用LLMNR

禁用NetBIOS名称解析并不是一件简单的事情,因为我们必须在每个网络适配器中手动禁用“启用TCP / IP NetBIOS”选项,或者运行包含以下wmic命令的脚本:

wico nicconfig其中TcpipNetbiosOptions = 0调用SetTcpipNetbios 2
wmic nicconfig其中TcpipNetbiosOptions = 1调用SetTcpipNetbios 2
不过要注意的是,虽然这些服务通常不是必需的,但一些过去的老软件仍然可以依靠NetBIOS名称解析来正常运行。在运行GPO之前,请务必测试以下禁用这些服务会对你的运行环境有哪些影响。

六、及时了解你的网络设备是否被攻击

如果你登陆过https://www.shodan.io这个网站,你一定会被其中所曝光的敏感漏洞和服务而震惊。与谷歌不同的是,Shodan不是在网上搜索网址,而是直接进入互联网的背后通道。Shodan可以说是一款“...

Shodan所搜集到的信息是极其惊人的。凡是链接到互联网的红绿灯、安全摄像头、家庭自动化设备以及加热系统等等都会被轻易的搜索到。Shodan的使用者曾发现过一个水上公园的控制系统,一个加油站,甚至一个酒店的葡萄酒冷却器。而网站的研究者也曾使用Shodan定位到了核电站的指挥和控制系统及一个粒子回旋加速器。

Shodan真正值得注意的能力就是能找到几乎所有和互联网相关联的东西。而Shodan真正的可怕之处就是这些设备几乎都没有安装安全防御措施,其可以随意进入。

所以如果没有必要就不要把你的设备连接到互联网,不过要知道网络上有哪些型号的设备已经被攻击了,建议大家尝试使用端口扫描之王——nmap进行扫描,端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利用,同时端口扫描还是网络安全工作者的必备的利器,通过对端口的扫描,了解网站中出现的漏洞以及端口的开放情况。比如,像“nmap -sV -Pn -top-ports 10000 1.2.3.4/24”这样的简单扫描可以让我们快速了解攻击者可能看到的内容,利用Shodan和Censys.io这样的工具就可以做到自动搜索这些内容。

Shodan提供了有关公共服务和端口的大量信息

你知道你设备在网络上的运行状态吗?例如,你是否运行了IPv6,更重要的是,该运行状态是你打开的还是黑客打开的? SMBv1是否在你的环境中启用了一个设备?当你对这些运行情况有一个清晰地了解之后,请考虑一下你是否有必要禁用这些监控服务。

阅读原文>>>

未发布 扫描识别工具Dynamic Web TWAIN使用教程:属性/方法/事件介绍
by Harriet666 keys 分享 1511947096620
Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。
本文为你介绍Dynamic Web TWAIN中属性/方法/事件的具体操作代码,欢迎收藏。
 
Dynamic Web TWAIN最新版免费下载>>>
 
当正确实施后,Dynamic Web TWAIN将在页面加载后自动初始化。一旦初始化,你就可以像堆任何正常的JS对象一样控制它。您可以参考我们的在线API文档来查看Dynamic Web TWAIN的所有内置属性、方法和事件。
 
这里有三种使用Dynamic Web TWAIN的方法:

属性

属性用于在运行时从Dynamic Web TWAIN中获取或设置特定的值,例如Resolution、Duplex、IfShowUI等。
1
2
3
/* Property */
/* Scan pages in 200 DPI */
DWObject.Resolution = 200;

方法

方法用于调用Dynamic Web TWAIN对象的内置函数,如AcquireImage、SaveAsJPEG、Rotate等。语法非常简单:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Method
   
///
<summary> /// Rotates the image of a specified index in buffer by a specified angle.
  /// </summary>
///
<param name="sImageIndex" type="short" data-filtered="filtered">
specifies the index of image in buffer. The index is 0-based.
 
///
<param name="fAngle" type="float" data-filtered="filtered">
specifies the angle.
///
<param name="bKeepSize" type="bool" data-filtered="filtered">
specifies whether to keep the original size
///
<returns type="bool" data-filtered="filtered"></returns>
DWObject.Rotate(0, 45, false); // rotate the 1st image in the buffer by 45 degrees

事件

当达到某个触发点时触发事件。例如,OnMouseClick鼠标点击事件等。与属性和方法相比,事件是有点难度的。在这里我们再多谈一下。
 
处理事件
添加一个事件监听器
 
要添加事件监听器,可以使用内置方法RegisterEvent。请参考下面的示例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript" data-filtered="filtered">
Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);
var DWObject;
/* OnWebTwainReady event fires as soon as Dynamic Web TWAIN is initialized and ready to be used. It is the best place to add event listeners */
function Dynamsoft_OnReady() {
   DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
   DWObject.RegisterEvent("OnPostTransfer", Dynamsoft_OnPostTransfer);
}
function Dynamsoft_OnPostTransfer() {
   /* This event OnPostTransfer will be triggered after a transfer ends. */
   /* your code goes here*/
}
</script>
 
在上面的代码中,我们添加了JavaScript函数Dynamsoft_OnPostTransfer()作为事件OnPostTransfer的事件监听器。另外,你可以写这样的代码:
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript" data-filtered="filtered">
Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);
var DWObject;
function Dynamsoft_OnReady() {
   DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
   DWObject.RegisterEvent("OnPostTransfer", function() {
    /* your code goes here*/
   });
}
</script>
 
有参数的事件
一些事件具有参数。以OnMouseClick事件为例:
1
2
/* sImageIndex is the index of the image you clicked on*/
OnMouseClick(short sImageIndex)
 
当您创建相应的JavaScript函数(AKA,事件侦听器)时,可以包含参数并在运行时进行检索。
1
2
3
function DynamicWebTwain_OnMouseClick(index) {
    CurrentImage.value = index + 1;
}

或者
1
2
3
DWObject.RegisterEvent("OnPostTransfer", function(index) {
    CurrentImage.value = index + 1;
});
 
特殊事件 -“OnWebTwainReady”
在所有的内置事件中,有一个特殊事件“OnWebTwainReady”。基本上这个事件在Dynamic Web TWAIN对象被初始化并准备好使用的时候触发。正如您在本文前面看到的那样,推荐使用它的方法是:
1
2
3
4
5
6
7
<script type="text/javascript" data-filtered="filtered">
Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);
var DWObject;
function Dynamsoft_OnReady() {
   DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
}
</script>

或者
1
2
3
4
5
<script type="text/javascript" data-filtered="filtered">
   Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', function() {
     DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
   });
</script>

本次教程到此结束,希望能对Dynamic Web TWAIN的用户带来帮助,接下来还会有更多的相关教程,敬请期待!

未发布 VMProtect用户手册:专用术语
by Harriet666 keys 分享 1521622426288
VMProtect是一款虚拟机保护软件,是目前最为流行的保护壳之一。VMProtect将保护后的代码放到虚拟机中运行,这将使分析反编译后的代码和破解变得极为困难。除了代码保护,VMProtect还可以生成和验证序列号,设置过期时间,限制免费更新等等。

VMProtect最新试用版下载>>>


 
如果您不知道相应主题的专用术语,则无法有效使用该工具。本篇教程解释了VMProtect中使用的术语。一些术语可能会提供与传统术语不同的含义。
 
字节码 - 将实际处理器的命令转码为虚拟机命令后收到的代码。
 
虚拟化 - 一种将应用程序的部分可执行代码转换为具有命令系统,体系结构和操作逻辑的虚拟机命令的过程,这些命令对潜在的黑客来说是未知的。代码的虚拟化片段由虚拟机的解释器执行,而不将其转换为物理处理器的机器语言代码。通常,虚拟化片段的反向工程归结为建立一个具有与虚拟机模拟的处理器相同架构的反汇编程序,并分析由此产生的反汇编代码。
 
虚拟机 - 在受保护的应用程序中直接执行字节码的程序代码。
 
水印 - 每个字节的用户数组都有一个唯一的标识,可以明确标识该程序被黑客复制的合法所有者。
 
突变 - 用一个模拟或一组命令代替一个原始命令产生相同的结果。
 
混淆技术 - 一组旨在使程序代码分析复杂化的方法和技术。根据编程语言写入受保护程序,使用不同的混淆类型。写在解释语言(的Perl,PHP等)的应用程序混淆通过修改源代码所做的:评论被删除,变量给出了毫无意义的名称,字符串常量被加密等等。通过转换由虚拟机处理的字节码来执行Java / .NET应用程序的混淆。编译程序的混淆依赖于修改机器语言代码:混淆器添加各种“垃圾”命令,“死代码”,随机跳转。另外,原始命令会发生变化,部分操作会移至堆栈,并进行了一些结构(或不太常数学的)转换。对混淆的代码片段进行反向工程会尝试将片段恢复到其原始状态,只要正确完成混淆处理,这是一项耗时的任务。
 
保护器 - 旨在保护其他程序免遭黑客攻击的软件。现在的大多数保护器都不会修改应用程序的源代码,而是打包或加密应用程序。主要重点放在保护解包/解密程序或程序上。
 
入口点 - 加载到内存中的应用程序的初始地址执行从开始。
 
压缩 - 通过使用非典型算法压缩程序和/或库的可执行文件来保护程序代码的一种方法。受保护的代码片段由封装器压缩,并在应用程序执行时在用户端完全或部分解压缩。
 
加密 - 通过强大的加密算法来保护应用程序代码的一部分。受加密保护的软件要求最终用户输入激活码,以消除开发者为未注册版本的程序设置的限制。

试用、下载、了解更多产品信息请点击"咨询在线客服"  

未发布 Xamarin for Visual Studio v4.5发布,重新设计Property Pages和Manifests
by Harriet666 keys 分享 1494581303548
Xamarin for Visual Studio 让开发者可以在Windows上用 Visual Studio 开发原生 iOS, Android 和Windows应用程序。Xamarin for Visual Studio提供了流畅的iOS和Android的API查询,让开发者专注于应用本身。更棒的是,开发者完全可以利用一切他熟悉的开发工具进行开发,从而保证项目的高效性和持续性。

Xamarin for Visual Studio点击下载>>>

V4.5版本中包含的功能:


重新设计Property Pages和Manifests

在Xamarin 4.5中,我们重新设计了Property Pages和Manifest编辑器。为了与Visual Studio本身和Visual Studio for Mac保持一致性,新的属性页面进行了重组和简化并支持高DPI显示。现在,你可以继续在Property Pages中编辑csproj选项,并Manifest编辑器显示manifest选项。
 
新的iOS项目属性页面
新的iOS属性页面提供存储在正确构建和运行项目所需的csproj文件中的所有选项。新的设计方式使之更简单有效。

更好的iOS Info.plist Manifest编辑器
我们的iOS Manifest编辑器(info.plist)现在是一个独立的编辑器,你可以通过双击info.plist文件来启动。它有一个体验非常好的UI,用户可以轻松浏览并保持熟悉的外观。
它包括APP版本、支持定向、状态栏样式、视觉资源、游戏中心、地图集成或背景模式等功能的编辑器,以及编辑文档类型,UTI和URL类型等高级功能。
 
新的Android项目属性页面
重新设计了Android项目选项页面!拥有你需要的所有选项的简化设计。
高级Android选项已经分组到单独的对话框中,你可以通过按“选项”页面上的“高级”按钮打开该对话框。

Bug修复

此版本包括以下修复程序:

  • 修复iOS/tvOS/watchOS设备专用版本的调试问题。(4.5.0.440)
  • 改进了Bonjour SSH。(4.5.0.440)
  • OpenGL游戏(Android)模板现在使用OpenTK-1.0。(4.5.0.440)
  • Android Archive Manager现在使用区域设置来显示存档日期。(4.5.0.440)
  • 修复了二级iOS参考调试。(4.5.0.415)
  • 创建F# Blank Android项目的错误。(4.5.0.415)
  • 如果要禁用属性页上的控件,请确保工具提示可见。(4.5.0.415)
  • 在检查“Build iTunes Package Archive (IPA)”之后,仍然无法创建IPA。(4.5.0.415)
  • Analyze-Xamarin Profiler选项在某些配置中被禁用。(4.5.0.415)
  • 添加几个缺少的工具提示和Android属性页面的帮助链接。(4.5.0.415)
  • 为tvOS / watchOS扩展项目添加Enable Bitcode选项。(4.5.0.415)
  • 如果解决方案中包含共享项目,则无法打开iOS Manifest编辑器。(4.5.0.415)
  • 无法在tvOS或watchOS项目中引用PCL。(4.5.0.387)
  • 为iOS Manifest编辑器添加了工具提示。(4.5.0.387)
  • 改进F#模板。(4.5.0.387)

 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  3. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  4. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  5. Node.js 打印vite react+go项目目录树
  6. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  7. Windows与Mac通过git ssh和rsync实现文件共享互传
  8. Windows与Mac通过git ssh和scp实现文件共享互传
  9. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  10. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA