Форум   Статьи   Новости   Файлы   Bugtraq   Сниффер   Друзья   О Клубе
Вернуться   HPC / Кодинг / Низкоуровневое программирование / Assembler
 
  Страница 1
  , 06:59   #1
Новичок
 
Регистрация: 24.11.2009
Сообщений: 8

Репутация: 0 / 0
По умолчанию [ASSEMBLER] Задай вопрос - получи ответ

Здравствуйте кто мне может объяснить весь процесс от написания программного кода до готовой программы на ASM-е??? накачал кучу учебников но там написано вот сделайте так-так и все!!! у меня что то вечно не получается....Если кто может объяснить то пожалуйста поподробнее!!!!(Для чайников или для тех кто в танке!!)даже то что в книгах написано примеры первых программ не запускаются...
 
Пользователь вне форума    
Наши Спонсоры
  , 00:21   #2
Новичок
 
Регистрация: 17.10.2009
Сообщений: 21

Репутация: 3 / 0
По умолчанию Re: ASM

Отличные уроки.Помогает даже тем, у кого вместо головы чайник.(разжёвано дальше некуда)
http://bitfry.narod.ru/
 
Пользователь вне форума    
  , 21:45   #3
Новичок
 
Регистрация: 10.04.2010
Сообщений: 4

Репутация: 0 / 0
По умолчанию Re: ASM

Попробуй сначала почитать книжки по цифровой электронике...
Поймёшь все азы работы железа...регистра сдвига и т.д.
Потом ASM тебе сам сдасться!
Рекомендую литературу немца Борна
 
Пользователь вне форума    
  , 20:15   #4
Новичок
 
Регистрация: 24.11.2009
Сообщений: 8

Репутация: 0 / 0
По умолчанию Re: ASM

Цитата:
Сообщение от Denicov Посмотреть сообщение
Попробуй сначала почитать книжки по цифровой электронике...
Поймёшь все азы работы железа...регистра сдвига и т.д.
Потом ASM тебе сам сдасться!
Рекомендую литературу немца Борна
А какую именно??? можешь дать ссылку??
 
Пользователь вне форума    
  , 10:27   #5
Новичок
 
Регистрация: 13.04.2010
Сообщений: 12

Репутация: 0 / 0
По умолчанию Re: ASM

У Гука хорошо написанно про железо или почитай тут http://wasm.ru/article.php?article=1022001
__________________
[COLOR="Blue"]Мы медленно запрягаем, тихо ездим, и часто тормозим.[/COLOR]

Последний раз редактировалось macmaster; 03.05.2010 в 11:13.
Пользователь вне форума    
  , 19:37   #6
Новичок
 
Регистрация: 30.08.2010
Сообщений: 15

Репутация: 0 / 0
Cool Что нетак сделал ?

Мне нужна помощь в написании dll'ки которая будет выполнять функцию закрытия nopot.dll в программе...
Если не ошибаюсь эта функция FreeLibrary
Проблема дилка некомпилируется
как лечить????


source:
#include "stdafx.h"
#include "stdafx.h"
#include <Windows.h>
#include <TlHelp32.h>
#include <string>
#include <vector>
 
enum GLPFM_Error {
    GLPFM_SUCCESS               = 0,
    GLPFM_ERR_SNAP_PROCESSES    = 1,
    GLPFM_ERR_SNAP_MODULES      = 2,
}   GetListProcessesForModule(
        IN LPCTSTR szModuleName,
        OUT std::vector< std::pair< MODULEENTRY32, std::basic_string< TCHAR > > > &vPIDList
        )
{
    GLPFM_Error eRetCode = GLPFM_ERR_SNAP_PROCESSES;
    PROCESSENTRY32 pe = { sizeof( pe) };
    HANDLE hSnapP = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0);
    if( hSnapP != INVALID_HANDLE_VALUE && Process32First( hSnapP, &pe))
    {
        BOOL fSnapModules = FALSE;
        do {
            // We miss [System Process]...
            if( !pe.th32ProcessID) continue;
 
            eRetCode = GLPFM_ERR_SNAP_MODULES;
            MODULEENTRY32 me = { sizeof( me) };
            HANDLE hSnapM = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, pe.th32ProcessID);
            if( hSnapM != INVALID_HANDLE_VALUE && Module32First( hSnapM, &me))
            {
                fSnapModules = TRUE;
                do {
                    if( !_tcsicmp( szModuleName, me.szModule) || !_tcsicmp( szModuleName, me.szExePath))
                        vPIDList.push_back( std::pair< MODULEENTRY32, std::basic_string< TCHAR > >( me, pe.szExeFile));
                } while( Module32Next( hSnapM, &me));
            }
            if( hSnapM != INVALID_HANDLE_VALUE) CloseHandle( hSnapM);
        } while( Process32Next( hSnapP, &pe));
        eRetCode = fSnapModules ? GLPFM_SUCCESS : GLPFM_ERR_SNAP_MODULES;
    }
    if( hSnapP != INVALID_HANDLE_VALUE) CloseHandle( hSnapP);
    return eRetCode;
}
 
