Monday, May 15, 2023

VLC media player installation in Centos 7 Linux

 how to install VLC player :-
------------------------------------------

here firstly you must connected to internet.


first download and install following repo : 

 epel-release-7-11.noarch.rpm 

# rpm -ivh --force epel-release-7-11.noarch.rpm

to get hands on linux search RHCSA video tutorial for centos 7 linux in youtube.

then login as root user and run yum command :

# cd /opt
# mkdir vlc-rpms
# cd vlc-rpms
# yum install vlc --downloaddir=.

this command will download all rpms in  directory '/opt/vlc-rpms".

now run following command to install all rpms at once :

# rpm -ivh --force *.rpm

here you must be inside dir where all rpms are downloaded.

OR install separately download following rpms  from "pkgs.org" web site and download individually. Install via above command for "*.rpm"

aalib-libs-1.4.0-0.22.rc5.el7.x86_64.rpm
crystalhd-firmware-3.10.0-11.el7.noarch.rpm
epel-release-7-11.noarch.rpm
faad2-libs-2.7-5.el7.nux.x86_64.rpm
faad2-libs-2.7-9.el7.x86_64.rpm
fdk-aac-0.1.4-1.x86_64.rpm
ffmpeg-libs-2.8.15-2.el7.nux.x86_64.rpm
ffmpeg-libs-3.4.8-1.el7.x86_64.rpm
fluidsynth-libs-2.1.8-4.el7.x86_64.rpm
fribidi-1.0.2-1.el7.x86_64.rpm
ftgl-2.1.3-0.8.rc5.el7.x86_64.rpm
game-music-emu-0.6.2-1.el7.x86_64.rpm
gnome-vfs2-2.24.4-14.el7.x86_64.rpm
jack-audio-connection-kit-1.9.9.5-6.el7.x86_64.rpm
lame-libs-3.100-1.el7.x86_64.rpm
liba52-0.7.4-27.el7.x86_64.rpm
libaom-3.1.1-1.el7.x86_64.rpm
libass-0.13.4-6.el7.x86_64.rpm
libcaca-0.99-0.17.beta17.el7.x86_64.rpm
libcddb-1.3.2-12.el7.nux.x86_64.rpm
libcddb-1.3.2-12.el7.x86_64.rpm
libchromaprint-1.0-1.el7.x86_64.rpm
libcrystalhd-3.10.0-11.el7.x86_64.rpm
libdav1d-0.5.2-2.el7.x86_64.rpm
libdc1394-2.2.2-3.el7.x86_64.rpm
libdca-0.0.5-7.el7.nux.x86_64.rpm
libdca-0.0.5-9.el7.x86_64.rpm
libdvbpsi-1.3.3-1.el7.x86_64.rpm
libebml-1.3.9-1.el7.x86_64.rpm
libffado-2.1.0-4.el7.x86_64.rpm
libGLEW-1.10.0-5.el7.x86_64.rpm
libkate-0.4.1-5.el7.x86_64.rpm
libmad-0.15.1b-26.el7.x86_64.rpm
libmatroska-1.5.2-1.el7.x86_64.rpm
libmfx-1.21-2.el7.x86_64.rpm
libmicrodns-0.1.2-1.el7.x86_64.rpm
libmodplug-0.8.9.0-9.el7.x86_64.rpm
libmpeg2-0.5.1-10.el7.nux.x86_64.rpm
libmpeg2-0.5.1-15.el7.x86_64.rpm
libplacebo-0.4.0-2.el7.x86_64.rpm
libprojectM-2.1.0-2.el7.x86_64.rpm
libspatialaudio-3.1-1.20200406gitd926a2e.el7.x86_64.rpm
libtiger-0.3.4-7.el7.x86_64.rpm
libupnp-1.6.25-1.el7.x86_64.rpm
libusb-0.1.4-3.el7.x86_64.rpm
libvdpau-1.1.1-3.el7.x86_64.rpm
libxml++-2.37.1-1.el7.x86_64.rpm
lirc-libs-0.10.0-16.el7.x86_64.rpm
live555-2013.11.26-1.el7.nux.x86_64.rpm
live555-2020.07.31-1.el7.x86_64.rpm
minizip-1.2.7-18.el7.x86_64.rpm
ocl-icd-2.2.12-1.el7.x86_64.rpm
opencore-amr-0.1.3-3.el7.nux.x86_64.rpm
opencore-amr-0.1.5-6.el7.x86_64.rpm
openjpeg2-2.3.1-3.el7_7.x86_64.rpm
protobuf-lite-2.5.0-8.el7.x86_64.rpm
rpmfusion-free-release-7.noarch.rpm
schroedinger-1.0.11-4.el7.x86_64.rpm
SDL_image-1.2.12-11.el7.x86_64.rpm
soxr-0.1.2-1.el7.x86_64.rpm
srt-libs-1.2.3-2.el7.x86_64.rpm
twolame-libs-0.3.13-12.el7.x86_64.rpm
vid.stab-1.1-4.20170830gitafc8ea9.el7.x86_64.rpm
vlc-2.2.8-1.el7.nux.x86_64.rpm
vlc-3.0.16-1.el7.x86_64.rpm
vlc-core-2.2.8-1.el7.nux.x86_64.rpm
vlc-core-3.0.16-1.el7.x86_64.rpm
vo-amrwbenc-0.1.2-1.el7.nux.x86_64.rpm
vo-amrwbenc-0.1.3-1.el7.x86_64.rpm
vulkan-1.1.97.0-1.el7.x86_64.rpm
vulkan-filesystem-1.1.97.0-1.el7.noarch.rpm
x264-libs-0.142-11.20141221git6a301b6.el7.nux.x86_64.rpm
x264-libs-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm
x265-libs-1.9-1.el7.nux.x86_64.rpm
x265-libs-2.9-3.el7.x86_64.rpm
xvidcore-1.3.2-5.el7.nux.x86_64.rpm
xvidcore-1.3.4-2.el7.x86_64.rpm
zlib-1.2.7-18.el7.x86_64.rpm
zlib-devel-1.2.7-18.el7.x86_64.rpm
zvbi-0.2.35-1.el7.x86_64.rpm
 

