Advertisement
Guest User

Untitled

a guest
Nov 8th, 2011
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. HANDLE FindNetUserHandle(LPCSTR acc)
  2. {
  3. IJabberInterface *ji = getJabberApi(acc);
  4. if (!ji) return NULL;
  5.  
  6. PBYTE m_psProto = *(PBYTE*)((PBYTE)ji + sizeof(*ji)); // see CJabberInterface in jabber_proto.h
  7.  
  8. PHANDLE pResult = (PHANDLE)(m_psProto + // see CJabberProto in jabber_proto.h
  9. sizeof(PVOID) + // skip vtable ptr
  10. sizeof(PVOID) + // skip m_ThreadInfo
  11. SIZE_OF_JABBER_OPTIONS); // skip m_options
  12.  
  13. for (int i=0; i < 100; i++) {
  14. __try {
  15. if (GetNetlibHandleType(*pResult) == NLH_USER)
  16. break;
  17. }
  18. __except (EXCEPTION_EXECUTE_HANDLER){
  19. }
  20. pResult++;
  21. }
  22.  
  23. assert(GetNetlibHandleType(*pResult) == NLH_USER);
  24. return *pResult;
  25. }
  26.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement