Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Hex

6.6K
18 августа 2006 года
Scaiman
126 / / 25.07.2006
Прашу помощи почему компилятор выдаёт ошибку что
byte1 dd D3D1h,0 =>undefined symbol
как можно решить эту проблемму.
Заранее спасибо.
551
18 августа 2006 года
Pavia
357 / / 22.04.2004
Все числа дожны начинаться с цифры '0'-'9' поэтому, если число шестнадцатеричное начинается с буквы как у тебя следует добавить 0 в начала числа.
byte1 dd 0D3D1h,0
6.6K
19 августа 2006 года
Scaiman
126 / / 25.07.2006
Кто небуть занает, какую небуть литературу или справочник по PE.
Заранее спасибо.
349
19 августа 2006 года
Phantom-84
656 / / 27.10.2005
У меня кое-что есть, только оставь свой адрес... (электронный, естественно : )
1.8K
19 августа 2006 года
k3Eahn
365 / / 19.12.2005
А поиск делать не умеем?
http://www.google.ru/search?hl=ru&q=portable+executable%2Cdocumentation&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=
P.S.: На васме был цикл статей Iczeliona по PE.
334
19 августа 2006 года
HexEdit
809 / / 27.07.2006
Есть на английском от M$ http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v8.doc
6.6K
20 августа 2006 года
Scaiman
126 / / 25.07.2006
[email]Stas-Valday@mail.ru[/email]
Немагу разобраться
//******************** Program Entry Point ********
:00401000 E802000000 call 00401007
:00401005 EBF9 jmp 00401000
* Referenced by a CALL at Address:
|:00401000
|
:00401007 6A01 push 00000001
* Reference To: user32.MessageBeep, Ord:019Ch
|
:00401009 E80C000000 Call 0040101A
:0040100E 68C8000000 push 000000C8
* Reference To: kernel32.Sleep, Ord:0260h
|
:00401013 E808000000 Call 00401020
:00401018 C3 ret
:00401019 CC int 03
* Referenced by a CALL at Address:
|:00401009
|

* Reference To: user32.MessageBeep, Ord:019Ch
|
:0040101A FF2508204000 Jmp dword ptr [00402008]

* Reference To: kernel32.Sleep, Ord:0260h
|
:00401020 FF2500204000 Jmp dword ptr [00402000]
:00401026 00000000000000000000 BYTE 10 DUP(0)
я записываю в первую строку 06FEBh и имею такой вид
//******************** Program Entry Point ********
:00401000 EB6F jmp 00401071
:00401002 0000000000000000 BYTE 8 DUP(0)


:0040100A 0C00 or al, 00
:0040100C 0000 add byte ptr [eax], al
:0040100E 68C8000000 push 000000C8

* Reference To: kernel32.Sleep, Ord:0260h
|
:00401013 E808000000 Call 00401020
:00401018 C3 ret


:00401019 CC int 03

* Reference To: user32.MessageBeep, Ord:019Ch
|
:0040101A FF2508204000 Jmp dword ptr [00402008]

