I am trying to program my own disk doctor what do i need to do? What code do i use?:alright:
Posted on 2001-12-30 08:02:42 by gene
You know who you might want to talk to, the guy who did one of the first, he is an avid assembler freak. probubly some know who I mean, his name is in a LOT of links, he is doing a project, but hay he may have a shi* load of data on drives. I wish I could remember his name, been on his site MANY times, a brillient coder

Anunitu

Be right back
Posted on 2001-12-30 16:18:40 by Anunitu
Gene, I sent an E-mail to Steve Gibson, do you know who he is?
I asked hism if he has any data on disk structurs. I don't know if he will answer me, or help, but it was worth a try, even hit him with the guilt thing, did he remember someone taking time to give him some advice? I know for a fact someone did..I knew the person who took time out of a busy life to talk to a young coder.

He may not know this handle, but he will remember that time for sure. At least I hope he will, or he isn't the coder I remember

Anunitu
Posted on 2001-12-30 16:39:10 by Anunitu
Posted on 2001-12-30 17:16:31 by Dr. Manhattan
Damn steves office clones sent a recomindation on how to search the web, I told them to tell steve hello from the Hobbit.

That should trip out his day.

Anunitu

Its a name he hasen't heard in over 30 years
Posted on 2001-12-30 17:57:17 by Anunitu
Damn you manhattan, I was going to post that link :-D.
Gibson knows some stuff, but he's namedropping a lot, and sometimes
I get the impression he's all words and no action. He likes CAPS
and bold a lot, and he's a media whore... but behind all the
glitter, there's some sound opinions and at least *some* knowledge :).

If you don't even know where to start when building a disk
doctor thingy, perhaps you should mess with other stuff for a few
years...
Posted on 2001-12-30 22:44:34 by f0dder
yo! tanx for the boost man.. Ive been workin about 48 hrs now researching stuff now i have lot of stuff covered.. but how about this.. could i use bios interrupts like int 13 in win32 assembly..

:cool:
Posted on 2001-12-31 06:23:06 by gene
That'd be cool if you could :grin: You will probably have to write vxd in order to access the hard disk raw like that..
Posted on 2001-12-31 17:22:00 by Eagle17
For that u need to get in to VxD's my friend i am writing on with the help of the source code u can get that at sysinternals.com it's name is "filemon"..ok & other.exe (help for Vxd) on microsoft DDk page

i do have a problem related to this stuff while writing VxD
so if any one can help me!

need to pass some parameter's to the procedure
(i.e sam ),whose paramter's r filled by the system on entrying the call, normally we do

BeginProc sam

EndProc sam

but, if i have to pass the paramter's what's the syntax to pass the paramter's & how to define that parameter's

help me! thank's
Posted on 2002-01-26 06:47:04 by pt_sniffer
pt_sniffer, you want to know, how to pass parameters?

MASM:



Sam PROC Parameter1:DWORD, Parameter2:WORD, Parameter3:BYTE

mov eax, Parameter1
mov ax, Parameter2
mov al, Paramater3
mov ah, Paramater3

ret

Sam ENDP


If there are parameters in your procedures and the code for that procedure lies after the start/main label, you need to have a prototype.



Sam PROTO stdcall :DWORD, :WORD, :BYTE


if you don't have any parameters, then you don't need a prototype, you can either call it or invoke it, doesn't matter.

if you do have parameters, you can then invoke it by: invoke Sam, edx, dx, dl, it can be anything you want, could be an immediate value or a register or a pointer...it depends on what you are going to do about it.

the masm assembler will flag an error if you made a mistake.

If you want TASM style tell me, I'll post another one.

:grin:
Posted on 2002-01-26 09:27:59 by stryker
umberg6007: thank's for that but u plz notice that i am wiriting a procedure in Vxd ..ok

i know that..ok umberg6007

ok i thought of writing the problem in detail...ok
here it comes
#####################
The Problem is-->

I am calling a Service(i.e XYZ) which requires only the address of the Procedure(i.e Sam),& when system call's this procedure later it pass some Parameter's to the procedure,hence I need to collect those passed parameter's to the procedure(i.e sam ) by the system, on entrying the Procedure, normally we do define Procedure as follow's


BeginProc Sam

EndProc Sam

but, if i have to pass the paramter's what's the syntax to pass the paramter's i think this can be done with ccall & Argvar ..as follows

BeginProc Sam, CCALL

ArgVar Param1, DWORD
ArgVar Param2, WORD ;--> this can be a Int
ArgVar Param3, 12 ;--> third parameter can be a 12-byte structure,
; passed by value

LocalVar Local1, DWORD
LocalVar Local2, <size FOO>

EnterProc
SaveReg <ebx, esi>
.........
...........
.......
...........
RestoreReg <esi, ebx>
LeaveProc
Return
EndProc MyProc

i Think that this is right way for collecting the parameter's from the system ..ok Plz correct me if i am wrong

================VMMCALL====PROBLEM==================

And yes I do have a problem with this VMMCALL ..ok which call a service (i.e XYZ) Think it should be done like this

mov esp,OFFSET Sam
VMMCALL XYZ

i thought i might have missed with that register calling & stack calling convention but i tried both

i get this error--> when i go by above codes

Assembling: firstvxd.asm
firstvxd.asm(41) : error A2054: forced error : value not equal to 0 : 63
VMMCall(1): Macro Called From
firstvxd.asm(41): Main Line Code
firstvxd.asm(57) : error A2054: forced error : value not equal to 0 : 63
VMMCall(1): Macro Called From
firstvxd.asm(57): Main Line Code



so i peeped in the .INC file i got these lines for that
service(i.e XYZ)
**********
This procedure uses the C6 386 _cdecl calling sequence

Entry TOS = Address of function that is to be called

Exit EAX = Pointer to variable containing the address of the previous
function in this chain.
uses C registers
************
Plz do tell me what's that C6 386 _cdel calling sequence

so Plz help! or mail me ur suggestion's ( gj007_in@yahoo.com )
Thank's in Advance....
#####################
Posted on 2002-01-27 08:04:31 by pt_sniffer