Comments (15)
Hi,
Thank you. I will investigate ;-) Could you please send me the APK of fr.playsoft.lefigarov3
?
from exodus-standalone.
@U039b voila https://home.hugopoi.net/lufi/r/gSsrTn5m8D#5XZdy2Ht0tUriz5TA8GR7NtBp32wOVBkeimFC3okitw=
from exodus-standalone.
I investigate a little with enabling DEBUG log.
DEBUG:root:135 trackers signatures loaded
=== Information
- APK path: fr.playsoft.lefigarov3.apk
- APK sum: 51532dd165e38e2d0ec11dc119b152bcd7808d9feb09f15c7ed4542987776e67
- App version: 5.1.3
- App version code: 94
- App UID: FABCC978B5CEFF042A9A462A3922ECA956B2420B
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Skipping padding bytes!
DEBUG:androguard.runtime:Out of range dimension unit index for 65038.00399593472: 9
DEBUG:androguard.runtime:Out of range dimension unit index for 65038.00399593472: 10
DEBUG:androguard.runtime:Out of range dimension unit index for 32051.19728172544: 10
DEBUG:androguard.runtime:Out of range dimension unit index for 0.488437427482368: 8
DEBUG:androguard.runtime:Out of range dimension unit index for 8324864.0: 12
DEBUG:androguard.runtime:Out of range dimension unit index for 8324864.0: 12
DEBUG:androguard.runtime:Out of range dimension unit index for 32051.19728172544: 10
DEBUG:androguard.runtime:Out of range dimension unit index for 0.488437427482368: 8
DEBUG:androguard.runtime:Out of range dimension unit index for 8324864.0: 13
DEBUG:androguard.runtime:Out of range dimension unit index for 0.488437427482368: 8
DEBUG:androguard.runtime:Out of range dimension unit index for 4082892.0: 13
DEBUG:androguard.runtime:Out of range dimension unit index for 4060610.0: 15
DEBUG:androguard.runtime:Out of range dimension unit index for 32133.11916175872: 12
DEBUG:androguard.runtime:Out of range dimension unit index for 0.992401269305472: 10
DEBUG:androguard.runtime:Out of range dimension unit index for 254.0547097690112: 15
- App name: Le Figaro
- App package: fr.playsoft.lefigarov3
- App permissions: 10
- android.permission.INTERNET
- android.permission.ACCESS_NETWORK_STATE
- android.permission.WRITE_EXTERNAL_STORAGE
- android.permission.RECEIVE_BOOT_COMPLETED
- android.permission.VIBRATE
- com.google.android.c2dm.permission.RECEIVE
- com.android.vending.BILLING
- android.permission.WAKE_LOCK
- fr.playsoft.lefigarov3.permission.C2D_MESSAGE
- android.permission.ACCESS_WIFI_STATE
- App libraries: 0
- Certificates: 1
- Issuer: countryName=FR, stateOrProvinceName=Ile de France, localityName=Paris, organizationName=Le Figaro, organizationalUnitName=LeFigaro Nouveaux médias, commonName=Francois Rannou
Subject: countryName=FR, stateOrProvinceName=Ile de France, localityName=Paris, organizationName=Le Figaro, organizationalUnitName=LeFigaro Nouveaux médias, commonName=Francois Rannou
Fingerprint: e9cdbbbd1d6a307563368c572e2efe2e106dbf4f
Serial: 1317228289
DEBUG:root:2 classes found in fr.playsoft.lefigarov3.apk
DEBUG:root:0 trackers detected in fr.playsoft.lefigarov3.apk
=== Found trackers: 0
Trackers list is loaded correctly.
from exodus-standalone.
Hi!
That's really strange.
Could you please give me the output of these 2 commands once you have activated the virtual env:
dexdump
pip freeze
from exodus-standalone.
dexdump
dexdump: invalid option -- 'v'
dexdump: no file specified
Copyright (C) 2007 The Android Open Source Project
dexdump: [-c] [-d] [-f] [-h] [-i] [-l layout] [-m] [-t tempfile] dexfile...
-c : verify checksum and exit
-d : disassemble code sections
-f : display summary information from file header
-h : display file header details
-i : ignore checksum failures
-l : output layout, either 'plain' or 'xml'
-m : dump register maps (and nothing else)
-t : temp file name (defaults to /sdcard/dex-temp-*)
pip freeze
androguard==3.1.0
asn1crypto==0.24.0
backcall==0.1.0
beautifulsoup4==4.6.0
certifi==2018.1.18
cffi==1.11.5
chardet==3.0.4
cryptography==2.2.2
decorator==4.3.0
dhash==1.3
exodus-core==1.0.7 # I have manually edit the requirements.txt and downgrade exodus-core to 1.0.7 but same issue
future==0.16.0
idna==2.6
ipython==6.3.1
ipython-genutils==0.2.0
jedi==0.12.0
jellyfish==0.5.6
networkx==2.1
parso==0.2.0
pexpect==4.5.0
pickleshare==0.7.4
Pillow==5.0.0
pkg-resources==0.0.0
prompt-toolkit==1.0.15
ptyprocess==0.5.2
pyasn1==0.4.2
pycparser==2.18
Pygments==2.2.0
requests==2.18.4
simplegeneric==0.8.1
six==1.11.0
traitlets==4.3.2
urllib3==1.22
wcwidth==0.1.7
apt show dexdump
Package: dexdump
Version: 6.0.1+r16-4
Priority: optional
Section: universe/devel
Source: android-platform-dalvik
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Android tools Maintainer <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 57,3 kB
Depends: android-libdex, libc6 (>= 2.14)
Homepage: https://android.googlesource.com/platform/dalvik
Download-Size: 16,6 kB
APT-Manual-Installed: yes
APT-Sources: http://mirrors.ircam.fr/pub/ubuntu/archive xenial/universe amd64 Packages
Description: Tool to display information about Android .dex files
The "dexdump" tool is intended to mimic "objdump". When possible, use similar
command-line arguments.
from exodus-standalone.
Thank you. Please, try with
exodus-core==1.0.14
https://github.com/Exodus-Privacy/exodus-core/releases/tag/v1.0.14
from exodus-standalone.
I'm working on exodus-standalone today. So, do not hesitate to give me your feedbacks/issues/etc.
from exodus-standalone.
Sorry for respond late, I have upgrade exodus-core
to 1.0.14
still same issue, 0 trackers found. I have pretty much the same output log than with version 1.0.7
.
I will dig into the code this afternoon (gmt+2).
from exodus-standalone.
Found the issue my dexdump
failed to parse classes
Processing 'fr.playsoft.lefigarov3/classes2.dex'...
dexdump: libdex/DexSwapVerify.cpp:382: bool swapMap(CheckState*, DexMapList*): Assertion `((((((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__a))(-((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__a))(~((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__a)) 1 << ((sizeof(typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__a)) * 8) - 1)))) - 1)) <= ((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__a))0)) && (((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__b))(-((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__b))(~((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__b)) 1 << ((sizeof(typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__b)) * 8) - 1)))) - 1)) <= ((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__b))0))) || (((((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__a))(-((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__a))(~((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__a)) 1 << ((sizeof(typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__a)) * 8) - 1)))) - 1)) > ((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__a))0))) && (((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__b))(-((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__b))(~((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__b)) 1 << ((sizeof(typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__b)) * 8) - 1)))) - 1)) > ((typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__b))0)))) && (sizeof(typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__a)) == sizeof(typeof(OPAQUE_SAFE_IOP_PREFIX_VARIABLE__b))))' failed.
Abandon
The amd64 dexdump package of ubuntu 16.04 https://packages.ubuntu.com/xenial/dexdump have broken dexdump.
Install the i386 version fix the problem. (apt install dexdump:i386
)
May be related to : Debian package have weird note saying the amd64 is broken https://packages.debian.org/stretch/dexdump but is not ...
Note: dexdump on amd64 will not work until the upstream fixes it.
I think is good idea to implement a detection of the crash error of dexdump in exodus-core
.
from exodus-standalone.
Thank you for your investigation. I'll try to detect this kind of crash directly in exodus-core
.
from exodus-standalone.
Could you give the exit code of dexdump
when it crashes?
from exodus-standalone.
Seems to be 134
from exodus-standalone.
Thank you.
from exodus-standalone.
@U039b - The dexdump that comes packaged with Android SDK does not have this issue. I verified it. I had the SDK for x86_64 and used the tool straight out of the box. For the APK i was testing, the trackers are also detected with this. /e/
from exodus-standalone.
@magicj3lly Thanks for the hint, the Android SKD version worked fine for me. The version installed via apt-get from ubuntu showed the same error.
from exodus-standalone.
Related Issues (20)
- Stable release HOT 3
- Feature: Upload report to Exodus website? HOT 3
- Maximum API level reached HOT 1
- Split apk support? HOT 4
- Add cache feature for εxodus trackers database
- Provide a way to ignore trackers and avoid the script to fail
- JUnit XML output format
- Use GitHub Actions to push to Docker Hub HOT 2
- `exodus_analyze.py` crash analyzing a `aab` format application HOT 2
- Add --exit-code option HOT 1
- Show in the output which tracker is ignored
- Reorganize repository structure
- Show tracker id and category in output
- Add the possibility to use a .exodusignore file
- Add contributing documentation
- [Feature request] Web UI HOT 5
- No matching manifest for linux/arm64/v8 in the manifest list entries HOT 2
- Errors in terminal with latest version HOT 5
- Migrate to python 3.11
- installation instructions omit steps and information HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from exodus-standalone.