ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

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

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

  #5311  
Старый 16.05.2010, 13:49
qwert135
Познающий
Регистрация: 22.11.2009
Сообщений: 53
Провел на форуме:
33126

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

Теперь мучает вторая часть вопроса.Как найти вторую производную?))
 

  #5312  
Старый 16.05.2010, 14:31
SeNaP
Участник форума
Регистрация: 07.08.2008
Сообщений: 281
Провел на форуме:
3300342

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

Всем привет.
Кому не трудно, набросайте пожалуйста программку, которая
Скопирует сама себя в папку C:\Windows
Или дайте ссылку на мануалы по этим функциям
 

  #5313  
Старый 16.05.2010, 15:31
Irdis
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
Провел на форуме:
1576821

Репутация: 88
Отправить сообщение для Irdis с помощью ICQ
По умолчанию

qwert135
Если не вдаваться в объяснения. то
f''(x) = (f(x_left)-2f(x)+f(x_right))/(h^2)
h = |x_left-x|=|x_right-x| = что-то оч. малое
x_left-x<0;
x_right-x>0;
---------------
В общем тут всё понятно, так как вторая производная это производная первой производной...
 

  #5314  
Старый 16.05.2010, 17:06
qwert135
Познающий
Регистрация: 22.11.2009
Сообщений: 53
Провел на форуме:
33126

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

Irdis
спасиб.А как можно проверить пустой файл или нет(файл текстовый, желательно пример)

Последний раз редактировалось qwert135; 17.05.2010 в 01:53..
 

  #5315  
Старый 17.05.2010, 15:09
b82a
Участник форума
Регистрация: 07.02.2010
Сообщений: 111
Провел на форуме:
619439

Репутация: 127
Отправить сообщение для b82a с помощью ICQ
По умолчанию

Цитата:
Сообщение от qwert135  
Irdis
спасиб.А как можно проверить пустой файл или нет(файл текстовый, желательно пример)
Можно юзать file_stat

Код:
// read file status, print size, dates etc
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main()
{
struct stat file_stat;
int         status;
char filename[50]={0};
printf("enter filename ? ");
scanf("%s", filename);
int fildes = open(filename, O_RDWR);             // open file
 
// get file status for details see
// http://www.opengroup.org/onlinepubs/007908799/xsh/fstat.html
status = fstat(fildes, &file_stat);                 // get its status
 
// print file status informations for details see
//   http://www.opengroup.org/onlinepubs/007908799/xsh/sysstat.h.html
printf("file %s size %d\n", filename, file_stat.st_size);        // print status
printf("last access %s\n", ctime(&file_stat.st_atime));
printf("last mofification %s\n", ctime(&file_stat.st_mtime));
printf("last status change %s\n", ctime(&file_stat.st_ctime));
return 0;
}
 

  #5316  
Старый 17.05.2010, 15:41
yaneblinchik
Участник форума
Регистрация: 06.02.2010
Сообщений: 216
Провел на форуме:
771684

Репутация: 26
Отправить сообщение для yaneblinchik с помощью ICQ
По умолчанию

Цитата:
Сообщение от b82a  
Можно юзать file_stat

Код:
// read file status, print size, dates etc
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main()
{
struct stat file_stat;
int         status;
char filename[50]={0};
printf("enter filename ? ");
scanf("%s", filename);
int fildes = open(filename, O_RDWR);             // open file
 
// get file status for details see
// http://www.opengroup.org/onlinepubs/007908799/xsh/fstat.html
status = fstat(fildes, &file_stat);                 // get its status
 
// print file status informations for details see
//   http://www.opengroup.org/onlinepubs/007908799/xsh/sysstat.h.html
printf("file %s size %d\n", filename, file_stat.st_size);        // print status
printf("last access %s\n", ctime(&file_stat.st_atime));
printf("last mofification %s\n", ctime(&file_stat.st_mtime));
printf("last status change %s\n", ctime(&file_stat.st_ctime));
return 0;
}
Это же на C?
 

  #5317  
Старый 17.05.2010, 16:29
b82a
Участник форума
Регистрация: 07.02.2010
Сообщений: 111
Провел на форуме:
619439

Репутация: 127
Отправить сообщение для b82a с помощью ICQ
По умолчанию

Цитата:
Сообщение от yaneblinchik  
Это же на C?
А он указал конкретный язык?
 

Помогите выгрузить Dll
  #5318  
Старый 17.05.2010, 17:19
agrofyl2
Познающий
Регистрация: 25.04.2008
Сообщений: 51
Провел на форуме:
146826

Репутация: 17
По умолчанию Помогите выгрузить Dll

