|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Окт 21, 2004 12:59:21 надо иметь супер - пупер наметаный глаз, я наверное раза три четыре просматривал, уже было подумал что там нету такого, потом решил через поиск и вот оно, спасибо понял! |
|
|
Дата: Окт 21, 2004 13:14:47 есть вопрос, уже не в эту тему.: .data Serial dd ? VName db 255 dup(0) FSName db 255 dup(0) lpTitleMB db 'werrt',0 lpRootName db 'C:\',0 lgSizeBuff db 255 .code start: invoke GetVolumeInformation, addr lpRootName, addr VName, addr lgSizeBuff, addr Serial, 0, 0, addr FSName, addr lgSizeBuff mov eax, DWORD ptr offset Serial invoke MessageBox,NULL, eax,addr lpTitleMB,MB_OK or MB_ICONASTERISK invoke ExitProcess,0 end start Всетки как мне вывести, серийный номер в окошечке, в удобочитаемом виде ? |
|
|
Дата: Окт 21, 2004 13:32:07 · Поправил: bogrus.data ... lpfmt db '%u',0 .code ... invoke wsprintf,addr FSName,addr lpfmt,Serial invoke MessageBox,NULL,addr FSName,addr lpTitleMB,MB_OK or MB_ICONASTERISK |
|
|
Дата: Окт 21, 2004 16:33:05 Бесплатный декомпилер VB экзешников с исходниками!!! http://www.projectxonline.net/data/mydecompiler/files/ :)) |
|
|
Дата: Окт 22, 2004 09:28:44 2bogrus То что ты написал, возвращает какието числа, но не серийник винта :( 2alix Я хотел бы для начала научиться пользоваться универсальными средствами, а потом уже в какойто частной ситуации уже пользоваться декомпиляторами |
|
|
Дата: Окт 22, 2004 10:36:57 freeloaderТо что ты написал, возвращает какието числа, но не серийник винта :( Ты можешь это доказать? |
|
|
Дата: Окт 22, 2004 12:42:59 а что тут доказывать, когда я делаю тоже самое на VB, когда я смотрю через Вашу же программу, совсем разные цифры..., единственно что может быть, так это то что я нашаманил в коде, вообщем вот опять в студию: .386 .model FLAT, STDCALL option casemap:none include windows.inc includelib kernel32.lib include kernel32.inc include user32.inc includelib user32.lib ; ;DEBUG ; ;include debug.inc ;includelib debug.lib .data Serial db ? VName db 255 dup(0) FSName db 255 dup(0) lpfmt db '%u',0 lpTitleMB db 'wert',0 lpRootName db 'C:\',0 lgSizeBuff db 255 .code start: invoke GetVolumeInformation, addr lpRootName, addr VName, addr lgSizeBuff, addr Serial, 0, 0, addr FSName, addr lgSizeBuff invoke wsprintf,addr FSName,addr lpfmt,addr Serial ;mov eax, DWORD ptr offset Serial invoke MessageBox,NULL,addr FSName,addr lpTitleMB,MB_OK or MB_ICONASTERISK invoke ExitProcess,0 end start |
|
|
Дата: Окт 22, 2004 13:03:15 Во-первых, сравни свой код из первого поста со вторым, на каком основании ты сменил "Serial dd ?" на "Serial db ?" ? Во-вторых где ты увидел в моём коде addr перед Serial ? Будь внимательней! |
|
|
Дата: Окт 22, 2004 15:05:40 Тогда у меня еще одна просьба по поводу того в каких случаях надо употреблять addr а в каких не надо? например взять это: invoke wsprintf,addr FSName,addr lpfmt, Serial я так понимю что addr это указатель..., а больше пока понять не могу... и еще вот эта функция wsprintf откуда она? |
|
|
Дата: Окт 22, 2004 15:15:42 · Поправил: bogrus я так понимю что addr это указатель..., Правильно, addr Serial вернет адрес (смещение,offset) переменной , а просто Serial вернет содержимое (значение) переменной. и еще вот эта функция wsprintf откуда она? из kernel32.dll ,тьфу из MSDN, читай его или какой-нить win32api.hlp всегда перед тем как писать строку кода с API ф-цией, которую видишь в первый раз) з.ы. Serial dd ? это переменная в четыре байта (dword), а Serial db ? в один байт (byte) з.ы. читай основы |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.056 |