HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

6 名黑客因盗取区块链货币被抓,涉案 1450 万

法律科普

3月25日,南昌市公安局青云谱分局通报一起利用黑客网络技术盗取区块链货币的新型网络犯罪案件,实现了对案件上下游犯罪“全链条”的有力打击。截至目前,该案已抓获6名涉案犯罪嫌疑人。

虚拟货币 不翼而飞

2021年2月26日,辖区群众黄某到青云谱分局报案称:2月23日18时许,突然发现自己手机号码被他人莫名挂失,继而发现与手机号码捆绑登录的“雷达网”账户中的区块链货币(雷达币和比特币)被人转走,被盗虚拟货币折合人民币价值近1450万元。

接警后,分局迅速立案侦查,办案民警在侦查中初步发现受害人损失的是虚拟货币,且犯罪嫌疑人未与受害人发生任何实质性接触,也未留下电话、微信等任何联系方式。犯罪嫌疑人如何在受害人没有任何操作的情况下,盗取安全性较高的虚拟货币账户,而且几乎没有留下作案痕迹,此案的发生实属罕见

抽丝剥茧 锁定嫌疑

面对难题,专案组民警通过摸排走访、海量资料分析,结合对宾馆和手机运营商营业厅人员的走访调查发现:案发前,曾有5名江苏连云港籍男女开车窜至南昌,持有伪造的受害人身份证件挂失、补办受害人手机卡的犯罪踪迹。 获取初步线索后,专案组连续攻坚,多警种联合作战,成功锁定涉案嫌疑人基本信息,案件侦查工作取得重大突破。

转战出击 抓获黑客

根据研判线索,专案组连夜奔袭上千公里到达江苏连云港,将嫌疑人轨迹逐一落地——3月8日,专案组在连云港市区、灌云县等地陆续抓获该4名嫌疑人,并从犯罪嫌疑人家中缴获了140余万现金,以及大量作案用手机、电脑以及各种伪造证件;3月15日,专案组民警又赴广东中山、东莞分别抓获另2名犯罪嫌疑人。

经查,犯罪嫌疑人利用购买的黑客技术盗取虚拟货币交易平台后台用户信息,再雇佣人伪造证件冒充受害人补办平台账户所捆绑手机号码,又通过补办的手机号接受平台登录验证码,最后登陆受害人存有虚拟币的账户盗取账户内的虚拟货币。专案组在前期侦查的基础上,逐步挖掘、固定该网络犯罪团伙的证据链条,斩断了该犯罪团伙盗取后台数据、制作假证、冒充受害人补办手机卡,利用手机验证码登录平台进行盗窃的犯罪链条。至此,利用黑客技术盗取虚拟货币的特大新型网络犯罪案件实现全链条破案

目前, 6名犯罪嫌疑人已依法刑事拘留,案件在进一步侦办中。

此文章【来源: 南昌公安】,转载自腾讯新闻,如有不当联系邮箱:pufa@dcloud.io 。
原文链接

继续阅读 »

3月25日,南昌市公安局青云谱分局通报一起利用黑客网络技术盗取区块链货币的新型网络犯罪案件,实现了对案件上下游犯罪“全链条”的有力打击。截至目前,该案已抓获6名涉案犯罪嫌疑人。

虚拟货币 不翼而飞

2021年2月26日,辖区群众黄某到青云谱分局报案称:2月23日18时许,突然发现自己手机号码被他人莫名挂失,继而发现与手机号码捆绑登录的“雷达网”账户中的区块链货币(雷达币和比特币)被人转走,被盗虚拟货币折合人民币价值近1450万元。

接警后,分局迅速立案侦查,办案民警在侦查中初步发现受害人损失的是虚拟货币,且犯罪嫌疑人未与受害人发生任何实质性接触,也未留下电话、微信等任何联系方式。犯罪嫌疑人如何在受害人没有任何操作的情况下,盗取安全性较高的虚拟货币账户,而且几乎没有留下作案痕迹,此案的发生实属罕见

抽丝剥茧 锁定嫌疑

