UNDERCODE COMMUNITY
2.71K subscribers
1.24K photos
31 videos
2.65K files
82.7K links
πŸ¦‘ Undercode World!
@UndercodeCommunity


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

2️⃣ Cyber & Tech NEWS:
@Undercode_News

3️⃣ CVE @Daily_CVE


✨ Youtube.com/Undercode
by Undercode.help
Download Telegram
Forwarded from Backup Legal Mega
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ PART 2 PRO CRACKING
> Crash Course in Assembly Language
instagram.com/UndercodeTesting

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


1) If you are already well familiar with the assembly
language, you may wish to skip this section. Cracking
demands the knowledge of assembly language. If you wish to

2) become a "serious" cracker, you might like to read up more
about this fascinating language. This section will only give
you enough info for intermediate level cracking.

3) At this point, you should familiarize yourself with
DEBUG and its commands as we will be using them shortly.

πŸ¦‘ Registers
--------β€”β€”β€”β€”-

1) One of the neato things that you will be fooling around
most often with are called the registers. Registers are like
variables (such as in BASIC) that are located within the CPU
itself. These registers may hold a positive integer from 0
to 255 or from 0 to 65535. They can also hold negative
integers from -128 to 127 or from -32768 to 32767. The
registers are given names as follows:

2) AX => accumulator - this register is most commonly used
for mathematical or I/O operations
BX => base - this register is used commonly as a base or
a pointer register (we'll talk more about this
later)
CX => count - used commonly for counting instructions
such as loops
DX => displacement - much like the base register

3) The registers stated above are considered general purpose
registers, since they can basically be used to store whatever
the user wants. Let's try putting some number in these
registers. Type in "R {enter}". You should see a bunch of
info, of which are four of the above mentioned registers.
Now, type in "RAX {enter}". Then type in a number like
8FABh.

4) Type in "R" again and noticed how the accumulator
(AX) has change its number.


5) These general purpose registers can also be "split" in
half into its higher and lower order components. Instead of
having one register AX, you can have two registers, AH and
AL. Note however that while you have a range of 0 to FFFFh
for AX, you will now have a range of 0 to FF for AH and AL.
You cannot change these directly in debug, but be aware that
programs will use it. If AX contains 0A4Ch, then AH will
contain 0Ah and AL will contain 4Ch.
6) The following are called the segment registers:

7) CS => code segment - the block of memory where the code
(instructions are located)
DS => data segment - the block of memory where data can
be accessed. In block move operations in which



8) huge blocks of memory are moved, this is commonly
the segment in which the CPU reads from.
ES => extra segment - also another data segment. In
block move operations in which huge blocks of
memory are moved, this is commonly the segment in
which the CPU writes to.
SS => stack segment - this is the block of memory in
which the CPU uses to store return addresses from
subroutines. (more on this later)

9) In introductory level of cracking, we don't mess around with
these registers. Later, we will see how we can use these to
trick a program into thinking other things, but that's later.
You can also change these registers in debug. Type in "RCS
{enter}". Then enter "0 {enter}" and notice how the CS
register changed.
There are other registers that we use to see what the
program is doing. These registers can also be change in
debug. Included are the following:
Forwarded from Backup Legal Mega
PART 2 PRO CRACKING

10) SI => source index - this register is used in
conjunction with block move instructions. This is
a pointer within a segment (usually DS) that is
read from by the CPU.
DI => destination index - this register is also used in
conjunction with block move instructions. This is
a pointer within a segment (usually ES) that is
written to by the CPU.
BP => base pointer - a pointer used commonly with the
stack segment
SP => stack pointer - another pointer used commonly with
the stack segment (this one, you don't touch)

11) These registers control how certain instruction work, such as
the conditional jumps (in BASIC, they are like IF-THEN's).
They are stored as bits (0's or 1's) in the flags register.
We will most often use:

zero => ZR/NZ (zero/not zero) - tells you whether an
instruction (such as subtraction) yielded a zero
as an answer
sign => NG/PL (negative/positive) - tells you whether an
instruction yielded a positive or negative
number
carry => CY/NC (carry/no carry) - tells you whether an
instruction needed to carry a bit (like in
addition, you carry a number over to the next
digit). Various system (BIOS) functions use
this flag to denote an error.
direction => DN/UP (decrement/increment) - tells a block
instruction to either move forward or backwards
in reads and writes

12) Try changing some of these bits. Type in "RF {enter}". Then
type in "DN {enter}" to change the direction flag to its
decrement position.


