ايران ويج

نسخه‌ی کامل: اندازه فايل | Olly
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
شرمنده همش سوال مي پرسم.
مي خواستم ببينم تو توابع ويندوز چه تابعي هست كه اندازه فايل رو برمي گردونه ؟!؟!؟! واسه اسمبلي تحت ويندوز مي خوام همين Olly Debugger‌ خودمون...


ممنون ميشم پارامتر هاي اين تابع رو هم شرح بديد.
دست همگيتون درد نكنه Heart
(۰۷-آذر-۱۳۸۸, ۱۳:۰۴:۴۷)dreamvbfox نوشته است: [ -> ]سلام
شرمنده همش سوال مي پرسم.
مي خواستم ببينم تو توابع ويندوز چه تابعي هست كه اندازه فايل رو برمي گردونه ؟!؟!؟! واسه اسمبلي تحت ويندوز مي خوام همين Olly Debugger‌ خودمون...


ممنون ميشم پارامتر هاي اين تابع رو هم شرح بديد.
دست همگيتون درد نكنهHeart

GetFileSize Function
http://msdn.microsoft.com/en-us/library/...S.85).aspx
(۰۷-آذر-۱۳۸۸, ۱۹:۱۱:۲۵)joker نوشته است: [ -> ]
(۰۷-آذر-۱۳۸۸, ۱۳:۰۴:۴۷)dreamvbfox نوشته است: [ -> ]سلام
شرمنده همش سوال مي پرسم.
مي خواستم ببينم تو توابع ويندوز چه تابعي هست كه اندازه فايل رو برمي گردونه ؟!؟!؟! واسه اسمبلي تحت ويندوز مي خوام همين Olly Debugger‌ خودمون...


ممنون ميشم پارامتر هاي اين تابع رو هم شرح بديد.
دست همگيتون درد نكنهHeart

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)
سعيد آقا معادل اين تو ديباگر چيه ؟؟؟
ممنونHeart
كسي نبود ؟
سلام .

(۱۱-آذر-۱۳۸۸, ۱۷:۴۰:۵۸)dreamvbfox نوشته است: [ -> ]سعيد آقا معادل اين تو ديباگر چيه ؟؟؟
ممنونHeart

توی دیباگر اول میبینی که پارامترها رو با دستور Push وارد پشته میکنه . یعنی hFile, nSize رو وراد پشته میکنه و بعد تابع GetFileSizeEx فراخوانی میشه (همیشه اول پارامترها وارد پشته شده و بعد تابع فراخوانی میشه). اگه از OllyDBG و یا هر نسخه دیگه اش استفاده کنی توی قسمت توضیحات یا همون کامنت ش اسم پارامترها رو نوشته .خوب بهترین راه واسه درک خودت اینه که یک برنامه با توابع مورد نظرت بنویسی و بعد با دیباگر بازش کن اون موقع میتوی از گزینه search all inter module/calls (اگه درست یادم مونده باشهWinkرو انتخاب کنی و قبل از تابع مورد نظرت یک BP بزار و موقع اجرا به دقت به تغییرات نگاه کن .
(۱۴-آذر-۱۳۸۸, ۱۱:۲۴:۵۰)godvb نوشته است: [ -> ]سلام .

(۱۱-آذر-۱۳۸۸, ۱۷:۴۰:۵۸)dreamvbfox نوشته است: [ -> ]سعيد آقا معادل اين تو ديباگر چيه ؟؟؟
ممنونHeart

توی دیباگر اول میبینی که پارامترها رو با دستور Push وارد پشته میکنه . یعنی hFile, nSize رو وراد پشته میکنه و بعد تابع GetFileSizeEx فراخوانی میشه (همیشه اول پارامترها وارد پشته شده و بعد تابع فراخوانی میشه). اگه از OllyDBG و یا هر نسخه دیگه اش استفاده کنی توی قسمت توضیحات یا همون کامنت ش اسم پارامترها رو نوشته .خوب بهترین راه واسه درک خودت اینه که یک برنامه با توابع مورد نظرت بنویسی و بعد با دیباگر بازش کن اون موقع میتوی از گزینه search all inter module/calls (اگه درست یادم مونده باشهWinkرو انتخاب کنی و قبل از تابع مورد نظرت یک BP بزار و موقع اجرا به دقت به تغییرات نگاه کن .

من اينكارو كردم اما تابع هميشه 0 رو برميگردونه !!!! اگر ميشه به صورت عملي يه مثال بزنيد .
تابعي كه من صدا ميزنم :
کد:
MsgBox FileLen("c:\boot.ini")
[تصویر:  n09c78hyqdmuubipx96.jpg]
ممنون
مشكل حل شد :

[تصویر:  8bkgg04np154izfgdp5.jpg]