Here you may be get library file errors, then you must resolve all as :-

copy name of library name which is ".so.version" file. search on google for rpm of that "so" file. you may suffix with centos. It most probably get link of "pkgs.org". Now download rpm for that library file. Do that for all library files. now run rpm command for as given above for all rpms. It may display again lib errors. Again download rpm for libs. Repeat until get no library dependencies. Then rpm command will install VLC. This method works for all type of software installing from rpm.

Monday, May 8, 2023

Actual Reverse Engineering in Software Industries

 
 It is possible to convert machine code of software, to source code in high level language in which that software is written. From starting of softwares all over the world level even all scientists assumed that source code (i.e. programs or softwares written in high level language such as c, c++, java, vc#.net etc.) is converted into machine code by compiler is not possible to convert binary machine language back into high level language source code, but I say this is possible. Now here is that compiler first find errors mostly in starting, of syntax errors and others. Than error free from bugs source code is converted to object code and then linker and loader attaches library, that makes this object code to executable code ( i.e. machine language, that is understands only 0s and 1s or in other words numbers). Our scientists believed that this executable machine code can not be converted to reverse in source code that is in high level language in which this software (converted machine code) is written.

  But I say that this is possible. I termed this as "Reverse Engineering".
From machine code to high level language source code.

    I get it from here :- When I was in college in a subject  "Micro processors", we did our practicals in 8085 micro processors programming. There was in big box 8085 was fixed, aside of this there was Hexa decimal number display for two digits of hexa code. And there is also a Hexa decimal keybords, labeled  ( 0 1 2 3 4 5 6 7 8 9 A B C D E F ). Now to program in 8085 which understands only numbers, we need first build program in paper hard copy in assembly language. And in order to enter or type program in 8085 we enters hexa decimal code equivalent to that assembly language program. for example :-
    
    machine code -- assembly code
    8F                MOVE A, AC         (MOVE CONTENT OF REGISTER A TO ACCUMULATOR )
    54                ADD AC, B        ( ADD ACCUMULATOR VALUE TO CONTENT OF REGISTER B)
    .
    .
    .
    .
    F6               MOVE AC, D        ( MOVE ACCUMULATOR TO REGISTER D, Let it is answer that is received by end user).
    
    If you remember a book "TSR through C" by kanentkar, and other deeply discovered and delved enough kanetkar's books for c programmers. There was some functions that works and operates with CPU registers, correct.
    
    Now then compiler converts source code into object code.
    
    I remember once I was working in visual studio in college, program displayed a message for some errors. And there was option for debugging in vc++ or something like that. I didn't understand that message and hit for debugging. That IDE moved me to file in editor have some columns, some for some non-understandable numbers and one for assembly commands. I asked one of my friend Rudra Rup Mitra, What are these dude. He said I don't know much about that, this is assembly language code, some numbers but didn't get delve into this. Because of that window I thought it may be that there is assembly language code and there equivalent machine code.
    
    Now as in above listing, it is clear that machine code is equivalent to assembly code. i.e. we can write equivalent assembly code from its executable machine code. And from that we can convert from assembly code to high level source code. That is "Reverse Engineering". and for that there is "Decompiler".