面对难题,专案组民警通过摸排走访、海量资料分析,结合对宾馆和手机运营商营业厅人员的走访调查发现:案发前,曾有5名江苏连云港籍男女开车窜至南昌,持有伪造的受害人身份证件挂失、补办受害人手机卡的犯罪踪迹。 获取初步线索后,专案组连续攻坚,多警种联合作战,成功锁定涉案嫌疑人基本信息,案件侦查工作取得重大突破。

转战出击 抓获黑客

根据研判线索,专案组连夜奔袭上千公里到达江苏连云港,将嫌疑人轨迹逐一落地——3月8日,专案组在连云港市区、灌云县等地陆续抓获该4名嫌疑人,并从犯罪嫌疑人家中缴获了140余万现金,以及大量作案用手机、电脑以及各种伪造证件;3月15日,专案组民警又赴广东中山、东莞分别抓获另2名犯罪嫌疑人。

经查,犯罪嫌疑人利用购买的黑客技术盗取虚拟货币交易平台后台用户信息,再雇佣人伪造证件冒充受害人补办平台账户所捆绑手机号码,又通过补办的手机号接受平台登录验证码,最后登陆受害人存有虚拟币的账户盗取账户内的虚拟货币。专案组在前期侦查的基础上,逐步挖掘、固定该网络犯罪团伙的证据链条,斩断了该犯罪团伙盗取后台数据、制作假证、冒充受害人补办手机卡,利用手机验证码登录平台进行盗窃的犯罪链条。至此,利用黑客技术盗取虚拟货币的特大新型网络犯罪案件实现全链条破案

目前, 6名犯罪嫌疑人已依法刑事拘留,案件在进一步侦办中。

此文章【来源: 南昌公安】,转载自腾讯新闻,如有不当联系邮箱:pufa@dcloud.io 。
原文链接

收起阅读 »

能提供swift版本的离线打包和插件开发教程吗

iOS离线打包_ 百度语音配置

能提供swift版本的离线打包和插件开发教程吗

能提供swift版本的离线打包和插件开发教程吗

准备报名参加插件大赛,可拖拽的小程序页面编辑器

插件大赛

官方活动又开始了插件大赛,这届打算参加一下,准备开发一个可拖拽的小程序页面编辑器。主要先实现以下功能:
1、基于uniCloud admin 框架,在这个基础上开发个插件,用于后台在线拖拽编辑,用户、权限等系统都是现成的,主要精力放在拖拽编辑器上,编辑好的页面保存到uniCloud上,充分利用现有dcloud平台上的资源。
2、编辑器上自带一些常用模块,并提供一个插件机制,便于自行扩展模块。
3、编辑好的页面,可以在uniApp小程序项目上进行使用,理论上可以实现后端编辑,小程序端实时生效。
想法和架子已经有了,接下来就是写代码实现,希望进度赶得上参赛。

===========================================================================
2021-03-30
完成拖拽组件到编辑器,并实现上下拖拽排序。

继续阅读 »

官方活动又开始了插件大赛,这届打算参加一下,准备开发一个可拖拽的小程序页面编辑器。主要先实现以下功能:
1、基于uniCloud admin 框架,在这个基础上开发个插件,用于后台在线拖拽编辑,用户、权限等系统都是现成的,主要精力放在拖拽编辑器上,编辑好的页面保存到uniCloud上,充分利用现有dcloud平台上的资源。
2、编辑器上自带一些常用模块,并提供一个插件机制,便于自行扩展模块。
3、编辑好的页面,可以在uniApp小程序项目上进行使用,理论上可以实现后端编辑,小程序端实时生效。
想法和架子已经有了,接下来就是写代码实现,希望进度赶得上参赛。

===========================================================================
2021-03-30
完成拖拽组件到编辑器,并实现上下拖拽排序。

收起阅读 »

mac系统调用内置nmp免去安装node

Mac Mac版 npmvu node

鉴于更新了新版本系统 安装 node 总报错
看了一下hbx自带了node
但是无法正常引用

Applications/HBuilderX.app/Contents/HBuilderX/plugins/npm/npm

我看了一下 第10行调用的竟然是.exe文件 mac系统肯定没有这个

NODE_EXE="$basedir/node.exe"  
/// 改成 目录内node  
NODE_EXE="/Applications/HBuilderX.app/Contents/HBuilderX/plugins/node/node"

