Pen^2 Le 05/10/2016 à 22:45 (il y a des tabs pourtant)
(ah, c'est dans le sample de main.c créé par le projet ^^)
template <typename T, typename... U>
union StackPullDelegate
{
typedef T(__cdecl* lua_pullstack)(lua_State*, U&&...);
int Address;
lua_pullstack Call;
T operator() (lua_State* state, U&&... args)
{
if (Address == 0)
return T();
return Call(state, std::forward<U>(args)...);
}
};
vince Le 08/10/2016 à 18:01 dc.w 0,0
dc.w 0,0,$100,$100,0,0
dc.b $02,$DE,$C5,$67,$89,$AB,$CD,$EF
Tiens, y'a quelqu'un qui code ^^

—
Zeroblog —
« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » —
Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » —
GT Turbo // Register all hotfix table entries
auto db2namesOffsets = Program::Instance()->FindPattern({
0x00, 0x00, 0x44, 0x42, 0x46, 0x69, 0x6C, 0x65, 0x73, 0x43, 0x6C, 0x69, 0x65, 0x6E, 0x74
}, ".rdata", true);
for (int nameOffset : db2namesOffsets)
{
auto xrefOffset = Program::Instance()->FindPattern(reinterpret_cast<BYTE*>(&nameOffset), 4, ".rdata", true);
if (xrefOffset.size() != 1)
{
std::cout << "[LUA] Unable to find DB2 metadata for " << Program::Instance()->ReadMemory<const char*>(nameOffset) << std::endl;
}
else
{
DB2MetaData fileMetadata = Program::Instance()->ReadMemory<DB2MetaData>(xrefOffset[0] + 2);
HotfixTable[fileMetadata.Name] = fileMetadata.TableHash;
}
}
Ce qui caractérise les sociopathes est apparemment une intelligence hors norme. Je suis rassuré.
(Bon à part ça si tu veux flipper lis la réponse d'Anonymous)