@UndercodeTesting
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
Forwarded from Backup Legal Mega
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ Mnemonic Flag(s) Checked Description
-------------------------------------------------------------
JB/JNAE CF=1 Jump if below/not above or
equal (unsigned)
JAE/JNB CF=0 Jump if above or equal/not
above (unsigned)
JBE/JNA CF=1 or ZF=1 Jump if below or equal/not
above (unsigned)
JE/JZ ZF=1 Jump if equal/zero
JNE/JNZ ZF=0 Jump if not equal/not zero
JL/JNGE SF not equal Jump if less/not greater or
to OF equal (signed)
JGE/JNL SF=OF Jump if greater or equal/not
less (signed)
JLE/JNG ZF=1 or SF Jump is less or equal/not
not equal OF greater (signed)
JG/JNLE ZF=0 or SF=OF Jump if greater/not less or
equal (signed)
JS SF=1 Jump if sign
JNS SF=0 Jump if no sign
JC CF=1 Jump if carry
JNC CF=0 Jump if no carry
JO OF=1 Jump if overflow
JNO OF=0 Jump if not overflow
JP/JPE PF=1 Jump if parity/parity even
JNP/JPO PF=0 Jump if no parity/parity odd

There are all the possible combinations of conditional jumps
that you will encounter. I realize that we have not
discussed some of the flags such as overflow or parity, but
be aware that they exist and programs sometimes use them.

JMP - jump
----------
This instruction does what it suggests. It jumps too
different sections of code. Several forms of the jump
instruction include:

2E0B:0208 EBF6 JMP 0200
2E0B:020A 3EFF24 JMP DWORD PTR DS:[SI]

@UndercodeTesting
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
Forwarded from Backup Legal Mega
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘ PART 3 PRO CRACKING

> DISK BASED COPY PROTECTIONS

Disk Based Copy Protection
--------------------------
Since disk based copy protection schemes are rarely
used, we will not go into great depth in its discussion.

INT 13h
-------
I have previously mentioned that INT 13h copy protection
schemes are hardly ever used anymore. Nevertheless, it would
be good practice for the beginner to learn how to defeat the
code. You will most likely see INT 13h used with function 2,
read sector. This means that:

AH => will contain the number 2 (function 2)
AL => the number of sectors to read in. This is
commonly only 1 since you just want to check a few
sectors for disk validity.
CH => will contain the cylinder number
CL => will contain the sector number
DH => will contain the head number
DL => will contain the drive number
00h - 7Fh for floppies
80h - FFh for fixed disks
ES:BX => will point to the address into which the data
read from the disk will be written to

Upon the return for this interrupt, if the carry flag is
set, that means that the program could not read the sector,
and therefore the disk is valid. If the carry flag is clear,
that meant that INT 13h could read the sector properly and so
the disk would be bad in the eyes of the program, thinking it
was a copied disk.

@UndercodeTesting
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
πŸ¦‘ using those cracking written tutorials + Cracking tools from yesterday you will get alot of help
paid pdfsπŸ¦‘
Forwarded from Backup Legal Mega
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁

πŸ¦‘Telenet The Secret Exposed :

For years, people and myself, have offtend tried to"work telenet unto a coma"..
With no success, for the past few years, i have gathered data, and finally
know the system, its faults, capabilities, and errors.
This really should be in a text file, but. i wish this information to
be reserved for the few users on this system:


πŸ¦‘before start, here are a few basic commands to get famialir with:

Execution syntax of command function
------------------------------------------------------------------------

Connect c (sp) Connects to a host (opt)

Status stat Displays network port add

Full-Duplex full network echo

Half-Duplex half Termnial echo

Mail
or
Telemail mail telemail telemail

set Parmaters set (sp) 2:0,3:2 Select Pad Parameters

Read Paramaters par? par?(sp)2:0,3:2 display pad

Set and read
Paramaters set?(sp)2:0,3:2

escape escape from data modew

File Trasnfer dtape Prepares network for bulk

continue cont

disconnect bye or d

hang up hangup

terminial term(sp)d1 Set TERM

test

test(sp)char


test(sp)echo


test(sp)triangle


this is the end of the commands, view next msg for useage:

Trap and pipe x.25 prot. (telenet)...

Please note this is a very difficult transaction... The following
flow chart, will only work on a machine with atleast 10 Mhz..
However, an account on a unix, with cu capabilities will also work..

Package networking, is exactly what it means..
before, i go into detail, let me give you and over view...



-------------
Host
-------------
!
!
!
!
-----------------
telenet, remote
$ divertor, and
pacakge.
------------------
!
!
---------------------
! ! ! !
! ! ! !
u u u u
s s s s
e e e e
r r r r
s s s s

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

πŸ¦‘Telenet The Secret Exposed 2

If you notice carefully, there is online to the host and 4 users.That is how its packaged, for instance the first 100 mills. will be from user
on then two etc..

> The way telenet can tell which is user is which, is
simply by the time. Time is of the essense. data is constantly been
packed, anywhere from 100 mils. to 760 mils. The trick to trap tapping and piping, a lead off of telenet, is to have as system running four
proccess and the same time, and have a master prgm.

> that switch's at
the appropriate delays... As you can see this is where a 10 Mhz +
system, is needed.

πŸ¦‘On the host end.

The host end consists of three things..

1) 9600 baud modem

2) a dedicated telcue line

3) a network pad..

@UndercodeTesting
▁ β–‚ β–„ ο½•π•Ÿπ”»β’Ίπ«Δ†π”¬π““β“” β–„ β–‚ ▁
Forwarded from Backup Legal Mega
This media is not supported in your browser
VIEW IN TELEGRAM