这样就可以正常使用了 简单粗暴
/Applications/HBuilderX.app/Contents/HBuilderX/plugins/npm/npm -v
5.6.0
完美

继续阅读 »

鉴于更新了新版本系统 安装 node 总报错
看了一下hbx自带了node
但是无法正常引用

Applications/HBuilderX.app/Contents/HBuilderX/plugins/npm/npm

我看了一下 第10行调用的竟然是.exe文件 mac系统肯定没有这个

NODE_EXE="$basedir/node.exe"  
/// 改成 目录内node  
NODE_EXE="/Applications/HBuilderX.app/Contents/HBuilderX/plugins/node/node"

这样就可以正常使用了 简单粗暴
/Applications/HBuilderX.app/Contents/HBuilderX/plugins/npm/npm -v
5.6.0
完美

收起阅读 »

建议uniapp tabBar项目如果不设置text的话,就让iconPath高度占满tabBar

tabbar

建议uniapp tabBar项目如果不设置text的话,就让iconPath高度占满tabBar

建议uniapp tabBar项目如果不设置text的话,就让iconPath高度占满tabBar

qq392716797 收钱不干活,小程序反编译的

微信小程序

qq392716797帮你反编译获取小程序源码 它是要收费的
收费了不干活;
收费了把你拉进黑名单

QQ截图如下:
a

b

c

d

e

图片打开方式:右键新窗口打开就行了;

重点图片还是补充下:


然后就删我QQ好友了;

首先:
他说的是小小心意,然后发了2元钱红包,这个钱是有点少,我承认;

但是后面坚持要18元钱,我就觉得此人不太靠谱,不太想通过他解决问题;

然后就骂人,删除好友;

聊天记录,还是在消息管理器中发现的;

至于问题的解决办法,已经在github找到答案了

github 的地址是:
/data/data/com.tencent.mm/MicroMsg/文件夹下没有/appbrand/pkg/ 这个文件夹 · Issue #7 · Cherrison/CrackMinApp

这是他的博客地址:
(3条消息) 反编译获取任何微信小程序源码——看这篇就够了_敏哥的博客-CSDN博客

继续阅读 »

qq392716797帮你反编译获取小程序源码 它是要收费的
收费了不干活;
收费了把你拉进黑名单

QQ截图如下:
a

b

c

d

e

图片打开方式:右键新窗口打开就行了;

重点图片还是补充下:


然后就删我QQ好友了;

首先:
他说的是小小心意,然后发了2元钱红包,这个钱是有点少,我承认;

但是后面坚持要18元钱,我就觉得此人不太靠谱,不太想通过他解决问题;

然后就骂人,删除好友;

聊天记录,还是在消息管理器中发现的;

至于问题的解决办法,已经在github找到答案了

github 的地址是:
/data/data/com.tencent.mm/MicroMsg/文件夹下没有/appbrand/pkg/ 这个文件夹 · Issue #7 · Cherrison/CrackMinApp

这是他的博客地址:
(3条消息) 反编译获取任何微信小程序源码——看这篇就够了_敏哥的博客-CSDN博客

收起阅读 »

uniapp框架开发,可兼职,业务稳定可全职,有前后端团队

外包接单 uniapp

uniapp框架开发,可兼职,业务稳定可全职,有前后端团队。
可承接小程序、APP、公众号H5项目、PC网页。
已做过的项目主要是用uniapp开发的,也有单独使用vue开发的,小项目使用uniCloud的云开发也可以,欢迎洽谈。

做过的项目主要有商城类、招聘类、H5项目、多角色企业内部管理小程序等。微信号:hailiang-smile

继续阅读 »

uniapp框架开发,可兼职,业务稳定可全职,有前后端团队。
可承接小程序、APP、公众号H5项目、PC网页。
已做过的项目主要是用uniapp开发的,也有单独使用vue开发的,小项目使用uniCloud的云开发也可以,欢迎洽谈。

做过的项目主要有商城类、招聘类、H5项目、多角色企业内部管理小程序等。微信号:hailiang-smile

收起阅读 »

按钮重复点击的困惑

