-
Notifications
You must be signed in to change notification settings - Fork 185
Update analysis library for Rizin v0.4.x #335
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
cf176d0
to
df3cd1a
Compare
df3cd1a
to
559b88f
Compare
Codecov Report
@@ Coverage Diff @@
## master #335 +/- ##
==========================================
+ Coverage 78.77% 78.86% +0.08%
==========================================
Files 50 50
Lines 3704 3710 +6
==========================================
+ Hits 2918 2926 +8
+ Misses 786 784 -2
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
Hi @haeter525 ,
I suggest we add documents for the functions in the codebase. |
@pulorsok. Thanks for the suggestion. I have updated the documents for each function in the files. |
I performed some tests, but the results are needed to verify.
$ diff Ahmyth_androguard Ahmyth_rizin
8c8
< | 00189.json | Get the content of a SMS message | 100% | 1 | 1.0 |
---
> | 00189.json | Get the content of a SMS message | 80% | 1 | 0.5 |
29c29
< | 00193.json | Send a SMS message | 100% | 1 | 1.0 |
---
> | 00193.json | Send a SMS message | 80% | 1 | 0.5 |
39c39
< | 00002.json | Open the camera and take picture | 100% | 1 | 1.0 |
---
> | 00002.json | Open the camera and take picture | 80% | 1 | 0.5 |
53c53
< | 00188.json | Get the address of a SMS message | 100% | 1 | 1.0 |
---
> | 00188.json | Get the address of a SMS message | 80% | 1 | 0.5 |
60c60
< | 00005.json | Get absolute path of file and put it to JSON object | 100% | 1 | 1.0 |
---
> | 00005.json | Get absolute path of file and put it to JSON object | 80% | 1 | 0.5 |
72c72
< | 00009.json | Put data in cursor to JSON object | 100% | 1 | 1.0 |
---
> | 00009.json | Put data in cursor to JSON object | 80% | 1 | 0.5 |
93c93
< | 00008.json | Check if successfully sending out SMS | 100% | 1 | 1.0 |
---
> | 00008.json | Check if successfully sending out SMS | 80% | 1 | 0.5 |
104c104
< | 00004.json | Get filename and put it to JSON object | 100% | 1 | 1.0 |
---
> | 00004.json | Get filename and put it to JSON object | 80% | 1 | 0.5 |
123c123
< | 00011.json | Query data from URI (SMS, CALLLOGS) | 100% | 1 | 1.0 |
---
> | 00011.json | Query data from URI (SMS, CALLLOGS) | 80% | 1 | 0.5 |
139c139
< | 00026.json | Method reflection | 100% | 1 | 1.0 |
---
> | 00026.json | Method reflection | 60% | 1 | 0.25 |
151c151
< | 00010.json | Read sensitive data(SMS, CALLLOG) and put it into JSON object | 100% | 1 | 1.0 |
---
> | 00010.json | Read sensitive data(SMS, CALLLOG) and put it into JSON object | 80% | 1 | 0.5 |
178c178
< | 00200.json | Query data from the contact list | 100% | 1 | 1.0 |
---
> | 00200.json | Query data from the contact list | 80% | 1 | 0.5 |
180c180
< | 00187.json | Query a URI and check the result | 100% | 1 | 1.0 |
---
> | 00187.json | Query a URI and check the result | 80% | 1 | 0.5 |
185c185
< | 00001.json | Initialize bitmap object and compress data (e.g. JPEG) into bitmap object | 100% | 1 | 1.0 |
---
> | 00001.json | Initialize bitmap object and compress data (e.g. JPEG) into bitmap object | 80% | 1 | 0.5 |
200c200
< | 00201.json | Query data from the call log | 100% | 1 | 1.0 |
---
> | 00201.json | Query data from the call log | 80% | 1 | 0.5 |
203c203
< | 00190.json | Query a URI and append the result into a string | 80% | 1 | 0.5 |
---
> | 00190.json | Query a URI and append the result into a string | 60% | 1 | 0.25 |
206c206
< | 00020.json | Get absolute path of the file and store in string | 80% | 1 | 0.5 |
---
> | 00020.json | Get absolute path of the file and store in string | 60% | 1 | 0.25 |
208c208
< | 00077.json | Read sensitive data(SMS, CALLLOG, etc) | 100% | 1 | 1.0 |
---
> | 00077.json | Read sensitive data(SMS, CALLLOG, etc) | 80% | 1 | 0.5 |
Traceback (most recent call last):
File "/Users/sasaki/.local/share/virtualenvs/quark-engine-KzHyODU-/bin/quark", line 8, in <module>
sys.exit(entry_point())
File "/Users/sasaki/.local/share/virtualenvs/quark-engine-KzHyODU-/lib/python3.8/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "/Users/sasaki/.local/share/virtualenvs/quark-engine-KzHyODU-/lib/python3.8/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/Users/sasaki/.local/share/virtualenvs/quark-engine-KzHyODU-/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/sasaki/.local/share/virtualenvs/quark-engine-KzHyODU-/lib/python3.8/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/Users/sasaki/program/python/quark-engine/quark/cli.py", line 315, in entry_point
data.run(rule_checker)
File "/Users/sasaki/program/python/quark-engine/quark/core/quark.py", line 469, in run
if self.check_parameter(
File "/Users/sasaki/program/python/quark-engine/quark/core/quark.py", line 227, in check_parameter
pyeval.eval[instruction[0]](instruction)
File "/Users/sasaki/program/python/quark-engine/quark/evaluator/pyeval.py", line 34, in warp
func(*args, **kwargs)
File "/Users/sasaki/program/python/quark-engine/quark/evaluator/pyeval.py", line 276, in INVOKE_VIRTUAL_RANGE
self._invoke(instruction, look_up=True)
File "/Users/sasaki/program/python/quark-engine/quark/evaluator/pyeval.py", line 205, in _invoke
self.ret_type = executed_fuc[executed_fuc.index(")") + 1:]
ValueError: substring not found
Traceback (most recent call last):
File "/Users/sasaki/.local/share/virtualenvs/quark-engine-KzHyODU-/bin/quark", line 8, in <module>
sys.exit(entry_point())
File "/Users/sasaki/.local/share/virtualenvs/quark-engine-KzHyODU-/lib/python3.8/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "/Users/sasaki/.local/share/virtualenvs/quark-engine-KzHyODU-/lib/python3.8/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/Users/sasaki/.local/share/virtualenvs/quark-engine-KzHyODU-/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/sasaki/.local/share/virtualenvs/quark-engine-KzHyODU-/lib/python3.8/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/Users/sasaki/program/python/quark-engine/quark/cli.py", line 315, in entry_point
data.run(rule_checker)
File "/Users/sasaki/program/python/quark-engine/quark/core/quark.py", line 469, in run
if self.check_parameter(
File "/Users/sasaki/program/python/quark-engine/quark/core/quark.py", line 227, in check_parameter
pyeval.eval[instruction[0]](instruction)
File "/Users/sasaki/program/python/quark-engine/quark/evaluator/pyeval.py", line 34, in warp
func(*args, **kwargs)
File "/Users/sasaki/program/python/quark-engine/quark/evaluator/pyeval.py", line 276, in INVOKE_VIRTUAL_RANGE
self._invoke(instruction, look_up=True)
File "/Users/sasaki/program/python/quark-engine/quark/evaluator/pyeval.py", line 205, in _invoke
self.ret_type = executed_fuc[executed_fuc.index(")") + 1:]
ValueError: substring not found |
Close this PR as we are developing the core library for the next major release of Rizin (#457). |
Description
Close #334.
This PR updates the Rizin-based analysis library to work with the current development version of Rizin v0.4.x (commit: de8a5).
It includes the following changes -
axtj
axffj
withpdfj
andis.j
since Rizin v0.4.x removed it._get_method_by_address
by usingis.j
to precisely find the method via a given address.isj
andis.j
.Code Changes
Test Plans
All tests passed.