ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

07.09.2008, 13:14
|
|
Участник форума
Регистрация: 07.07.2008
Сообщений: 161
Провел на форуме: 1027635
Репутация:
234
|
|
iostream медленный. Используй сишные библиотеки, <cstdio>
#include <cstdio>
using namespace std;
void main(){
signed short i=0;
while(i < 5000){
printf("%d\n", i);
i++
}
}
|
|
|

07.09.2008, 13:31
|
|
Познающий
Регистрация: 08.08.2008
Сообщений: 55
Провел на форуме: 369629
Репутация:
54
|
|
используй апи
Код:
#include <windows.h>
#pragma comment(linker,"/ENTRY:Mymain")
void Mymain(){
signed short i=0;
HANDLE std=GetStdHandle(STD_OUTPUT_HANDLE);
char buf[10];
while(i < 5000){
_ultoa(i++,(char*)buf,10);
lstrcat((LPSTR)buf,"\n");
int len=lstrlen((LPCSTR)buf);
WriteFile(std,(LPCVOID)buf,len,(LPDWORD)&len,0);
}
}
|
|
|

07.09.2008, 14:23
|
|
Познающий
Регистрация: 16.07.2008
Сообщений: 82
Провел на форуме: 424387
Репутация:
142
|
|
Какой аналог explode(php(разбивает строку на массив, через разделитель)) в С++?
strtok()
Последний раз редактировалось _antony; 07.09.2008 в 14:31..
|
|
|

07.09.2008, 19:38
|
|
Познающий
Регистрация: 08.08.2008
Сообщений: 55
Провел на форуме: 369629
Репутация:
54
|
|
http://msdn.microsoft.com/en-us/library/ms737591(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms737593(VS.85).aspx
|
|
|

08.09.2008, 17:06
|
|
Познающий
Регистрация: 22.01.2007
Сообщений: 40
Провел на форуме: 179857
Репутация:
4
|
|
как зделать чтобы программа печатала квадрат звёздочками заданого размера? типа если размер = 5 то квадрат (С++)
* * * * *
* *
* *
* *
* * * * *
ну типа тут квадрат ))
Последний раз редактировалось 4y4o; 08.09.2008 в 17:11..
|
|
|

08.09.2008, 17:27
|
|
Участник форума
Регистрация: 09.04.2008
Сообщений: 111
Провел на форуме: 2471762
Репутация:
151
|
|
for (int i = 0; i < qwerty; i++)
{
for (int j = 0; j < qwerty; j++)
{cout << "*";}
cout << "\n";
}
// где qwerty сторона квадрата
Пример программы:
PHP код:
#include <iostream.h>
int main()
{
int qwerty;
cin >> qwerty;
for (int i = 0; i < qwerty; i++)
{
for (int j = 0; j < qwerty; j++)
{cout << "*";}
cout << "\n";
}
int r; // что бы консоль не "убегала" :)
cin >> r;
}
Последний раз редактировалось M@X Dr.Akyla; 08.09.2008 в 17:43..
|
|
|

09.09.2008, 17:23
|
|
Участник форума
Регистрация: 27.03.2008
Сообщений: 288
Провел на форуме: 800727
Репутация:
83
|
|
лучше
#include <conio.h>
getch() //в конце проги
ЗЫ: йа такой вопрос, чтобы консол не убегала задавал)
|
|
|

09.09.2008, 17:50
|
|
Познающий
Регистрация: 29.01.2008
Сообщений: 82
Провел на форуме: 373690
Репутация:
88
|
|
ChaaK, покури "Крис Касперски. Самоучитель игры на WinSock" _http://kpnc.opennet.ru/sock.pdf там на русском очень подробно описан алгоритм работы сокетов.
|
|
|

10.09.2008, 15:59
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
Провел на форуме: 2364957
Репутация:
479
|
|
пробую перехватить MessageBoxA. Код библиотеки:
Код:
#include <stdafx.h>
struct jmp_far {
BYTE op_push;
DWORD arg;
BYTE op_ret;
};
BYTE buf[6];
DWORD adrmesbox;
DWORD written;
jmp_far jump;
BOOL WINAPI intMesbox(HWND hwnd, char *text, char *hdr, UINT utype)
{
WriteProcessMemory(GetCurrentProcess(), (void*)adrmesbox, (void*)&buf, 6, &written);
char *str = "перехвачено111";
((BOOL (__stdcall*)(HWND, char*, char*, UINT))adrmesbox)(hwnd,
str, hdr, utype);
WriteProcessMemory(GetCurrentProcess(), (void*)adrmesbox,(void*)&jump, 6,&written);
return 1;
}
void intercept(void) {
adrmesbox = (DWORD)GetProcAddress(GetModuleHandleA("user32.dll"),"MessageBoxA");
if(adrmesbox == 0)
{
MessageBoxA(NULL, "MessageBoxA не найден", "ошибка", 0);
return;
}
jump.op_push = 0x68;
jump.arg = (DWORD)&intMesbox;
jump.op_push = 0xC3;
ReadProcessMemory(GetCurrentProcess(), (void*)adrmesbox, (void*)buf, 6, &written);
WriteProcessMemory(GetCurrentProcess(), (void*)adrmesbox, (void*)&jump, 6, &written);
}
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call,
LPVOID lpReserved )
{
if(ul_reason_for_call == DLL_PROCESS_ATTACH )
{
intercept();
}
return 1;
}
void main(void) {
}
После того как я вставляю эту dll в процесс, запускаю MessageBoxA. Ничего не происходит, а должен появиться бокс с сообдением "перехвачено".
Visual Studio 2008
сама статья - http://www.rsdn.ru/article/baseserv/IntercetionAPI.xml
|
|
|

11.09.2008, 12:01
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме: 1777055
Репутация:
347
|
|
возможно проблемы с выравниванием элементов структуры jmp_far
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|