HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #281  
Старый 09.05.2008, 16:49
NorB
Познающий
Регистрация: 20.07.2007
Сообщений: 99
Провел на форуме:
1562993

Репутация: 25
По умолчанию

Код:
push	ax
  	push	dx

  	lea 	dx, Str
	mov	ah,0ah
	int	21h

	pop	dx
	pop	ax
эт кусок для ввода строки.. подскажите как узнать количество введенных символов мне, и занести в регистр ето число символов?((( очень прошу просто как узнать длину строки, на тасме.

Последний раз редактировалось De-visible; 16.05.2008 в 14:46.. Причина: не забываем теги [code]
 
Ответить с цитированием

  #282  
Старый 09.05.2008, 22:51
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

в статье 'От зеленого к Красному' в примере сплайсинга на масме дан код остановки потоков , перевел в фасм , при call из DllMain функция запуска потоков вылетает с ошибкой ( 0xcКучанулей142) , а при вызова из вне (тестового приложения) всё работает отлично (хотя приложение однопоточное и перехват устанавливается даже без остановки потоков ... но всетаки хотелось бы чтоб правильно работало :/ )...

Цитата:
call dword [GetCurrentThreadId]
mov [CurrTh],eax
call dword [GetCurrentProcessId]
mov [CurrPr],eax

push 0
push 0x00000004

call dword [CreateToolhelp32Snapshot]

cmp eax,INVALID_HANDLE_VALUE
je errHandler


mov [Thread.dwSize],28d ;( 28 = 7(Аргументов) * 4(dword))

push Thread
push h
call dword [Thread32First]
@nextThreadToStart:
mov eax,[CurrTh]
mov edx,[CurrPr]
.if [Thread.th32ThreadID] <> eax
.if [Thread.th32OwnerProcessID] = edx
;{
push Thread.th32ThreadID
push 0 ; FALSE
push 0x0002 ;THREAD_SUSPEND_RESUME
call dword [OpenThread]

mov [ThrHandle],eax
.if eax > 0
push ThrHandle
call dword [ResumeThread]

push ThrHandle
call dword [CloseHandle]
.endif


;}
.endif
.endif

push Thread
push h
call dword [Thread32Next]
cmp eax,0
jne @nextThreadToStart

push h
call dword [CloseHandle]

ret
 
Ответить с цитированием

  #283  
Старый 10.05.2008, 14:18
zl0y
Banned
Регистрация: 13.09.2006
Сообщений: 523
Провел на форуме:
2869410

Репутация: 925


Отправить сообщение для zl0y с помощью ICQ
По умолчанию

Цитата:
Сообщение от NorB  
Пиздец.. ну скажите как длину строки вычислить =(((((((((((((((((((((((((
push offset str
call [lstrlen]

или rep scasb

либо мой способ,повторять пока байт не будет равен = 00.
 
Ответить с цитированием

  #284  
Старый 10.05.2008, 14:20
taha
Постоянный
Регистрация: 20.08.2006
Сообщений: 327
Провел на форуме:
2472378

Репутация: 1077
По умолчанию

Jes, держи сорц http://pastebin.x3k.ru/388
Исправил ряд детских ошибок на синтаксис, коечто оптимизировал, сделал код читабельным... компелируй
 
Ответить с цитированием

ASM compiling
  #285  
Старый 16.05.2008, 10:54
lomerok
Участник форума
Регистрация: 23.04.2008
Сообщений: 132
Провел на форуме:
103153

Репутация: 13
По умолчанию ASM compiling

Компилирую фаил , выдаёт ошибку :
Код:
C:\MASM611\BIN>amake 1ll

C:\MASM611\BIN>ml /c /coff "1ll.asm"
Microsoft (R) Macro Assembler Version 6.11
Copyright (C) Microsoft Corp 1981-1993.  All rights reserved.

 Assembling: 1ll.asm

C:\MASM611\BIN>link /SUBSYSTEM:CONSOLE "1ll.obj"
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

LINK : error LNK2001: unresolved external symbol _start
1ll.exe : fatal error LNK1120: 1 unresolved externals

------------------
Код фаила :
Код:
.386
.model flat.stdcall
.code
start:
mov eax, 2
add eax, 3
ret
end start
---------------

что нетак ?

Последний раз редактировалось lomerok; 16.05.2008 в 13:51..
 
Ответить с цитированием

  #286  
Старый 16.05.2008, 12:50
taha
Постоянный
Регистрация: 20.08.2006
Сообщений: 327
Провел на форуме:
2472378

Репутация: 1077
По умолчанию

1. код нужно вставлять в теги CODE
2. Для подобных вопросов существует тема https://forum.antichat.ru/thread40850.html
3. раз уж ты всетаки здесь запостил... скинь бат-файл для компиляции, который ты используешь... меня смущает link /SUBSYSTEM:CONSOLE "1ll.obj"
4. после flat запятая
 
Ответить с цитированием

  #287  
Старый 16.05.2008, 13:25
lomerok
Участник форума
Регистрация: 23.04.2008
Сообщений: 132
Провел на форуме:
103153

Репутация: 13
По умолчанию

Код:
ml /c /coff "%1.asm"  
link /SUBSYSTEM:CONSOLE "%1.obj"
 
Ответить с цитированием

  #288  
Старый 16.05.2008, 15:58
taha
Постоянный
Регистрация: 20.08.2006
Сообщений: 327
Провел на форуме:
2472378

Репутация: 1077
По умолчанию

я уже подзабыл масм, но разве не так?
ml /c /coff 1.asm
link /SUBSYSTEM:CONSOLE /LIBPATH:c:\1.obj
 
Ответить с цитированием

  #289  
Старый 16.05.2008, 17:52
lomerok
Участник форума
Регистрация: 23.04.2008
Сообщений: 132
Провел на форуме:
103153

Репутация: 13
По умолчанию

Непомогает ....
------
Люди добрые и злые , накачал я кучу книг по асме и чёта както ниодну непонимаю , где команды гдепеременные , неужели я , такой тупой , или увсех так было в начале ...
посоветуйте как мне быть , мож книжку какуюто особенную . пожалусто ..

Последний раз редактировалось De-visible; 16.05.2008 в 18:16.. Причина: 2 поста подряд не есть хорошо! Существет кнопка Edit
 
Ответить с цитированием

  #290  
Старый 16.05.2008, 18:40
z01b
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме:
2360904

Репутация: 1393


По умолчанию

Цитата:
Книга посвящена основам программирования на ассемблере в системах Windows и Dos. Знание ассемблера необходимо профессиональному программисту для понимания работы операционной системы и компилятора. Ассемблер позволяет написать программу(или ее часть) так, что она будет быстро выполняться при этом занимать мало места. Это любимый язык хакеров; его знание позволяет менять по своему усмотрению программы, имея только исполняемый файл без исходных текстов. В основу изложения положены короткие примеры на ассемблере MASM фирмы Microsoft, вводящие читателя в круг основных идей языка, знание которых позволяет не только писать простые программы, но и самостоятельно двигаться дальше.

Книга рассчитана на школьников средних и старших классов, а также на всех итересующихся програмированием вообще и ассемблером в часности.
Скачать
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы для новичков! (faq) PEPSICOLA С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 92 14.05.2010 17:59
ОС с нуля z01b С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 36 03.07.2008 15:30



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