Visit The New, Modern Unix Linux Community


Convert binary file to csv and then back to the binary format


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Convert binary file to csv and then back to the binary format
# 1  
Convert binary file to csv and then back to the binary format

Hello *nix specialists,

Im working for a non profit organisation in Germany to transport DSL over WLAN to people in areas without no DSL. We are using Linksys WRT 54 router with DD-WRT firmware There are at the moment over 180 router running but we have to change some settings next time. So my idea is, to use the firmware modification kit. After decompressing the original firmware, I get a file calling defaults.bin (inside the attaced file) in which are stored all variables with the correspondending values. I have no informations about the binary format but maybe it would help to take a look in to the C-source: (inside the attaced file)
I think at the end of the code is a function to read the parameters.

Okay back tot the topic.

I want to convert the defaults.bin into a csv text file. Then a script reads from a database the required parameters like IP address, username, password ... and change so the csv file. Then a script should make from the csv file a new (specially for one router) defaults.bin file. At the end, the firmaware modification kit compress all to the firmware file what we can send to each router.

Is this workaround to crazy?

best regards and merry X-mas,
Frank
# 2  
It seems simple enough in C, where you can access the structure. You might want to put things like IP in dotted decimal, e.g., "255.1.2.3" if humans are to read them.
# 3  
Thanks for reply. So I have to learn C now. Where can I find informtions about the structure of the binary file?

Thanks in advance, Frank
# 4  
It is at the top of your C file. A struct is a structure of data, and the file seems to be a pile of structures, except an empty structure is legal. The binary image has a structure count at the front, and then each structure has a length, and if it is zero, that structure is empty. There may be other flags in the structure to identify what is in the length. The confusing thing is all the #define type stuff in the structure definition, which is most of the file. I might be good to make a preprocessed file (cc -E) where that stuff is resolved. Once you have the C, you may find it is easier enough to get configuration from some other file type. XML is also popular for C++/JAVA to represent objects in collection objects ad infinitim.

Many fine C tutorials online for free, and gcc is free, too.
# 5  
Okay, I have now written a small program in C to read the binary file and take the output to stdout. But the output is divided in crazy parts. I will now ask and the C forum.

Thanks everybody for helping me and merry x-mas.

Frank
# 6  
Well, for CSV you need to decide the order of all fields and any binary conversion from say int to ascii digits (straight, hex, octal, dotted decimal)or boolean to true/false or 1/0 or 0/1 !
# 7  
So I can see, the fields are defined as chars:

Code:
struct nvram_tuple {
    char *name;
    char *value;
    struct nvram_tuple *next;
};

So the output should look like:

"ip_addr","192.168.1.1"\n
"wan_ip","10.23.354.21"\n
"wan_dns","8.8.8.8"\n

(...)

I have now opened a topic at the C-forum:
Reading a router configuration file

thank, Frank

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #452
Difficulty: Medium
San Francisco has a Linux-based traffic controller computer that meets the latest Advanced Transportation Controller (ATC) standards.
True or False?

10 More Discussions You Might Find Interesting

1. Programming

DB2 convert digits to binary format

Dear Team We use DB2 v10.5 and using DBArtisan tool Can someone please guide how to convert digits to binary numbers using db2 feature. Ex> for number 9 , binary should be 1001 ( 8+1) Any help appreciated. Thanks (2 Replies)
Discussion started by: Perlbaby
2 Replies

2. UNIX for Beginners Questions & Answers

Conversion of Binary csv file

Hello, I have a binary csv file that was created on 'Red Hat Enterprise Linux Server release 6.6'. Now we have transferred all files on Ubuntu 16.04.2 LTS/xenial On opening the file in Ubuntu, there are special characters ... (8 Replies)
Discussion started by: nans
8 Replies

3. Shell Programming and Scripting

Convert Binary File To Hex In Linux

dHi, I have the attached file(actual file can be extracted post unzipping it) & i am trying to use the following code for coversion to hex format. Starting hex value is 84 which is start of the record & termination is done using 00 00 followed by 84(hex) which i can see in the dump clearly using... (14 Replies)
Discussion started by: siramitsharma
14 Replies

4. Shell Programming and Scripting

Convert jpg file to binary format

Hi Team, Here's the requirement. I have a image file in jpg format in unix. Now I need to i. convert the jpg format to binary format ii. followed by loading the binary file to Oracle db. Can anyone help me out? Thanks Krishnakanth Manivannan (4 Replies)
Discussion started by: kmanivan82
4 Replies

5. UNIX for Dummies Questions & Answers

convert a .tr file to binary in cygwin

I would like to convert a .tr file to a binary file to use for trace purposes. Can anyone provide any insight? (0 Replies)
Discussion started by: sparklezilla3
0 Replies

6. UNIX for Dummies Questions & Answers

Converting binary file to readable format in Ksh

In Unix/Ksh, when I try to look inside a file it says that the file may be a binary file and if I want to see it anyway. When i say 'yes', it shows me the content filled with unreadable symbols (looks like binary). Is there a command that I can run from the Unix prompt to convert/translate that... (3 Replies)
Discussion started by: arthurs
3 Replies

7. Shell Programming and Scripting

Is there any script which convert binary file to CSV format

Dear guys; I have a binary file and I need to convert its data to csv format ...appreciating your help. Best Regards (14 Replies)
Discussion started by: ahmad.diab
14 Replies

8. Programming

how to write a file to binary format in C ?

I'm in the Solaris environment. I want to write data to a file, but I don't want it to be easily read from the C shell. For example, here's my code: main () { FILE *fo; fo = fopen ("filename", "w"); fprintf (fo, "This is a test.\n"); fclose (fo); } Anyone can open up... (3 Replies)
Discussion started by: serendipity1276
3 Replies

9. Programming

Reading a binary file in text or ASCII format

Hi All, Please suggest me how to read a binary file in text or ASCII format. thanks Nagendra (3 Replies)
Discussion started by: Nagendra
3 Replies

10. UNIX for Dummies Questions & Answers

How to convert binary Unix file to text

Hi all, I have a print control file (dflt) for Oracle which is in binary. As I am going to develope an application in Window environment, I would like to reference the dflt file. But it is in binary format and I cannot access it. Anyone can suggest me how to convert the file into text or... (5 Replies)
Discussion started by: user12345
5 Replies

Featured Tech Videos