enum UM_Error {
    UM_SUCCESS              = 0,
    UM_ERR_OPEN_PROCESS     = 1,
    UM_ERR_CREATE_THREAD    = 2,
    UM_ERR_CALL_FREELIB     = 3,
} UnloadModule( IN DWORD dwPID, IN HMODULE hModule)
{
    typedef BOOL(WINAPI *PFreeLibrary)( HMODULE);
    static PFreeLibrary pfnFreeLibrary = PFreeLibrary( GetProcAddress( GetModuleHandle( _T( "kernel32.dll")), "FreeLibrary"));
 
    const DWORD dwProcessAccess = PROCESS_CREATE_THREAD
                                | PROCESS_QUERY_INFORMATION
                                | PROCESS_VM_OPERATION
                                | PROCESS_VM_WRITE
                                | PROCESS_VM_READ;
    HANDLE hProcess = OpenProcess( dwProcessAccess, FALSE, dwPID);
    if( !hProcess) return UM_ERR_OPEN_PROCESS;
 
    UM_Error eRetCode = UM_ERR_CREATE_THREAD;
    DWORD dwTID = 0;
    HANDLE hThread = CreateRemoteThread( hProcess, NULL, 0, LPTHREAD_START_ROUTINE( pfnFreeLibrary), hModule, 0, &dwTID);
    if( hThread)
    {
        WaitForSingleObject( hThread, INFINITE);
        DWORD dwExitCode = 0;
        GetExitCodeThread( hThread, &dwExitCode);
        CloseHandle( hThread);
        eRetCode = dwExitCode == 1 ? UM_SUCCESS : UM_ERR_CALL_FREELIB;
    }
 
    CloseHandle( hProcess);
    return eRetCode;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    LPCTSTR szModuleName = _T( "Icons.dll"); // Можно только имя, можно полный путь...
 
    for( ;;)
    {
        std::vector< std::pair< MODULEENTRY32, std::basic_string< TCHAR > > > vPIDList;
        GLPFM_Error eCode = GetListProcessesForModule( szModuleName, vPIDList);
        if( eCode == GLPFM_SUCCESS)
        {
            _tprintf( _T( "Module '%s' is loaded in %u processes.\n"), szModuleName, vPIDList.size());
            if( vPIDList.size() <= 0) break;
            for(
                std::vector< std::pair< MODULEENTRY32, std::basic_string< TCHAR > > >::iterator iterV = vPIDList.begin();
                iterV != vPIDList.end();
            ++iterV
                )
            {
                _tprintf( _T( "PID: %08X  %s - "),
                    iterV->first.th32ProcessID,
                    iterV->second.c_str());
 
                UM_Error eUMCode = UnloadModule( iterV->first.th32ProcessID, iterV->first.hModule);
                if( eUMCode == UM_SUCCESS)
                    _tprintf( _T( "Unloaded\n"));
                else
                    _tprintf( _T( "Error call UnloadModule. Function code: %d\n"), eUMCode);
            }
        }
        else
            _tprintf( _T( "Error resolve list. Function code: %d\n"), eCode);
    }
 
    return 0;
}
 
Пользователь вне форума    
  , 20:38   #7
Местный
 
Аватар для Mike1992
 
Регистрация: 06.11.2010
Сообщений: 236

Репутация: 48 / 1
По умолчанию Re: Что нетак сделал ?

Хотя бы какая ошибка напиши.
 
Пользователь вне форума    
  , 05:19   #8
Местный
 
Локация: 127.0.0.1
Регистрация: 07.01.2011
Сообщений: 458

Репутация: 23 / 1
По умолчанию Re: [ASSEMBLER] Задай вопрос - получи ответ

Есть у кого кодек на асме как получить и записать IP в фаил ?
__________________
क्लेपटोमानीया से बिमार
Пользователь вне форума    
  , 21:32   #9
Новичок
 
Аватар для Shnek
 
Регистрация: 09.03.2010
Сообщений: 12

Репутация: 0 / 0
По умолчанию Re: [ASSEMBLER] Задай вопрос - получи ответ

Как сделать файл sys компилятором fasm, и какие приёмы защиты от дизассемблирования можно использовать для таких файлов?
 
Пользователь вне форума    
  , 20:35   #10
Новичок
 
Регистрация: 07.02.2011
Сообщений: 27

