Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
react-native-cipherlab-scanner
Advanced tools
Use react-native on your Android based CipherLab scanner!
Use react-native on your Android based CipherLab scanner!
CipherLab RS31
$ react-native init --version="0.59.9" AwesomeScanner
$ cd AwesomeScanner
$ npm install
$ npm install react-native-cipherlab-scanner --save
android/app/src/main/java/[...]/MainApplication.java
import au.com.micropacific.react.cipherlab.CipherLabScannerPackage;
to the imports at the top of the filenew CipherLabScannerPackage()
to the list returned by the getPackages()
methodandroid/settings.gradle
:
include ':react-native-cipherlab-scanner'
project(':react-native-cipherlab-scanner').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-cipherlab-scanner/android')
android/app/build.gradle
:
implementation project(':react-native-cipherlab-scanner')
// App.js
import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View} from 'react-native';
import CipherLabScannerModule from 'react-native-cipherlab-scanner';
import { DeviceEventEmitter, Button } from 'react-native';
const instructions = Platform.select({
ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
android:
'Double tap R on your keyboard to reload,\n' +
'Shake or press menu button for dev menu',
});
type Props = {};
export default class App extends Component<Props> {
constructor(props)
{
super(props);
this.state = {
barcode: '',
type: '',
binary: '',
}
this.requestScan=this.requestScan.bind(this);
// MDR 21/08/2018 - make fake scans if we're on an emulator
var _this = this;
this.scanner = {
requestScan: function() {
_this.barcodeReadEvent({barcode: '123', type: 'FAKE_BARCODE', binary: []})
}
}
this.listeners = [];
}
async componentDidMount() {
this.listeners.push(DeviceEventEmitter.addListener('CIPHERLAB.initEvent', this.scannerInitEvent.bind(this)));
this.listeners.push(DeviceEventEmitter.addListener('CIPHERLAB.barcodeReadEvent', this.barcodeReadEvent.bind(this)));
// MDR 23/08/2018 - We can subscribe to some hardware specific intents
this.listeners.push(DeviceEventEmitter.addListener('CIPHERLAB.receiveIntent', this.cipherlabReceiveIntent.bind(this) ));
await CipherLabScannerModule.initialise();
// MDR 21/08/2018 - Note that this incurs a performance hit for each scan
await CipherLabScannerModule.enableBinaryData();
}
async componentWillUnmount() {
console.log(`componentWillUnmount()`);
for (var x in this.listeners) {
this.listeners[x].remove();
}
this.listeners = [];
}
requestScan(e) {
//CipherLabScannerModule.requestScan();
this.scanner.requestScan();
}
async scannerInitEvent(e) {
// MDR 21/08/2018 - The onboard scanner has been initialised, overwrite our fake scanner
console.log(`CIPHERLAB.initEvent initcallback`);
this.scanner = CipherLabScannerModule;
}
async barcodeReadEvent(e) {
this.setState({barcode: e.barcode, type: e.type, binary: e.binary});
}
async cipherlabReceiveIntent(e)
{
switch (e.action)
{
case "android.intent.action.FUNC_BUTTON":
console.log(`func button: `, e);
this.setState({barcode: ''});
break;
}
}
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>Welcome to React Native!</Text>
<Text style={styles.instructions}>To get started, edit App.js</Text>
<Text style={styles.instructions}>{instructions}</Text>
<Text style={styles.instructions}>Barcode: {this.state.barcode}</Text>
<Text style={styles.instructions}>Type: {this.state.type}</Text>
<Text style={styles.instructions}>Binary: {this.state.binary}</Text>
<Button title="Scan" capitalize={false} block primary onPress={this.requestScan} />
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
FAQs
Use react-native on your Android based CipherLab scanner!
The npm package react-native-cipherlab-scanner receives a total of 8 weekly downloads. As such, react-native-cipherlab-scanner popularity was classified as not popular.
We found that react-native-cipherlab-scanner demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.