1
0
mirror of https://github.com/takeshixx/redstar-tools synced 2025-07-17 20:43:21 +00:00

Additional files added

This commit is contained in:
takeshix
2015-12-27 13:12:22 +01:00
parent 65c3b2584d
commit ac8370276d
11 changed files with 67 additions and 5 deletions

View File

@ -1,2 +1,3 @@
# redstar-tools
Tools for Red Star OS (붉은별)
# Tools for Red Star OS (붉은별)
This repository includes several binaries from and tools for Red Star OS. These can be used for further research work.

7
bin/README.md Normal file
View File

@ -0,0 +1,7 @@
## opprc
The service which is responsible for watermarking media files.
## scnprc
A "virus scanner" that deletes malicious files.

BIN
bin/opprc Executable file

Binary file not shown.

BIN
bin/scnprc Executable file

Binary file not shown.

View File

@ -1,11 +1,13 @@
# libos
## Compile
`libos.so.0.0.0` is the original libos file from Red Star OS 3.0 Desktop.
## Compile custom libos
1. gcc -c -Wall -Werror -fpic libos.c
2. gcc -shared -o libos.so.0.0.0 libos.o
## Install
## Install custom libos
1. Move new libos.so.0.0.0 to /usr/lib/libos.so.0.0.0
2. Link /usr/lib/libos.so.0.0.0 to /usr/lib/libos.so.0

BIN
libos/libos.so.0.0.0 Executable file

Binary file not shown.

BIN
patterns/AnGae.dat Normal file

Binary file not shown.

11
patterns/README.md Normal file
View File

@ -0,0 +1,11 @@
## AnGae.dat
The pattern file from Red Star OS 3.0 Desktop.
## angae-010.template
A file structure template for the 010 Editor.
## parse.py
Basic parsing of AnGae.dat files.

41
patterns/parse.py Executable file
View File

@ -0,0 +1,41 @@
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import sys
import struct
f = open(sys.argv[1])
timestamp, = struct.unpack('<I', f.read(4))
unknown1 = f.read(1000)
package_id, = struct.unpack('<I', f.read(4))
unknown2, = struct.unpack('<I', f.read(4))
pattern_date, = struct.unpack('<I', f.read(4))
file_count, = struct.unpack('<I', f.read(4))
head_pos, = struct.unpack('<I', f.read(4))
real_size, = struct.unpack('<I', f.read(4))
pattern_count, = struct.unpack('<Q', f.read(8))
print('timestamp: {}'.format(timestamp))
print('pattern count: {}'.format(pattern_count))
patterns = []
for i in range(pattern_count):
pattern = dict()
pattern['reclen'], = struct.unpack('<I', f.read(4))
if int(pattern['reclen']) is not 200:
print(pattern['reclen'])
break
pattern['package_id'], = struct.unpack('<I', f.read(4))
pattern['content'], = struct.unpack('<200s', f.read(200))
patterns.append(pattern)
pattern_checksum, = struct.unpack('<20s', f.read(20))
print('pattern checksum: {}'.format(pattern_checksum.encode('hex')))
#print(patterns)

View File

@ -1,6 +1,6 @@
# Interact with `rtscan`
`resctl.py` can be used to interact with `rtscan` kernel module via ioctl calls to `/dev/res`.
`resctl.py` can be used to interact with `rtscan` kernel module via ioctl calls to `/dev/res`. `rtscan.ko` is the original kernel module from Red Star OS 3.0 Desktop.
*Note*: On Red Star 3.0 this needs to be executed with root privileges.

BIN
rtscan/rtscan.ko Executable file

Binary file not shown.