Learn how to break windows
Debug, Learn how to break windows, programs ect physically
Troubleshoot is a program that accompanies present day renditions of DOS (I don't have the foggiest idea when I began delivering out with DOS). Anyway, all Windows clients ought to have it as of now.
Debug, Learn how crack windowstips-and-tricks25.blogspot.com |
It's an extraordinary device for debuging programs, unassembling and splitting, and perusing "covered up" memory zones like the boot part, and substantially more.
Coming up next was duplicated from a get together instructional exercise who's creator we can't credit, since we have no clue what his identity is.
Get into DOS and type "troubleshoot", you will get a brief this way:
-
presently type "?", you ought to get the accompanying reaction:
amass A [address]
analyze C extend address
dump D [range]
enter E address [list]
fill F go list
go G [=address] [addresses]
hex H value1 value2
input I port
load L [address] [drive] [firstsector] [number]
move M go address
name N [pathname] [arglist]
yield O port byte
continue P [=address] [number]
stop Q
register R [register]
search S go list
follow T [=address] [value]
unassemble U [range]
compose W [address] [drive] [firstsector] [number]
distribute extended memory XA [#pages]
deallocate extended memory XD [handle]
map extended memory pages XM [Lpage] [Ppage] [handle]
show extended memory status XS
Gives up through every one of these directions:
Collect:
- a
107A:0100
Now you can begin gathering a few projects, much the same as utilizing a constructing agent. Anyway the troubleshoot constructing agent is constrained as you will likely notice. Lets attempt to enter a basic program:
- a
107A:0100 MOV AH,02
107A:0102 MOV DL,41
107A:0104 INT 21
107A:0106 INT 20
- g
A
Program ended typically
That is a similar program we did toward the finish of the past part. Notice how you run the program you just entered with "g", and furthermore see how the set-up part isn't there? That is on the grounds that troubleshoot is simply too restricted to even think about supporting that.
Something else you can do with gather is indicate the location at which you need to begin, as a matter of course this is 0100 since that is the place all .COM documents start.
Think about:
Think about takes 2 square of memory and showcases them next to each other, byte for byte. Lets do a model. Very out of investigate on the off chance that you haven't previously utilizing "q". Presently type "troubleshoot c:\command.com"
- c 0100 l 8 0200
10A3:0100 7A 06 10A3:0200
This order contrasted counterbalance 0100 and 0200 for a length of 8 bytes. Troubleshoot reacted with the area that was DIFFERENT. On the off chance that 2 areas were the equivalent, investigate would simply preclude them, if all are the equivalent troubleshoot would just come back to the brief with no reaction.
Dump:
Dump will dump a predefined memory portion. To test it, code that get together program once more:
C:\>debug
- a
107A:0100 MOV AH,02
107A:0102 MOV DL,41
107A:0104 INT 21
107A:0106 INT 20
- d 0100 l 8
107A:0100 B4 02 B2 41 CD 21 CD 20
...A.!.
The "B4 02 B2 41 CD 21 CD 20" is the program you simply made in machine language.
B4 02 = MOV AH,02
B2 41 = MOV DL,41
Cd 21 = INT 21
Cd 20 = INT 20
The "...A.!." part is your program in ASCII. The "." speak to non-printable characters. Notice the An in there.
Enter:
This is one of the hard directions. With it you can enter/change certain memory zones. Lets change our program with the goal that it prints a B rather than an A.
- e 0103 <- - alter program at fragment 0103
107A:0103 41.42 <- - change 41 to 42
- g
B
Program ended regularly
-
Wasn't that stunning?
Fill:
This direction is genuinely pointless, however who knows....
It fills the predetermined measure of memory with the predefined information. Lets for instance get out all memory from section 0100 to 0108, which happens to be our program.
- f 0100 l 8 0 <- - record counterbalance 0100 for a length of 8 bytes with 0
- d 0100 l 8 <- - check that it worked
107A:0100 00 .......
That's right, it worked.
Go:
So far we utilized go (g) to begin the program we just made. In any case, Go can be utilized for substantially more. For instance, lets state we need to execute a program at 107B:0100:
- r CS <- - set the CS register to point to 107B
CS 107A
:107B
- g =100
You can likewise set breakpoints.
- a <- - enter our unique program so we have something
107A:0100 MOV AH,02 to work with
107A:0102 MOV DL,41
107A:0104 INT 21
107A:0106 INT 20
- g 102 <- - set up a break point at 107A:0102
Now the program will stop, show all registers and the present guidance.
Hex:
This can be helpful. It subtracts and includes two hexadecimal qualities:
- h 2 1
0003 0001 <- - 2h + 1+ = 3h and 2h - 1h = 1h
This is valuable for figuring a projects length, as you will see later.
Information:
This is one of the further developed directions, and I chose not to discuss it a lot for the present. It will peruse a byte of information from any of your PCs I/O ports (console, mouse, printer, and so forth).
- I 3FD
60
-
Your information might be unique.
In the event that you need to know, 3FD is Com port 1, otherwise called First Asynchronous Adapter.
Burden:
This order has 2 organizations. It very well may be utilized to stack the filename indicated with the name order (n), or it can stack a particular segment.
- n c:\command.com
- l
This will stack command.com into investigate. At the point when a substantial program is stacked all registers will be set up and prepared to execute the program.
The other strategy is more muddled, however potential likewise more usefull. The language structure is
L <address> <drive letter/> <sector> <amount to load>
- l 100 2 10 20
This will stack beginning at balance 0100 from drive C (0 = A, 1 = B, 2 = C, and so forth), area 10h for 20h areas. This can be valuable for recuperating documents you erased.
Move:
Move takes a byte from the beginning location and moves it to the goal address. This is awesome to brief move information into a free zone, than control it without agonizing over influencing the first program. It is particularly valuable whenever utilized related to the r direction to which I will get later. Lets attempt a model:
- a <- - enter our unique program so we have something
107A:0100 MOV AH,02 to work with
107A:0102 MOV DL,41
107A:0104 INT 21
107A:0106 INT 20
- m 107A:0100 L 8 107B:0100 <- - progressively 8 bytes beginning from 107A:0100 into 107B:0100
- e 107B:0103 <- - alter 107B:0103
107B:0103 41.42 <- - and transform it 42 (
- d 107A:0100 L 8 <- - ensure it worked
107A:0100 B4 02 B2 41 CD 21 CD 20 ...A.!.
- d 107B:0100 L 8
107A:0100 B4 02 B2 42 CD 21 CD 20 ...B.!.
- m 107B:0100 L 8 107A:0100 <- - reestablish the first program since we like the changes.
Name:
This will set investigate up with a filename to use for I/O directions. You need to incorporate the document augmentation, and you may utilize expansion directions:
- n c:\command.com
Yield:
Precisely what you think it is. Yield sends stuff to an I/O port. On the off chance that you have an outside modem with those cool lights on it, you can test this out. Discover what port your modem is on and utilize the comparing hex number beneath:
Com 1 = 3F8 - 3FF (3DF for mine)
Com 2 = 2F8 - 2FF
Com 3 = ??? - ??? (on the off chance that somebody knows, kindly let me know)
Presently turn on the DTA (Data Terminal Ready) piece by sending 01h to it:
- o XXX 1 <- - XXX is the com port in hex
When you hit enter, investigate your modem, you should see a light up. You can have a fabulous time with the yield direction. Let's assume somebody put one of those BIOS passwords on "your" PC. Typically you'd need to take out the battery to dispose of it, yet not any longer:
MI/AWARD BIOS
- o 70 17
- o 71 17
QPHOENIX BIOS
- o 70 FF
- o 71 17
QGENERIC
- o 70 2E
- o 71 FF
These directions will clear the BIOS memory, hence debilitating the secret word.
Continue:
Continues in the execution of a program, normally utilized together withy Trace, which I will cover later. Like the go order, you can determine a location from which to begin
utilizing =address
- p 2
Investigate will react with the registers and the present order to be executed.
Very:
This must be the most progressive element of investigate, it exits troubleshoot!
- q
Register:
This direction can be utilized to show the present estimation everything being equal, or to physically set them. This is helpful for composing records as you will see later on.
- r AX
Hatchet: 011B
:5
-
Search:
Another extremely valuable direction. It is utilized to discover the event of a particular byte, or arrangement of bytes in a fragment. The information to look for can by either characters, or a hex worth. Hex qualities are entered with a space or comma in the middle of them, and characters are encased with cites (single or twofold). You can likewise look for hex and characters with a similar string:
- n c:\command.com <- - load command.com so we have a few information to look in
- l
- s 0 l 0 "MS-DOS" <- - scan whole memory obstruct for "MS-DOS"
10A3:39E9 <- - found the string in 10A3:39E9
NOTE: the pursuit is case delicate!
Follow:
This is a really extraordinary element of investigate. It will follow through a program each guidance in turn, showing the guidance and registers after each. Like the go direction you can indicate where to begin executing from, and for to what extent.
- a <- - truly, this thing once more
107A:0100 MOV AH,02
107A:0102 MOV DL,41
107A:0104 INT 21
107A:0106 INT 20
- t =0100 8
On the off chance that you forget about the measure of directions that you need to follow, you can utilize the continue (p) to proceed with the execution as long as you need.
Unassemble:
Unassembles a square of code. Incredible for troubleshooting (and breaking)
- u 100 L 8 <- - unassembles 8 bytes beginning at balance 100
107A:0100 MOV AH,02 <- - presentation's reaction
107A:0102 MOV DL,41
107A:0104 INT 21
107A:0106 INT 20
Compose:
This order works fundamentally the same as Load. It additionally has 2 different ways it can work: utilizing name, and by determining a careful area. Allude to back to Load for more data.
NOTE: The register CX must be set the record size so as to compose!
NOTE: Write won't compose .EXE or .HEX files.[SIZE=7][SIZE=14]
No comments