* Reference To: kernel32.Sleep, Ord:0260h
|
:00401020 FF2500204000 Jmp dword ptr [00402000]
:00401026 00000000000000000000 BYTE 10 DUP(0)
Спасибо всем.
6.6K
22 августа 2006 года
Scaiman
126 / / 25.07.2006
Посоветуйте хороший Hex редактор
252
22 августа 2006 года
koderAlex
1.4K / / 07.09.2005
hexedit
а в обще их как собак - на вкус и цвет ))
6.6K
22 августа 2006 года
Scaiman
126 / / 25.07.2006
Если быть чуть точнее то есть ли такой hexedit каторый бы мог HEX код переводит 6811304000h в push 0040311 если можно только под WINDOWS
252
22 августа 2006 года
koderAlex
1.4K / / 07.09.2005
[QUOTE=Scaiman]Если быть чуть точнее то есть ли такой hexedit каторый бы мог HEX код переводит 6811304000h в push 0040311 если можно только под WINDOWS[/QUOTE]
Это уже дизасемблер .))
6.6K
24 августа 2006 года
Scaiman
126 / / 25.07.2006
Подскажите пожалуйста алгоритм подсчёта CRC если можно на MASM
349
24 августа 2006 года
Phantom-84
656 / / 27.10.2005
CRC - это понятие растяжимое... Но принцип такой: суммируешь все "слова" защищенного контрольной суммой диапазона по модулю M=2^N (N - разрядность слова) и сравниваешь полученную сумму с где-то сохраненным значением контрольной суммы или с нулем (это т.н. нуль-выровненная контрольная сумма).
551
24 августа 2006 года
Pavia
357 / / 22.04.2004
To Phantom-84
То что ты описал - это CheckSum.
А CRC это циклклическое бинарное деление.
Хотя обычно вычисляется через таблицы. Могу дать код для генерации и вычисления произвольного CRC.
Код:
tabelCRC16:array [0..$FF] of Word =
  ($0000,$C0C1,$C181,$0140,$C301,$03C0,$0280,$C241
  ,$C601,$06C0,$0780,$C741,$0500,$C5C1,$C481,$0440
  ,$CC01,$0CC0,$0D80,$CD41,$0F00,$CFC1,$CE81,$0E40
  ,$0A00,$CAC1,$CB81,$0B40,$C901,$09C0,$0880,$C841
  ,$D801,$18C0,$1980,$D941,$1B00,$DBC1,$DA81,$1A40
  ,$1E00,$DEC1,$DF81,$1F40,$DD01,$1DC0,$1C80,$DC41
  ,$1400,$D4C1,$D581,$1540,$D701,$17C0,$1680,$D641
  ,$D201,$12C0,$1380,$D341,$1100,$D1C1,$D081,$1040
  ,$F001,$30C0,$3180,$F141,$3300,$F3C1,$F281,$3240
  ,$3600,$F6C1,$F781,$3740,$F501,$35C0,$3480,$F441
  ,$3C00,$FCC1,$FD81,$3D40,$FF01,$3FC0,$3E80,$FE41
  ,$FA01,$3AC0,$3B80,$FB41,$3900,$F9C1,$F881,$3840
  ,$2800,$E8C1,$E981,$2940,$EB01,$2BC0,$2A80,$EA41
  ,$EE01,$2EC0,$2F80,$EF41,$2D00,$EDC1,$EC81,$2C40
  ,$E401,$24C0,$2580,$E541,$2700,$E7C1,$E681,$2640
  ,$2200,$E2C1,$E381,$2340,$E101,$21C0,$2080,$E041
  ,$A001,$60C0,$6180,$A141,$6300,$A3C1,$A281,$6240
  ,$6600,$A6C1,$A781,$6740,$A501,$65C0,$6480,$A441
  ,$6C00,$ACC1,$AD81,$6D40,$AF01,$6FC0,$6E80,$AE41
  ,$AA01,$6AC0,$6B80,$AB41,$6900,$A9C1,$A881,$6840
  ,$7800,$B8C1,$B981,$7940,$BB01,$7BC0,$7A80,$BA41
  ,$BE01,$7EC0,$7F80,$BF41,$7D00,$BDC1,$BC81,$7C40
  ,$B401,$74C0,$7580,$B541,$7700,$B7C1,$B681,$7640
  ,$7200,$B2C1,$B381,$7340,$B101,$71C0,$7080,$B041
  ,$5000,$90C1,$9181,$5140,$9301,$53C0,$5280,$9241
  ,$9601,$56C0,$5780,$9741,$5500,$95C1,$9481,$5440
  ,$9C01,$5CC0,$5D80,$9D41,$5F00,$9FC1,$9E81,$5E40
  ,$5A00,$9AC1,$9B81,$5B40,$9901,$59C0,$5880,$9841
  ,$8801,$48C0,$4980,$8941,$4B00,$8BC1,$8A81,$4A40
  ,$4E00,$8EC1,$8F81,$4F40,$8D01,$4DC0,$4C80,$8C41
  ,$4400,$84C1,$8581,$4540,$8701,$47C0,$4680,$8641
  ,$8201,$42C0,$4380,$8341,$4100,$81C1,$8081,$4040);

function GetCRC16(p:pointer;length:integer):Word;
var b1,b2:byte;
crc:Word;
var i:integer;
begin
CRC:=0;
for i:=0 to length-1 do
 begin
 CRC:= (CRC shr 8) xor TabelCRC16[byte(CRC) xor Byte(PChar(p))];
 end;
CRC:=CRC xor $0;
GetCRC16:=CRC;
end;
6.6K
24 августа 2006 года
Scaiman
126 / / 25.07.2006
Надо CRC вычислить файла какого либо как это будет выглядеть.
349
25 августа 2006 года
Phantom-84
656 / / 27.10.2005
Pavia, так он недавно про PE-формат спрашивал, а там вроде бы используются обычные контрольные суммы, вот я и подумал... А вообще, как я и говорил, CRC - это понятие растяжимое! Одних только CRC в обычном понимании этого слова (на основе бинарного деления) насчитывается не один десяток (см. здесь), я уже не говорю про аппаратные реализации - там производители оборудования извращаются как могут!

Scaiman, найти подобные алгоритмы в сети очень легко и самому! Вот, например, давняя тема с "Волжского": http://forum.vlz.ru/viewtopic.php?t=25843. Описание алгоритма "слайсинг бай эйт" в первую очередь нужно искать на официальном сайте Intel: http://www.intel.com/technology/comms/perfnet/index.htm
6.6K
11 сентября 2006 года
Scaiman
126 / / 25.07.2006
Немагу решить проблемму программы, когда стартует от реестра тоесть ..\Run.
Программа такого вида
.code
start:
invoke CreateFile,addr file1,GENERIC_ALL,FILE_SHARE_READ or FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL
cmp eax,0FFFFFFFFh
je _error
mov fileh,eax
invoke CreateFileMapping,fileh,NULL,PAGE_READWRITE,0,0,0
cmp eax,0
je _error
mov filem,eax
invoke MapViewOfFile,filem,FILE_MAP_ALL_ACCESS,0,0,0

xor eax,eax
ret
end start
она неможет произвести чтение
Если запустить вручную то всё нармально.
Заранее спасибо.


Проблему решил.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог