---
# System prepended metadata

title: 'important links:'
tags: [decompiler]

---

---
tags: decompiler
---
# important links:
- All samples summary: [link](https://docs.google.com/spreadsheets/d/1lWiTob6nIFrQFSZFpIHcUmtopqbEJNi0JVm1GPklqTQ/edit?pli=1#gid=1429326896)
- 

# To do:
- Check control flows
    - minor versions of python
    - Compare control flows for 10 programs -> for major and minor versions
- [ ] Work on creating rules and increase fixing samples (in progress)
- [ ] Add rules to Table 1 for source level transformations
- [ ] Create table for Regex transformation of bytecode
- [x] Errors associated with headers (Yasunari) - Due on 20 Nov
    - [x] Check to see if the code object can be extracted
    - [x] Apply different environments for bytecode extraction
    - [ ] 
- [x] Categorise types of errors (Ahmed)
    - [ ] Create a pie chart or table for types of errors for paper
    - [ ] Map solutions to root causes -> Map root causes to symptoms 
        - [ ] Make table out of this
- [x] Add tables to paper in categories
- [x] Run decompyle3 on pyinstaller files
- [ ] Incorporate rule fixes for PYC samples (11 samples) 
    - [x] py 3.7 samples
    - [ ] py 2.7 samples
- [ ] Pyinstaller py3.7 files (250) - Friday
    - [x] run `break_booleans` -> Checking now in check_uncompyle
    - [x] run `remove_deadcode` -> Checking now in check_uncompyle2
    - [x] run `convert_loopBoolean` -> Checking now in check_uncompyle3
- [ ] Check python 3.9 conversion
    - [ ] Try header replacement
- [ ] ~~Filter benign and not benign (Ahmed)~~
- [ ] Evaluation:
    - [ ] Other numbers for run-time
    - [ ] Blocks, iterations, "how many solutions?"
- [ ] Find samples in passed decompilation to see if we can find incorrectly decompiled files
~~- [ ] SET -> verification of decompiler -> CFG differences~~
- [x] Run decompiler on pyc files from the 184k files extracted from pyinstaller (**only 134k done**)
    - [x] Run on python 2.7
    - [x] Run on python 3.6
    - [x] Run on python 3.7
    - [ ] ~~Run on python 3.8 - Technical issue wasted run~~
- [x] Compile and separate out failed pyc files 
    - [x] Separate failed files
    - [x] Separate parse errors
- [x] Check unique
- [x] Run tests on new pyc files [on going] - All failing were already tested before. No new samples
- [x] Check known malware parse errors
# Rule progress
For python 3.7 samples (pyinstaller - 253): https://docs.google.com/spreadsheets/d/1nUEuDckBVd26UDtgYx7xB6nZNiYWtyl4Xh9t4yxQEpk/edit#gid=597934707

For python 3.8 samples (pyinstaller - 1661): https://docs.google.com/spreadsheets/d/1qyQ-RKhZeJimnACpDoruWekb_49Sjzxj1KqFst6P_3s/edit?usp=sharing

# To discuss

N/A

# Malicious pyc files summary:

- Pyinstaller pycs (Details [here](https://docs.google.com/spreadsheets/d/1lWiTob6nIFrQFSZFpIHcUmtopqbEJNi0JVm1GPklqTQ/edit?pli=1#gid=756694094)):


![](https://i.imgur.com/dmCT32i.png)



# Sample sheet:
- [link](https://docs.google.com/spreadsheets/d/1j6isrdKbemgjXVSewO3wmjCsqXudSIH7-Yz52eqITuc/edit#gid=257041503) to all samples
- [link](https://docs.google.com/spreadsheets/d/1pAvO0rmjofyqvrocO8x8ytL43eCivXEHF8sEaLM6Ppc/edit#gid=0) to UTD categories
- [Link](https://docs.google.com/spreadsheets/d/1lWiTob6nIFrQFSZFpIHcUmtopqbEJNi0JVm1GPklqTQ/edit?pli=1#gid=0) to results of recompiled malicious source python code
- [Link](https://docs.google.com/spreadsheets/d/1lWiTob6nIFrQFSZFpIHcUmtopqbEJNi0JVm1GPklqTQ/edit?pli=1#gid=867711403) to malicious pyc files result.

# Manipulation rules:
- The rules can be found [here](https://hackmd.io/@aliahad97/SylocWXWt#Transformation-rules)


# Changing control flows:
Here is the link to logging to down changes in control flow through decompilation: [link](https://hackmd.io/@aliahad97/ry3JqUjad)

# My MWEs

- Link to MWEs extracted by UTD: [here](https://hackmd.io/@aliahad97/Hyu8mVX6O)

## Error 1/ 0-20

Link for MWEs [here](https://hackmd.io/@aliahad97/rkPmyJCpO).

## Error 1/ 21-27

Link for MWEs [here](https://hackmd.io/@aliahad97/rJ9E9JA6d)

## Error 1/ 28-38

Link for MWEs [here](https://hackmd.io/@aliahad97/r1feMvmRd)

## Error 1/ 39-61

Link for MWEs [here](https://hackmd.io/@aliahad97/BJNrSJ0pd)

## Error 1/ 62-82

Link for MWEs [here](https://hackmd.io/@aliahad97/Hk4eJlCCO)

## Error 1/ 83-97

Link for MWEs [here](https://hackmd.io/@aliahad97/HJ4WsOVyY)

## Error 1/ 98-119

Link for MWEs [here](https://hackmd.io/@mengwang/rytVGn2yt) - (by meng)

## Error 1/ 120 - 
Link for MWEs [here](https://hackmd.io/@mengwang/ry_wQtxxK) - (by meng)


## Only MWEs:
- Meng: [here](https://hackmd.io/@aliahad97/Hy1Xp9kQK)
- Xin Liu: [here](https://hackmd.io/@aliahad97/S16yA9kXK)
- Ahmed: [here](https://hackmd.io/@aliahad97/SJg6aqyQK)

## Error Template
Source: [link](https://svn.apache.org/repos/infra/infrastructure/trunk/projects/asfpy/asfpy/ldap.py)
Python version: 3.8
Decompyle3: Failed
Uncompyle6: Failed
Error: `Deparsing stopped due to parse error`

| Py3.8 | Py3.7 | Py3.6 | Py2.7 |
| -------- | -------- | -------- | -------- | 
| Pass    | Fail     | Pass     | Pass |


### MWE:
```python=

```
#### Closest Solution:
```python=

```
```c=

```
#### MWE data:
Bytecode for MWE:
```c=

```
Output uncompyle6:
```python=

```
Output Decompyle3:
```python=

```