重复点击

大家在项目中经常遇到一个按钮上点太快了重复点了几次,造成接口多次调用,数据重复,想到一个绝佳方案:

export default {  
    a: {},  
    canDo(e = {}) {  
        if (!this.a[e.key]) {  
            this.lockKey(e.key);  
            e.success && e.success();  
            if (e.time) {  
                setTimeout(() => {  
                    this.releaseKey(e.key)  
                }, e.time)  
            }  
        } else {  
            e.fail && e.fail()  
        }  
    },  
    releaseKey(key) {  
        delete this.a[key]  
    },  
    lockKey(key) {  
        this.a[key] = true  
    }  
}  

不懂得可以私聊我,前端问题解决找昵称

继续阅读 »

大家在项目中经常遇到一个按钮上点太快了重复点了几次,造成接口多次调用,数据重复,想到一个绝佳方案:

export default {  
    a: {},  
    canDo(e = {}) {  
        if (!this.a[e.key]) {  
            this.lockKey(e.key);  
            e.success && e.success();  
            if (e.time) {  
                setTimeout(() => {  
                    this.releaseKey(e.key)  
                }, e.time)  
            }  
        } else {  
            e.fail && e.fail()  
        }  
    },  
    releaseKey(key) {  
        delete this.a[key]  
    },  
    lockKey(key) {  
        this.a[key] = true  
    }  
}  

不懂得可以私聊我,前端问题解决找昵称

收起阅读 »

mac下安装xcode后在hbuilder里看不到ios模拟器

参考内容:

http://www.yoyo88.cn/study/uniapp/459.html
https://ask.dcloud.net.cn/article/35876

参考内容:

http://www.yoyo88.cn/study/uniapp/459.html
https://ask.dcloud.net.cn/article/35876

自定义相机界面的相机组件,在nuve页面下可以任意进行布局,无声拍照,自动截取、相机取色等等扩展性极强 ,人脸 拍题 首选插件

拍照

实现自定义相机界面的相机组件,在nuve页面下可以任意进行布局,扩展性极强,人脸 拍题 首选插件欢迎体验
1.支持相机界面自定义!
2.拍照后自动裁剪功能!
3.提供无声拍照方案!
4.提供像素点取色功能!

插件地址:https://ext.dcloud.net.cn/plugin?id=4531

插件地址:https://ext.dcloud.net.cn/plugin?id=4531

继续阅读 »

实现自定义相机界面的相机组件,在nuve页面下可以任意进行布局,扩展性极强,人脸 拍题 首选插件欢迎体验
1.支持相机界面自定义!
2.拍照后自动裁剪功能!
3.提供无声拍照方案!
4.提供像素点取色功能!

插件地址:https://ext.dcloud.net.cn/plugin?id=4531

插件地址:https://ext.dcloud.net.cn/plugin?id=4531

收起阅读 »

uni-app应用web-view加载三方web应用、网页应用、uni-app开发的H5应用调用uni的API及网页和vue页面通讯解决方案

Webview

1、基于非uni-app开发的三方web应用、网页应用与uni-app应用页面交互
该方案为通用方案,参考官方方案即可,该方案仅作为参考

// 动态加载js  
function loadScript(options, callback) {  
    if (!options.src) {  
        return;  
    }  
    // 判断引入的js对象是否存在  
    if (typeof options.fun == 'undefined') {  
        console.log('自动引入');  
        var node = document.createElement('script');  
        node.src = options.src;  
        node.addEventListener('load', callback, false);  
        document.head.appendChild(node);  
    } else {  
        console.log('直接渲染');  
        console.log(options.eventListener || 'load');  
        document.addEventListener(options.eventListener || 'load', callback, false);  
    }  
};  

// 执行动态加载,初始化js  
this.loadScript({  
    src: '/static/uni.webview.1.5.2.js',  
    fun: window.h5uni,  
    eventListener: 'UniAppJSBridgeReady'  
}, () => {  
    // your code  
    uni.navigateBack();  
});  

