Comments (10)
I'm sorry for not specifying these descriptions earlier. I didn't want to release LibRadar other than http://radar.pkuos.org/ at the beginning, but after several weeks, the website turned out to be slow and the API I provided for the website seems difficult to use, so I set LibRadar public again in Github. In the very beginning, LibRadar returns readable sentences and I changed them into json for Node.js, but I forgot to describe what every symbol means after the modification.
I have given a new description in README.md. If you have more questions, please let me know.
Thanks a lot for your suggestion!
from libradar.
Thanks, that fills some gaps! But I'm still confused on adding new entries (my list meanwhile contains more than 50 libraries I could add, some with 10 entries or more). After inserting
"bh": self.libs_feature[mid][0],
"btn": self.libs_feature[mid][1],
"btc": self.libs_feature[mid][2],
before line 319 in detect.py
I get all values reported for the "missing/unknown" library. But adding a corresponding line at the end of data/tgst5.dat
– in my example,
{"dn": 177, "lib": "da;EBookDroid;https://github.com/mortenpi/ebookdroid/", "sp":"org/ebookdroid/ui/library/tasks/", "bh": 32868, "btc": 22, "btn": 7, "pn":"org/ebookdroid/ui/library/tasks/"}
and running LibRadar again, it's still not recognised. Values I've got reported:
{"dn":177,"p":[],"sp":"org/ebookdroid/ui/library/tasks","cpn":"org/ebookdroid/ui/library/tasks\/","btc":22,"pn":"org/ebookdroid/ui/library/tasks/","btn":7,"bh":32868}
So where am I going wrong here?
_Edit:_ Figured. Dummy entries before (with missing values). OK, time for a fork+clone :)
from libradar.
BTW: While waiting for your response to my PR, I wanted to proceed on my project – which is using PHP. I wrote a "wrapper class" which calls the (unmodified) LibRadar main.py
, evaluates the results, and allows to "append" additional values (i.e. where LibRadar had a match but no details). The latter can be done with "exact matches" and also with "wildcard matches" (i.e. specifying "pn":"org/foobar/"
would match any org/foobar/*
hits). Specifications use a similar structure as your .dat
files do (just fewer fields, as it doesn't do any "binary matching").
If you're interested, I could add that (incl. a short description) as separate directory (e.g. php/*
) with another PR – once #2 is closed.
from libradar.
Thanks a lot for your effort, and it really helps. You know, it must be a tough work to tag so many libraries in database.
I wrote a script for tagging and filtering the libraries before. Every library would go through a 5-level pipeline before it appeared in tgst5.dat. PS: 'tg' means Tagged and 'st' means Stage. =) However the code were somewhat ugly. There's some experimental things, so I didn't commit them.
from libradar.
Yeah. I checked each line manually. Not being an Android dev (and hence not having the corresponding environment set up), I couldn't do any "binary checks". What I did was checking the project I matched whether it had the given module. And I only picked the "obvious ones". Hence some "Spongy Castle" (org/spongycastle/*
) entries remained unmatched, as I couldn't find the module (pn) in the project tree.
Thanks for the merge! Do you want to have my PHP library added to your project (I'd then of course maintain that, as I'm using it myself)?
from libradar.
Hi, Izzy.
I'm glad to inform you that LibRadar Version2 is ready, which has better hashing algorithm, full and convincing API list, incremental database, partial match support, using dex other than apktool to analyse apps, etc.
from libradar.
Cool! And good to see you're still on it. Will take a look as soon as time permits (am quite busy with several other projects at the moment). If there are any hints concerning updating from the previous version, and what has changed (so I don't break my stuff), they are welcome – e.g. have there been changes in the output format (the QuickStart.md looks like it switched from JSON to some plain-text format, and no longer contains the permissions), or the way it has to be called. And is redis a (new) hard requirement now – or can LibRadar still be used stand-alone?
Any progress on adding new libraries? Maybe even detecting "possible unknown libraries" and reporting them? You remember: while I've updated a ton of entries, I wasn't able to add new ones – e.g. where I knew a certain library was used by a given app but not reported by LibRadar.
from libradar.
Very constructive suggestions! Thanks!
I've change all the code and rebuild this project to support "incremental data set", and that's why I use redis as my database. Now I could add new apps any time as a source for detecting new libraries. It is feasible to add a certain new library of a given app in this system. However it have not been implemented so far. I will add this functionality later.
Redis database is used as a giant hash-table. It's an important part for incremental data set support. I have the plan to create a Lite version without database.
JSON and permission support will be added soon.
from libradar.
Thanks for the update! As lack of JSON and permissions would break my current scripts, I'll have to wait at least until that is implemented. Redis ships from the repos as far as I could see (packages redis-server
and redis-tools
), so it shouldn't be too hard to meet that requirement if I must :) However, with the changed structures it's not yet clear to me how to contribute library updates then. Maybe that will become clear once I've installed the updates.
So fingers crossed and heads-up for your ongoing work!
from libradar.
Yeah, it shouldn't be hard to install and config Redis. ^_^
from libradar.
Related Issues (20)
- LibRadar.rdb is not available anymore
- LibRadar isn't working HOT 4
- Redis integration HOT 3
- Online trail http://radar.pkuos.org/ not working. HOT 2
- Command "python setup.py egg_info" failed with error code 1 HOT 1
- Link rot "http://lxwiki.oss-cn-beijing.aliyuncs.com/lite_dataset_10.csv" HOT 1
- 'int' object has no attribute 'iteritems' HOT 3
- job_dispatching.py does not update the Redis Database HOT 1
- Python Script Not working HOT 1
- https://www.dropbox.com/s/ljtzw74twt8xgy6/d.tar.gz?dl=0 broken HOT 1
- could the tools be run locally? HOT 1
- any idea about the redis error when get data? HOT 1
- Multiple .dex files not considered
- Link not working HOT 1
- Is this project extensible? HOT 1
- website not found
- How to create lite_dataset_10.csv?
- Running into an error HOT 2
- download data issue
- runtime error
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 libradar.