|
|
[求助]跨进程读取内存是否属于非法入侵计算机信息系统罪
兄弟们只要你违法所得够多并能合法转移而且能移民, 那几乎没啥事. |
|
|
[求助]跨进程读取内存是否属于非法入侵计算机信息系统罪
最高人民法院、最高人民检察院《关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释》: 为依法惩治危害计算机信息系统安全的犯罪活动,根据《中华人民共和国刑法》、《全国人民代表大会常务委员会关于维护互联网安全的决定》的规定,现就办理这类刑事案件应用法律的若干问题解释如下: 第一条 非法获取计算机信息系统数据或者非法控制计算机信息系统,具有下列情形之一的,应当认定为刑法第二百八十五条第二款规定的“情节严重”: (一)获取支付结算、证券交易、期货交易等网络金融服务的身份认证信息十组以上的; (二)获取第(一)项以外的身份认证信息五百组以上的; (三)非法控制计算机信息系统二十台以上的; (四)违法所得五千元以上或者造成经济损失一万元以上的; (五)其他情节严重的情形。 实施前款规定行为,具有下列情形之一的,应当认定为刑法第二百八十五条第二款规定的“情节特别严重”: (一)数量或者数额达到前款第(一)项至第(四)项规定标准五倍以上的; (二)其他情节特别严重的情形。 明知是他人非法控制的计算机信息系统,而对该计算机信息系统的控制权加以利用的,依照前两款的规定定罪处罚。 第二条 具有下列情形之一的程序、工具,应当认定为刑法第二百八十五条第三款规定的“专门用于侵入、非法控制计算机信息系统的程序、工具”: (一)具有避开或者突破计算机信息系统安全保护措施,未经授权或者超越授权获取计算机信息系统数据的功能的; (二)具有避开或者突破计算机信息系统安全保护措施,未经授权或者超越授权对计算机信息系统实施控制的功能的; (三)其他专门设计用于侵入、非法控制计算机信息系统、非法获取计算机信息系统数据的程序、工具。 第三条 提供侵入、非法控制计算机信息系统的程序、工具,具有下列情形之一的,应当认定为刑法第二百八十五条第三款规定的“情节严重”: (一)提供能够用于非法获取支付结算、证券交易、期货交易等网络金融服务身份认证信息的专门性程序、工具五人次以上的; (二)提供第(一)项以外的专门用于侵入、非法控制计算机信息系统的程序、工具二十人次以上的; (三)明知他人实施非法获取支付结算、证券交易、期货交易等网络金融服务身份认证信息的违法犯罪行为而为其提供程序、工具五人次以上的; (四)明知他人实施第(三)项以外的侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具二十人次以上的; (五)违法所得五千元以上或者造成经济损失一万元以上的; (六)其他情节严重的情形。 实施前款规定行为,具有下列情形之一的,应当认定为提供侵入、非法控制计算机信息系统的程序、工具“情节特别严重”: (一)数量或者数额达到前款第(一)项至第(五)项规定标准五倍以上的; (二)其他情节特别严重的情形。 第四条 破坏计算机信息系统功能、数据或者应用程序,具有下列情形之一的,应当认定为刑法第二百八十六条第一款和第二款规定的“后果严重”: (一)造成十台以上计算机信息系统的主要软件或者硬件不能正常运行的; (二)对二十台以上计算机信息系统中存储、处理或者传输的数据进行删除、修改、增加操作的; (三)违法所得五千元以上或者造成经济损失一万元以上的; (四)造成为一百台以上计算机信息系统提供域名解析、身份认证、计费等基础服务或者为一万以上用户提供服务的计算机信息系统不能正常运行累计一小时以上的; (五)造成其他严重后果的。 实施前款规定行为,具有下列情形之一的,应当认定为破坏计算机信息系统“后果特别严重”: (一)数量或者数额达到前款第(一)项至第(三)项规定标准五倍以上的; (二)造成为五百台以上计算机信息系统提供域名解析、身份认证、计费等基础服务或者为五万以上用户提供服务的计算机信息系统不能正常运行累计一小时以上的; (三)破坏国家机关或者金融、电信、交通、教育、医疗、能源等领域提供公共服务的计算机信息系统的功能、数据或者应用程序,致使生产、生活受到严重影响或者造成恶劣社会影响的; (四)造成其他特别严重后果的。 第五条 具有下列情形之一的程序,应当认定为刑法第二百八十六条第三款规定的“计算机病毒等破坏性程序”: (一)能够通过网络、存储介质、文件等媒介,将自身的部分、全部或者变种进行复制、传播,并破坏计算机系统功能、数据或者应用程序的; (二)能够在预先设定条件下自动触发,并破坏计算机系统功能、数据或者应用程序的; (三)其他专门设计用于破坏计算机系统功能、数据或者应用程序的程序。 第六条 故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,具有下列情形之一的,应当认定为刑法第二百八十六条第三款规定的“后果严重”: (一)制作、提供、传输第五条第(一)项规定的程序,导致该程序通过网络、存储介质、文件等媒介传播的; (二)造成二十台以上计算机系统被植入第五条第(二)、(三)项规定的程序的; (三)提供计算机病毒等破坏性程序十人次以上的; (四)违法所得五千元以上或者造成经济损失一万元以上的; (五)造成其他严重后果的。 实施前款规定行为,具有下列情形之一的,应当认定为破坏计算机信息系统“后果特别严重”: (一)制作、提供、传输第五条第(一)项规定的程序,导致该程序通过网络、存储介质、文件等媒介传播,致使生产、生活受到严重影响或者造成恶劣社会影响的; (二)数量或者数额达到前款第(二)项至第(四)项规定标准五倍以上的; (三)造成其他特别严重后果的。 第七条 明知是非法获取计算机信息系统数据犯罪所获取的数据、非法控制计算机信息系统犯罪所获取的计算机信息系统控制权,而予以转移、收购、代为销售或者以其他方法掩饰、隐瞒,违法所得五千元以上的,应当依照刑法第三百一十二条第一款的规定,以掩饰、隐瞒犯罪所得罪定罪处罚。 实施前款规定行为,违法所得五万元以上的,应当认定为刑法第三百一十二条第一款规定的“情节严重”。 单位实施第一款规定行为的,定罪量刑标准依照第一款、第二款的规定执行。 第八条 以单位名义或者单位形式实施危害计算机信息系统安全犯罪,达到本解释规定的定罪量刑标准的,应当依照刑法第二百八十五条、第二百八十六条的规定追究直接负责的主管人员和其他直接责任人员的刑事责任。 第九条 明知他人实施刑法第二百八十五条、第二百八十六条规定的行为,具有下列情形之一的,应当认定为共同犯罪,依照刑法第二百八十五条、第二百八十六条的规定处罚: (一)为其提供用于破坏计算机信息系统功能、数据或者应用程序的程序、工具,违法所得五千元以上或者提供十人次以上的; (二)为其提供互联网接入、服务器托管、网络存储空间、通讯传输通道、费用结算、交易服务、广告服务、技术培训、技术支持等帮助,违法所得五千元以上的; (三)通过委托推广软件、投放广告等方式向其提供资金五千元以上的。 实施前款规定行为,数量或者数额达到前款规定标准五倍以上的,应当认定为刑法第二百八十五条、第二百八十六条规定的“情节特别严重”或者“后果特别严重”。 第十条 对于是否属于刑法第二百八十五条、第二百八十六条规定的“国家事务、国防建设、尖端科学技术领域的计算机信息系统”、“专门用于侵入、非法控制计算机信息系统的程序、工具”、“计算机病毒等破坏性程序”难以确定的,应当委托省级以上负责计算机信息系统安全保护管理工作的部门检验。司法机关根据检验结论,并结合案件具体情况认定。 第十一条 本解释所称“计算机信息系统”和“计算机系统”,是指具备自动处理数据功能的系统,包括计算机、网络设备、通信设备、自动化控制设备等。 本解释所称“身份认证信息”,是指用于确认用户在计算机信息系统上操作权限的数据,包括账号、口令、密码、数字证书等。 本解释所称“经济损失”,包括危害计算机信息系统犯罪行为给用户直接造成的经济损失,以及用户为恢复数据、功能而支出的必要费用。 量刑标准: 根据《中华人民共和国刑法》第285条第1款的规定,犯本罪的,处3年以下有期徒刑或者拘役。单位犯本罪的,对单位判处罚金,并对其直接负责的主管人员和其他直接责任人员,依照上述规定处罚。 |
|
|
[求助]跨进程读取内存是否属于非法入侵计算机信息系统罪
操作系统的所有权是微软的, 而用户只有使用权. 其他开发者开发销售的软件也是. 现在的软件销售分发的是使用权和其他二次权利而不是所有权, 只有拥有所有权才能说是自己的也就是"我的". 在科普一下: 所有权是指所有人依法对自己财产所享有的占有、使用、收益和处分的权利。 是对生产劳动的目的、对象、手段、方法和结果的支配力量,它是一种财产权,所以又称财产所有权。 所有权是物权中最重要也最完全的一种权利,具有绝对性、排他性、永续性三个特征,具体内容包括占有、使用、收益、处置等四项权能。
最后于 2022-9-7 16:08
被微启宇编辑
,原因:
|
|
|
[求助]跨进程读取内存是否属于非法入侵计算机信息系统罪
属于...如果要强行解释的话在未经同意的情况下把U盘插到电脑也可以算是非法入侵计算机信息系统罪 第二条 具有下列情形之一的程序、工具,应当认定为刑法第二百八十五条第三款规定的“专门用于侵入、非法控制计算机信息系统的程序、工具”: (一)具有避开或者突破计算机信息系统安全保护措施,未经授权或者超越授权获取计算机信息系统数据的功能的; (二)具有避开或者突破计算机信息系统安全保护措施,未经授权或者超越授权对计算机信息系统实施控制的功能的; (三)其他专门设计用于侵入、非法控制计算机信息系统、非法获取计算机信息系统数据的程序、工具。 第五条 具有下列情形之一的程序,应当认定为刑法第二百八十六条第三款规定的“计算机病毒等破坏性程序”: (一)能够通过网络、存储介质、文件等媒介,将自身的部分、全部或者变种进行复制、传播,并破坏计算机系统功能、数据或者应用程序的; (二)能够在预先设定条件下自动触发,并破坏计算机系统功能、数据或者应用程序的; (三)其他专门设计用于破坏计算机系统功能、数据或者应用程序的程序。
最后于 2022-9-7 16:22
被微启宇编辑
,原因:
|
|
|
[讨论]已倒闭的卡密验证Apk,没加固和壳,在已经没有服务端情况下,能搞定正常运行吗?
你自己根据一些特征去找看看是不是用别人的系统搭建的, 如果是的话就买不是那就自己分析算法然后自己写一个服务端出来, 反正也没啥难的无非是解密数据然后查询在不在数据库中, 在就返回授权的数据, 不在就返回错误信息. |
|
|
[原创]基于钉钉探索针对CEF框架的一些逆向思路
像你文中那样没法看清软件版本号可以用7zip之类支持多种压缩格式的解压缩软件打开exe或dll文件, 然后在 .rsrc\1033 路径下有个version.txt文件, 这个文件记录了程序的版本号之类的内容. 文件内容如下:
最后于 2022-8-29 09:57
被微启宇编辑
,原因:
|
|
|
[求助]关于Windows签名
"验证是强制联网?(不上网的电脑也能运行exe和加载sys吧?)." 这你要把非对称加密算法过一遍 "如果不是联网验证, 把验证证书(第1步)和比较hash(第4步), 直接逆向修改返回值为“没被修改”, 不行吗?" 这个估计要修改win内核才能实现 |
|
|
|
|
|
|
|
|
WhatsApp私信协议实现记录
只要能弄好这方面的需求很多, 尤其是海外电商... |
|
|
|
|
|
懂autojs的进来看看
搞不清你的需求是啥, 一会autojs 一会又要做成服务, autojs是安卓端自动化辅助用得(主要是自动点击). |
|
|
懂autojs的进来看看
快手在移动端返回的页面里有 window.pageData 这个数据, 如果主播是在直播状态那它里面的 "living": true, 就说明主播是在直播状态. 而在PC端的返回页面里则是 window.__APOLLO_STATE__ 这个数据里的 "User:yzl365893841": { 里面有 "living": true 来标识主播是否在直播状态
最后于 2022-8-13 14:02
被微启宇编辑
,原因:
|
|
|
|
|
|
|
|
|
懂autojs的进来看看
其实你没必要写死开播时间, 直播平台一般有主播直播间状态的api, 只要通过平台的api获取直播间状态就行了. 写死开播时间反而增加了代码的复杂度. 写代码是能不增加复杂度就别瞎加. 像这种抓直播间状态的小项目我是写过好几个的, 有b站抓弹幕的, 有b站直播录制的, 有海外色Q直播录制兼抓弹幕的...可以说很多平台都有提供相应的直播间状态的api.
最后于 2022-8-10 07:13
被微启宇编辑
,原因:
|
|
|
懂autojs的进来看看
首先按官方要求申请忽略电池优化
$timers.addDailyTask({
这问题只要看一下官方文档就能自己解决
不想用官方的定时任务实现可以用 node-schedule 来实现定时任务或者自己写 // 本框内的代码已经过验证可以运行
function addDailyTask (config, func) {
config.runNow && func()
const nowTime = new Date().getTime()
const timePoints = config.time.split(':').map(i => parseInt(i))
let recent = new Date().setHours(...timePoints)
recent >= nowTime || (recent += 24 * 3600000)
setTimeout(() => {
func()
setInterval(func, config.interval * 3600000)
}, recent - nowTime)
}
function kuaishoulive () {
// you code
}
config = {//参数的说明
interval: 1, //间隔天数,间隔为整数
runNow: false, //是否立即运行
time: "17:35:00" //执行的时间点 时在0~23之间
}
config1 = {//参数的说明
interval: 1, //间隔天数,间隔为整数
runNow: false, //是否立即运行
time: "18:20:00" //执行的时间点 时在0~23之间
}
config2 = {//参数的说明
interval: 1, //间隔天数,间隔为整数
runNow: false, //是否立即运行
time: "22:20:00" //执行的时间点 时在0~23之间
}
addDailyTask(config, kuaishoulive);
addDailyTask(config1, kuaishoulive);
addDailyTask(config2, kuaishoulive);
代码摘自: js实现每日定时任务 - 自在逍遥处 - 博客园 (cnblogs.com)
autojs定时任务模块, 官方实现的定时任务效率比自己用javascript写要好, 官方的任务管理是通过Java实现的, 这个com.stardust.autojs.core.timing.TimedTask就是java层的. module.exports = function(runtime, scope){
var timers = Object.create(runtime.timers);
var TimedTask = com.stardust.autojs.core.timing.TimedTask;
var IntentTask = com.stardust.autojs.core.timing.IntentTask;
var TimedTaskManager = com.stardust.autojs.core.timing.TimedTaskManager.Companion.getInstance();
var bridges = require("__bridges__");
scope.__asGlobal__(timers, ['setTimeout', 'clearTimeout', 'setInterval', 'clearInterval', 'setImmediate', 'clearImmediate']);
scope.loop = function(){
console.warn("loop() has been deprecated and has no effect. Remove it from your code.");
}
function parseConfig(c) {
let config = new com.stardust.autojs.execution.ExecutionConfig();
config.delay = c.delay || 0;
config.interval = c.interval || 0;
config.loopTimes = (c.loopTimes === undefined)? 1 : c.loopTimes;
return config;
}
function parseDateTime(clazz, dateTime) {
if(typeof(dateTime) == 'string') {
return TimedTask.Companion.parseDateTime(clazz, dateTime);
} else if(typeof(dateTime) == 'object' && dateTime.constructor === Date) {
return TimedTask.Companion.parseDateTime(clazz, dateTime.getTime());
} else if(typeof(dateTime) == 'number') {
return TimedTask.Companion.parseDateTime(clazz, dateTime);
} else {
throw new Error("cannot parse date time: " + dateTime);
}
}
function addTask(task) {
TimedTaskManager.addTaskSync(task);
}
timers.addDailyTask = function (task) {
let localTime = parseDateTime("LocalTime", task.time);
let timedTask = TimedTask.Companion.dailyTask(localTime, files.path(task.path), parseConfig(task));
addTask(timedTask);
return timedTask;
}
var daysEn = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
var daysCn = ['一', '二', '三', '四', '五', '六', '日'];
timers.addWeeklyTask = function (task) {
let localTime = parseDateTime("LocalTime", task.time);
let timeFlag = 0;
for(let i = 0; i < task.daysOfWeek.length; i++) {
let dayString = task.daysOfWeek[i];
let dayIndex = daysEn.indexOf(dayString);
if(dayIndex == -1) {
dayIndex = daysCn.indexOf(dayString);
}
if(dayIndex == -1) {
throw new Error('unknown day: ' + dayString);
}
timeFlag |= TimedTask.Companion.getDayOfWeekTimeFlag(dayIndex + 1);
}
let timedTask = TimedTask.Companion.weeklyTask(localTime, new java.lang.Long(timeFlag), files.path(task.path), parseConfig(task));
addTask(timedTask);
return timedTask;
}
timers.addDisposableTask = function (task) {
let localDateTime = parseDateTime("LocalDateTime", task.date);
let timedTask = TimedTask.Companion.disposableTask(localDateTime, files.path(task.path), parseConfig(task));
addTask(timedTask);
return timedTask;
}
timers.addIntentTask = function (task) {
let intentTask = new IntentTask();
intentTask.setScriptPath(files.path(task.path));
task.action && intentTask.setAction(task.action);
addTask(intentTask);
return intentTask;
}
timers.getTimedTask = function(id) {
return TimedTaskManager.getTimedTask(id);
}
timers.getIntentTask = function(id) {
return TimedTaskManager.getIntentTask(id);
}
timers.removeIntentTask = function(id) {
let task = timers.getIntentTask(id);
return task && TimedTaskManager.removeTaskSync(task);
}
timers.removeTimedTask = function(id) {
let task = timers.getTimedTask(id);
return task && TimedTaskManager.removeTaskSync(task);
}
timers.queryTimedTasks = function (options, callback) {
var sql = '';
var args = [];
function sqlAppend(str) {
if(sql.length == 0) {
sql += str;
} else {
sql += ' AND ' + str;
}
return true;
}
options.path && sqlAppend('script_path = ?') && args.push(options.path);
return bridges.toArray(TimedTaskManager.queryTimedTasks(sql ? sql : null, args));
}
timers.queryIntentTasks = function (options, callback) {
var sql = '';
var args = [];
function sqlAppend(str) {
if(sql.length == 0) {
sql += str;
} else {
sql += ' AND ' + str;
}
return true;
}
options.path && sqlAppend('script_path = ?') && args.push(options.path);
options.action && sqlAppend('action = ?') && args.push(options.action);
return bridges.toArray(TimedTaskManager.queryIntentTasks(sql ? sql : null, args));
}
return timers;
}
最后于 2022-8-9 04:32
被微启宇编辑
,原因:
|
操作理由