2、基于uni-app开发的H5应用页面交互
此处有坑:基于uni-app开发的H5应用与uni-app开发的应用进行集成页面交互,存在无法调用的情况,初步分析属于uni.webview.1.5.2.js中注册的uni对象被uni-app中注册的uni对象覆盖,导致无法正常加载;
解决办法:修改uni.webview.1.5.2.js源码中暴漏的uni对象名称,此处名称可自定义,我们暂时以h5uni为例进行演示,源码修改如下:


源码文件:详见附件
2.1 将源码解压,并将uni.webview.1.5.2.js添加到uni-app开发的H5应用的static目录下
2.2 应用DEMO:

<template>  
    <view class="body">  
        <view class="desc">web-view 组件加载本地 html 示例,仅在 App 环境下生效。点击下列按钮,跳转至其它页面。</view>  
        <view class="btn-list">  
            <button class="btn" type="primary" @click="btnOpt" data-action="navigateTo">navigateTo</button>  
            <button class="btn" type="primary" @click="btnOpt" data-action="redirectTo">redirectTo</button>  
            <button class="btn" type="primary" @click="btnOpt" data-action="navigateBack">navigateBack</button>  
            <button class="btn" type="primary" @click="btnOpt" data-action="reLaunch">reLaunch</button>  
            <button class="btn" type="primary" @click="btnOpt" data-action="switchTab">switchTab</button>  
        </view>  
        <view class="desc">网页向应用发送消息。注意:小程序端应用会在此页面后退时接收到消息。</view>  
        <view class="btn-list">  
            <button class="btn btn-red" type="button" @click="btnOpt" data-action="postMessage">postMessage</button>  
        </view>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  

            }  
        },  
        onLoad() {  
            this.loadScript({  
                src: '/static/uni.webview.1.5.2.js',  
                fun: window.h5uni,  
                eventListener: 'UniAppJSBridgeReady'  
            }, () => {});  
        },  
        methods: {  
            loadScript(options, callback) {  
                if (!options.src) {  
                    return;  
                }  
                // 判断引入的js对象是否存在  
                if (typeof options.fun == 'undefined') {  
                    console.log('自动引入');  
                    var node = document.createElement('script');  
                    node.src = options.src;  
                    node.addEventListener('load', callback, false);  
                    document.head.appendChild(node);  
                } else {  
                    console.log('直接渲染');  
                    console.log(options.eventListener || 'load');  
                    document.addEventListener(options.eventListener || 'load', callback, false);  
                }  
            },  
            btnOpt(e) {  
                var action = e.currentTarget.dataset.action;  
                switch (action) {  
                    case 'switchTab':  
                        h5uni.switchTab({  
                            url: '/pages/index/index'  
                        });  
                        break;  
                    case 'reLaunch':  
                        h5uni.reLaunch({  
                            url: '/pages/index/index'  
                        });  
                        break;  
                    case 'navigateBack':  
                        h5uni.navigateBack({  
                            delta: 1  
                        });  
                        break;  
                    default:  
                        h5uni[action]({  
                            url: '/pages/index/index'  
                        });  
                        break;  
                }  
            },  
        }  
    }  
</script>  

<style>  
    .body {  
        margin: 0 16rpx;  
    }  

    .desc {  
        padding: 52rpx 20rpx;  
        color: #999999;  
        font-size: 32rpx;  
    }  

    .btn {  
        display: block;  
        margin: 20px auto;  
        padding: 5px;  
        border: 0;  
        color: #ffffff;  
        height: 40px;  
        width: 200px;  
        font-size: 13px;  
    }  

    .btn-red {  
        background-color: #dd524d;  
    }  

    .btn-yellow {  
        background-color: #f0ad4e;  
    }  
</style>
继续阅读 »

1、基于非uni-app开发的三方web应用、网页应用与uni-app应用页面交互
该方案为通用方案,参考官方方案即可,该方案仅作为参考

// 动态加载js  
function loadScript(options, callback) {  
    if (!options.src) {  
        return;  
    }  
    // 判断引入的js对象是否存在  
    if (typeof options.fun == 'undefined') {  
        console.log('自动引入');  
        var node = document.createElement('script');  
        node.src = options.src;  
        node.addEventListener('load', callback, false);  
        document.head.appendChild(node);  
    } else {  
        console.log('直接渲染');  
        console.log(options.eventListener || 'load');  
        document.addEventListener(options.eventListener || 'load', callback, false);  
    }  
};  

