钉钉定位打卡可以更改位置吗?
钉钉定位打卡没有办法改变位置,这是拍照违法的。北京市海淀区人民法院公开了一则裁判文书,源码被告人张某因破坏计算机信息系统罪,软件牛牛小说源码被判处有期徒刑五年六个月。外出据张某的定位定位打供述,大牛助手在不改变其他APP源代码的考勤考勤情况下,通过虚拟位置信息、拍照Wi-Fi信息和照片信息,源码对其他APP该类信息进行修改。软件
当用户使用其他APP不想暴露自己的外出位置信息时,大牛助手就对用户的定位定位打位置进行遮蔽;当用户想要修改自己的位置信息时,可以将目标软件添加至大牛助手APP列表中,考勤考勤选择修改位置,即可实现模拟定位功能。大牛助手APP是一款虚拟定位应用软件,有各种模拟位置、模拟Wifi、多开APP的功能。它最大的特点就是不用去Root、装插件,操作门槛非常低。
大牛助手修改定位原理
经阿里巴巴公司技术人员对“大牛助手Android系统1.1.1”进行分析发现,该软件绕过了钉钉无限安全保镖模块,真假溯源码标签劫持了钉钉平行空间检测接口,当钉钉的平行空间检测接口需要获取设备信息时,大牛助手通过重放技术伪造虚假数据,直接向钉钉的平行空间检测接口传输虚假数据,造成伪造打卡记录,干扰钉钉系统的正常运行。
司法鉴定书证实,该软件代码存在对钉钉服务器获取用户真实地理位置的功能进行未授权地干扰进行,为破坏性程序。
考勤作弊APP创始人二审改判四年,法院为何会改判?
我认为法院之所以在二审判决中改判原因是一审法院是根据该名男子破坏计算机信息系统罪进行量刑,而二审法院则认为,这款软件不属于刑法中的破坏性程序,所以该名男子虽然依然是涉嫌这项罪名,但是罪行减轻了,随之在二审判决中就判处有期徒刑4年决定。我认为法院在这次量刑中改判的十分合理,毕竟这款软件并没有在网络上造成恶性传播,也没有攻击网络程序,没有造成人员信息丢失,泄露甚至重大互联网恶性事件出现,只是让用户个人使用时会通过修改定位功能来满足个人目的,这种目的满足对社会并没有危害性,也没有给社会带来隐患以及损失,所以根据这种情况,源码如何发给别人二审法院所判的4年有期徒刑属于减刑判决,认为软件不属于破坏性程序,所以改判。
一、案件始末是什么?
在这起案件中,该男子通过购买其他公司软件源代码,并且修改数据后制作成了一款名叫大牛助手的APP,并在网络上售卖传播,软件的主要盈利方式是通过用户下载后包月或者包年会员方式来进行收费,软件其实并没有什么问题,只不过用户在下载软件后可以隐藏个人定位,并且可以自行修改个人位置,在法律上认为该名男子软件属于破坏计算机信息系统罪,所以一审判决该名男子判处有期徒刑5年6个月,男子表示不服进行二次申诉,二次法院认为该名男子软件不属于法律中的破坏性程序,于是将判决减轻到有期徒刑4年。
二、希望该名男子汲取教训。
我认为该名男子的行为已经涉嫌法律,在软件制作过程中,自己已经可以预见性的知道后果,自己在购买软件源代码后再对源代码进行修改,开发的过程中指定了软件可以遮挡个人定位以及修改个人定位,软件主要功能也是程序源码存留原因这样,男子内心明白用户会使用软件修改个人定位前提下,依然开了会员并以此谋利,所以这种方式属于违法犯罪。
三、法院判决非常公道。
我认为这次法院判决非常公平公正,虽然律师认为该男子可以做无罪辩解,但是我认为该男子在开发软件时,就是利用软件可以修改定位的这一特性来进行牟利,其开会员以及包年包月的付费方式,就决定了它是以这种软件特性来进行谋利,他自己内心清楚用户会使用这款软件做什么,但他没有下架软件,也没有进行阻拦,也没有提示,所以该男子的行为属于破坏网络信息系统罪,法院判决也十分公平,考虑到软件不属于破坏性程序,已经进行减刑。
急求pb考勤管理系统(pb+access)论文
文字自己想办法
一:变量说明
1:application :
test
2:窗体
login:登陆窗口
w_main:考勤管理系统的主界面,选择操作
w_chuli:个人考勤记录处理
w_shengding:缺勤类型设定
w_tongji:员工考勤统计
w_yuangong:员工基本信息
3:数据窗口
dw_chuli1:个人考勤记录处理
dw_shengding:缺勤类型设定
dw_chuli:员工考勤统计
w_yuangong:员工基本信息
二:函数说明
一:application test中的函数
1. 函数名:test::open( )
作用:将test这个数据库注册为当前机器的用户的数据源
代码:
String ls_odbc //数据库名
String currdir = Space(), key//数据库“test”的完整路径
Environment env
string gs_currdir = GetCurrentDirectory()//得到运行程序的当前路径
GetEnvironment(env)
ls_odbc = "test"//数据库名为“test”
currdir=GetCurrentDirectory() + "\" + ls_odbc + ".mdb"//当前运行程序路径加上数据库名就是数据库“test”的完整路径
RegistryGet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources", ls_odbc, RegString!, key)
if key="" then
CHOOSE CASE env.OSType//判断操作系统的类型,注册响应的数据源的驱动
CASE Windows!//为Windows
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources", ls_odbc, RegString!, "Microsoft Access Driver (*.mdb)")
CASE WindowsNT!//为WindowsNT
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources", ls_odbc, RegString!, "Driver do Microsoft Access (*.mdb)")
CASE ELSE
END CHOOSE
// 将数据库test注册为用户的数据源
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "", RegString!, "")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "DBQ", RegString!, "" + currdir )
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "Driver", RegString!, "odbcjt.dll")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "DriverId" , ReguLong!, )
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "FIL" , RegString!, "MS Access;" )
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "SafeTransactions", RegString!, "0" )
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\" + ls_odbc, "UID" , RegString!, "" )
end if
open(login)// 打开登陆窗口
二:登陆窗口中的函数
1:函数名:login.open()
作用:连接到本机器数据源为test的数据库
代码:
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=test;UID=;PWD='"
connect;
if sqlca.sqlcode<>0 then
Messagebox("错误!,无法连接数据库:",sqlca.sqlerrtext)
halt close
end if
2:函数名:cb1。Clicked() 即点击登陆按钮的事件
作用:当用户输入帐号和密码后,判断是否在“操作员表”中 ,存在就打开考勤管理系统主界面
代码:
//定义两个变量
string password,swo ft源码解析usename
// 数据库连接参数
//检索用户名和密码记录
SELECT 操作员表.用户名,
操作员表.密码
INTO :usename,
:password
FROM 操作员表
WHERE 操作员表.用户名 = :sle_1.text ;
//判断用户输入的用户名是否正确
if sle_1.text="" or sle_2.text="" then
messagebox("错误!","用户名或密码不能为空!",exclamation!,ok!,2)
else
if usename=sle_1.text and password=sle_2.text then
messagebox("通过验证!","用户名和密码正确,欢迎您使用本系统!",Information!,ok!,2)
open(w_main)// 打开考勤管理系统主界面
close(parent)
else
messagebox("错误!","用户名或密码错误,请重新输入!",exclamation!,ok!,2)
end if
end if
3:函数名:cb2。Clicked() 即点击取消按钮的事件
作用:关闭窗口
代码:
close(parent)
二:主窗口中的函数
1:函数名:rb_1。Clicked()
作用:关闭当前窗口,打开员工基本信息窗口
代码:open(w_yuangong)
close(parent)
2:函数名:rb_2。Clicked()
作用:关闭当前窗口,打开考勤信息处理窗口
代码:open(w_chuli)
close(parent)
3:函数名:rb_3。Clicked()
作用:关闭当前窗口,打开缺勤类型设定窗口
代码:open(w_shengding)
close(parent)
4:函数名:rb_4。Clicked()
作用:关闭当前窗口,打开员工考勤统计窗口
代码:open(w_tongji)
close(parent)
5:函数名:pb_1。Clicked()
作用:关闭当前窗口
代码:close(parent)
三:考勤信息处理窗口中的函数
1:函数名:open( )
作用:将数据窗口和数据库连接,并且显示数据库存在的数据
代码:dw_1.settransobject(sqlca)
dw_1.retrieve()
2:函数名:pb_1。Clicked()
作用:插入一条新记录
代码:dw_1.insertrow(0)
3:函数名:pb_2。Clicked()
作用:删除一条当前记录
代码:dw_1.deleterow(0)
4:函数名:pb_3。Clicked()
作用:向数据库提交插入,删除和修改的操作,如果成功就发到数据库
代码:
integer returncode
returncode=dw_1.update()
if returncode>0 then
commit using sqlca;
else
rollback using sqlca;
end if
4:函数名:pb_4。Clicked()
作用:关闭当前窗口,回到主界面
代码:
open(w_main)
close(parent)
四:缺勤类型设定窗口中的函数
1:函数名:open( )
作用:将数据窗口和数据库连接,并且显示数据库存在的数据
代码:dw_1.settransobject(sqlca)
dw_1.retrieve()
2:函数名:pb_1。Clicked()
作用:插入一条新记录
代码:dw_1.insertrow(0)
3:函数名:pb_2。Clicked()
作用:删除一条当前记录
代码:dw_1.deleterow(0)
4:函数名:pb_3。Clicked()
作用:向数据库提交插入,删除和修改的操作,如果成功就发到数据库
代码:
integer returncode
returncode=dw_1.update()
if returncode>0 then
commit using sqlca;
else
rollback using sqlca;
end if
4:函数名:pb_4。Clicked()
作用:关闭当前窗口,回到主界面
代码:
open(w_main)
close(parent)
五:员工基本信息窗口中的函数
1:函数名:open( )
作用:将数据窗口和数据库连接,并且显示数据库存在的数据
代码:dw_1.settransobject(sqlca)
dw_1.retrieve()
2:函数名:pb_1。Clicked()
作用:插入一条新记录
代码:dw_1.insertrow(0)
3:函数名:pb_2。Clicked()
作用:删除一条当前记录
代码:dw_1.deleterow(0)
4:函数名:pb_3。Clicked()
作用:向数据库提交插入,删除和修改的操作,如果成功就发到数据库
代码:
integer returncode
returncode=dw_1.update()
if returncode>0 then
commit using sqlca;
else
rollback using sqlca;
end if
4:函数名:pb_4。Clicked()
作用:关闭当前窗口,回到主界面
代码:
open(w_main)
close(parent)
六:员工考勤统计窗口中的函数
1:函数名:open( )
作用:将数据窗口和数据库连接,并且显示数据库存在的数据
代码:dw_1.settransobject(sqlca)
dw_1.retrieve()
2:函数名:ddlb_1。Selectchange()
作用: 改变数据窗口中数据的大小
代码:dw_1.modify('DataWindow.Zoom = '+ trim(ddlb_1.text))
3:函数名:cb1。Clicked()
作用: 回到数据窗口中上一页
代码:dw_1.scrollpriorpage()
4:函数名:cb2。Clicked()
作用: 回到数据窗口中下一页
代码:dw_1.scrollnextpage()
5:函数名:cb3。Clicked()
作用: 打印数据窗口
代码:dw_1.print()
6:函数名:cb4。Clicked()
作用: 打印设置
代码:printsetup()
7:函数名:cb5。Clicked()
作用: 打印预览
代码:
dw_1.Modify("DataWindow.Print.Orientation = '1'") //横向
dw_1.Modify("DataWindow.Print.Orientation = '2'") //纵向
dw_1.Modify("DataWindow.Print.Preview = yes")
dw_1.Modify("DataWindow.Print.Preview.Rulers = yes")
dw_1.modify('DataWindow.Print.Preview.Zoom = '+ trim(ddlb_1.text))
8:函数名:cb5。Clicked()
作用: 打印预览
9:函数名:ddlb_2。Selectchange()
作用: 改变打印预览窗口的大小
代码:
dw_1.modify('DataWindow.Print.Preview.Zoom = '+ trim(ddlb_2.text))
:函数名:cb6。Clicked()
作用: 将数据窗口中的数据保存为表格形式的文件
代码:string ls_path, ls_file
int li_rc
ls_path = sle_1.Text
li_rc = GetFileSaveName ( "Select File", ls_path, ls_file, "xls", "*.xls,*.xls" )
//得到路径名
IF li_rc = 1 Then
OLEObject ole_object , ole_workbooks
ole_object = CREATE OLEObject
//创建Excel对象
IF ole_object.ConnectToNewObject("Excel.Application") <> 0 THEN
MessageBox('OLE错误','OLE无法连接!')
return
END IF
ole_object.workbooks.add
ole_object.Visible = True
ole_workbooks = ole_object.Worksheets(1)
ole_workbooks.cells(1,1).value="员工号"
ole_workbooks.cells(1,2).value="时间"
ole_workbooks.cells(1,3).value="天数"
ole_workbooks.cells(1,4).value="类型"
ole_workbooks.cells(1,5).value="原因"
long l_row
for l_row = 2 to dw_1.rowcount()+1
ole_workbooks.cells(l_row,1).value=dw_1.getitemstring(l_row - 1,1)
ole_workbooks.cells(l_row,2).value=dw_1.getitemstring(l_row - 1,2)
ole_workbooks.cells(l_row,3).value=dw_1.getitemstring(l_row - 1,3)
ole_workbooks.cells(l_row,4).value=dw_1.getitemstring(l_row - 1,4)
ole_workbooks.cells(l_row,5).value=dw_1.getitemstring(l_row - 1,5)
next
ole_workbooks.SaveAs ( ls_path)
ole_object.quit()
Ole_Object.DisConnectObject()
Destroy Ole_Object
destroy ole_workbooks
messagebox("!","文件保存到"+ ls_path)
End If
:函数名:sel。modify()
作用: 将数据窗口中的数据按输入的员工号显示
代码:
string emp_no
string condition
if sle_1.text <> "" then
emp_no=trim(sle_1.text)
condition="emp_no="+"'"+ emp_no+"'"
dw_1.setfilter( condition)
filter(dw_1)
dw_1.retrieve()
end if
考勤作弊APP创始人二审改判4年,这样的判决是否太轻了?
我觉得这样的判决非常合理,毕竟这个软件并没有给社会带来危害,并没有给整个计算机网络系统带来破坏性,所以这样的判决还是非常公正合理。我认为这一个软件APP并没有社会危害性,它只是通过不改变源代码的情况下,通过虚拟位置的信息修改了客户个人的位置,客户不想暴露自己位置时,就可以对位置进行遮挡,当客户觉得这个位置不合适时,可以随意进行修改,并没有给社会带来危害性,也没有利用软件特性带来严重后果,并且在这一起案件中,该公司的整个营业性收入并不是很高。
一、案件始末是什么?
整个案情非常简单,嫌疑人制作的这一款软件名字是大牛助手是一款APP通过APP客户可以进行一个前期试用,试用期过后客户需要缴纳包月费用或者包年费用费用收取并不高,客户通过APP可以对个人位置进行遮挡,别人看不到用户位置,当客户觉得对位置信息需要修改时,可以通过软件修改个人位置信息,模拟任何一个地方的定位,在地图上可以随意定位,法院认为该软件已经影响了整个计算机信息系统属于破坏计算机信息系统罪。所以对该软件创始人进行逮捕并判刑。
二、网络上议论纷纷。
我看到网络上很多网友在留言并且讨论这些案件,很多人认为该软件创始人并没有利用这个软件进行任何违法犯罪行为,他只是制作了一款可以修改定位的APP而已,至于用户如何使用是用户的事情,和软件创始人并没有任何关系,法院的判决有些连带责任过重,并且啊,该名创始人的软件并没有对社会造成危害,也没有造成重大损失,所以判刑有些过重,也有些人认为很多人利用软件修改定位打卡骗取工资,造成了很不好的影响,所以应该判刑。
三、应该双面性看待这个问题。
我觉得看待这个问题应该双面性,如果说软件开发者有些无辜,其实这种双法也并不是很准确,因为软件开发者在开发这款软件是已经会前期预料的,客户会利用软件性质进行修改定位,但是他并没有制止,并且利用这个功能开始进行包月,甚至包年公司利用这些功能进行收入,说明已经前期预料到,会有人利用这款软件的功能进行不恰当使用,虽然软件的开发和其他日常定位的APP一样,但是在功能县志上却有些不一样,所以这样的判刑也非常准确。
开源轻松实现车牌检测与识别:yolov8+paddleocrpython源码+数据集
大家好,我是专注于AI、AIGC、Python和计算机视觉分享的阿旭。感谢大家的支持,不要忘了点赞关注哦! 下面是往期的一些经典项目推荐:人脸考勤系统Python源码+UI界面
车牌识别停车场系统含Python源码和PyqtUI
手势识别系统Python+PyqtUI+原理详解
基于YOLOv8的行人跌倒检测Python源码+Pyqt5界面+训练代码
钢材表面缺陷检测Python+Pyqt5界面+训练代码
种犬类检测与识别系统Python+Pyqt5+数据集
正文开始: 本文将带你了解如何使用YOLOv8和PaddleOCR进行车牌检测与识别。首先,我们需要一个精确的车牌检测模型,通过yolov8训练,数据集使用了CCPD,一个针对新能源车牌的标注详尽的数据集。训练步骤包括环境配置、数据准备、模型训练,以及评估结果。模型训练后,定位精度达到了0.,这是通过PR曲线和mAP@0.5评估的。 接下来,我们利用PaddleOCR进行车牌识别。只需加载预训练模型并应用到检测到的车牌区域,即可完成识别。整个过程包括模型加载、车牌位置提取、OCR识别和结果展示。 想要亲自尝试的朋友,可以访问开源车牌检测与识别项目,获取完整的Python源码、数据集和相关代码。希望这些资源对你们的学习有所帮助!2024-11-14 10:47
2024-11-14 10:37
2024-11-14 09:59
2024-11-14 09:56
2024-11-14 09:13