Здравствуйте.
У меня есть код инжекта DLL
Код:
#include <windows.h>
#include <stdio.h>
#include <tlhelp32.h>
#include <shlwapi.h>
#include <iostream>
using namespace std;
#pragma comment(lib, "shlwapi.lib")


//I could just use PROCESS_ALL_ACCESS but it's always best to use the absolute bare minimum of priveleges, so that your code works in as
//many circumstances as possible.
#define CREATE_THREAD_ACCESS (PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION | PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ)
 
BOOL WriteProcessBYTES(HANDLE hProcess,LPVOID lpBaseAddress,LPCVOID lpBuffer,SIZE_T nSize);
 
BOOL LoadDll(char *procName, char *dllName);
BOOL InjectDLL(DWORD ProcessID, char *dllName);
unsigned long GetTargetProcessIdFromProcname(char *procName);
 
bool IsWindowsNT()
{
   // check current version of Windows
   DWORD version = GetVersion();
   // parse return
   DWORD majorVersion = (DWORD)(LOBYTE(LOWORD(version)));
   DWORD minorVersion = (DWORD)(HIBYTE(LOWORD(version)));
   return (version < 0x80000000);
}
 
//int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
int main() {
	cout << "Hello\n";
	Sleep(2000);
	while(1) {
		cout << "\n---------------------------------------------\n";
		char process[101], dllname[101];
		cout << "Enter process name (example: hl.exe)\n";
		cin.getline(process, 100);
		cout << "Enter dll name (example: 1vs16.dll)\n";
		cin.getline(dllname, 100);
		cout << "Try inject...\n";
		cout << "Process: " << process << " dll: " << dllname << endl;
		if(IsWindowsNT()) LoadDll(process, dllname);
		else cout << "Your system does not support this method";
	}
    return 0;
}
 
 
BOOL LoadDll(char *procName, char *dllName)
{
   DWORD ProcID = 0;
 
   ProcID = GetTargetProcessIdFromProcname(procName);
   cout << "Process ID: " << ProcID << endl;
 
   if(!(InjectDLL(ProcID, dllName))) cout << "Process located, but injection failed\n";
   else cout << "Successful!\n";
 
   return true;
}
 
BOOL InjectDLL(DWORD ProcessID, char *dllName)
{
   HANDLE Proc;
   char buf[50]={0};
   LPVOID RemoteString, LoadLibAddy;
 
   if(!ProcessID)
      return false;
 
   Proc = OpenProcess(CREATE_THREAD_ACCESS, FALSE, ProcessID);
 
   if(!Proc)
   {
      sprintf(buf, "OpenProcess() failed: %d", GetLastError());
      cout << buf << endl;
      return false;
   }
 
   LoadLibAddy = (LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
 
   RemoteString = (LPVOID)VirtualAllocEx(Proc, NULL, strlen(dllName), MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE);
   WriteProcessMemory(Proc, (LPVOID)RemoteString, dllName, strlen(dllName), NULL);
        CreateRemoteThread(Proc, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibAddy, (LPVOID)RemoteString, NULL, NULL);   
 
   CloseHandle(Proc);
 
   return true;
}
 
unsigned long GetTargetProcessIdFromProcname(char *procName)
{
   PROCESSENTRY32 pe;
   HANDLE thSnapshot;
   BOOL retval, ProcFound = false;
 
   thSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 
   if(thSnapshot == INVALID_HANDLE_VALUE)
   {
     cout << "Error: unable to create toolhelp snapshot\n";
      return false;
   }
 
   pe.dwSize = sizeof(PROCESSENTRY32);
 
   retval = Process32First(thSnapshot, &pe);
 
   while(retval)
   {
      if(StrStrI(pe.szExeFile, procName) )
      {
         ProcFound = true;
         break;
      }
 
      retval    = Process32Next(thSnapshot,&pe);
      pe.dwSize = sizeof(PROCESSENTRY32);
   } 
   return pe.th32ProcessID;
}
он работает.
Вопрос - как выгрузить длл, загруженную таким образом, из процеса

Последний раз редактировалось agrofyl2; 17.05.2010 в 17:37..
 

  #5319  
Старый 17.05.2010, 17:27
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

все тоже самое, только сменить функцию с LoadLibrary на FreeLibrary.
 

  #5320  
Старый 17.05.2010, 18:24
agrofyl2
Познающий
Регистрация: 25.04.2008
Сообщений: 51
Провел на форуме:
146826

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

В этой строчке?
Код:
  LoadLibAddy = (LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
LoadLibraryA-> FreeLibrartA ?

Пробовал, не выгружается так.
 
 





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


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




ANTICHAT.XYZ