// 执行动态加载,初始化js  
this.loadScript({  
    src: '/static/uni.webview.1.5.2.js',  
    fun: window.h5uni,  
    eventListener: 'UniAppJSBridgeReady'  
}, () => {  
    // your code  
    uni.navigateBack();  
});  

2、基于uni-app开发的H5应用页面交互
此处有坑:基于uni-app开发的H5应用与uni-app开发的应用进行集成页面交互,存在无法调用的情况,初步分析属于uni.webview.1.5.2.js中注册的uni对象被uni-app中注册的uni对象覆盖,导致无法正常加载;
解决办法:修改uni.webview.1.5.2.js源码中暴漏的uni对象名称,此处名称可自定义,我们暂时以h5uni为例进行演示,源码修改如下:


源码文件:详见附件
2.1 将源码解压,并将uni.webview.1.5.2.js添加到uni-app开发的H5应用的static目录下
2.2 应用DEMO:

<template>  
    <view class="body">  
        <view class="desc">web-view 组件加载本地 html 示例,仅在 App 环境下生效。点击下列按钮,跳转至其它页面。</view>  
        <view class="btn-list">  
            <button class="btn" type="primary" @click="btnOpt" data-action="navigateTo">navigateTo</button>  
            <button class="btn" type="primary" @click="btnOpt" data-action="redirectTo">redirectTo</button>  
            <button class="btn" type="primary" @click="btnOpt" data-action="navigateBack">navigateBack</button>  
            <button class="btn" type="primary" @click="btnOpt" data-action="reLaunch">reLaunch</button>  
            <button class="btn" type="primary" @click="btnOpt" data-action="switchTab">switchTab</button>  
        </view>  
        <view class="desc">网页向应用发送消息。注意:小程序端应用会在此页面后退时接收到消息。</view>  
        <view class="btn-list">  
            <button class="btn btn-red" type="button" @click="btnOpt" data-action="postMessage">postMessage</button>  
        </view>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  

            }  
        },  
        onLoad() {  
            this.loadScript({  
                src: '/static/uni.webview.1.5.2.js',  
                fun: window.h5uni,  
                eventListener: 'UniAppJSBridgeReady'  
            }, () => {});  
        },  
        methods: {  
            loadScript(options, callback) {  
                if (!options.src) {  
                    return;  
                }  
                // 判断引入的js对象是否存在  
                if (typeof options.fun == 'undefined') {  
                    console.log('自动引入');  
                    var node = document.createElement('script');  
                    node.src = options.src;  
                    node.addEventListener('load', callback, false);  
                    document.head.appendChild(node);  
                } else {  
                    console.log('直接渲染');  
                    console.log(options.eventListener || 'load');  
                    document.addEventListener(options.eventListener || 'load', callback, false);  
                }  
            },  
            btnOpt(e) {  
                var action = e.currentTarget.dataset.action;  
                switch (action) {  
                    case 'switchTab':  
                        h5uni.switchTab({  
                            url: '/pages/index/index'  
                        });  
                        break;  
                    case 'reLaunch':  
                        h5uni.reLaunch({  
                            url: '/pages/index/index'  
                        });  
                        break;  
                    case 'navigateBack':  
                        h5uni.navigateBack({  
                            delta: 1  
                        });  
                        break;  
                    default:  
                        h5uni[action]({  
                            url: '/pages/index/index'  
                        });  
                        break;  
                }  
            },  
        }  
    }  
</script>  

<style>  
    .body {  
        margin: 0 16rpx;  
    }  

    .desc {  
        padding: 52rpx 20rpx;  
        color: #999999;  
        font-size: 32rpx;  
    }  

    .btn {  
        display: block;  
        margin: 20px auto;  
        padding: 5px;  
        border: 0;  
        color: #ffffff;  
        height: 40px;  
        width: 200px;  
        font-size: 13px;  
    }  

    .btn-red {  
        background-color: #dd524d;  
    }  

    .btn-yellow {  
        background-color: #f0ad4e;  
    }  
</style>
收起阅读 »