Sunday, June 28, 2009

multi-threading std::map issue

class tagtree
{
...
public:
std::map mapControllee;
};

** working code **

tagtree *tt;
tagtree *ttController;
tt = AddNode(...);
ttController = tt;
tt = AddNode(...);
ttController->mapControlle[strName] = tt; <- crash in compare down to _tcmp lpsz 0xcdcdcdcd

http://www.dinkumware.com/vc_fixes.html[^]

Synchronization of multiple reader and writer processes using Mutex

void CServer::WriteToMemory()
{
mutex.Lock();
switch memory page
...
...
write something
...
...
mutex.Unlock();
}
void CServer::ReadFromMemory()
{
mutex.Lock();
get last writen memory page
mutex.Unlock();
...
...
read something
...
...
}

Remote Code Injection For All Windows Versions

References
1. "Three ways to inject your code into another process" by Robert Kuster.
http://www.codeproject.com/threads/winspy.asp
2. "Remote Library" by António Feijão.
http://www.codeproject.com/win32/remote.asp
3. "PrcHelp" by Radim Picha.
http://www.apihooks.com/OUT/CPRPICHA.ZIP
4. "Windows 95 System Programming Secrets" by Matt Pietrek.
http://www.wheaty.net/
5. "Windows NT/2000 Native API Reference" by Gary Nebbett.
http://www.amazon.com/exec/obidos/ASIN/1578701996/systemsinternals
6. "A Crash Course on the Depths of Win32 Structured Exception Handling" by Matt Pietrek.
http://www.microsoft.com/msj/0197/exception/exception.aspx
7. "Enumerating Windows Processes" by Alex Fedotov.
http://www.alexfedotov.com/articles/enumproc.asp

For Win9x stuff see [4] (99 % of the Win9x code comes from this book).
I don't know any equivalent book for NT, but two usefull books (not directly related to remote code injection) are:
- "Undocumented Windows NT" by P. Dabak, M. Borate, S. Phadke (http://www.windowsitlibrary.com/Documents/Book.cfm?DocumentID=356)
- "Microsoft Windows Internals, 4th ed." by M. Russinovich, D. Solomon

Saturday, June 27, 2009

MHP2G - Rajang 4 Hunters in 3.5mins

MHP2G - Kirin Sleep Charge Bomb in 2mins

HOWTO: Enable AHCI mode after installing Windows

http://forums.pcper.com/showthread.php?t=444831

HOWTO: 2.5" Seagate 320GB using eSATA

1. update latest driver for ur sata chipset
i, intel ich family chipset go to http://support.intel.com/support/chipsets/imsm/
ii, jmicron chipset go to ftp://driver.jmicron.com.tw/jmb36x/XP_Vista_Win7/
2. go to BIOS enable the AHCI for SATA mode
3. install seagate 2.5" into HD case that support eSATA
4. connect power to HD case to USB
5. connect eSATA to HD case to PC/Laptop
6. refresh page in device manager, new disk drive should be detected
7. initialize the new drive, skip the dynamic drive
8. create primary/extended partition follow by create logical partition(if u created extended)
9. format it and ready to go
10. here's a few recommended software to test out how well ur external HD performs
i, http://mysite.verizon.net/kaakoon/hotswap/index_enu.htm
ii, http://www.nu2.nu/bst/
iii, http://www.hdtune.com/
iv, http://www.mojopac.com/


ENJOY!

Media Center for PC/Laptop/Wii/Xbox/PSP/PDA/iPhone