я думаю всем похуй
Я думаю они могут лососнуть тунцов.
́🇷🇺
Жестоко однако. Зачем студенту нести свет в мир, которому похуй на тебя.
Andrew
А вот и спамеры пришли.
Aiwan \ (•◡•) / _bot
чет они скучные
Aiwan \ (•◡•) / _bot
include 'win32ax.inc' ; you can simply switch between win32ax, win32wx, win64ax and win64wx here
.data
buf db '#define IDD_DLG1 1000 ',0
len_buf dd $-buf
_define db '#define',0
len_define dd $-_define
.code
start:
stdcall scanmem,buf,[len_buf],_define,[len_define]
; invoke MessageBox,HWND_DESKTOP,_define,'Результат',MB_OK
invoke ExitProcess,0
;==================================================================
proc scanmem uses esi edi, SRCdata,SRCsize,PTRdata,PTRsize
;local pointerSRC:DWORD ;сюда сохраняем начало исходного слова для проверки
mov esi,[SRCdata] ;инициализируется 1 раз для прохода по каждому символу
cld
@@:
mov edi,[PTRdata]
mov ecx,[PTRsize] ;счетчик патерна
repz cmpsb ;2а условия выхода:1-счетчик ecx=0; 2-проверяемые символы не равны друг другу
;mov eax,esi
;sub eax,[SRCdata] ;в eax кол-во проверенных символов
.if ecx=0 ;& esi=' '; неправильно, в esi адрес а не значение
;??????? как правильно записать проверку, что следущий символ, адрес которого в esi, равен ' ' (020h)
invoke MessageBox,HWND_DESKTOP,"найден #define",'Результат',MB_OK
.else
invoke MessageBox,HWND_DESKTOP,"НЕ найден #define",'Результат',MB_OK
mov eax,esi
sub eax,[SRCdata] ;в eax кол-во проверенных символов
.if eax=[SRCsize] ;проверяем а не конец ли проверяемой строки?
jmp @f
.endif
jmp @b
.endif
@@:
ret
endp
.end start
как правильно записать проверку, что следущий символ, адрес которого в esi, равен ' ' (020h)
Сергей
Парни как искать кошелек wallet.dat в памяти и на поверхности диска?
bilka00
Сергей
Не потерял)) чесно
И тут не поощряется вирусня.
bilka00
Таки да мисье прав)
Сергей
Так я про способы поиска
bilka00
В памяти ты особо его не поищешь
bilka00
На диске через винапи функции так то если вэнда
Сергей
Ну есть же ФС частично хранящие файло в памяти
Alexander
Всем привет. Интересует такой вопрос: есть какая-то программа на Си с функцией foo(). Можно ли как-то с помощью сторонней программы повлиять на эту функцию (добавить что-то / удалить)?
Aiwan \ (•◡•) / _bot
hiew
hiew
Как по русски прочитать её? :-)
Alexander
Не, это же редактор. Я имею в виду написание отдельной проги, как дополнение к предыдущей.
Aiwan \ (•◡•) / _bot
хз. я хив говорю, как человек изучавший немецкий
bilka00
bilka00
Прям вот точь в точь функция называеться как там
Aiwan \ (•◡•) / _bot
bilka00
ааа
bilka00
Тогда гугли api hook
bilka00
Суть в том что обычно инжектят длл и перехватывают функцию (обычно исправляют ее начало или табличку импортов софта) прыгают к себе делают все что нужно и возвращают управление
Aiwan \ (•◡•) / _bot
include 'win32ax.inc' ; you can simply switch between win32ax, win32wx, win64ax and win64wx here
.data
buf db '#define IDD_DLG1 1000 ',0
len_buf dd $-buf
_define db '#define',0
len_define dd $-_define
.code
start:
stdcall scanmem,buf,[len_buf],_define,[len_define]
; invoke MessageBox,HWND_DESKTOP,_define,'Результат',MB_OK
invoke ExitProcess,0
;==================================================================
proc scanmem uses esi edi, SRCdata,SRCsize,PTRdata,PTRsize
;local pointerSRC:DWORD ;сюда сохраняем начало исходного слова для проверки
mov esi,[SRCdata] ;инициализируется 1 раз для прохода по каждому символу
cld
@@:
mov edi,[PTRdata]
mov ecx,[PTRsize] ;счетчик патерна
repz cmpsb ;2а условия выхода:1-счетчик ecx=0; 2-проверяемые символы не равны друг другу
;mov eax,esi
;sub eax,[SRCdata] ;в eax кол-во проверенных символов
.if ecx=0 ;& esi=' '; неправильно, в esi адрес а не значение
;??????? как правильно записать проверку, что следущий символ, адрес которого в esi, равен ' ' (020h)
invoke MessageBox,HWND_DESKTOP,"найден #define",'Результат',MB_OK
.else
invoke MessageBox,HWND_DESKTOP,"НЕ найден #define",'Результат',MB_OK
mov eax,esi
sub eax,[SRCdata] ;в eax кол-во проверенных символов
.if eax=[SRCsize] ;проверяем а не конец ли проверяемой строки?
jmp @f
.endif
jmp @b
.endif
@@:
ret
endp
.end start
как правильно записать проверку, что следущий символ, адрес которого в esi, равен ' ' (020h)
Alexander
JeisonWi
bilka00
yes
Aiwan \ (•◡•) / _bot
кто нить подскажет по моему вопросу?
Aiwan \ (•◡•) / _bot
[SRCdata+eax]=' ' не проходит
Aiwan \ (•◡•) / _bot
тогда попробую другой метод
s54820
include 'win32ax.inc' ; you can simply switch between win32ax, win32wx, win64ax and win64wx here
.data
buf db '#define IDD_DLG1 1000 ',0
len_buf dd $-buf
_define db '#define',0
len_define dd $-_define
.code
start:
stdcall scanmem,buf,[len_buf],_define,[len_define]
; invoke MessageBox,HWND_DESKTOP,_define,'Результат',MB_OK
invoke ExitProcess,0
;==================================================================
proc scanmem uses esi edi, SRCdata,SRCsize,PTRdata,PTRsize
;local pointerSRC:DWORD ;сюда сохраняем начало исходного слова для проверки
mov esi,[SRCdata] ;инициализируется 1 раз для прохода по каждому символу
cld
@@:
mov edi,[PTRdata]
mov ecx,[PTRsize] ;счетчик патерна
repz cmpsb ;2а условия выхода:1-счетчик ecx=0; 2-проверяемые символы не равны друг другу
;mov eax,esi
;sub eax,[SRCdata] ;в eax кол-во проверенных символов
.if ecx=0 ;& esi=' '; неправильно, в esi адрес а не значение
;??????? как правильно записать проверку, что следущий символ, адрес которого в esi, равен ' ' (020h)
invoke MessageBox,HWND_DESKTOP,"найден #define",'Результат',MB_OK
.else
invoke MessageBox,HWND_DESKTOP,"НЕ найден #define",'Результат',MB_OK
mov eax,esi
sub eax,[SRCdata] ;в eax кол-во проверенных символов
.if eax=[SRCsize] ;проверяем а не конец ли проверяемой строки?
jmp @f
.endif
jmp @b
.endif
@@:
ret
endp
.end start
как правильно записать проверку, что следущий символ, адрес которого в esi, равен ' ' (020h)
Хочешь сравнить байт по адресу из esi, так и пиши: .if byte[esi]=' '.
Alexander
речь была про влияние на код, LD_PRELOAD сует библиотеки
Alexander
уже понял, что это api hooks
bilka00
Не всегда api hooks
bilka00
Но понятие перехвата hooks
bilka00
Просто по запросу api hooks проше инфу рыть
Aiwan \ (•◡•) / _bot
s54820
@Aiwan, может быть, стоит туда .while воткнуть, раз уж все равно на макросах пишешь? Смесь макросов с jmp плохо читается.
Aiwan \ (•◡•) / _bot
там проверка на проверке, условий много. while не конец строки?
s54820
Ну да.
Aiwan \ (•◡•) / _bot
или как лучше оптимизировать для лучшей читабельности?
Aiwan \ (•◡•) / _bot
мыслить на асме надо немного привыкать, пока так пойдет, со временем мож и перепишу
Aiwan \ (•◡•) / _bot
опыта нет
Aiwan \ (•◡•) / _bot
а макросы для менясейчас это для нгалядности. по сути это теже cmp->jmp
Aiwan \ (•◡•) / _bot
правда говонокод получается, но если работает почему и нет. мне за это зачеты не ставят
Aiwan \ (•◡•) / _bot
s54820
Aiwan \ (•◡•) / _bot
нет
Aiwan \ (•◡•) / _bot
нету
k0rs4r
Зачем вообще нужен асм, если большая часть кода заменяется макро ?)
Не проще ли взять чето более высокоуровневое, но компилящееся в натив ?
oles
k0rs4r
нее, вы неверно поняли посыл. Для чего нужен асм я прекрасно знаю (как и сам асм). Имею ввиду для чего он нужен человеку который хочет почти все конструкции макро аналогами заменять
oles
не нужен
Aiwan \ (•◡•) / _bot
а зачем мне вообще нужен асм и другие Яву если я вообще не программист и компьютерного образования не имею и деньги на этом не зарабатываю.
k0rs4r
а, да я хз, увидел вопрос про jCC и ответил.
Ну образование не обязательно, может быть в качестве хобби
Aiwan \ (•◡•) / _bot
в 🍎
Aiwan \ (•◡•) / _bot
за помощь спс
k0rs4r
Ну если есть конкретный вопрос и подойдет вариант без макро то могу помочь )
Aiwan \ (•◡•) / _bot
эти макро .if думаю легко исправить
Aiwan \ (•◡•) / _bot
k0rs4r
а какая задача в общих чертах ?
Просто на асме чтоб эффективно писать нет смысла повторять конструкции из ЯВУ. К примеру для задач типа копирования блоков памяти спец. инструкции есть
k0rs4r
ресурсы это чисто виндовая штука.. к асму имеет такое себе отношение.
Если память не изменяет в книге Петцольда по WinAPI (95 года, но ничего вроде не менялось ) неплохо описано
Aiwan \ (•◡•) / _bot
ганеева иногда просматриваю. проектирование интерфейса на winapi
k0rs4r
На самом деле в этом уже маловато смысла, разве что для общего ознакомления или патча существующих программ. )
В реальной разработке никто давно не применяет ресурсы для графики, всё делается на C#(WinForms/WPF), C++ (Qt) и тому подобных фрейморках.
Во многих из них даже элементы управления - не настоящие окна из WinAPI, а рисованные, с кастомной обработкой сообщений
Aiwan \ (•◡•) / _bot
рисованные тоже интересная тема, это как в ZBrush
Aiwan \ (•◡•) / _bot
k0rs4r
а, ну может..
я вообще про всё что связано с графикой не особо знаю (и не интересуюсь), писал на асме всякое системное
Ох уж этот запах сессии в воздухе...
Timofey
Anatoly
тут еще студенты есть чтоль?)
bilka00
Судя по количеству тех кто зашел в чатик да )
Anatoly
неужели еще преподают асм в вузах