forked from Public-Mirror/Textractor
minor fixes
This commit is contained in:
parent
379024afc0
commit
f4980d6eb6
@ -24,6 +24,7 @@ HookManager::HookManager() :
|
|||||||
attach(nullptr),
|
attach(nullptr),
|
||||||
detach(nullptr),
|
detach(nullptr),
|
||||||
nextThreadNumber(0),
|
nextThreadNumber(0),
|
||||||
|
splitDelay(250),
|
||||||
textThreadsByParams(),
|
textThreadsByParams(),
|
||||||
processRecordsByIds()
|
processRecordsByIds()
|
||||||
{
|
{
|
||||||
|
@ -103,7 +103,7 @@ DLLEXPORT bool InjectProcessById(DWORD processId, DWORD timeout)
|
|||||||
{
|
{
|
||||||
WaitForSingleObject(thread, timeout);
|
WaitForSingleObject(thread, timeout);
|
||||||
CloseHandle(thread);
|
CloseHandle(thread);
|
||||||
VirtualFreeEx(processHandle, remoteData, textHookerPathSize, MEM_RELEASE);
|
VirtualFreeEx(processHandle, remoteData, 0, MEM_RELEASE);
|
||||||
CloseHandle(processHandle);
|
CloseHandle(processHandle);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -8,18 +8,18 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
struct ThreadParameter
|
struct ThreadParameter
|
||||||
{
|
{
|
||||||
DWORD pid; // jichi: 5/11/2014: The process ID
|
DWORD pid; // jichi: 5/11/2014: The process ID
|
||||||
DWORD hook; // Artikash 6/6/2018: The start address of the hook
|
DWORD hook; // Artikash 6/6/2018: The start address of the hook
|
||||||
DWORD retn; // jichi 5/11/2014: The return address of the hook
|
DWORD retn; // jichi 5/11/2014: The return address of the hook
|
||||||
DWORD spl; // jichi 5/11/2014: the processed split value of the hook paramete
|
DWORD spl; // jichi 5/11/2014: the processed split value of the hook paramete
|
||||||
|
|
||||||
// Artikash 5/31/2018: required for unordered_map to work with struct key
|
// Artikash 5/31/2018: required for unordered_map to work with struct key
|
||||||
friend bool operator==(const ThreadParameter& one, const ThreadParameter& two)
|
friend bool operator==(const ThreadParameter& one, const ThreadParameter& two)
|
||||||
{
|
{
|
||||||
return one.pid == two.pid && one.hook == two.hook && one.retn == two.retn && one.spl == two.spl;
|
return one.pid == two.pid && one.hook == two.hook && one.retn == two.retn && one.spl == two.spl;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CURRENT_SELECT 0x1000
|
#define CURRENT_SELECT 0x1000
|
||||||
@ -32,31 +32,31 @@ typedef void(*ThreadOutputCallback)(TextThread*, std::wstring data);
|
|||||||
class TextThread
|
class TextThread
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TextThread(ThreadParameter tp, unsigned int threadNumber, unsigned int splitDelay);
|
TextThread(ThreadParameter tp, unsigned int threadNumber, unsigned int splitDelay);
|
||||||
~TextThread();
|
~TextThread();
|
||||||
|
|
||||||
void Reset();
|
void Reset();
|
||||||
void AddText(const BYTE *con, int len);
|
void AddText(const BYTE *con, int len);
|
||||||
void AddSentence();
|
void AddSentence();
|
||||||
void AddSentence(std::wstring sentence);
|
void AddSentence(std::wstring sentence);
|
||||||
|
|
||||||
std::wstring GetStore() { return storage; }
|
std::wstring GetStore() { return storage; }
|
||||||
DWORD &Status() { return status; }
|
DWORD &Status() { return status; }
|
||||||
WORD Number() const { return threadNumber; }
|
WORD Number() const { return threadNumber; }
|
||||||
ThreadParameter GetThreadParameter() { return tp; }
|
ThreadParameter GetThreadParameter() { return tp; }
|
||||||
|
|
||||||
void RegisterOutputCallBack(ThreadOutputCallback cb) { output = cb; }
|
void RegisterOutputCallBack(ThreadOutputCallback cb) { output = cb; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
CRITICAL_SECTION ttCs;
|
CRITICAL_SECTION ttCs;
|
||||||
ThreadOutputCallback output;
|
ThreadOutputCallback output;
|
||||||
std::vector<char> sentenceBuffer;
|
std::vector<char> sentenceBuffer;
|
||||||
std::wstring storage;
|
std::wstring storage;
|
||||||
|
|
||||||
ThreadParameter tp;
|
ThreadParameter tp;
|
||||||
unsigned int threadNumber;
|
unsigned int threadNumber;
|
||||||
unsigned int splitDelay;
|
unsigned int splitDelay;
|
||||||
DWORD status;
|
DWORD status;
|
||||||
};
|
};
|
||||||
|
|
||||||
// EOF
|
// EOF
|
||||||
|
Loading…
x
Reference in New Issue
Block a user