|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Янв 5, 2004 11:21:46 1990 Есть ключ у линкера, например : LINK.EXE /STUB:"C:\Projects\Masm\STUB\st2ub.exe" |
|
|
Дата: Янв 5, 2004 17:22:01 S_T_A_S_ А как работает твой патч ты разбирался, чему равно ecx до патча и после патча. Если можно объясни подробнее почему именно такой патч удаляет сигнатуру. |
|
|
Дата: Янв 5, 2004 18:10:48 · Поправил: Quantum volodya Может этот патч by S_T_A_S_ стоит включить в дошлепок для masm32? Asterix Что-то я стал поглядывать в сторону fasm'а ;-) Так я разве против fasm'а? Я тоже пристально смотрю в его сторону ;-) |
|
|
Дата: Янв 5, 2004 20:33:27 Asterix Это не мой патч. Мне посоветовал lingo12 с board.win32asmcommunity.net Он, кстати, соотечественник ;) ECX=80h - (я смотрел с дефолтным stub, это его размер) EAX=48h - очевидно, размер сигнатуры (он разный у разных готовых файлов, не знаю от чего зависит) убираем ADD, получается, что нужный код пишется не после "печати", а поверх нее :) |
|
|
Дата: Янв 5, 2004 20:44:15 S_T_A_S_ Quantum Ну так и? Включать? |
|
|
Дата: Янв 5, 2004 20:54:30 S_T_A_S_ Понял. Спасибо за разъяснения. |
|
|
Дата: Янв 5, 2004 21:13:50 volodya Имхо, народ и не узнает если готовое положить.. может полезнее readme в образовательных целях? |
|
|
Дата: Янв 5, 2004 21:25:51 ReadMe будет законнее, а против патча Мелкософт будет возражать :-) |
|
|
Дата: Янв 5, 2004 21:27:59 S_T_A_S_ Давай. Я положу. |
|
|
Дата: Янв 5, 2004 22:09:38 volodya Написать патчер? Или Readme? (а то не пойму о чем речь, засыпаю, 05-07 %) |
|
|
Дата: Янв 5, 2004 22:50:01 Пиши readme! |
|
|
Дата: Янв 5, 2004 22:55:22 volodya ОК |
|
|
Дата: Янв 5, 2004 23:26:21 Например, не нравятся мне stack frame с использованием EBP. И так регистров мало.. На masme я ничего лучше, чем использовать конструкции, вроде invoke TextOut, [ESP+(2+4)*DWORD], 0, EAX, [ESP+(0+1)*DWORD], CON_X Сорри, что так долго не отвечал. Всё-таки не использовать кадр стека влечёт за собой уйму всяких осложнений, так что я предпочитаю пожертвовать одним регистром, зато выиграть один байт на каждом push DWORD PTR SS:[reg + offset] и не следить за ESP при каждом push/pop и т.п. (почему в скобочках 2 цифры ? ;) Их должно быть 3, если учесть, что перед call могут идти дополнительные push'ы для сохранения регистров или для предварительного формирования стека для последующих call'ов. не придумал (поскольку, по простоте душевной с макросами пытался самостоятельно разобраться). Можно так: noframe MACRO function:REQ, args:VARARG
LOCAL statement,arg,pos,count,scount
count = 0
FOR arg,<args>
count = count + 1
ENDM
statement CATSTR <invoke >,<function>
FOR arg,<args>
count = count - 1
pos INSTR <arg>,<ESP_>
IF pos
arg SUBSTR <arg>,5
statement CATSTR statement,<,[esp+(&arg>
IF count
scount SUBSTR <01020304050607080910111213141516>,count*2-1,2
statement CATSTR statement,<+&scount>
ENDIF
statement CATSTR statement,<)*DWORD]>
ELSE
statement CATSTR statement,<,&arg>
ENDIF
ENDM
statement
ENDMНу, и потом вызывать:noframe MyFunc,ESP_2,eax,ESP_0,ESP_15,OFFSET param,ESP_3Макрос сгенерирует [esp+(A+B)*DWORD], где A - порядковый номер параметра в стеке, а B - это то ваше число ;-) |
|
|
Дата: Янв 6, 2004 05:19:40 А почему этот fasm такой код генерит что у OllyDbg напрочь крышу сносит, взять хотя бы для примера Hello.exe из папки Examples пакета fasm?? |
|
|
Дата: Янв 6, 2004 07:49:49 Кажись этот Hello с одной секцией - и код, и данные. Вот ollydbg и ревёт |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.070 |