سلام
شرمنده همش سوال مي پرسم.
مي خواستم ببينم تو توابع ويندوز چه تابعي هست كه اندازه فايل رو برمي گردونه ؟!؟!؟! واسه اسمبلي تحت ويندوز مي خوام همين Olly Debugger خودمون...
ممنون ميشم پارامتر هاي اين تابع رو هم شرح بديد.
دست همگيتون درد نكنه
(۰۷-آذر-۱۳۸۸, ۱۹:۱۱:۲۵)joker نوشته است: [ -> ] (۰۷-آذر-۱۳۸۸, ۱۳:۰۴:۴۷)dreamvbfox نوشته است: [ -> ]سلام
شرمنده همش سوال مي پرسم.
مي خواستم ببينم تو توابع ويندوز چه تابعي هست كه اندازه فايل رو برمي گردونه ؟!؟!؟! واسه اسمبلي تحت ويندوز مي خوام همين Olly Debugger خودمون...
ممنون ميشم پارامتر هاي اين تابع رو هم شرح بديد.
دست همگيتون درد نكنه
GetFileSize Function
http://msdn.microsoft.com/en-us/library/...S.85).aspx
ُسلام
کد:
GetFileSizeEx hFile, nSize
يه چيز... چه جوري Hfile مربوط به فايل رو بدست بيارم ؟
کد:
Dim hFile As Long, nSize As Currency, sSave As String
'open the file
hFile = CreateFile("c:\ProgDVB.ini", GENERIC_READ, FILE_SHARE_READ, ByVal 0&, OPEN_EXISTING, ByVal 0&, ByVal 0&)
'get the filesize
GetFileSizeEx hFile, nSize
'close the file
CloseHandle hFile
'MsgBox Str$(nSize * 10000)
سعيد آقا معادل اين تو ديباگر چيه ؟؟؟
ممنون
سلام .
(۱۱-آذر-۱۳۸۸, ۱۷:۴۰:۵۸)dreamvbfox نوشته است: [ -> ]سعيد آقا معادل اين تو ديباگر چيه ؟؟؟
ممنون
توی دیباگر اول میبینی که پارامترها رو با دستور Push وارد پشته میکنه . یعنی hFile, nSize رو وراد پشته میکنه و بعد تابع GetFileSizeEx فراخوانی میشه (همیشه اول پارامترها وارد پشته شده و بعد تابع فراخوانی میشه). اگه از OllyDBG و یا هر نسخه دیگه اش استفاده کنی توی قسمت توضیحات یا همون کامنت ش اسم پارامترها رو نوشته .خوب بهترین راه واسه درک خودت اینه که یک برنامه با توابع مورد نظرت بنویسی و بعد با دیباگر بازش کن اون موقع میتوی از گزینه search all inter module/calls (اگه درست یادم مونده باشه
رو انتخاب کنی و قبل از تابع مورد نظرت یک BP بزار و موقع اجرا به دقت به تغییرات نگاه کن .
(۱۴-آذر-۱۳۸۸, ۱۱:۲۴:۵۰)godvb نوشته است: [ -> ]سلام .
(۱۱-آذر-۱۳۸۸, ۱۷:۴۰:۵۸)dreamvbfox نوشته است: [ -> ]سعيد آقا معادل اين تو ديباگر چيه ؟؟؟
ممنون
توی دیباگر اول میبینی که پارامترها رو با دستور Push وارد پشته میکنه . یعنی hFile, nSize رو وراد پشته میکنه و بعد تابع GetFileSizeEx فراخوانی میشه (همیشه اول پارامترها وارد پشته شده و بعد تابع فراخوانی میشه). اگه از OllyDBG و یا هر نسخه دیگه اش استفاده کنی توی قسمت توضیحات یا همون کامنت ش اسم پارامترها رو نوشته .خوب بهترین راه واسه درک خودت اینه که یک برنامه با توابع مورد نظرت بنویسی و بعد با دیباگر بازش کن اون موقع میتوی از گزینه search all inter module/calls (اگه درست یادم مونده باشهرو انتخاب کنی و قبل از تابع مورد نظرت یک BP بزار و موقع اجرا به دقت به تغییرات نگاه کن .
من اينكارو كردم اما تابع هميشه 0 رو برميگردونه !!!! اگر ميشه به صورت عملي يه مثال بزنيد .
تابعي كه من صدا ميزنم :
کد:
MsgBox FileLen("c:\boot.ini")
ممنون
مشكل حل شد :