I am trying to program my own disk doctor what do i need to do? What code do i use?:alright:
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
Anunitu
Be right back
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
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
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
That should trip out his day.
Anunitu
Its a name he hasen't heard in over 30 years
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...
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...
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:
:cool:
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..
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
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
pt_sniffer, you want to know, how to pass parameters?
MASM:
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.
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:
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:
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....
#####################
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....
#####################