Репутация: 0 / 0
По умолчанию Re: [ASSEMBLER] Задай вопрос - получи ответ

Пример драйвера есть в примерах к фасму, а также на сайте васм.ру.
Защитить код можно протектором (например впротект-ом).
__________________
Пишу софт на заказ (C, Asm, C#, Python)
https://hpc.name/showthread.php?p=437161
Пользователь вне форума    
  , 18:50   #11
Новичок
 
Регистрация: 11.01.2011
Сообщений: 18

Репутация: -8 / 0
По умолчанию Re: [ASSEMBLER] Задай вопрос - получи ответ

как профессионально выучить Ассемблер ?
 
Пользователь вне форума    
  , 17:31   #12
Новичок
 
Регистрация: 07.02.2011
Сообщений: 27

Репутация: 0 / 0
По умолчанию Re: [ASSEMBLER] Задай вопрос - получи ответ

Легко! Читай книги, пиши программы. Так и выучишь.
__________________
Пишу софт на заказ (C, Asm, C#, Python)
https://hpc.name/showthread.php?p=437161
Пользователь вне форума    
  , 12:31   #13
Местный
 
Локация: 127.0.0.1
Регистрация: 07.01.2011
Сообщений: 458

Репутация: 23 / 1
Post Re: [ASSEMBLER] Задай вопрос - получи ответ

Раз есть токая тема не упущу возможность задать вопрос и получить ответ.

Вот часть кода,до строчки .found у меня идет поиск файла,все нормально находит,начиная со строчки .found идет проверка найденного файла:

source:
 
... ...
... ...
.......

.found:
  lea    eax,[fd.cFileName] ;в eax имя найденного файла                     
  push   eax                ;                       
  push   prov               ;здесь имя файла для сравнения                      
  call   [lstrcmp]          ;сравниваем                                
  test   eax,eax                                   
                                                       
  jne    .next     ;если не то прыгаем на поиск дальше

  lea    eax,[fd.cFileName] ;если то показываем мессадж с именем найденног файла.
  push   0                                         
  push   eax                                       
  push   eax                                       
  push   0                                               
  call   [MessageBox]
Все норм в коде не каких ошибок.Вопрос в том как получить путь найденного файла,имя которого находится в [fd.сFileName].?
Дайте пару строк кода.
__________________
क्लेपटोमानीया से बिमार
Пользователь вне форума    
  , 00:03   #14
1nt
Постоянный
 
Аватар для 1nt
 
Регистрация: 19.11.2010
Сообщений: 731

Репутация: 141 / 2
По умолчанию Re: [ASSEMBLER] Задай вопрос - получи ответ

Поиск файлов по папкам идет, правильно?
У тебя где-то ранее .found должен быть буфер, в котором ты отсеиваешь ненужные имена папок. Из них и возвращай полный путь к файлу.
Есть способ конечно легче, функция GetFullPathName
__________________
[B][COLOR="Red"][URL="https://hpc.name/showthread.php?t=26401#post284052"]Кейлогер актуален[/URL][/COLOR][/B]
Пользователь вне форума    
  , 16:05   #15
Новичок
 
Регистрация: 30.09.2010
Сообщений: 12

Репутация: 0 / 0
По умолчанию Re: [ASSEMBLER] Задай вопрос - получи ответ

Помогите пожалуйста с выводом дробных чисел в консоль. Я пробовал пихать дробное число в стек, но туда попадает целое число, и выводится мусор.

source:
.DATA
	Answ db "%f",0
	Float1 	dword   10.7
	Floar2 	dword	2.7
	Float3	dword	1.0
.CODE
START:
	finit
	fld		Float1
	fdiv	Floar2
	fstp	Float3
	push Float3
	push offset Answ
	call crt_printf
 
Пользователь вне форума    

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Photoshop] Задай вопрос - получи ответ [email protected]@KEP Photoshop 14 18.12.2017 11:56
[Реверсинг] Задай вопрос - получи ответ [email protected]@KEP Реверсинг 35 02.10.2016 21:35
Взлом приложений ВКонтакте kir55rus Соц. сети 641 31.07.2014 15:39
Сетевой этикет (Перед тем, как задать вопрос хакеру) Ram0nlord За чашечкой чая 6 21.05.2012 19:01
Поймал adware - способ борьбы Solomon_15 Windows 11 24.12.2010 14:14



Часовой пояс GMT +2
Powered by vBulletin® 3.x.x Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Copyright © 2008 - 2013 «HPC» Реклама на сайте Правила Форума Пользовательское соглашение Работа на сайте
При копировании материалов ставьте ссылку на источник
Все материалы представлены только в ознакомительных целях, администрация за их использование ответственности не несет.