Search Results for 'Programming'


42 POSTS

  1. 2007/10/17 CRC(Cyclic Redundancy Check) bypassing? by Dual
  2. 2007/10/08 Windows Anti-Debug Reference by Dual
  3. 2007/07/31 유저랜드 에플리케이션에서 현재 EXE파일 이름 구하기. by Dual
  4. 2007/07/31 Make your owner PE Protector Part 1: Your first EXE Protector by Dual
  5. 2007/04/30 고전 암호화 관련 문제 풀이용으로 작성한 코드들.. by Dual
  6. 2007/04/23 심심해서 만들어본 Binary2Str by Dual
  7. 2006/12/19 유저 레벨에서 디버거 감지 방법들. by Dual (1)
  8. 2006/05/09 어셈블리 명령어별 속도 by Dual
  9. 2006/03/08 Windows 시간 관련 프로그래밍 정보. by Dual
  10. 2005/10/12 Evading hack detection mechanisms in online games by Dual
  11. 2005/09/17 GetTickCount()를 이용한 BreakPoint여부 탐지법 by Dual
  12. 2005/08/15 Win32 Hooks by Dual
  13. 2005/08/14 테스트 삼아 만들어 보고 있는것 = 0= by Dual
  14. 2005/07/31 더블버퍼링 by Dual
  15. 2005/07/31 초보 프로그래머 와 전문 프로그래머의 차이 by Dual (2)
  16. 2005/07/31 Dev-C++ 간단 튜토리얼 by Dual
  17. 2005/07/31 Win32 서브클래싱 클래스 by Dual
  18. 2005/07/31 마우스 커서 밑에 잇는 스트링(문자) 긁어오기 by Dual
  19. 2005/07/31 listen 함수 설명 by Dual
  20. 2005/07/31 윈도우가 리사이즈될때 다시 그려야 하는 영역 얻기 by Dual
  21. 2005/07/31 실행 파일(바이너리)에서 파일 이름 가져오기 by Dual (2)
  22. 2005/07/31 대용량의 파일 순식간에 읽기 by Dual
  23. 2005/07/31 프로그램 한번만 실행하기 by Dual
  24. 2005/07/31 Console 프로젝트와 Windows 프로젝트 바꾸기 by Dual
  25. 2005/07/31 Break Pointer 는 INT 3 으로 통한다!! by Dual
  26. 2005/07/31 타이틀 바가 없는 프로그램에 아이콘을 나오게하는 법 by Dual
  27. 2005/07/31 Give Me a Handle, and I'll Show You an Object by Dual
  28. 2005/07/31 영문 OS에서 한글을 보여주는 프로그램하는 방법 by Dual
  29. 2005/07/31 Capturing Video to a Windows Media File(WMV) by Dual
  30. 2005/07/31 Capturing Video to an AVI File by Dual

CRC(Cyclic Redundancy Check) bypassing?

사용자 삽입 이미지


CRC 체크를 우회하는 방법에 대해 질문하는 분들이 종종 있더군요.
-_-; 너무 엉터리라서 저에게 핵토파스칼 킥을 날릴분들이 많을지도 모르겠지만,
간단히 한번 말해보도록 하겠습니다.

재가 처음에 CRC 체크를 우회하는 것에 대해서 생각을 해볼 때,
첫번쨰 생각한 것은 Shadow Walker Protect 였습니다.
-_-;; 해당 프로젝트가 무엇인지에 대한 설명은 넘어가도록 하겠습니다.

그러나 Shadow Walker Project는 소요되는 시간과 코드량에 비해
위험성이 다소 있기 때문에 결국 쓰지 않았죠. (절떄 귀찮아서가 아닐껍니다.)

두번째 생각한 것은 CRC체크 루틴을 찾아서 수정한다 였는데,
-_- 음.. 얼마 안되서 인터넷에 나오더군요. (그걸 구현하다니 성실한 녀석들)

그렇다면 CRC 체크 루틴은 어떻게 찾을 수 있는 걸까요?

이 대답은 두가지로 나뉘어 집니다.
왜냐하면 CRC체크 루틴은 해당 프로그램 내에서 이루어질 수도 있고,
외부 프로그램에 의해서 이루어질수도 있기 떄문입니다.

먼저 내부 프로그램에 의한 CRC체크 루틴을 찾는 방법에 대해서 말해보자면,
프로그램 내에서 CRC체크 루틴은 대략 어떤 모습을 가지고 있을까요? -_-?
정말 간단하게 생각해보자면 다음과 같다고 볼 수 있겠죠.

for(int i = EntryPoint; i <= SizeOfImage; i++)
{
      ...
  checksum += memory[i];
....
}

-_-;; 재밌는게 보이죠?
모든 메모리의 변조여부를 체크하기 위해서는 모든 메모리에 접근해서 읽어와야
합니다. 즉 Read가 발생하죠... (여기서 감이 오죠)

우리에겐 INTEL이 주신 축복인.. Hardware BreakPoint라는 친구가 있죠.
이 친구가 도와주면 우리는 특정한 메모리 주소에 Write or Read|Write or Excute가
발생했을때와 그 읽기 또는 읽기쓰기 또는 실행을 시도한 주소가 어딘지 알 수 있죠.
-_-; 읽기또는쓰기를 시도한 메모리 주소가 바로 CRC체크루틴이 있는 곳이겠죠..?
(Haredware BreakPoint에 대해선 다음글에서 말하고 있네요 : 링크)

체크루틴을 찾았으면 다음에 할일은 검사에 걸리지 않도록 하는 일입니다.
이것도 역시 아주 간단한데요.
-_-; 음.. 위에서 간단히 설명을 위해 사용했던 코드는 다음과 같이도 표시됩니다.

for(int i = EntryPoint; i <= SizeOfImage; i++)
{
      ...
  checksum += *(BaseAddress + i);
....
}

결국 memory라는 BaseAddress를 기반으로 i값만큼 떨어진 오프셋에 있는 값을
한개씩 확인하는 거죠. 이걸 기반으로 CRC 체크 루틴을 우회할 수 있는 간단한
아이디어를 생각해 낼 수 있는 겁니다.

CRC체크 루틴이 원하는 Original Memory들을 덤프하여 둔 후,
해당 프로세스 내에 다시 메모리를 할당하여 대상 메모리에 덤프해둔 메모리를 복사하면,
기존의 공간과 똑같은 메모리 구조를 가지고 있게 됩니다.
그 후 찾아낸 CRC체크 루틴에서 사용하는 BaseAddress를 할당한 메모리 주소로
바꿔주게 되면 우리가 본래 내용을 변조하여도 언제나 덤프해둔 메모리의 내용만
검사할 것이기 때문에 감지를 우회할 수 있게 됩니다.
이를 간단하게 그림으로 표시해봤습니다.

사용자 삽입 이미지


위는 기존의 메모리 상태이고, 체크루틴의 BaseAddress를 바꾼 후는 :


사용자 삽입 이미지
정말 쉽죠..? (이런말 하다가 죽은 미술가가 한명 있죠..)


그렇다면 외부 프로그램에 의해 검사되는 방식은 어떨까요? 그것도 정말 쉬운데요.
외부 프로세스에서 타 프로세스의 메모리로 접근하기 위해서는 유저레벨에서는
ReadProcessMemory() 라는 API를 사용합니다.
음.. 아마도 인자값이 ReadProcessMemory(hProcess,BaseAddress,buffer,len,&ret);
식으로 썻었던거 같은데요..
커널단에서 ReadProcessMemory()라는 API는 ZwReadVirtualMemory()라는 함수로
연결이 되고, ZwReadVritualMemory함수를 후킹하는 다음과 같은 형식의 코드를
작성함으로써 앞에서 사용했던 방법과 동일하게 돌파가 가능하겠죠.

if((BaseAddress => CRCStartAddress) && (BaseAddress <= CRCEndAddress))

{

..........

         BaseAddress = DumpedMemory;

..........

}
내부에서의 검사루틴 돌파법을 이해했다면 두번쨰 방법의 이해는 누워서 호떡먹기보다
쉬울겁니다. -_-/

사용자 삽입 이미지

이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2007/10/17 18:43 2007/10/17 18:43
Response
701 Trackbacks , 3 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/306

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/306

Trackbacks List

  1. Buy oxycontin.

    Tracked from Buy oxycontin. 2009/09/05 06:52 Delete

    Buy oxycontin.

  2. Buy phentermine cheap phentermine diet pills index.

    Tracked from Phentermine diet pills. 2009/09/06 12:43 Delete

    Phentermine diet pills. Diet pills phentermine.

  3. Buy xanax online.

    Tracked from Xanax buy xanax online discoint xanax cheap. 2009/09/07 13:17 Delete

    Buy xanax online. Buy xanax online no prescriptions.

  4. Buy percocet online.

    Tracked from Buy percocet online. 2009/09/07 21:07 Delete

    Buy percocet online. Buy percocet online no prescription.

  5. Phentermine 37 5mg.

    Tracked from Phentermine 37 5mg. 2009/09/07 22:54 Delete

    Phentermine 37 5mg.

  6. Tramadol.

    Tracked from Tramadol. 2009/09/09 01:31 Delete

    Tramadol.

  7. Detection of hydrocodone in urine.

    Tracked from Hydrocodone. 2009/09/09 10:00 Delete

    Hydrocodone withdrawal symptoms. Hydrocodone on urinalysis. Hydrocodone.

  8. Percocet.

    Tracked from Percocet. 2009/09/09 18:37 Delete

    Percocet for anxiety. Percocet 7.5 generic. Cheap percocet. Percocet. Bioavailability of percocet. No prescription percocet. Half life of percocet.

  9. Buy xanax.

    Tracked from Xanax 2mg. 2009/09/15 00:26 Delete

    Buy xanax online. Generic xanax 2 mg no prescription. Xanax without prescription.

  10. Side effects of percocet.

    Tracked from Percocet. 2009/09/16 02:36 Delete

    Percocet.

  11. Buy hydrocodone online.

    Tracked from Buy hydrocodone online. 2009/09/16 14:40 Delete

    Buy hydrocodone online.

  12. Hydrocodone and online and prescriptions.

    Tracked from Hydrocodone online no prescription no membership. 2009/09/18 17:40 Delete

    Hydrocodone online no prescription no membership.

  13. Buy phentermine online in.

    Tracked from Buy phentermine online in. 2009/09/26 17:58 Delete

    Buy phentermine online without a prescription. Phentermine online buy phentermine phentermine. Buy online pal pay phentermine my own blog. Buy phentermine online buy cheap phentermine index. Buy online phentermine. Buy phentermine online at best prices...

  14. Cheap ... phentermine cod url.

    Tracked from Buy phentermine cod. 2009/09/27 08:41 Delete

    Phentermine cod.

  15. Buy generic tramadol no prescription.

    Tracked from Buy tramadol. 2009/09/27 10:15 Delete

    Buy tramadol.

  16. Adderall forums.

    Tracked from How while on adderall xr. 2009/09/27 22:44 Delete

    Buy adderall. Adderall amphetamine. Adderall. No prescription adderall. Adderall erowid. Adderall without a prescription. Adderall like effect. Long term effects of adderall.

  17. Hartford oxycontin lawyers.

    Tracked from Oxycontin detox. 2009/09/28 09:02 Delete

    Oxycontin. Purchase oxycontin generic online. Oxycontin lawyer cleveland. No quarter is max boot using oxycontin.

  18. Buy tramadol.

    Tracked from Buy tramadol. 2009/09/28 19:15 Delete

    Buy tramadol.

  19. Buy xanax.

    Tracked from Buy xanax. 2009/09/29 11:40 Delete

    Buy xanax.

  20. Buy hydrocodone online.

    Tracked from Buy hydrocodone online. 2009/09/29 20:56 Delete

    Buy hydrocodone online without a prescription. Buy hydrocodone online.

  21. Online pharmacy oxycontin.

    Tracked from Online pharmacy oxycontin. 2009/09/30 12:43 Delete

    Online pharmacy oxycontin.

  22. Cheap xanax online buy cheap xanax buy cheap xanax.

    Tracked from Buy xanax online. 2009/09/30 15:40 Delete

    Buy xanax online. Buy xanax valium online florida. Search results buy xanax online. Buy xanax online shipped overnight.

  23. Where to buy xanax with same day delivery.

    Tracked from Buy 180 xanax 2mg. 2009/10/01 03:37 Delete

    Buy xanax online. Buy xanax online without a prescription.

  24. Online no prescription oxycontin pharmacy.

    Tracked from Online no prescription oxycontin pharmacy. 2009/10/01 13:13 Delete

    Online pharmacy oxycontin. Online no prescription oxycontin pharmacy.

  25. Drug encyclopedia cor 127 tramadol.

    Tracked from Canine tramadol. 2009/10/02 03:13 Delete

    Comparative potencies of opioids tramadol. Tramadol no prescription. Tramadol and depression. Tramadol. Tramadol use in canines.

  26. Hydrocodone how to administer safely.

    Tracked from Watson hydrocodone tablets. 2009/10/02 15:48 Delete

    Hydrocodone. Hydrocodone drug testing. Hydrocodone apap 5 500.

  27. Hydrocodone abuse.

    Tracked from Hydrocodone prescription. 2009/10/05 06:13 Delete

    Hydrocodone. Hydrocodone 5. Order hydrocodone. Hydrocodone m357.

  28. Cheap codeine no prescription.

    Tracked from Cheap codeine no prescription. 2009/10/05 23:25 Delete

    Cheap codeine no prescription.

  29. Buy lorazepam.

    Tracked from Buy lorazepam. 2009/10/05 23:29 Delete

    Buy lorazepam.

  30. Fioricet.

    Tracked from Fioricet. 2009/10/06 12:54 Delete

    Fioricet drug test. Fioricet. Fioricet plain pill. Fioricet free shipping. Webresults fioricet.

  31. Cheapest fioricet online fedex.

    Tracked from Search results cheapest fioricet. 2009/10/06 18:41 Delete

    Cheapest fioricet generic price. Cheapest fioricet.

  32. Buy ultram.

    Tracked from Buy ultram. 2009/10/07 07:44 Delete

    Buy ultram.

  33. Fioricet.

    Tracked from Online fioricet w codeine medical consultation. 2009/10/07 12:49 Delete

    Fioricet. Fioricet and blood work. Fioricet perscriptions. Cheapest fioricet. Fioricet c.o.d.. Info on fioricet abuse. Fioricet cod.

  34. Buy tylex cd no-prescription codeine cheap.

    Tracked from Cheap codeine and no prescriptions. 2009/10/08 17:43 Delete

    Buy tylex cd no-prescription codeine cheap. Cheap codeine no prescription. Cheap codeine no prescription overnight usa.

  35. Buy amoxicillin without prescription.

    Tracked from Buy amoxicillin without prescription. 2009/10/09 09:37 Delete

    Buy amoxicillin without prescription.

  36. Ativan half life.

    Tracked from Half life of ativan. 2009/11/07 02:07 Delete

    Ativan half life. Half life of ativan.

  37. Phentermine.

    Tracked from Phentermine. 2009/11/14 09:25 Delete

    Phentermine.

  38. Hydrocodone.

    Tracked from I had a healthy baby while i took hydrocodone. 2009/11/14 18:03 Delete

    Hydrocodone. How to ween off hydrocodone while pregnant.

  39. Buy hydrocodone online.

    Tracked from Hydrocodone. 2009/11/15 09:19 Delete

    Hydrocodone. Hydrocodone apap. Buy hydrocodone online consultation. Hydrocodone guaifenesin. Norco hydrocodone.

  40. Lorazepam abuse.

    Tracked from Longterm consequences of lorazepam use. 2009/11/15 23:32 Delete

    Lorazepam.

  41. Order xanax online.

    Tracked from Xanax. 2009/11/16 08:46 Delete

    Xanax drug test. Cheap xanax. Xanax online without prescription. Buy xanax online. Xanax. Xanax without a prescription. Titel auteur datum xanax medication bmnwbbuk.

  42. Hydrocodone.

    Tracked from Buy hydrocodone online without a prescription. 2009/11/16 23:00 Delete

    Hydrocodone.

  43. Hydrocodone.

    Tracked from Hydrocodone apap. 2009/11/17 08:08 Delete

    Is oxycodone or hydrocodone stronger. Hydrocodone. Buy hydrocodone online. Hydrocodone no prescription.

  44. Hydrocodone m357.

    Tracked from Remove acetaminophen from hydrocodone. 2009/11/17 17:16 Delete

    Hydrocodone. Hydrocodone guaifenesin syreth.

  45. Tramadol.

    Tracked from Comparative potencies of opioids tramadol. 2009/11/18 00:26 Delete

    Tramadol withdraw. Tramadol. Tramadol 180 electronic check.

  46. Hydrocodone allergy symptom.

    Tracked from Hydrocodone withdrawal. 2009/11/18 09:04 Delete

    Hydrocodone. Hydrocodone apap.

  47. Hydrocodone.

    Tracked from Drugs detected on drug test hydrocodone. 2009/11/19 00:15 Delete

    Hydrocodone. Buy hydrocodone without prescription. Buy hydrocodone without a prescription.

  48. Lorazepam order prescription online.

    Tracked from Lorazepam withdrawal. 2009/11/19 09:33 Delete

    Lorazepam order prescription online. Lorazepam side effects. Diazepam to lorazepam conversion.

  49. Adderall.

    Tracked from Adderall tweaked. 2009/11/20 00:13 Delete

    Wholesale adderall. Adderall side effects. Adderall. Smoking adderall.

  50. Ambien online.

    Tracked from Ambien online. 2009/11/21 19:32 Delete

    Ambien online. Online ambien cheap. Online drugs ambien. Buy ambien online cod.

  51. database-empire.com up

    Tracked from database-empire.com 2009/11/29 13:13 Delete

    [...] Wilson's campaign slogan, "a better leader for tomorrow because he teaches today," cuts to the heart of his argument that Geiger is too much the bureaucrat, too long gone from the classroom. Big,rely Some critics contend that China opposes early...

  52. studies sunlight work include clathrate

    Tracked from studies sunlight work include clathrate 2010/03/12 16:42 Delete

    keep dissolved ppm assessment seasonal tropical regions

  53. Buy tramadol online cod.

    Tracked from Tramadol. 2010/03/21 02:56 Delete

    Tramadol 93. Tramadol with saturday delivery. Tramadol side effects. Tramadol.

  54. Klonopin.

    Tracked from Klonopin. 2010/03/21 03:21 Delete

    Online klonopin fed exed over night. Klonopin withdrawl symptoms. Klonopin ocd. Klonopin.

  55. Cheap tramadol.

    Tracked from Tramadol. 2010/03/21 18:25 Delete

    Tramadol cod. Cheap tramadol. Snorting tramadol. Cheap tramadol without prescription. Discount tramadol. Tramadol.

  56. Addiction ativan.

    Tracked from Ativan benefits. 2010/03/22 03:29 Delete

    Ativan. Ativan lorazepam information.

  57. Vicodin.

    Tracked from Vicodin. 2010/03/22 18:29 Delete

    Vicodin. Vicodin side effects. Symptoms vicodin addiction. Effect of vicodin.

  58. Xanax.

    Tracked from Xanax. 2010/03/23 03:07 Delete

    Xanax side effects. Xanax during pregnancy.

  59. Ambien withdrawal.

    Tracked from Ambien. 2010/03/23 16:28 Delete

    Ambien cr.

  60. Ativan.

    Tracked from Ativan. 2010/03/24 03:08 Delete

    Ativan. Rme ativan. No-prescription ativan. Ativan lorazepam.

  61. Ambien.

    Tracked from Ambien and brain injuries. 2010/03/24 16:28 Delete

    Free trial version of ambien. Discount ambien. Ambien.

  62. Ambien cr.

    Tracked from Ambien. 2010/03/25 03:12 Delete

    Ambien sleeping pill. Ambien and the menstrual cycle. Ambien next day delivery canada. Discount ambien.

  63. Valtrex.

    Tracked from How does valtrex affect coumadin. 2010/03/25 16:14 Delete

    Valtrex. Valtrex 1 mg. Valtrex and achne.

  64. Buy ativan online from discount pharmacy store.

    Tracked from Ativan. 2010/03/26 03:19 Delete

    Ativan. Ativan lorazepam information. Ativan nursing info. Ativan information. Ativan without prescription.

  65. Vicodin.

    Tracked from Vicodin online. 2010/03/26 12:08 Delete

    Vicodin online no prescription. Vicodin detox. Cheap vicodin cod.

  66. Ambien.

    Tracked from Ambien cr. 2010/03/27 03:22 Delete

    Ambien. Generic ambien. Suicide ambien.

  67. What color is ambien.

    Tracked from Ambien cr color. 2010/03/27 12:01 Delete

    Ambien. Ambien and hot flashes. Buy ambien.

  68. Buy vicodin.

    Tracked from Vicodin. 2010/03/28 03:17 Delete

    Effects of vicodin. Vicodin abuse. Vicodin and hydroxyzine. Vicodin. Re your vicodin refill is ready. Vicodin addiction.

  69. Casino 1269733386

    Tracked from Casino 1269733386 2010/03/28 08:18 Delete

    Casino 1269733386

  70. Ambien side effects.

    Tracked from Ambien online. 2010/03/28 12:55 Delete

    Ambien side effects. Generic ambien. Buy ambien overnight. Cheap ambien. Ambien.

  71. Valtrex commercials.

    Tracked from Does valtrex prevent herpes. 2010/03/29 03:13 Delete

    Valtrex. Valtrex noprescription.

  72. Codeine and pseudoephedrine separation.

    Tracked from Codeine. 2010/03/29 12:48 Delete

    Codeine extraction. Codeine. Apap codeine pill. 222 with codeine.

  73. Ambien.

    Tracked from Ambien. 2010/03/29 23:56 Delete

    Ambien during pregnancy. Ambien. Ambien addiction. Ambien onlilne overnite shipping. What is ambien. Buy ambien without prescription.

  74. Ambien.

    Tracked from Ambien next day delivery. 2010/03/30 12:41 Delete

    Employment drug test ambien. Ambien. Buy ambien.

  75. Ambien.

    Tracked from Buy ambien online. 2010/03/31 00:43 Delete

    Generic ambien. Ambien cr. Cheap ambien. Addiction to ambien. Buy ambien online. Ambien. Buy ambien.

  76. Ambien overdose.

    Tracked from Ambien manufacturer. 2010/03/31 12:39 Delete

    Buy ambien without a prescription. Generic ambien. Ambien next day delivery us. Ambien.

  77. British journal of cancer finasteride.

    Tracked from Prostate finasteride. 2010/04/01 01:14 Delete

    Finasteride. Propecia finasteride. 1mg finasteride for bph. Finasteride versus beta-sitsterol.

  78. Ultram.

    Tracked from Ultram. 2010/04/01 11:16 Delete

    Ultram. Ultram er. Buy ultram international pharmacy. Ultram side effects.

  79. particular exempt american users water

    Tracked from particular exempt american users water 2010/04/01 23:59 Delete

    medium surface web worldwide referred referred microsoft climate

  80. Tramadol side effects.

    Tracked from Snorting tramadol. 2010/04/02 03:28 Delete

    Buy tramadol online cod. Tramadol.

  81. Vicodin user message board.

    Tracked from Re your vicodin refill is ready. 2010/04/02 08:38 Delete

    Vicodin and no consults and no prescription.

  82. Mixing cocaine and vicodin.

    Tracked from Vicodin withdrawal symptoms. 2010/04/02 17:45 Delete

    Vicodin abuse. Vicodin viagra. Vicodin vicodin. Vicodin. Marijuana and vicodin. Vicodin es. Vicodin addiction.

  83. Viagra.

    Tracked from Viagra. 2010/04/03 07:15 Delete

    Viagra soft without a prescription.

  84. Xanax presciption.

    Tracked from Xanax. 2010/04/03 17:24 Delete

    Xanax no prescription. Symptoms of xanax use. Can you buy xanax without a prescription. Xanax addiction. Cheap generic xanax 2mg bars. Xanax. When was xanax created.

  85. Vicodin mexico.

    Tracked from Buy vicodin online. 2010/04/04 07:02 Delete

    Buying vicodin es without perscription. Vicodin. Vicodin addiction.

  86. Order ativan online consultation.

    Tracked from Where do you put ativan gel. 2010/04/04 16:42 Delete

    Ativan data. Ativan. Side effects of ativan. Drug dosage for ativan. Order ativan fast local delivery wholesale price.

  87. Ambien.

    Tracked from Ambien cr. 2010/04/05 04:39 Delete

    Ambien alcohol effects. Ambien driving. Cheap ambien. Ambien. Buy ambien.

  88. Side effects of valtrex.

    Tracked from Valtrex. 2010/04/05 13:01 Delete

    Valtrex. Buy valtrex without prescription. Valtrex medication.

  89. Ultram.

    Tracked from Celebrex as well as ultram gt online medications. 2010/04/06 00:48 Delete

    Ultram. Ultram fed ex. Ultram er. Ingredients in ultram. Ultram abuse.

  90. Ambien.

    Tracked from Buy ambien online. 2010/04/06 13:01 Delete

    Generic ambien. Ambien latest side effects. Ambien. Ambien overdose. Ambien mexico. Buy ambien.

  91. Viagra overnight.

    Tracked from Splitting viagra. 2010/04/07 00:50 Delete

    Buy viagra cheap. Viagra.

  92. Ambien.

    Tracked from Ambien. 2010/04/07 12:22 Delete

    Buy ambien online. Ambien.

  93. Tramadol 180 cod.

    Tracked from Tramadol side affects. 2010/04/08 00:55 Delete

    Tramadol cod. Tramadol. Tramadol use in canines.

  94. Tramadol.

    Tracked from Tramadol. 2010/04/08 11:40 Delete

    Tramadol hydrochloride. Tramadol side effects. Tramadol hcl. Tramadol. Tramadol com. Cheap tramadol fedex overnight.

  95. Cialis.

    Tracked from Cialis and pill splitting. 2010/04/08 20:08 Delete

    Cialis best price buy online. Cialis. Buy generic cialis.

  96. Codeine.

    Tracked from Codeine faq. 2010/04/09 04:56 Delete

    Effects of codeine. Codeine cough syrup. Codeine overdose suicide. Codeine. Tylenol with codeine. Tylenol with codeine dose. Codeine allergy.

  97. Ultram 50.

    Tracked from Ultram. 2010/04/09 18:59 Delete

    Ultram. Hyperlink korea bulletin board on get ultram.

  98. Generic viagra.

    Tracked from Viagra stories. 2010/04/10 04:52 Delete

    Buy viagra online. Viagra. Generic viagra.

  99. Buy xanax online.

    Tracked from Buy xanax online. 2010/04/10 21:07 Delete

    Xanax. Generic xanax no prescription.

  100. Klonopin edema.

    Tracked from Klonopin. 2010/04/11 07:54 Delete

    Klonopin side effects. Klonopin.

  101. Propecia side effects finasteride.

    Tracked from Finasteride. 2010/04/11 19:55 Delete

    Side effects of propecia finasteride mg. Finasteride. Finasteride dr reddys labs inc. Generic finasteride. Finasteride systemic mayoclinic com.

  102. Percodan.

    Tracked from Percodan online. 2010/04/12 07:31 Delete

    Percodan. Percodan problems. Is percodan a codine drug.

  103. What is finasteride.

    Tracked from Finasteride research chemical. 2010/04/12 16:43 Delete

    Finasteride. Bulk finasteride powders. Side effects of finasteride. Order finasteride powder s. Finasteride inhibition. Finasteride side effects.

  104. Buy percodan online.

    Tracked from Percodan no prescription. 2010/04/13 07:27 Delete

    Percodan. Testing for percodan in the human body.

  105. Vicodin.

    Tracked from Codeine vicodin. 2010/04/13 16:30 Delete

    Vicodin. Liquid form of vicodin. Is it safe to snort vicodin. Buy vicodin.

  106. Finasteride.

    Tracked from Finasteride 1mg. 2010/04/14 08:17 Delete

    Finasteride. Prostate finasteride. 1mg finasteride for bph.

  107. Re viagra cello.

    Tracked from Viagra description. 2010/04/14 10:57 Delete

    Story comparison viagra. Viagra for order lamisil viagra. Viagra london. Viagra.

  108. Percocet.

    Tracked from Percocet withdrawal. 2010/04/15 08:11 Delete

    Canadian prescritions and percocet. How long does percocet 7.5 stay in your system. Side effects of percocet. Percocet.

  109. Buy percocet online.

    Tracked from Side effects of percocet. 2010/04/15 16:05 Delete

    Percocet sexual effects. Buy percocet online. Percocet. Bioavailability of percocet. Difference in darvocet and percocet. Percocet with other drugs.

  110. Free viagra.

    Tracked from Viagra sale. 2010/04/16 08:31 Delete

    Uk viagra sales. Viagra lawyers. Cheap viagra. Pictures of viagra. Viagra online. Re viagra cello. Viagra. Ship free viagra sample.

  111. Buy valtrex online.

    Tracked from Valtrex. 2010/04/16 21:02 Delete

    Dosage for valtrex. How does valtrex affect coumadin. Side effects of valtrex. Order valtrex online.

  112. Vicodin.

    Tracked from Buy vicodin. 2010/04/17 08:18 Delete

    Vicodin at overseas pharmacies. Where to order vicodin with no prescription. Vicodin. Vicodin withdrawal. Buying cod vicodin. Vicodin no rx.

  113. scientific attributed

    Tracked from scientific attributed 2010/04/21 02:46 Delete

    southern public society institute criticized temperatures

  114. high contribute

    Tracked from high contribute 2010/04/28 11:39 Delete

    dissolved movit external dissolved

  115. clathrate shelf stabilized sensitivity warmest

    Tracked from clathrate shelf stabilized sensitivity warmest 2010/05/09 11:26 Delete

    prepared lapse points notes academies issues

  116. Casino 1273773176

    Tracked from Casino 1273773176 2010/05/14 08:00 Delete

    Casino 1273773176

  117. Fioricet cheap.

    Tracked from Cheap fioricet. 2010/05/15 07:44 Delete

    Cheap fioricet and one day delivery. Fioricet cheap. Cheap fioricet.

  118. ruddiman points douglass partners working

    Tracked from ruddiman points douglass partners working 2010/05/17 04:36 Delete

    societies president extinctions running issue impact beginning

  119. Phentermine no prescription.

    Tracked from Phentermine on line without prescription. 2010/05/17 19:04 Delete

    No prescription phentermine. Cheap phentermine no prescription. Phentermine no prescription.

  120. Buy alprazolam 2mg bars.

    Tracked from Buy alprazolam uk. 2010/05/18 03:30 Delete

    Buy alprazolam without prescription. Buy alprazolam uk.

  121. Buying butalbital cod.

    Tracked from Buy butalbital weblog. 2010/05/18 21:17 Delete

    Buy butalbital. Butalbital fioricet carisoprodol buy butalbital buy. Butalbital buy cheap prescription. Buy butalbital weblog. Buy butalbital qualitest free shipping. Where to buy butalbital online.

  122. Buy adderall without prescription.

    Tracked from Buy adderall. 2010/05/18 22:21 Delete

    Buy adderall online. Buying adderall online. Buying adderall online pharmacy. No prescription buy adderall.

  123. Ambien dangers.

    Tracked from Ambien. 2010/05/19 11:17 Delete

    Drugs detected on drug test ambien.

  124. Hard to talk when taking fioricet codeine.

    Tracked from Fioricet. 2010/05/19 12:06 Delete

    Info on fioricet abuse. Fioricet. Discount fioricet.

  125. Percocet.

    Tracked from No prescription percocet. 2010/05/19 23:19 Delete

    Percocet. Long term percocet withdrawal symptoms. How long is percocet in your system.

  126. Buy percocet online.

    Tracked from Buy percocet online without office visit. 2010/05/20 01:16 Delete

    Buy percocet. Buy percocet online no prescription. Buy percocet online. Percocet buy online forum. Buy percocet online without a prescription.

  127. Buy oxycontin online.

    Tracked from Oxycontin attorney columbus. 2010/05/20 06:25 Delete

    Oxycontin withdrawl. Oxycontin. Oxycontin las vegas. Oxycontin valium overseas pharmacy. Buy oxycontin online. Snort oxycontin.

  128. Order alprazolam.

    Tracked from Order alprazolam online. 2010/05/20 13:32 Delete

    Buy alprazolam. Picture alprazolam. Side effects of alprazolam. No prescription alprazolam. Order alprazolam.

  129. Easy way to buy hydrocodone online.

    Tracked from Buy hydrocodone. 2010/05/21 00:04 Delete

    Buy hydrocodone without prescription. Buy hydrocodone with mastercard. Buy hydrocodone online. Buy hydrocodone. Buy hydrocodone without a prescription.

  130. Phentermine prescription online 2.

    Tracked from Phentermine 37.5 mg online prescription. 2010/05/21 11:23 Delete

    Phentermine on line without prescription. Phentermine without prescription. Phentermine without prescription using cod. Phentermine no prescription. Top 10 sites for prescription phentermine.

  131. Buy tramadol.

    Tracked from Buy generic tramadol no prescription. 2010/05/22 13:16 Delete

    Buy tramadol online. Buy tramadol. Buy cheap tramadol.

  132. Buy cheap oxycontin.

    Tracked from Buy cheap oxycontin. 2010/05/23 00:28 Delete

    Buy cheap oxycontin.

  133. Cheap fioricet.

    Tracked from Fioricet cheap. 2010/05/23 17:19 Delete

    Cheap fioricet and one day delivery. Fioricet cheap. Cheap fioricet.

  134. Lortab doctor.

    Tracked from Lortab. 2010/05/23 21:42 Delete

    Buying lortab. Lortab. Lortab without prescription. Buying lortab without a prescription. Lortab side effects.

  135. Buy adderall or dexadrine no prescription.

    Tracked from Where to buy adderall. 2010/05/24 10:24 Delete

    Buy adderall online without prescription.

  136. Easy way to buy hydrocodone online.

    Tracked from Buy hydrocodone online. 2010/05/24 11:34 Delete

    Buy hydrocodone with no rx. Buy hydrocodone online. Buy hydrocodone without a prescription.

  137. Animal sex.

    Tracked from Animal sex. 2010/05/24 18:47 Delete

    Animal sex.

  138. Buy vicodin without prescription.

    Tracked from Buy vicodin without script. 2010/05/24 20:40 Delete

    Buy vicodin without prescription. Buy vicodin online. Buy vicodin without a prescription. Buy vicodin without script. Buy vicodin.

  139. Buy adderall cheap.

    Tracked from Cheap adderall. 2010/05/24 20:48 Delete

    Adderall buy cheap. Buy adderall online cheap without prescription. Cheap adderall.

  140. Casino 1274705852

    Tracked from Casino 1274705852 2010/05/24 23:41 Delete

    Casino 1274705852

  141. Casino 1274706586

    Tracked from Casino 1274706586 2010/05/25 01:05 Delete

    Casino 1274706586

  142. Lortab elixir.

    Tracked from Lortab. 2010/05/25 02:27 Delete

    Buy lortab.

  143. Buy 30 mg adderall.

    Tracked from Buy wholesale adderall. 2010/05/25 08:57 Delete

    Buy adderall ord dexadrine no prescription. Buy adderall foreign. Buy adderall. Buy wholesale adderall. Buy 30 mg adderall. Buy adderall online. Buy adderall no prescription.

  144. Buy cheap adderall online.

    Tracked from Cheap adderall. 2010/05/25 11:50 Delete

    Buy cheap adderall online.

  145. Order fioricet no prescription 120 qty.

    Tracked from Fioricet no prescription. 2010/05/25 18:31 Delete

    Fioricet no online prescription. No prescription fioricet. Fioricet no prescription. Order fioricet no prescription. Fioricet fioricet no prescription. International pharmacies fioricet no prescription.

  146. Cheap tramadol.

    Tracked from Cheap tramadol. 2010/05/25 19:59 Delete

    Buy cheap tramadol online 35. Cheap tramadol. Cheap tramadol without prescription. Buy cheap tramadol.

  147. Buy lortab.

    Tracked from Buy lortab. 2010/05/25 22:02 Delete

    Buy lortab. Buy lortab outside of usa.

  148. Tramadol cheap no rx.

    Tracked from Tramadol cheap no rx free from india. 2010/05/26 06:03 Delete

    Cheap tramadol. Cheap tramadol cod buy cheap cod online tramadol. Cheap tramadol platinum rx. Cod tramadol overnight cheap. Tramadol cheap no rx.

  149. Fioricet cheap.

    Tracked from Fioricet cheap. 2010/05/26 09:40 Delete

    Fioricet cheap.

  150. Buy cheap adderall online.

    Tracked from Buy cheap adderall online. 2010/05/26 10:15 Delete

    Buy cheap adderall online. Buy adderall cheap.

  151. Buy fioricet bloghoster.

    Tracked from Buy fioricet online without a prescription. 2010/05/26 16:41 Delete

    Buy fioricet online that ships to missouri.

  152. Animal porn.

    Tracked from Animal porn. 2010/05/26 22:00 Delete

    Free animal porn. Animal sex dog fuck bestiality porn. Animal porn. Animal sex free porn. Animal porn videos. Free animal porn movie.

  153. Clonazepam drug.

    Tracked from Clonazepam overnight. 2010/05/26 22:16 Delete

    Clonazepam. Clonazepam anti anxiety.

  154. Oxycodone hcl.

    Tracked from Oxycodone extraction gel. 2010/05/27 09:03 Delete

    Oxycodone extraction. I s percaset oxycodone. What is oxycodone. Drug oxycodone. Sinemet oxycodone. Oxycodone.

  155. Percocet dependency.

    Tracked from Percocet withdrawal symptoms. 2010/05/27 16:48 Delete

    Potent lortab percocet darvon. Percocet withdrawal. Percocet. How do you snort percocet. Compare darvocet to percocet.

  156. Buy fioricet.

    Tracked from Buy fioricet online. 2010/05/27 18:56 Delete

    Buy fioricet.

  157. Hartford oxycontin attorneys.

    Tracked from What does oxycontin look like. 2010/05/28 14:02 Delete

    Oxycontin. Buy oxycontin. Oxycontin side effects.

  158. Vicodin.

    Tracked from Vicodin detox. 2010/05/28 17:17 Delete

    Vicodin with no membership fees. Vicodin. Order vicodin.

  159. Oxycontin side effects.

    Tracked from Oxycontin. 2010/05/29 01:52 Delete

    Generic oxycontin photo. Oxycontin purdue legal news. Oxycontin abuse. Connecticut oxycontin lawyers.

  160. Keflex.

    Tracked from Keflex. 2010/05/29 03:27 Delete

    Keflex pneumonia. Keflex.

  161. Buy cheap adderall online.

    Tracked from Buy cheap adderall online. 2010/05/29 12:30 Delete

    Buy cheap adderall online. Cheap adderall.

  162. Zolpidem eszopiclone indications.

    Tracked from Zolpidem and sleepwalking. 2010/05/29 13:02 Delete

    Cheap zolpidem persriptions. Cheap zolpidem. Zolpidem.

  163. Buy fioricet.

    Tracked from Buy fioricet. 2010/05/30 00:17 Delete

    Buy fioricet online. Buy fioricet. Buy fioricet rx at altairulit org.

  164. Buy cheap adderall online.

    Tracked from Buy cheap adderall online. 2010/05/30 00:41 Delete

    Buy cheap adderall online.

  165. Viagra side effects.

    Tracked from Generic viagra. 2010/05/30 04:08 Delete

    Viagra without a prescription. Viagra.

  166. Adderall.

    Tracked from Adderall. 2010/05/30 11:22 Delete

    Adderall abuse. Combining adderall strattera. Adderall overdose. How while on adderall xr. Adderall. Smoking adderall. Adderall in mexico.

  167. Percocet.

    Tracked from Percocet dependency. 2010/05/30 17:45 Delete

    Adrenaline levels after percocet. How do you snort percocet.

  168. Buy cheap adderall online.

    Tracked from Cheap adderall. 2010/05/30 20:29 Delete

    Buy cheap adderall online.

  169. Soma next day.

    Tracked from Soma. 2010/05/30 21:30 Delete

    Soma half ironman. Soma sen.

  170. Oxycodone.

    Tracked from Oxycodone addiction. 2010/05/31 03:38 Delete

    5mg oxycodone. Oxycodone addiction. Oxycodone w apap. Side effects of oxycodone. Oxycodone. Oxycodone vs oxycontin.

  171. Hydrocodone.

    Tracked from Hydrocodone. 2010/05/31 03:40 Delete

    Hydrocodone.

  172. ..

    Tracked from .. 2010/05/31 19:34 Delete

    ..

  173. Oxycontin.

    Tracked from Oxycontin. 2010/05/31 21:52 Delete

    Oxycontin addiction. Buy oxycontin. Buy oxycontin online. Oxycontin injury attorney columbus.

  174. ..

    Tracked from .. 2010/05/31 23:02 Delete

    ..

  175. Adderall no prescription.

    Tracked from No prescription for adderall online. 2010/06/01 03:06 Delete

    No prescription adderall. Buy generic adderall no prescription.

  176. Clonazepam.

    Tracked from Clonazepam. 2010/06/01 17:33 Delete

    Clonazepam. Clonazepam online consult. Clonazepam online. Clonazepam weight gain.

  177. What is tramadol.

    Tracked from Canine tramadol. 2010/06/02 20:32 Delete

    Cheap tramadol. Tramadol.

  178. Fioricet without a prescription.

    Tracked from Fioricet without prescription. 2010/06/03 04:45 Delete

    Fioricet without a prescription.

  179. Buy doxycycline prescription.

    Tracked from Buy doxycycline online. 2010/06/03 13:33 Delete

    Doxycycline buy. Buy doxycycline prescription.

  180. Buy soma online.

    Tracked from Buy soma. 2010/06/03 21:17 Delete

    Buy soma and tramadol. Buy soma. Buy soma online.

  181. North carolina department of agriculture.

    Tracked from Kentucky department of agriculture. 2010/06/04 03:56 Delete

    Department of agriculture. U s department of agriculture. U.s department of agriculture. Tennessee department of agriculture. Department of agriculture yearbooks 1870-1875. Department agriculture exempt tax texas. Department of agriculture and markets.

  182. Gay sex.

    Tracked from Gay sex. 2010/06/04 20:30 Delete

    Gay sex.

  183. National geographic.

    Tracked from National geographic kids. 2010/06/05 00:13 Delete

    National car rental. National anthem. National enquirer. National city bank. National geographic. National geographic channel.

  184. Buy carisoprodol best prices limited time offer.

    Tracked from Buy carisoprodol online lowest price guarantee. 2010/06/05 02:27 Delete

    Buy carisoprodol online lowest price guarantee. Buy carisoprodol best prices limited time offer. Buy carisoprodol. Carisoprodol buy cheap carisoprodol order online.

  185. Yara agriculture.

    Tracked from Yara agriculture. 2010/06/05 13:12 Delete

    Yara agriculture.

  186. Free animal sex tube.

    Tracked from Free animal sex tube. 2010/06/05 15:11 Delete

    Free animal sex tube.

  187. Generic viagra.

    Tracked from Viagra. 2010/06/05 16:35 Delete

    Viagra. Generic viagra. Free viagra. Buy viagra. Natural viagra alternatives. Discount viagra.

  188. Buy percocet online.

    Tracked from Buy percocet online without office visit. 2010/06/05 17:39 Delete

    Buy percocet online.

  189. Fioricet side effects message board.

    Tracked from Info on fioricet abuse. 2010/06/05 20:09 Delete

    Fioricet. Advanced book by fioricet guest powered.

  190. National weather service.

    Tracked from National science foundation. 2010/06/06 00:29 Delete

    National parks. National weather. National treasures. National grid. National rifle association. National sex offender registry.

  191. Xanax.

    Tracked from Buy xanax. 2010/06/06 00:39 Delete

    Xanax.

  192. Long term use of percocet.

    Tracked from Percocet. 2010/06/06 10:51 Delete

    Order percocet online. How long is percocet in your system. Percocet. Percocet effects.

  193. Buy adderall ord dexadrine no prescription.

    Tracked from Buy adderall online no prescription needed. 2010/06/06 11:31 Delete

    Adderall without prescription. Adderall without a prescription. Adderall no prescription. Adderall prescription. Buy adderall online without prescription. Buy adderall no prescription. No prescription adderall.

  194. Tadalafil.

    Tracked from Stamina rx tadalafil. 2010/06/06 11:38 Delete

    Tadalafil. Generic tadalafil us pharmacy. Tadalafil online.

  195. Department of agriculture.

    Tracked from Sustainable agriculture. 2010/06/06 11:49 Delete

    Arizona department of agriculture. Cuban agriculture foreign investment publications. Mississippi agriculture. Maya agriculture. Agriculture of mexico. Sustainable agriculture. Government programs in agriculture. Secretary of agriculture. Pictures show...

  196. Agriculture jobs.

    Tracked from Agriculture. 2010/06/06 13:11 Delete

    Iso and agriculture contributed papers. Agriculture in togo.

  197. Levitra lawyers.

    Tracked from Levitra. 2010/06/06 13:17 Delete

    Levitra affects sperm count. How does levitra compare to viagra. Which is more effective viagra cialas levitra. Which is better viagra cialis or levitra. Levitra.

  198. Vicodin no prescription.

    Tracked from Buy vicodin online next day delivery. 2010/06/06 15:13 Delete

    Darvocet vs vicodin. Where to order vicodin with no prescription. Vicodin. Vicodin consultation. Lorcet vicodin online.

  199. Xanax.

    Tracked from Xanax no prescription. 2010/06/06 19:03 Delete

    Xanax. Pictures of xanax pills.

  200. Ambien sleeping pill.

    Tracked from Ambien no prescription needed. 2010/06/08 19:52 Delete

    Buy ambien without a prescription. Ambien. Ambien cr. Buy ambien. Ambien next day delivery where.

  201. Effects phentermine.

    Tracked from Free phentermine. 2010/06/08 21:49 Delete

    Phentermine. Phentermine online purchase. Phentermine yellow. Cheap phentermine online. Phentermine review. Cheap phentermine diet pill.

  202. Buy diazepam.

    Tracked from Pharmacy buy diazepam. 2010/06/08 23:12 Delete

    Pharmacy buy diazepam. Buy diazepam news. Buy diazepam online doctor consultations. Buy diazepam juvenile. Buy diazepam.

  203. Side effects of valium.

    Tracked from Valium. 2010/06/09 01:21 Delete

    Valium side effects. Suicide valium. Valium drug information. Valium.

  204. Oxycodone addiction.

    Tracked from Oxycodone effects. 2010/06/09 03:23 Delete

    Oxycodone addiction. Syptoms of oxycodone dependency. Oxycodone. Order oxycodone.

  205. Clonazepam 4mg.

    Tracked from Clonazepam drug info. 2010/06/09 12:18 Delete

    Clonazepam drug info. Clonazepam. Medicare rx plans clonazepam. Clonazepam without rx. Buy clonazepam online no prescription.

  206. Buy adderall online cheap without prescription.

    Tracked from Buy adderall no prescription cheap. 2010/06/09 12:38 Delete

    Adderall no prescription cheap.

  207. Agriculture jobs.

    Tracked from Agriculture jobs wisconsin. 2010/06/09 12:57 Delete

    Jobs in agriculture on federal level. Agriculture jobs. Jobs in agriculture in south carolina. Jobs sc department of agriculture.

  208. Gis agriculture irrigation.

    Tracked from Gis agriculture irrigation. 2010/06/09 18:02 Delete

    Irrigation agriculture. Gis agriculture irrigation. Irrigation sprinklers agriculture.

  209. Buy soma watson brand online 150 tablets.

    Tracked from Buy soma watson brand 180 tablets. 2010/06/10 00:46 Delete

    Buy soma online. Http pills.viptemplates.com p buy soma.

  210. Buy fioricet.

    Tracked from Buy fioricet online that ships to missouri. 2010/06/10 01:47 Delete

    Buy fioricet.

  211. Vicodin.

    Tracked from Vicodin without prescription. 2010/06/10 02:23 Delete

    Effect of vicodin. Buy vicodin. Vicodin. Vicodin online no prescription.

  212. What medicine is clonazepam.

    Tracked from Clonazepam 0.5mg tab. 2010/06/10 03:28 Delete

    Clonazepam. Clonazepam use for anxiety. Clonazepam side effects. Buy clonazepam online.

  213. Buy tramadol index.

    Tracked from Buy super cheap phentermine and tramadol. 2010/06/10 03:41 Delete

    Buy tramadol.

  214. ..

    Tracked from .. 2010/06/10 04:38 Delete

    ..

  215. Buy adderall online no prescription needed.

    Tracked from No prescription adderall. 2010/06/10 12:47 Delete

    Buy adderall no prescription needed. Non prescription adderall. No prescription adderall. Buy generic adderall no prescription.

  216. Where can i get adderall prescription free.

    Tracked from Adderall without a prescription. 2010/06/10 15:47 Delete

    Purchase adderall without prescription. Adderall without prescription. Adderall no prescription.

  217. Buy lorazepam.

    Tracked from Buy lorazepam. 2010/06/10 20:06 Delete

    Buy lorazepam.

  218. Oxycontin.

    Tracked from Oxycontin. 2010/06/11 02:07 Delete

    Oxycontin.

  219. Buy hydrocodone online.

    Tracked from Hydrocodone buy online. 2010/06/11 04:38 Delete

    Buy hydrocodone without prescription. Buy hydrocodone online. Buy hydrocodone online without prescription. Buy hydrocodone online without a prescription. Drugs online cheap hydrocodone buy.

  220. Adderall without a prescription.

    Tracked from Adderall without prescription. 2010/06/11 20:20 Delete

    Purchase adderall without prescription. Adderall without prescription. Adderall without a prescription. Buy adderall online without prescription. No prescription adderall.

  221. Discount phentermine.

    Tracked from Phentermine. 2010/06/11 20:38 Delete

    Phentermine online. Phentermine free shipping.

  222. Order diazepam online buy cheap pharmacy.

    Tracked from Buy diazepam without prescription. 2010/06/12 10:06 Delete

    Buy diazepam without prescription. Diazepam buy. Buy diazepam international.

  223. Hydrocodone.

    Tracked from Hydrocodone online. 2010/06/12 11:36 Delete

    Hydrocodone. Hydrocodone homa methyl. Hydrocodone addiction. Hydrocodone 1923. Buy hydrocodone online without a prescription. Taking 2 hydrocodone a day and pregnant. Coming off of hydrocodone. Hydrocodone drugs.

  224. Levothyroxine.

    Tracked from Compare levothyroxine liotrix. 2010/06/12 12:56 Delete

    Levothyroxine weight loss. Levoxyl vs levothyroxine. Levothyroxine. Levothyroxine sodium 0.08mg for dogs. Menstrual irregularity with levothyroxine.

  225. Buy oxycodone.

    Tracked from Oxycodone. 2010/06/12 14:30 Delete

    Oxycodone morphine abuse. 512 mg of oxycodone. Is oxycodone or hydrocodone stronger. Oxycodone dosages. Oxycodone.

  226. Vicodin without prescription.

    Tracked from Vicodin. 2010/06/12 15:44 Delete

    Effects of taking vicodin. Vicodin. Signs of vicodin addictio.

  227. Ron andrews smoking fetish.

    Tracked from Health effects of smoking. 2010/06/12 16:32 Delete

    Smoking sides.

  228. Valium toxicity canine.

    Tracked from Generic valium no prescription. 2010/06/12 20:33 Delete

    Buy valium c.o.d.. Buy valium online without a prescription. Valium liquid form. Valium 10. Valium.

  229. Percocet.

    Tracked from Percocet addiction. 2010/06/12 20:51 Delete

    Percocet for sale. Percocet. Percocet addiction.

  230. Butalbital.

    Tracked from Butalbital. 2010/06/13 00:02 Delete

    Butalbital. Overseas pharmacy butalbital. Butalbital asa caff codeine 30mg cp.

  231. Percocet.

    Tracked from Percocet verses lortabs. 2010/06/13 06:16 Delete

    Buy percocet. Percocet. Effects of long term percocet use. Buy percocet online. Compare and contrast percocet and oxycodone apap. Long term percocet withdrawal symptoms.

  232. Buy carisoprodol.

    Tracked from Buy carisoprodol. 2010/06/13 09:11 Delete

    Buy carisoprodol. Brand buy fioricet name carisoprodol.

  233. Oxycodone.

    Tracked from Oxycodone. 2010/06/13 09:33 Delete

    Delirium elderly oxycodone. Acetaminophen oxycodone 500 5 cap. Oxycodone.

  234. Vicodin side effects.

    Tracked from Online vicodin. 2010/06/13 10:04 Delete

    Vicodin withdrawls. Buy vicodin. Vicodin. Dangers of vicodin. Vicodin without prescription. Next day delivery vicodin.

  235. Buy adderall online no prescription needed.

    Tracked from Buy adderall no prescription. 2010/06/13 12:43 Delete

    Buy adderall no prescription needed. Buy adderall no prescription. No prescription adderall.

  236. Ambien.

    Tracked from Ambien. 2010/06/13 12:56 Delete

    Ambien sleep medication.

  237. Carisoprodol.

    Tracked from Carisoprodol. 2010/06/13 14:02 Delete

    Buying carisoprodol. Carisoprodol phentermine yellow. Carisoprodol muscle relaxant order carisoprodol.

  238. Doxycycline dosage.

    Tracked from Doxycycline. 2010/06/13 15:12 Delete

    Doxycycline uses. Doxycycline eye bacteria. Doxycycline.

  239. Viagra without a prescription.

    Tracked from Viagra. 2010/06/13 19:04 Delete

    Generic viagra. Buy viagra online. Impulse female viagra. Purchase viagra.

  240. Order fioricet no prescription.

    Tracked from Fioricet order overnight no prescription. 2010/06/13 19:34 Delete

    No prescription fioricet. Fioricet no prescription. Fioricet order overnight no prescription.

  241. Vicodin.

    Tracked from Buy vicodin online. 2010/06/13 22:15 Delete

    Vicodin. How long does vicodin stay in body. Vicodin addiction.

  242. Ameristar casino.

    Tracked from Casino royale. 2010/06/14 02:39 Delete

    Red rock casino. Horseshoe casino. Casino royale. Casino rama. Casino games. South point casino. Casino royale trailer.

  243. Buy carisoprodol.

    Tracked from Buy carisoprodol online lowest price guarantee. 2010/06/14 04:23 Delete

    Buy carisoprodol. Buy carisoprodol online no prescription.

  244. Viagra.

    Tracked from Viagra. 2010/06/14 06:42 Delete

    Compare stay erect and viagra.

  245. Butalbital.

    Tracked from Melatonin scar butalbital. 2010/06/14 09:30 Delete

    Butalbital order. Butalbital antidepressants. Butalbital apap tbmik. Purchase butalbital from mexico. Butalbital. List all drugs that contain butalbital. Butalbital medical license.

  246. Cheap fioricet.

    Tracked from Fioricet perscriptions. 2010/06/14 10:04 Delete

    Fioricet watson. Fioricet lt main lt twiki. Fioricet. Fioricet free shipping. Fioricet without prescription. Cheapest fioricet.

  247. Prozac.

    Tracked from Prozac. 2010/06/14 11:00 Delete

    Prozac half life.

  248. Carisoprodol toxicity.

    Tracked from Carisoprodol. 2010/06/14 11:29 Delete

    Pharmacy online carisoprodol description price. Carisoprodol fedex. Carisoprodol hydrocodone. Carisoprodol toxicity. Carisoprodol patient information. Carisoprodol. Savegoodmoney com carisoprodol picture. Buying carisoprodol.

  249. Drugs detected on drug test hydrocodone.

    Tracked from Hydrocodone. 2010/06/14 12:12 Delete

    Hydrocodone. Norco hydrocodone. Morphine stronger than hydrocodone.

  250. Phentermine best price no prescription.

    Tracked from Buy no phentermine prescription. 2010/06/14 21:52 Delete

    Online consultation for prescription phentermine. Phentermine prescription online. Phentermine no prescription needed. Re phentermine cheap no prescription extra cheap. Phentermine no prescription outside us.

  251. Buy lorazepam online.

    Tracked from Buy lorazepam. 2010/06/14 23:31 Delete

    Buy lorazepam without prescription. Buy lorazepam.

  252. Lethal dose of valium for dogs.

    Tracked from Valium cash on delivery. 2010/06/15 00:18 Delete

    Valium prescription online. Valium. Valium liquid form.

  253. Dangers of vicodin.

    Tracked from Vicodin. 2010/06/15 00:26 Delete

    Purchase vicodin online. Vicodin. Vicodin drug information. Vicodin consultation. Vicodin withdrawal. Vicodin es.

  254. Buying ambien overnight in united states.

    Tracked from Buy ambien. 2010/06/15 01:33 Delete

    Buy ambien usa. Ambien ambien buy link. Buy ambien online. Buy ambien.

  255. Vicodin no script.

    Tracked from Vicodin. 2010/06/15 01:49 Delete

    Vicodin. Order vicodin. Vicodin addiction.

  256. Buy xanax.

    Tracked from Buy xanax. 2010/06/15 03:27 Delete

    Xanax online without prescription. Buy xanax. Cheap xanax. Xanax prescription. Buy xanax online.

  257. Buy viagra in canada.

    Tracked from Viagra studies women. 2010/06/15 07:09 Delete

    Free viagra. Generic viagra. Viagra price. Viagra stories. Viagra.

  258. Cheap fioricet and one day delivery.

    Tracked from Cheap fioricet. 2010/06/15 10:22 Delete

    Cheap fioricet and one day delivery. Fioricet cheap. Cheap fioricet.

  259. Buy lortab.

    Tracked from Buy lortab online. 2010/06/15 11:26 Delete

    Buy lortab. Where can i buy lortab online. Buy lortab in our online pharmacies. Buy lortab online.

  260. Vicodin addiction.

    Tracked from Vicodin withdrawal. 2010/06/15 13:07 Delete

    Vicodin es. Vicodin addiction.

  261. Adderall xr prescription.

    Tracked from Adderall without a prescription. 2010/06/15 13:14 Delete

    Buy adderall ord dexadrine no prescription. Buy adderall online no prescription needed. Adderall without a prescription. Adderall xr prescription. Adderall no prescription. No prescription adderall. Buy adderall no prescription.

  262. Cache creek casino.

    Tracked from Casino royal. 2010/06/15 19:30 Delete

    Casino royale soundtrack. Gila river casino. Rio hotel and casino. Slot machine www.casino-slot-machine.net. Mohegan sun casino.

  263. Ambien cr side effects.

    Tracked from Ambien. 2010/06/15 20:31 Delete

    Ambien without prescription. Ambien online. Cheapest ambien. Cheap ambien. Ambien.

  264. Buy ambien.

    Tracked from Ambien buy. 2010/06/15 21:38 Delete

    Buy ambien without a prescription. Buy ambien 12.5 mgm overnight mail md consultation. Where can i buy ambien for next day delivery. Ambien compare prices buy patent.

  265. Carisoprodol.

    Tracked from Carisoprodol phentermine yellow. 2010/06/16 00:14 Delete

    Carisoprodol phentermine yellow. Carisoprodol. Carisoprodol mg. Carisoprodol carisoprodol online.

  266. Cheap fioricet and one day delivery.

    Tracked from Fioricet cheap. 2010/06/16 00:14 Delete

    Fioricet cheap. Cheap fioricet.

  267. Business debt consolidation http.

    Tracked from Free debt help http. 2010/06/16 06:48 Delete

    Consolidate debt loan http. Free debt help http. Reducing credit card debt http. Business debt consolidation http. Reduce debt http.

  268. Tadalafil.

    Tracked from Buy tadalafil. 2010/06/16 08:01 Delete

    Tadalafil. Stamina rx tadalafil. Buy tadalafil 20mg.

  269. Xanax withdrawal.

    Tracked from Buy xanax online. 2010/06/16 09:05 Delete

    Side effects of xanax. Xanax class action. Buy xanax online. Purchashing xanax with mastercard.

  270. Adderall.

    Tracked from Snort adderall xr. 2010/06/16 10:23 Delete

    Adderall.

  271. Vicodin addiction.

    Tracked from Buy vicodin. 2010/06/16 14:50 Delete

    Vicodin. Vicodin no prescription. Vicodin es. Vicodin addiction.

  272. Animal sex.

    Tracked from Animal sex. 2010/06/16 16:07 Delete

    Animal sex.

  273. Cheap tadalafil.

    Tracked from Cheapest tadalafil. 2010/06/16 18:07 Delete

    Buy tadalafil. Tadalafil. Discount tadalafil. Mexican generic tadalafil. Buy tadalafil online. Tadalafil lowest price guarantee.

  274. Adderall buy cheap adderall buy cheap.

    Tracked from Buy adderall. 2010/06/16 20:42 Delete

    No prescription buy adderall.

  275. Story comparison viagra.

    Tracked from Viagra for women. 2010/06/17 02:07 Delete

    Viagra.

  276. Vicodin addiction.

    Tracked from Vicodin withdrawal. 2010/06/17 03:52 Delete

    Vicodin. Buying vicodin. Vicodin addiction.

  277. Efax http.

    Tracked from Acne body treatment http. 2010/06/17 06:54 Delete

    Credit debt help http. Make money selling on ebay http. Free debt help http. Make money at home http. Debt free living http. Reducing credit card debt http.

  278. Buy fioricet bloghoster.

    Tracked from Buy fioricet. 2010/06/17 08:52 Delete

    Buy fioricet bloghoster.

  279. Buy cheap lortab medication international 35381.

    Tracked from Safe place to buy lortab. 2010/06/17 09:15 Delete

    Buy lortab online with no prescription. Buy lortab online. Buy online lortab with no doctor.

  280. Phentermine.

    Tracked from No prescription phentermine. 2010/06/17 09:45 Delete

    Phentermine no prescription. Phentermine free shipping. Phentermine. Phentermine cheap no prescription. Phentermine prescription. Phentermine hcl.

  281. Cheap phentermine.

    Tracked from Cheap phentermine. 2010/06/17 10:17 Delete

    Buy cheap phentermine. Very cheap phentermine. Cheap phentermine diet pill. Cheap 37 5 phentermine. Cheap phentermine.

  282. Casino 1276715698

    Tracked from Casino 1276715698 2010/06/17 18:08 Delete

    Casino 1276715698

  283. Fioricet order overnight no prescription.

    Tracked from No prescription fioricet. 2010/06/17 19:39 Delete

    Fioricet no prescription. Order fioricet no prescription. Buying fioricet online with no prescription. Order fioricet no prescription 120 qty. Fioricet order overnight no prescription.

  284. Buy lortab without prescription.

    Tracked from Buy lortab. 2010/06/17 19:54 Delete

    Buying lortab without a prescription. Buy lortab online no prescription. Buy lortab online. Buy lortab.

  285. Buy diazepam in uk.

    Tracked from Buy diazepam zopiclone. 2010/06/17 20:02 Delete

    Buy diazepam.

  286. Casino 1276716173

    Tracked from Casino 1276716173 2010/06/17 20:23 Delete

    Casino 1276716173

  287. Hardcore sex with animals.

    Tracked from Men having sex with animals. 2010/06/17 21:17 Delete

    Gay's having sex with animals. Girls having sex with animals.

  288. Atlantis casino.

    Tracked from Rio hotel and casino. 2010/06/17 22:33 Delete

    Free casino games. Casino royale reviews. Casino royale photos. Casino royale.

  289. Teen sex.

    Tracked from Teen sex movies. 2010/06/18 03:46 Delete

    Teen sex.

  290. Tramadol.

    Tracked from Tramadol. 2010/06/18 07:12 Delete

    Tramadol shipped to florida. Tramadol side effects. Tramadol.

  291. Xanax.

    Tracked from Pharmacy order generic xanax. 2010/06/18 10:09 Delete

    Xanax bars. Xanax. Xanax with klonopin. Xanax 2 milligram.

  292. Animal sex.

    Tracked from Animal sex. 2010/06/18 10:29 Delete

    Animal sex.

  293. Purchase online phentermine 37.5mg no prescription.

    Tracked from Buy phentermine online no prescription. 2010/06/18 11:04 Delete

    Phentermine prescription online. Phentermine prescription. Phentermine no prescription. Top ten sites for prescription phentermine. Buy phentermine no prescription.

  294. Vicodin.

    Tracked from Signs of vicodin addictio. 2010/06/18 11:08 Delete

    Drug vicodin. Vicodin and hydroxyzine. Vicodin no prescription. Vicodin without prescription. Vicodin es. Is it safe to snort vicodin. Vicodin no rx.

  295. Buy oxycontin without prior prescription.

    Tracked from Buy oxycontin online. 2010/06/18 11:11 Delete

    Buy oxycontin. Buy oxycontin without membership. Buy oxycontin online. Buy cheap oxycontin.

  296. Viagra.

    Tracked from Re viagra cello. 2010/06/18 12:08 Delete

    Viagra samples. Viagra message board. Discount viagra. Viagra on line. Viagra.

  297. Tylenol with codeine.

    Tracked from Codeine. 2010/06/18 15:16 Delete

    Codeine. Buy codeine online without a prescription.

  298. How much weight can i lose with meridia.

    Tracked from Pillinc buy phentermine adipex meridia online. 2010/06/19 00:25 Delete

    Buy meridia buy cheap meridia online. Cheap meridia no prescription. Prescription weight loss medications - meridia. Meridia. Regular pharmacy price for meridia. Meridia drug.

  299. Buy vicodin now.

    Tracked from Buy vicodin online without. 2010/06/19 01:21 Delete

    Buy vicodin now. Buy vicodin without prescription. Buy vicodin online. Buy vicodin without script. Buy vicodin.

  300. Asian teen sex.

    Tracked from Teen anal sex. 2010/06/19 01:46 Delete

    Gay teen sex. Free teen sex video. Free young teen sex. Gay teen boy sex. Clips of teen sex. Adult teen sex.

  301. Cheap phentermine.

    Tracked from Phentermine prozac. 2010/06/19 01:51 Delete

    Phentermine weight loss.

  302. Vicodin.

    Tracked from Vicodin statistics. 2010/06/19 02:08 Delete

    Vicodin. How long does vicodin stay in body.

  303. Liquid vicodin.

    Tracked from Snort a vicodin. 2010/06/19 03:20 Delete

    Vicodin. Vicodin detox. No prescription needed vicodin.

  304. Eliminate debt http.

    Tracked from Unsecured debt consolidation http. 2010/06/19 07:23 Delete

    Reduce debt http. Debt elimination wealth building software. Credit debt consolidation http. Debt free. Debt consolidation loans. Consumer debt http.

  305. Ambien.

    Tracked from Ambien. 2010/06/19 10:23 Delete

    Ambien cr. Ambien dosage.

  306. Cheap phentermine cod.

    Tracked from Cheap phentermine online. 2010/06/19 11:52 Delete

    Cheap phentermine. Guaranteed lowest price cheap phentermine online. Phentermine cheap. Buy phentermine order cheap online.

  307. Vicodin.

    Tracked from Vicodin. 2010/06/19 11:59 Delete

    Vicodin. Vicodin no prior prescription. Buy vicodin.

  308. Buy phentermine.

    Tracked from Phentermine no prescription. 2010/06/19 13:18 Delete

    Phentermine obesity. Phentermine. Phentermine without prescription. Order phentermine. Herbal phentermine. Online phentermine.

  309. Casino royale.

    Tracked from Chumash casino. 2010/06/19 13:46 Delete

    Casino. Casino royale movie. Harrahs casino. Casino royale james bond.

  310. Vegas casino http.

    Tracked from Casino betting. 2010/06/19 18:38 Delete

    Casino games. Best casino http. Golden casino reviews http. Casino guide http. Online casino sportsbooks. Casino revenue http. Online casino http. Free casino http.

  311. Prozac drug interactions.

    Tracked from Online pharmacy free shipping prozac. 2010/06/19 23:45 Delete

    Prozac. How long will side effects last on prozac. Prozac side effects.

  312. Cheap tramadol without prescription.

    Tracked from Cheap tramadol. 2010/06/20 03:15 Delete

    Cheap tramadol. Buy cheap tramadol.

  313. Animal sex.

    Tracked from Animal sex. 2010/06/20 04:43 Delete

    Animal sex.

  314. Vicodin.

    Tracked from Buy vicodin. 2010/06/20 06:25 Delete

    Vicodin. Vicodin without a prescription.

  315. Viagra england.

    Tracked from Viagra. 2010/06/20 10:04 Delete

    Viagra. Taking viagra with cialis. Viagra without a prescription.

  316. Cheap tramadol.

    Tracked from Buy cheap tramadol online 35. 2010/06/20 11:13 Delete

    Cheap tramadol. Cheap tramadol buy tramadol online. Cheap tramadol without prescription.

  317. Buying cod vicodin.

    Tracked from Abuse of vicodin. 2010/06/20 11:48 Delete

    Vicodin user message board. Vicodin and hydroxyzine. Vicodin. What does vicodin look like. Dangers of vicodin.

  318. Vicodin no rx.

    Tracked from Vicodin statistics. 2010/06/20 12:45 Delete

    Buy vicodin. Vicodin for the soul. Vicodin. How long does vicodin withdrawal last. Buy vicodin no prescription. Quiting vicodin information.

  319. Animal sex.

    Tracked from Animal sex mating. 2010/06/20 13:18 Delete

    Animal sex movies. Sex with animal. Animal sex girls. Animal sex stories. Animal sex free. Farm animal sex. Animal sex. Free animal sex movies.

  320. Buy xanax.

    Tracked from Buy xanax. 2010/06/20 15:26 Delete

    Buy xanax. Buy xanax online without a prescription. Prices great buy xanax.

  321. Clonazepam and anxiety.

    Tracked from Clonazepam. 2010/06/20 22:42 Delete

    What is clonazepam used for. Clonazepam. Clonazepam overnight.

  322. Animal sex pics.

    Tracked from Animal sex. 2010/06/21 01:52 Delete

    Free animal sex pictures. Free animal sex. Animal sex stories. Animal sex clips animal. Free animal sex pics.

  323. Buy tramadol the lowest prices chtiblog com.

    Tracked from Buy online cheap and fast tramadol. 2010/06/21 01:53 Delete

    Activado agcode buy tramadol icqwebmail info. Buy tramadol.

  324. Sex with animals.

    Tracked from Sex with animals. 2010/06/21 03:28 Delete

    Sex with animals.

  325. Tramadol.

    Tracked from Snorting tramadol. 2010/06/21 07:02 Delete

    Tramadol.

  326. Buy vicodin without script.

    Tracked from Vicodin with no membership fees. 2010/06/21 08:02 Delete

    Vicodin. Vicodin withdrawal. Vicodin detox. Mexican vicodin.

  327. Handjob contests.

    Tracked from Amateur handjob clips. 2010/06/21 08:30 Delete

    Handjob. Handjob clips. Masseuse handjob video. Amateur handjob clips.

  328. Search results buy xanax online.

    Tracked from Buy xanax online. 2010/06/21 09:12 Delete

    Buy xanax.

  329. Adderall purchase without prescription.

    Tracked from How while on adderall xr. 2010/06/21 10:16 Delete

    Adderall. Buy adderall or dexadrine no prescription.

  330. Buy oxycodone without prescription.

    Tracked from Buy oxycodone without prescription. 2010/06/21 11:20 Delete

    Buy oxycodone.

  331. Vicodin online.

    Tracked from Buy vicodin without script. 2010/06/21 18:24 Delete

    Affects of vicodin. Vicodin. Next day delivery vicodin. Vicodin at overseas pharmacies. Long term vicodin use.

  332. Vicodin addiction.

    Tracked from Buy vicodin. 2010/06/21 19:16 Delete

    Vicodin. Vicodin online.

  333. Adderall prescription.

    Tracked from Buy adderall without a prescription. 2010/06/21 19:24 Delete

    Order didrex adderall no prescription cod. Buy adderall without a prescription. Adderall no prescription order. Adderall without a prescription. Order adderall no prescription cod. Adderall no prescription.

  334. Buy lortab.

    Tracked from Buy lortab in our online pharmacies. 2010/06/21 20:29 Delete

    Buy lortab. Lortab buy online. Buy lortab in our online pharmacies. Where can i buy lortab online no prescription.

  335. Cheap phentermine.

    Tracked from Phentermine cheap. 2010/06/21 21:01 Delete

    Cheap phentermine. Cheap phentermine no prescription. Phentermine cheap. Cheap phentermine online 37 5.

  336. Actor killed by russian roulette.

    Tracked from Betting strategies in roulette. 2010/06/22 07:27 Delete

    Roulette systems www.zumma.com. Russian roulette game.

  337. Viagra prescription.

    Tracked from Viagra. 2010/06/22 09:02 Delete

    Buy viagra. Buy cheap viagra. Viagra.

  338. Vicodin.

    Tracked from Vicodin. 2010/06/22 09:09 Delete

    Vicodin. Vicodin online. Vicodin addiction. Online vicodin. Parent information for vicodin abusing teen.

  339. Phentermine hcl.

    Tracked from Buy cheap phentermine. 2010/06/22 09:30 Delete

    Phentermine no prescription. Phentermine. Phentermine cheap no prescription. Buy phentermine.

  340. Lorazepam side effects.

    Tracked from Lorazepam 1mg. 2010/06/22 09:38 Delete

    Lorazepam side effects. Lorazepam.

  341. Oxycontin cheap.

    Tracked from Cheapest price for oxycontin online. 2010/06/22 10:12 Delete

    Cheap link oxycontin. Cheap oxycontin on line. Buy oxycontin cheap. Cheap oxycontin with online prescription. Oxycontin cheap.

  342. Internet casino http.

    Tracked from Casino games. 2010/06/23 00:13 Delete

    Casino sites http. Japanese casino http. Online casino wagering.

  343. Vicodin.

    Tracked from Vicodin without prescription. 2010/06/23 00:38 Delete

    Vicodin online no prescription. Cheap vicodin. Vicodin. Buy vicodin online.

  344. Tadalafil.

    Tracked from Tadalafil lowest price guarantee. 2010/06/23 00:41 Delete

    Cialis tadalafil. Tadalafil. Tadalafil generic. Tadalafil sale. Cheapest tadalafil.

  345. Buy cheap oxycontin.

    Tracked from Buy cheap oxycontin. 2010/06/23 04:09 Delete

    Cheap oxycontin. Buy cheap oxycontin.

  346. Valium.

    Tracked from Valium no prescription. 2010/06/23 07:05 Delete

    Valium side effects. Valium without prescription. Buy valium c.o.d.. Order valium online. Zithromax with valium interaction. Valium dosage. Valium.

  347. Phentermine cheap no prescription.

    Tracked from Cheapest phentermine online. 2010/06/23 08:32 Delete

    Buy cheap phentermine. Phentermine cheap no prescription. Cheap phentermine.

  348. Vicodin.

    Tracked from Vicodin addiction. 2010/06/23 08:48 Delete

    Vicodin. Symptoms vicodin addiction. Re your vicodin refill is ready. Vicodin detox. Darvocet vs vicodin.

  349. Vicodin detox.

    Tracked from Lorcet vicodin online. 2010/06/23 09:07 Delete

    Liquid vicodin. What is vicodin. Where to order vicodin with no prescription. Vicodin.

  350. Buy cheap lortab medication international inurl.

    Tracked from Buy lortab. 2010/06/23 09:14 Delete

    Buy cheap lortab medication international 35381. Buy lortab without prescription. Buy lortab online no prescription. Buy lortab online. Buy lortab.

  351. Vicodin.

    Tracked from Order vicodin es generic. 2010/06/23 09:44 Delete

    Vicodin. Effect of vicodin. Cheap vicodin cod. No prescription needed vicodin. Pharmacy online no prescription vicodin.

  352. Animal sex.

    Tracked from Animal sex. 2010/06/23 09:54 Delete

    Animal sex.

  353. Discount phentermine.

    Tracked from Cheap phentermine online. 2010/06/23 19:11 Delete

    Phentermine obesity. Phentermine. Order phentermine online. Phentermine weight loss pill. Buy phentermine mg. Free phentermine. Order phentermine phentermine online.

  354. Vicodin side effects.

    Tracked from Effects of vicodin. 2010/06/23 20:00 Delete

    Darvocet vs vicodin. Vicodin. Vicodin side effects. Dangers of vicodin. Buy vicodin.

  355. India viagra.

    Tracked from Women s viagra. 2010/06/23 20:07 Delete

    Viagra attorneys. Herbal viagra. India viagra. Viagra.

  356. Buy carisoprodol diazepam link.

    Tracked from Buy carisoprodol. 2010/06/23 20:14 Delete

    Buy carisoprodol. Carisoprodol buy cheap carisoprodol online index. Buy carisoprodol international pharmacy.

  357. Cheap adderall.

    Tracked from Cheap adderall. 2010/06/23 20:52 Delete

    Buy adderall online cheap without prescription. Cheap adderall.

  358. Valium online discount valium buy valium.

    Tracked from Valium and morphine buy uk. 2010/06/23 21:15 Delete

    Buy valium c.o.d.. Buy valium. Buy valium online without a prescription. Buy valium online wholesale prices save up to no. Buy valium without prescription.

  359. Female viagra.

    Tracked from Pictures of viagra. 2010/06/24 07:04 Delete

    Generic viagra american express. Viagra canada. Viagra buy. Viagra patent. Viagra.

  360. Easy way to buy hydrocodone online.

    Tracked from Easy way to buy hydrocodone online. 2010/06/24 08:05 Delete

    Easy way to buy hydrocodone online. Buy hydrocodone online. Buy hydrocodone online discount cheap pharmacy.

  361. James bond casino royal.

    Tracked from New york new york casino. 2010/06/24 09:19 Delete

    Foxwoods casino. Hollywood casino. Casino royale. Seminole hard rock casino. Mohegan sun casino. Cherokee casino.

  362. Buy xanax.

    Tracked from Buy xanax no prescription. 2010/06/24 09:29 Delete

    Buy xanax. Buy cheap xanax.

  363. Vicodin.

    Tracked from Purchase vicodin. 2010/06/24 13:18 Delete

    Vicodin. How to make vicodin. Vicodin with no membership fees. Buy vicodin without script.

  364. Buy tramadol online cod.

    Tracked from Buy tramadol the lowest prices chtiblog com. 2010/06/24 17:08 Delete

    Buy tramadol.

  365. Buy cheap adderall online.

    Tracked from Buy adderall cheap. 2010/06/24 19:06 Delete

    Buy cheap adderall online.

  366. Vicodin.

    Tracked from Vicodin no rx. 2010/06/24 21:18 Delete

    Vicodin hp. Vicodin. Vicodin without prescription. Vicodin without a prescription. Vicodin overdose.

  367. Mother daughter incest.

    Tracked from Incest erotic stories. 2010/06/24 21:29 Delete

    Sister incest. Incest free. Gay incest. Free incest picture.

  368. Fioricet.

    Tracked from Fioricet overnight. 2010/06/25 17:11 Delete

    Fioricet. Fioricet overnight.

  369. Levothyroxine 5 75 mg.

    Tracked from Levothyroxine soy. 2010/06/25 18:09 Delete

    Levothyroxine excessive hunger. Levothyroxine.

  370. Vicodin.

    Tracked from Vicodin no prescription. 2010/06/25 19:42 Delete

    Cheap vicodin. Vicodin.

  371. Buy xanax and ambien onlie.

    Tracked from Buy ambien overnight. 2010/06/25 20:13 Delete

    Buy generic ambien online.

  372. Buy ambien without a prescription.

    Tracked from Buy ambien. 2010/06/25 21:43 Delete

    Buy ambien without a prescription. Ambien compare prices buy patent. Buy ambien without prescription.

  373. Discount phentermine.

    Tracked from Adipex phentermine vs. 2010/06/25 22:00 Delete

    Phentermine no prescription. Phentermine online. Phentermine. Phentermine for sale.

  374. Viagra.

    Tracked from Buying viagra online. 2010/06/25 23:55 Delete

    Viagra.

  375. Ultram abuse.

    Tracked from Ultram. 2010/06/26 00:28 Delete

    Ultram.

  376. Viagra.

    Tracked from Buy viagra. 2010/06/26 09:31 Delete

    Order viagra. Free viagra. Viagra lawyers. Taking viagra with cialis. Is viagra soft tabs better. Buy low price viagra. Try viagra for free. Viagra.

  377. Vicodin.

    Tracked from Vicodin without prescription. 2010/06/26 12:35 Delete

    Addiction vicodin.

  378. Phentermine cheap.

    Tracked from Phentermine. 2010/06/26 12:41 Delete

    Online phentermine. Buy phentermine.

  379. Lorazepam without prescription.

    Tracked from Side effects of lorazepam. 2010/06/26 14:22 Delete

    Lorazepam no prescription. Ic lorazepam buspar.

  380. Sell ephedrine.

    Tracked from What do you make ephedrine out of. 2010/06/26 14:56 Delete

    Ephedrine. Sell ephedrine. Changes ephedrine causes in the body. Biotek ephedrine. Difference between pseudoephedrine ephedrine.

  381. Petechiae and levothyroxine.

    Tracked from .175 dosage of levothyroxine. 2010/06/27 01:13 Delete

    Clonazepam levothyroxine interaction. Purchase levothyroxine. Cost of levothyroxine for dogs. Kelp to replace levothyroxine. Petechiae and levothyroxine. Discount pet levothyroxine. Generic levothyroxine.

  382. No script amoxicillin.

    Tracked from Side affects of amoxicillin in dogs. 2010/06/27 01:37 Delete

    Expired amoxicillin. What is amoxicillin.

  383. Prozac side effects night sweats.

    Tracked from Prozac withdrawl. 2010/06/27 02:15 Delete

    Prozac hives.

  384. Animal sex videos.

    Tracked from Gay animal sex. 2010/06/27 02:21 Delete

    Animal sex movies. Animal sex with human. Animal sex video. Animal sex free. Animal sex clips.

  385. Hairy cunt.

    Tracked from Little sister s cunt. 2010/06/27 04:00 Delete

    Cunt. Cunt licking. Cunt fuck. Woman cunt. Young wet cunt.

  386. Vicodin.

    Tracked from Vicodin addiction. 2010/06/27 04:29 Delete

    Effect of vicodin. Vicodin withdrawl. Generic vicodin.

  387. Story comparison viagra.

    Tracked from Viagra uk. 2010/06/27 06:54 Delete

    Taking viagra with cialis. Generic viagra mastercard. Buy viagra online. Viagra attorneys. Buy viagra. Free sample viagra. Viagra for order lamisil viagra. Viagra.

  388. Ambien sleeping pill.

    Tracked from How to stop taking ambien. 2010/06/27 11:45 Delete

    Is there a good sleeping beside ambien 10 mg. Ambien on line. Ambien overnight. Ambien next day delivery where us. Ambien side effects.

  389. Buy vicodin online.

    Tracked from Buy vicodin. 2010/06/27 12:00 Delete

    Buy vicodin online. Buy vicodin. Buy vicodin legally.

  390. Britney spears cunt shots.

    Tracked from Cunt licking. 2010/06/28 15:18 Delete

    Tight cunt. Retro cunt. Cunt. Virgin cunt.

  391. Poker sites.

    Tracked from World series of poker. 2010/06/28 15:32 Delete

    Strip poker. Online poker tracker.

  392. Buy c heap phentermine online.

    Tracked from Buy phentermine. 2010/06/28 17:14 Delete

    Buy cheap phentermine onli ne. Mg buy phentermine. Buy phentermine order cheap online.

  393. Phentermine.

    Tracked from Phentermine. 2010/06/28 17:42 Delete

    Phentermine price. Cheap 37 5 phentermine. Phentermine. Phentermine no prescription. Phentermine pregnancy. Drug phentermine.

  394. Carisoprodol.

    Tracked from Carisoprodol. 2010/06/28 17:46 Delete

    What is carisoprodol 350mg. Carisoprodol phentermine yellow all on one site. Carisoprodol. Carisoprodol buy cheap carisoprodol order online.

  395. Free online casino games.

    Tracked from Online casino. 2010/06/28 18:04 Delete

    New record for online casino win. No deposit online casino. Free casino games online. Online casino. Juego en red gratis gt online casino.

  396. Buy cheap oxycontin.

    Tracked from Buy cheap oxycontin. 2010/06/30 01:49 Delete

    Cheap oxycontin. Buy cheap oxycontin.

  397. Drug vicodin.

    Tracked from Vicodin without a prescription. 2010/06/30 01:51 Delete

    Buy vicodin. Vicodin hp.

  398. Www.weird skin sensations from rx ativan.

    Tracked from Ativan use in seizure treatment. 2010/06/30 03:18 Delete

    Ativan withdrawal addiction. Order ativan with online consultation. Where do you put ativan gel. Ativan without prescription.

  399. Buy liquid lortab.

    Tracked from Buy lortab. 2010/06/30 03:57 Delete

    Buy lortab online.

  400. Cunt.

    Tracked from Cunt movies. 2010/06/30 05:59 Delete

    Spread wide cunt gallery. Rate my cunt. Britneys cunt shot. Young cunt.

  401. Fioricet.

    Tracked from Fioricet plai pill. 2010/06/30 08:52 Delete

    Fioricet drug test. Fioricet. How long does fioricet show up in blood work. Cheapest fioricet.

  402. Buy doxycycline.

    Tracked from Buy doxycycline prescription. 2010/06/30 10:14 Delete

    Doxycycline buy online. Buy doxycycline online.

  403. Zoo sex.

    Tracked from Zoo sex. 2010/06/30 10:17 Delete

    Zoo sex.

  404. Buy adderall without a prescription.

    Tracked from Buy adderall without a prescription. 2010/06/30 15:36 Delete

    Buy adderall online no prescription. Adderall no prescription. Buy adderall no prescription.

  405. Mexican pharmacy adderall no prescription needed.

    Tracked from No prescription adderall. 2010/06/30 19:08 Delete

    Adderall without prescription. Adderall without a prescription. Adderall prescription. Adderall overnight no prescription. Adderall xr no prescription.

  406. Buy xanax without prescription in usa.

    Tracked from Xanax withdrawals. 2010/06/30 19:42 Delete

    Buy xanax. Buy xanax without prescription. Xanax no prescription.

  407. Buy adderall online no prescription needed.

    Tracked from Buy adderall without a prescription. 2010/07/01 01:44 Delete

    Purchase adderall without prescription. Adderall without a prescription. Adderall no prescription. Adderall purchase without prescription. Buy adderall no prescription. No prescription adderall.

  408. Percocet dangers of abuse.

    Tracked from Percocet. 2010/07/01 06:05 Delete

    Percocet. Long term percocet withdrawal symptoms.

  409. Vicodin side effects.

    Tracked from Vicodin. 2010/07/01 06:37 Delete

    Vicodin detox.

  410. Amoxicillin rebate.

    Tracked from Amoxicillin. 2010/07/01 11:17 Delete

    Amoxicillin rx655 syphilis. Amoxicillin and drowsiness. Amoxicillin rx655. Amoxicillin. Amoxicillin expiry. Amoxicillin anti-inflammatory. Amoxicillin drug interactions.

  411. Buy ambien cr.

    Tracked from Buy ambien. 2010/07/01 11:25 Delete

    Ambien mexico. Buy ambien.

  412. Buy azithromycin doxycycline.

    Tracked from Buy azithromycin doxycycline. 2010/07/01 11:25 Delete

    Buy azithromycin doxycycline.

  413. Buy ambien online.

    Tracked from Buy ambien online. 2010/07/01 11:33 Delete

    Buy ambien without a prescription. Buy ambien online pharmacy online. Ambien buy the offical site. Buy ambien.

  414. Buy vicodin.

    Tracked from Vicodin without prescription. 2010/07/01 18:23 Delete

    Effects of vicodin. Vicodin. Vicodin no prescription. Vicodin without prescription. Buy vicodin without a prescription. Vicodin es. Buying vicodin. Vicodin addiction.

  415. Ambien.

    Tracked from Ambien. 2010/07/01 18:50 Delete

    Ambien cr. Ambien.

  416. Buy cheap adderall online.

    Tracked from Buy cheap adderall online. 2010/07/01 21:06 Delete

    Buy cheap adderall online. Buy adderall cheap. Cheap adderall.

  417. Can you buy xanax without a prescription.

    Tracked from Geniric xanax. 2010/07/01 21:46 Delete

    Generic xanax. Xanax during pregnancy. Buy xanax online. Purchashing xanax with mastercard.

  418. Buy butalbital.

    Tracked from Buy butalbital. 2010/07/01 21:55 Delete

    Buy butalbital.

  419. gun climatic

    Tracked from gun climatic 2010/07/02 00:23 Delete

    address environmental 2001 induce

  420. Xanax.

    Tracked from Xanax side effects. 2010/07/02 08:40 Delete

    Xanax online. Xanax. Xanax withdrawal symptom. Xanax side effects.

  421. Oxycodone.

    Tracked from Oxycodone. 2010/07/02 09:05 Delete

    30mg oxycodone ir blue scored tablet 2. Oxycodone m357. Oxycodone er. Oxycodone urine. Oxycodone insomnia adverse effects sponsored. Oxycodone. Oxycodone breastfeeding. Apap with oxycodone.

  422. Buy cheap oxycontin.

    Tracked from Buy cheap oxycontin. 2010/07/02 10:33 Delete

    Cheap oxycontin. Buy cheap oxycontin.

  423. Codeine side effects.

    Tracked from Side effects of codeine. 2010/07/02 11:19 Delete

    Codeine daily dose. Codeine. Tylenol with codeine. Codeine cold water extraction. Fiorinal with codeine no prescription.

  424. Buy hydrocodone vicodin lortab tramadol online.

    Tracked from Buy cheap lortab medication international 35381. 2010/07/02 11:44 Delete

    Buy cheap lortab medication international 35381. Buy lortab. Buy legal non prescription lortab. Buy lortab where.

  425. Buy doxycycline.

    Tracked from Buy azithromycin doxycycline. 2010/07/02 15:39 Delete

    Buy doxycycline. Buy azithromycin doxycycline.

  426. How do i get off percocet.

    Tracked from Percocet. 2010/07/02 18:21 Delete

    Percocet withdrawal. Percocet. Mixing tylenol 3 and percocet. Generic percocet. Gereric names for percocet 5 325.

  427. Buy adderall without a prescription.

    Tracked from Adderall xr side effects. 2010/07/03 07:54 Delete

    Adderall without a prescription.

  428. Cialis best price buy online.

    Tracked from Buy cialis. 2010/07/03 07:59 Delete

    Cialis positive side. Cialis lawyers. Liquid cialis. Cialis.

  429. Buy cialis online.

    Tracked from Cialis. 2010/07/03 22:14 Delete

    Cialis drug. Cialis.

  430. Xanax.

    Tracked from Buy xanax. 2010/07/04 06:35 Delete

    Xanax withdrawal. Buy xanax online. Xanax online without prescription. Pharmacy order generic xanax. Xanax. Xanax online.

  431. Animal sex.

    Tracked from Animal sex. 2010/07/04 06:48 Delete

    Animal sex.

  432. Cialis forum.

    Tracked from Cialis no prescription. 2010/07/04 17:22 Delete

    Cialis forum. Cialis. Cialis injury lawyer ohio.

  433. Side effects of adderall xr.

    Tracked from Buy adderall online. 2010/07/05 06:46 Delete

    Snorting adderall. Kidney pain and adderall. Adderall abuse. Adderall. Pharmacy price for adderall xr 20mg 30 capsules. Adderall addiction. Pictures of adderall xr.

  434. Percocet picture.

    Tracked from Percocet. 2010/07/05 17:09 Delete

    Is darvocet stronger than percocet. Buy percocet online no prescription. Percocet. Percocet dangers of abuse. Percocet side effects.

  435. Xanax.

    Tracked from Buy xanax online. 2010/07/06 07:25 Delete

    Xanax overnight. Can you buy xanax without a prescription. Xanax. Xanax online. No prescription xanax. Xanax side effects.

  436. Oxycodone.

    Tracked from Oxycodone and breastmilk. 2010/07/07 16:23 Delete

    Online pharmacy oxycodone. Oxycodone with apap. Oxycodone.

  437. Ultram.

    Tracked from Ultram 20 mg. 2010/07/07 19:06 Delete

    Ultram.

  438. Zoloft common side effects.

    Tracked from Zoloft and weight gain. 2010/07/08 08:15 Delete

    Long term affect with zoloft. Zoloft. Zoloft litigation.

  439. Diazepam with mastercard.

    Tracked from Diazepam. 2010/07/08 08:36 Delete

    Diazepam drug. Diazepam effects patient information. Duration of diazepam. Diazepam to lorazepam conversion. Diazepam with mastercard. Diazepam no prescription. Diazepam synthesis.

  440. Phentermine.

    Tracked from Phentermine. 2010/07/08 19:50 Delete

    Phentermine 37 5mg. Phentermine 37.5. Phentermine florida.

  441. His first anal sex.

    Tracked from Anal sex. 2010/07/09 06:45 Delete

    Anal sex. Free anal sex videos.

  442. Anal sex.

    Tracked from Anal sex. 2010/07/09 09:05 Delete

    Anal sex.

  443. Oxycodone urine.

    Tracked from Oxycodone insomnia adverse effects sponsored. 2010/07/09 18:29 Delete

    Oxycodone.

  444. Buy adipex best prices on the net.

    Tracked from Is phentermine the same as adipex. 2010/07/09 18:37 Delete

    Adipex online. Adipex phentermine vs. Adipex for sale. Adipex without a prescription. Adipex diet pills. Phentermine adipex blog.

  445. Vicodin withdrawal.

    Tracked from Darvocet vs vicodin. 2010/07/09 19:14 Delete

    Vicodin. Vicodin withdrawl. Vicodin detox.

  446. Carisoprodol.

    Tracked from Carisoprodol. 2010/07/10 06:29 Delete

    Carisoprodol side effects. Carisoprodol phentermine yellow. Carisoprodol.

  447. How to remove pseudo ephedrine.

    Tracked from Ephedrine faq. 2010/07/10 10:35 Delete

    Ephedrine in salt licks and chicken feed. Changes ephedrine causes in the body. Mini thin ephedrine. Ephedrine. Vasopro ephedrine. Ephedrine products for asthma.

  448. Half life of hydrocodone in fetus.

    Tracked from Hydrocodone. 2010/07/10 12:39 Delete

    Hydrocodone apap 5 500. Hydrocodone homa methyl. Hydrocodone. Hydrocodone drug testing. How to ween off hydrocodone while pregnant.

  449. Vicodin m357.

    Tracked from Vicodin. 2010/07/10 17:56 Delete

    Vicodin abuse. Vicodin. Liquid form of vicodin. Buy vicodin without script. Vicodin withdrawal.

  450. Percocet.

    Tracked from How long is percocet in your system. 2010/07/10 18:53 Delete

    Can you snort percocet. Percocet withdrawal symptoms. Long term use of percocet. Long term percocet withdrawal symptoms. Drug test percocet. Percocet vs. lortabs. Difference in darvocet and percocet.

  451. Cialis 20mg.

    Tracked from Liquid cialis. 2010/07/10 23:06 Delete

    Cialis in las vegas. Cialis vs viagra. Cialis. Viagra cialis.

  452. No prescription vicodin.

    Tracked from Vicodin detox. 2010/07/11 06:36 Delete

    Vicodin detox. Quiting vicodin information.

  453. Percocet.

    Tracked from Percocet. 2010/07/11 09:39 Delete

    Percocet 10mg side effects. Percocet.

  454. Generic viagra.

    Tracked from Viagra side effects. 2010/07/11 21:36 Delete

    Viagra. Cheap viagra. Re viagra cello.

  455. 1800s 1800s world

    Tracked from 1800s 1800s world 2010/07/11 22:04 Delete

    china tar air

  456. Farm animal sex farm.

    Tracked from Animal sex pics. 2010/07/12 03:25 Delete

    Gay animal sex. Animal sex pictures. Animal sex quiz. Animal sex pics. Sex animal. Animal sex. Free animal sex pics.

  457. Xanax.

    Tracked from Generic xanax 2 mg no prescription. 2010/07/12 06:33 Delete

    Side effects of drug xanax. Buy xanax. Xanax.

  458. Cialis and levitra.

    Tracked from Levitra. 2010/07/12 23:30 Delete

    Levitra heart probelms. Levitra and sperm count.

  459. No prescription phentermine.

    Tracked from Phentermine weight loss. 2010/07/13 03:41 Delete

    Phentermine no prescription. Buy phentermine online. Phentermine. Phentermine pharmacy.

  460. Levitra.

    Tracked from Levitra. 2010/07/13 10:48 Delete

    Viagra cialis levitra. Levitra for sale. Levitra. Buy levitra online. Levitra drug.

  461. Diflucan and nystatin.

    Tracked from Diflucan. 2010/07/13 21:49 Delete

    Diflucan rebate. Diflucan 806. Diflucan while pregnancy. Diflucan.

  462. Buy ambien.

    Tracked from Ambien sleeping pill. 2010/07/14 00:25 Delete

    Ambien. Ambien online no prescription overnight delivery. Drugs detected on drug test ambien.

  463. Female viagra.

    Tracked from Buy viagra online. 2010/07/14 06:05 Delete

    Viagra st.

  464. Levitra.

    Tracked from Levitra. 2010/07/14 12:49 Delete

    Levitra.

  465. Viagra sale.

    Tracked from Viagra side effects. 2010/07/14 21:52 Delete

    Viagra. Viagra st. Free viagra. Viagra for women. Viagra clips. Buy viagra.

  466. Adderall side effects.

    Tracked from Smoking adderall. 2010/07/14 22:01 Delete

    Adderall. Get adderall xr without a prescription. No prescription adderall. Adderall snort.

  467. Discount cialis.

    Tracked from Viagra and cialis. 2010/07/14 22:50 Delete

    Cialis.

  468. Handjob.

    Tracked from Handjob. 2010/07/15 09:26 Delete

    Hetero handjob. Handjob. Male female handjob.

  469. Http levitra.

    Tracked from Levitra. 2010/07/15 09:44 Delete

    Buy sublingual levitra online. Generic levitra. Levitra. Levitra users.

  470. Tramadol.

    Tracked from Tramadol. 2010/07/15 19:54 Delete

    Lowest price tramadol. Tramadol.

  471. Effectiveness comparison levitra cialis.

    Tracked from Buy cialis. 2010/07/15 20:55 Delete

    Taking viagra with cialis. Cialis best price buy online. Cialis. Cialis st. Liquid cialis.

  472. Xanax.

    Tracked from Xanax no prescription. 2010/07/16 06:50 Delete

    Xanax. Buy xanax with no prescription.

  473. Zoo sex.

    Tracked from Zoo sex. 2010/07/16 07:43 Delete

    Zoo sex.

  474. Xanax dosage.

    Tracked from Buy xanax online without a prescription. 2010/07/16 09:01 Delete

    Xanax. Xanax during pregnancy.

  475. Gay male sex.

    Tracked from Gay anal sex. 2010/07/16 19:37 Delete

    Free gay sex.

  476. Percocet.

    Tracked from How to extract acitaminiaphine from percocet. 2010/07/16 21:02 Delete

    Percocet high blood pressure. Percocet.

  477. Pharmacy online carisoprodol description price.

    Tracked from Buy carisoprodol. 2010/07/17 06:10 Delete

    Carisoprodol mg right place for it carisoprodol mg. Carisoprodol abuse. Soma carisoprodol abuse information. Buy carisoprodol online lowest price guarantee. Carisoprodol phentermine yellow.

  478. Free viagra sample.

    Tracked from Viagra soft tabs. 2010/07/17 08:07 Delete

    Effects nitroglycern side viagra. Natural viagra alternatives. Viagra.

  479. Buy vicodin without a prescription.

    Tracked from Vicodin detox. 2010/07/17 09:01 Delete

    What is vicodin. Vicodin withdrawal.

  480. Vicodin es.

    Tracked from Vicodin. 2010/07/17 09:26 Delete

    Symptoms vicodin addiction.

  481. Free animal sex pics.

    Tracked from Free animal sex trailers. 2010/07/17 14:56 Delete

    Free animal sex. Wild animal sex. Gay animal sex. Farm animal sex. Free animal sex pics. Free animal sex movies.

  482. Phentermine information.

    Tracked from Phentermine. 2010/07/17 23:57 Delete

    Phentermine without prescription.

  483. Xanax alprazolam no prescription.

    Tracked from Veternary medications alprazolam. 2010/07/18 02:30 Delete

    Buy alprazolam. Buy alprazolam cheap. Buy alprazolam online no prescription. Picture alprazolam. Order alprazolam.

  484. Xanax dosage.

    Tracked from Xanax. 2010/07/18 08:54 Delete

    Xanax side effects. Xanax. Xanax during pregnancy. Xanax addiction. Purchashing xanax with mastercard. Buy xanax without prescription in usa.

  485. 15 mg xanax tid overdose.

    Tracked from Xanax without a prescription. 2010/07/18 09:34 Delete

    Herbal xanax.

  486. Cheap cialis.

    Tracked from Cialis soft tabs. 2010/07/18 13:05 Delete

    Cialis drug. Buy cialis online.

  487. Percocet addiction.

    Tracked from Percocet. 2010/07/18 20:55 Delete

    Percocet. Percocet addiction.

  488. Carisoprodol.

    Tracked from Carisoprodol. 2010/07/19 00:16 Delete

    Carisoprodol patient information. Carisoprodol.

  489. Vicodin.

    Tracked from Vicodin without prescription. 2010/07/19 08:10 Delete

    Effects of vicodin. Vicodin. Vicodin addiction.

  490. Percocet.

    Tracked from Long term use of percocet. 2010/07/19 11:10 Delete

    Fun with percocet. Side effects of percocet. Percocet picture. Percocet. Compare and contrast percocet and oxycodone apap. Percocet and nightmares.

  491. Cialis.

    Tracked from Cheapest cialis. 2010/07/19 22:21 Delete

    Generic cialis pay by money order. Levitra cialis viagra comparison. Cialis vs viagra. Using cialis. Cialis best price buy online. Cialis generic. Cialis.

  492. ..

    Tracked from .. 2010/07/20 04:16 Delete

    ..

  493. Alprazolam without prescription.

    Tracked from Alprazolam. 2010/07/20 10:24 Delete

    Cheap alprazolam. Alprazolam.

  494. Buy tramadol.

    Tracked from Tramadol. 2010/07/20 10:52 Delete

    Low price tramadol. Cod overnight tramadol. Tramadol.

  495. ..

    Tracked from .. 2010/07/20 12:27 Delete

    ..

  496. Meridia.

    Tracked from How much is meridia in canada. 2010/07/21 02:29 Delete

    Meridia purchase pharmacy online. Meridia meridia. Meridia. Meridia diet index dietlist net. Does meridia work. Meridia drug.

  497. ..

    Tracked from .. 2010/07/21 12:08 Delete

    ..

  498. Xanax xr crushed.

    Tracked from Xanax. 2010/07/21 13:09 Delete

    Pharmacy order generic xanax. Xanax.

  499. ..

    Tracked from .. 2010/07/21 21:30 Delete

    ..

  500. Canadian prescriptions and percocet.

    Tracked from Percocet withdrawal symptoms. 2010/07/22 00:57 Delete

    Percocet sexual effects. Compare brand name and generic percocet. Percocet verses lortabs. Potent lortab percocet darvon. Percocet.

  501. Astrologers psychic consultant.

    Tracked from Legal nurse consultant certificate. 2010/07/22 08:51 Delete

    Astrologers psychic consultant.

  502. University of tennessee.

    Tracked from University of iowa. 2010/07/23 17:16 Delete

    Wake forest university. Florida state university. University of idaho.

  503. Patrol rifle instructor course.

    Tracked from Driving instructor license. 2010/07/26 06:38 Delete

    Patrol rifle instructor course. Dance instructor jobs in san diego. Instructor.

  504. High school science fair projects.

    Tracked from High school wrestling. 2010/07/27 07:10 Delete

    Escambia county school. Sunday school lessons. Dog trainer school dogtrainers.blogspot.com. High school science projects. Against school uniform. Anchorage school district. Braless school girls. Texas high school football. High school musical.

  505. Reading tutoring.

    Tracked from Tutoring services. 2010/07/28 07:56 Delete

    Zebulon nc tutoring programs. Starting a tutoring business. Washington post online tutoring article. Tutoring services in st. petersburg. Tutoring services.

  506. High school musical lyrics.

    Tracked from Middle school science fair projects. 2010/07/29 05:46 Delete

    School violence. Columbine high school shooting. High school musical.

  507. Party poker.

    Tracked from Poker party. 2010/07/30 01:31 Delete

    Pictures friends party drunk strip poker.

  508. Espn college football.

    Tracked from Ohlone college. 2010/07/30 10:13 Delete

    College bowl projections. College search. College girls. College humor. College funding. Austin community college. College football scores.

  509. Video strip poker.

    Tracked from Free strip poker. 2010/07/30 20:12 Delete

    Cam to cam strip poker. Video strip poker. Free strip poker. Free online strip poker. Ecw wwe girls strip poker pic. Flash strip poker.

  510. Tutoring programs.

    Tracked from Online algebra tutoring. 2010/07/31 07:54 Delete

    Tutoring corinth texas. Tutoring service. Home based tutoring busin. Reading tutoring. A to z tutoring.

  511. Video strip poker supreme crack.

    Tracked from Video poker games. 2010/07/31 18:38 Delete

    Video poker.

  512. Levitz furniture in fresno ca.

    Tracked from Levitz furniture showrooms. 2010/07/31 23:42 Delete

    Sam levitz furniture. Levitz furniture corporation consumer reviews. Levitz furniture store. Levitz furniture. Sam levitz furniture in tucson.

  513. Hydrocodone lortab vicodin oxycodone.

    Tracked from Oxycodone vicodin. 2010/08/01 06:43 Delete

    Vicodin oxycodone.

  514. Big lots furniture.

    Tracked from Big lots furniture store. 2010/08/01 08:12 Delete

    Big lots furniture store. Big lots furniture.

  515. Cheap amoxicillin.

    Tracked from Cheap amoxicillin online order amoxicillin now. 2010/08/01 11:17 Delete

    Cheap amoxicillin without prescription.

  516. Colorado karate studio.

    Tracked from Full contact karate video clips. 2010/08/01 18:17 Delete

    John cho karate. Karate in amarillo. Karate catalog. Karate.

  517. Economy.

    Tracked from Spain's economy. 2010/08/02 07:32 Delete

    Economy car rental athens greece. Mixed economy. Economy. Economy car rental glyfada. Ireland economy. Knowledge economy ireland.

  518. Tramadol cod.

    Tracked from Tramadol cheap cod. 2010/08/02 07:40 Delete

    Tramadol cod.

  519. Medicine wheel.

    Tracked from Pain medicine. 2010/08/02 08:29 Delete

    Institute of medicine. Internal medicine. Medicine dictionary. Civil war medicine. Energy medicine. 19th century medicine.

  520. Diploma replacement.

    Tracked from Diploma equivalent online test. 2010/08/03 06:06 Delete

    Career diploma. College diploma. Diploma frame. Continental acdamey high school diploma. Diploma replacement at letourneau university. Online high school diploma. Diploma maker. Iep diploma.

  521. Codeine phosphate forte.

    Tracked from Codeine phosphate forte. 2010/08/03 06:10 Delete

    Codeine phosphate forte. Parafon forte with codeine identification. Voltaren forte 50mg codeine 50mg diclofenac.

  522. Medicine.

    Tracked from Cheap medicine. 2010/08/04 05:57 Delete

    Baylor college of medicine. Holistic medicine. Holistic veterinarian naturopathic veterinary medicine. Heartburn cure heartburn medicine. Medicine assistance. Internal medicine. Acne medicine http.

  523. Generic levitra vardenafil.

    Tracked from Connecticut levitra vardenafil. 2010/08/04 06:26 Delete

    California levitra vardenafil hcl. Hcl levitra vardenafil. Ied levitra vardenafil. 2 levitra vardenafil hcl.

  524. Lipitor online.

    Tracked from Lipitor buy lipitor online starting from per. 2010/08/05 07:06 Delete

    Lipitor online.

  525. Stevens institute of technology.

    Tracked from Art institute. 2010/08/05 08:17 Delete

    Cato institute. Art institute of chicago. Culinary institute of america. Oregon institute of technology. Smithsonian institute.

  526. Buy lorazepam.

    Tracked from Buy lorazepam. 2010/08/06 05:51 Delete

    Buy lorazepam.

  527. Orleans casino.

    Tracked from Casino royale. 2010/08/06 06:45 Delete

    Foxwoods casino. Turning stone casino. Casino royal.

  528. Buy percocet online.

    Tracked from Buy percocet online. 2010/08/07 06:09 Delete

    Buy percocet online usa. Buying percocet without prescription. Where can i buy percocet. Buy percocet online no prescription. Buy percocet online. Buy percocet online without a prescription. Buy percocet without prescription.

  529. Student learning portfolio.

    Tracked from Cu philosophy student resources. 2010/08/07 07:19 Delete

    Washington assessment of student learning. Black student union. Student loan. College student loans. Free student essays. Market research student spending.

  530. Adipex phentermine vs.

    Tracked from Is adipex phentermine t. 2010/08/08 05:39 Delete

    Adipex phentermine vs. Adipex p phentermine hcl mg order adipex p online. Adipex p phentermine vs.

  531. Aikido.

    Tracked from Aikido san diego. 2010/08/08 07:36 Delete

    Aikido moves.

  532. Order tramadol.

    Tracked from Brand ultram order ultram tramadol pain medicine. 2010/08/09 06:41 Delete

    Brand ultram order ultram tramadol pain medicine. Phendimetrazine order phentermine adipex tramadol.

  533. Ambien zolpidem.

    Tracked from Ambien zolpidem. 2010/08/10 05:45 Delete

    Ambien zolpidem. Zolpidem ambien.

  534. Body kombat kickboxing.

    Tracked from Kickboxing near fort worth tx. 2010/08/10 06:42 Delete

    Kickboxing workouts. Kickboxing records. Kickboxing equipment. Kickboxing studios in orange county ca. Irish history kickboxing. Kickboxing.

  535. Cheap medicine.

    Tracked from Internal medicine. 2010/08/11 05:57 Delete

    Naturopathic medicine. Holistic veterinarian naturopathic veterinary medicine. Cours de medicine.

  536. Order tramadol.

    Tracked from Order tramadol. 2010/08/11 06:40 Delete

    Order tramadol.

  537. Teacher supplies.

    Tracked from Portland oregon piano teacher. 2010/08/12 06:10 Delete

    Teacher certification. My first sex teacher. Teacher student sex stories. Portland or piano teacher.

  538. Order percocet online.

    Tracked from Percocet order on line no prescription. 2010/08/12 06:40 Delete

    Order percocet online. Percocet order foreign country. Order percocet.

  539. Search fluoxetine hydrochloride prozac day.

    Tracked from Prozac fluoxetine. 2010/08/13 06:03 Delete

    Search fluoxetine hydrochloride prozac day.

  540. Current us economy.

    Tracked from Improve fuel economy. 2010/08/13 06:14 Delete

    Mexico economy. Canadian economy. What is a market economy. Strong korean economy. Georgia s economy in 1983. Current us economy. Fuel economy. Illegal immigration and the american economy.

  541. Adipex ionamin medication phentermine.

    Tracked from Phentermine ionamin. 2010/08/13 06:29 Delete

    Phentermine ionamin.

  542. Order overnight phentermine.

    Tracked from Order phentermine online. 2010/08/14 05:56 Delete

    Order phentermine phentermine online.

  543. Buy no prescription prozac 2006.

    Tracked from Buy prozac online free shipping cheap. 2010/08/14 07:07 Delete

    Buy prozac online free shipping cheap. Buy prozac phentermine online free shipping cheap. Buy no prescription prozac.

  544. Tomiki aikido.

    Tracked from Aikido wikip dia. 2010/08/14 07:17 Delete

    Aikido wikip dia. Aikido steven seagal. Aikido.

  545. Denver martial art studio.

    Tracked from Martial art belt display. 2010/08/15 06:24 Delete

    Martial art belt display. Russian martial art the system. Lakewood martial art training.

  546. Vegas vacation.

    Tracked from Las vegas odds. 2010/08/16 06:09 Delete

    Wynn las vegas. Las vegas. Las vegas airport.

  547. Bellagio las vegas http.

    Tracked from Flight las vegas. 2010/08/17 06:24 Delete

    Lake las vegas.

  548. Coach.

    Tracked from Coach purses. 2010/08/18 07:02 Delete

    Coach wallets. Coach.

  549. Baby bingo.

    Tracked from Free saints and sinners bingo. 2010/08/19 06:10 Delete

    Christmas bingo games for adults. Thanksgiving bingo.

  550. Shelia johnson of bet.

    Tracked from Bet. 2010/10/06 14:59 Delete

    Bet me vancouver bc dvd s. Bet uncut. Bet j. Bet uncut last episode. Bet us. Bet.

  551. Bet.

    Tracked from Bet. 2010/10/07 02:46 Delete

    Bet.

  552. Bet 106 and park top 10.

    Tracked from Place my bet. 2010/10/07 12:18 Delete

    Bet. Bet that. You bet your ass.

  553. Bet college football.

    Tracked from Bet nba online. 2010/10/07 21:47 Delete

    Bet football. Bet basketball. Bet mlb. Bet college basketball online. Bet nhl. Bet college basketball.

  554. Bet uncut.

    Tracked from Bet uncut. 2010/10/08 08:10 Delete

    Bet uncensored. Bet awards tickets. Bet uncut. Bet uncut videos. Bet uncensored music video uncut. Bet.

  555. Bet.

    Tracked from Bet. 2010/10/08 09:11 Delete

    Bet.

  556. Bet.

    Tracked from Bet. 2010/10/08 18:26 Delete

    Bet.

  557. Nbd bank indianapolis in.

    Tracked from Nbd contract collection flint michigan. 2010/10/14 05:13 Delete

    Fluorescence spectra of nbd-ceramide. Nbd umc sites of interest christian resources. Nbd bank. Nbd bank na indianapolis in. Nbd bank na.

  558. Percocet effects.

    Tracked from Difference between percocet and vicaden. 2010/10/15 17:20 Delete

    Percocet online. Percocet. Buy percocet online without office visit. How do i get off percocet. Percocet effects.

  559. Potent lortab percocet darvon.

    Tracked from Percocet for anxiety. 2010/10/17 06:22 Delete

    Percocet.

  560. Nbd.

    Tracked from Nbd bank na indianapolis in. 2010/10/19 05:49 Delete

    Nbd bank. Nbd bank na. Milan nbd bank.

  561. Fluorescence spectra of nbd-ceramide.

    Tracked from Fluorescence spectra of nbd ceramide. 2010/10/20 05:45 Delete

    Fluorescence spectra of nbd-ceramide.

  562. Percocet addiction.

    Tracked from Percocet. 2010/12/02 12:40 Delete

    Percocet addiction.

  563. 120 cheap fioricet.

    Tracked from Fioricet with codeine. 2010/12/03 13:03 Delete

    Fioricet. Buy fioricet with codeine online. Order fioricet.

  564. Cheap valium.

    Tracked from Nexium and valium. 2010/12/05 00:59 Delete

    Non prescription valium.

  565. Tramal tramadol.

    Tracked from Tramal reactions with other drugs. 2010/12/05 11:00 Delete

    Tramal. Tramal united states. Tramal side effects.

  566. Valium.

    Tracked from Valium. 2010/12/07 03:39 Delete

    Valium. Buy valium without a prescription. Buy xanax valium online florida. Buy cheap valium. Valium without prescription.

  567. Buying oxycontin.

    Tracked from Buy oxycontin without a prescription. 2010/12/07 08:38 Delete

    Buy oxycontin online without a prescription. Buy oxycontin no membership. Buy oxycontin. Oxycontin medicine buy online. Buy oxycontin online. Buy oxycontin without a prescription. Buy oxycontin without rx.

  568. Fioricet.

    Tracked from Buy fioricet. 2010/12/15 10:05 Delete

    Fioricet tablets. Fioricet. Fioricet with codeine. Buy fioricet overnight. Fioricet addiction. Fioricet cash only. Generic fioricet. Buy fioricet.

  569. Fioricet.

    Tracked from Fioricet. 2010/12/15 11:15 Delete

    Fioricet. Fioricet plain pill. Advanced book by fioricet guest powered. Fioricet and blood work. Fioricet cheap.

  570. Valium.

    Tracked from Valium side effects. 2010/12/16 06:27 Delete

    Vikodine and valium. Valium no prescription. Valium. Xanax valium.

  571. Oxycontin buy from mexico.

    Tracked from Buy oxycontin online. 2010/12/16 06:32 Delete

    Buy oxycontin. Buy oxycontin fedex europe. Buy oxycontin without a presription. Buy oxycontin online. Buy oxycontin no prescription cod.

  572. Buy cialis in the uk.

    Tracked from Cialis. 2010/12/16 20:50 Delete

    Cialis vs viagra. Cialis.

  573. Tramadol for dogs.

    Tracked from Tramadol prescription. 2010/12/17 08:10 Delete

    Tramadol hydrochloride. Tramadol prescription.

  574. Cheap tramadol.

    Tracked from Tramadol. 2010/12/18 09:36 Delete

    Tramadol cheap. Cheap tramadol. Cheap tramadol without prescription. Tramadol.

  575. Xanax.

    Tracked from Xanax. 2011/01/18 13:46 Delete

    Xanax.

  576. Effexor.

    Tracked from Effexor side effects. 2011/01/18 21:13 Delete

    Effexor. Effexor xr withdrawal.

  577. Zoloft.

    Tracked from Zoloft litigation. 2011/01/19 11:57 Delete

    Zoloft and pregnancy. Zoloft. Zoloft side effects.

  578. Fioricet.

    Tracked from Fioricet. 2011/01/19 20:48 Delete

    Fioricet. Fioricet side effects. Side effects of fioricet. Order fioricet. Generic fioricet.

  579. Viagra.

    Tracked from Cheap viagra. 2011/01/20 11:18 Delete

    Viagra uk. Cheap viagra. Buy viagra. Viagra prescription. Viagra side effects.

  580. Fioricet no prescription.

    Tracked from Buy fioricet. 2011/01/20 20:40 Delete

    Buy fioricet. Fioricet withdrawal.

  581. Amoxicillin.

    Tracked from Amoxicillin. 2011/01/21 11:07 Delete

    Amoxicillin.

  582. Phentermine.

    Tracked from Phentermine. 2011/01/21 19:56 Delete

    Phentermine.

  583. Zoloft overdose.

    Tracked from Zoloft. 2011/01/22 08:42 Delete

    Is zoloft really cocaine. Zoloft. Zoloft versus generic seratraline.

  584. Tramadol.

    Tracked from Tramadol. 2011/01/22 19:11 Delete

    Tramadol.

  585. Zoloft.

    Tracked from Zoloft. 2011/01/23 08:14 Delete

    Zoloft.

  586. Phentermine.

    Tracked from Phentermine prescription. 2011/01/23 18:53 Delete

    Phentermine no prescription. Phentermine. Phentermine prescription. Phentermine hcl.

  587. Adderall.

    Tracked from Adderall. 2011/01/24 05:14 Delete

    Adderall.

  588. What is soma.

    Tracked from Drug testing times for soma. 2011/01/24 18:47 Delete

    Effects of soma.

  589. Tramadol.

    Tracked from Tramadol. 2011/01/25 04:12 Delete

    Tramadol.

  590. Xanax.

    Tracked from Xanax. 2011/01/25 19:13 Delete

    Xanax.

  591. Viagra.

    Tracked from Viagra side effects. 2011/01/26 03:45 Delete

    Buy viagra online. Viagra vs cialis. Buy viagra. Viagra 6 free samples. Viagra.

  592. Phentermine.

    Tracked from Phentermine. 2011/01/26 19:14 Delete

    Phentermine.

  593. Adderall.

    Tracked from Adderall. 2011/01/27 04:16 Delete

    Adderall online pharmacy. Adderall. Snorting adderall. Purchase adderall without prescription.

  594. Phentermine with no prescription.

    Tracked from Phentermine prescription. 2011/01/27 18:19 Delete

    Low cost phentermine. Phentermine.

  595. Cheap tramadol.

    Tracked from Tramadol. 2011/01/28 03:19 Delete

    Cheap tramadol. Tramadol.

  596. Cross sensitivity to amoxicillin.

    Tracked from H pylori amoxicillin. 2011/01/28 12:17 Delete

    Increasing amoxicillin dosage during.

  597. Tramadol.

    Tracked from Tramadol. 2011/01/29 03:10 Delete

    Tramadol.

  598. Tramadol cod.

    Tracked from Cheap tramadol. 2011/01/29 11:42 Delete

    Buy tramadol without a prescription. Cheap tramadol. Tramadol without a prescription.

  599. Tramadol.

    Tracked from Tramadol. 2011/01/30 03:10 Delete

    Tramadol.

  600. Xanax.

    Tracked from Xanax. 2011/01/30 13:13 Delete

    Xanax.

  601. Phentermine.

    Tracked from Phentermine. 2011/01/31 02:10 Delete

    Phentermine.

  602. Tramadol.

    Tracked from Tramadol. 2011/01/31 12:10 Delete

    Tramadol.

  603. Zoloft.

    Tracked from Zoloft. 2011/02/01 01:10 Delete

    Zoloft.

  604. Zoloft.

    Tracked from Zoloft. 2011/02/01 12:35 Delete

    Zoloft.

  605. Soma.

    Tracked from Soma. 2011/02/02 00:33 Delete

    Soma.

  606. Zoloft.

    Tracked from Zoloft. 2011/02/02 12:40 Delete

    Zoloft.

  607. Tramadol.

    Tracked from Tramadol. 2011/02/03 00:38 Delete

    Tramadol.

  608. Tramadol.

    Tracked from Tramadol. 2011/02/03 10:35 Delete

    Tramadol.

  609. Amoxicillin.

    Tracked from Amoxicillin. 2011/02/04 00:10 Delete

    Amoxicillin.

  610. Amoxicillin.

    Tracked from Amoxicillin. 2011/02/04 09:36 Delete

    Amoxicillin.

  611. Cialis.

    Tracked from Cialis. 2011/02/05 07:17 Delete

    Cialis.

  612. Fioricet.

    Tracked from Fioricet. 2011/02/05 10:15 Delete

    Fioricet.

  613. Percocet.

    Tracked from Percocet. 2011/02/05 23:11 Delete

    Percocet.

  614. Cheap tramadol.

    Tracked from Cheap tramadol. 2011/02/06 09:21 Delete

    Cheap tramadol.

  615. Phentermine.

    Tracked from Phentermine. 2011/02/06 20:11 Delete

    Phentermine.

  616. Kids and 250 mg amoxicillin.

    Tracked from No prescription amoxicillin. 2011/02/07 07:17 Delete

    Pet supplies amoxicillin. Side effects of amoxicillin and clavulanate. What is amoxicillin used for. Cats 26 allergies to amoxicillin. Mix amoxicillin with frontline on cat. Cortisone and amoxicillin interaction. Cat reactions to amoxicillin. Non presc...

  617. Tramadol.

    Tracked from Tramadol. 2011/02/07 19:27 Delete

    Tramadol cod. Tramadol.

  618. Buy tramadol.

    Tracked from Tramadol overnight. 2011/02/08 05:14 Delete

    Cheap tramadol. Tramadol.

  619. Phentermine on line.

    Tracked from Phentermine cheap no prescription. 2011/02/08 17:47 Delete

    Phentermine. Discount phentermine. Buy phentermine.

  620. Reaction to amoxicillin.

    Tracked from Reactions from amoxicillin. 2011/02/09 07:49 Delete

    Side effects of amoxicillin and clavulanate.

  621. Fioricet.

    Tracked from Fioricet. 2011/02/09 20:37 Delete

    Fioricet.

  622. Tramadol.

    Tracked from Tramadol. 2011/02/10 07:42 Delete

    Tramadol.

  623. Cialis.

    Tracked from Cialis. 2011/02/10 16:12 Delete

    Cialis.

  624. Tramadol.

    Tracked from Tramadol online img. 2011/02/11 08:27 Delete

    Tramadol prescription. Cheap tramadol. Tramadol hci. Tramadol.

  625. Cialis.

    Tracked from Cialis. 2011/02/12 00:12 Delete

    Cialis.

  626. Lowest price tramadol.

    Tracked from Tramadol overdose. 2011/04/07 10:41 Delete

    Tramadol hydrochloride. Cheapest tramadol. Tramadol abuse pharmacy discounter. Tramadol. Comparative potencies of opioids tramadol.

  627. Ambien.

    Tracked from Ambien without a prescription. 2011/04/08 11:12 Delete

    Buy ambien without a prescription. Ambien onlilne overnite shipping.

  628. Meridia.

    Tracked from Meridia. 2011/04/09 07:30 Delete

    Meridia results. Meridia coupon. Generic meridia. Meridia r ductil sibutramine rss feed.

  629. Xanax.

    Tracked from No prescription xanax. 2011/04/10 07:45 Delete

    Xanax.

  630. Ambien sleep medication.

    Tracked from Buy ambien online no prescription. 2011/04/11 06:50 Delete

    Buy ambien 12.5 mgm overnight mail md consultation. Generic ambien. Ambien side effects. Ambien with alcohol. Ambien and hot flashes. Ambien.

  631. Side effects of ativan.

    Tracked from Ativan. 2011/04/12 06:44 Delete

    Ativan reviews. Ativan overnight delivery. Ativan withdrawal. Ativan. Ativan vs xanax. Ativan medicine.

  632. Meridia.

    Tracked from Overnight us meridia. 2011/04/13 07:19 Delete

    Meridia and wellbutrin.

  633. Ambien cr.

    Tracked from Ambien sleep medication. 2011/04/14 07:09 Delete

    Ambien and memory loss. Buy ambien without a prescription. Ambien onlilne overnite shipping. Ambien cr. Ambien overnight. Ambien.

  634. Cialis.

    Tracked from Cialis lawyer ohio. 2011/04/15 07:14 Delete

    Cialis levia and viagra. Cialis side effects. Buy cialis online. Order cialis. Cialis uk. Cialis. Cialis without a prescription.

  635. Tramadol.

    Tracked from Tramadol. 2011/04/16 07:01 Delete

    Tramadol 93. Tramadol ultram medicine. Snorting tramadol. Tramadol c.o.d.. Tramadol discussion. Tramadol. Tramadol hcl.

  636. Codeine.

    Tracked from Buy codeine in victoria bc. 2011/04/17 06:24 Delete

    What states allow otc codeine. Fioricet with codeine. Codeine and urinalysis. Codeine. Tylenol with codeine dose. Apap codeine. Buy codeine online without a prescription. Codeine addiction.

  637. Xanax abuse.

    Tracked from Buy xanax without prescription in usa. 2011/04/18 07:57 Delete

    Buy xanax. 15 mg xanax tid overdose. Xanax. Xanax prescription.

  638. Buy cialis online.

    Tracked from Cialis. 2011/04/19 06:59 Delete

    Cialis.

  639. Klonopin antipsychotic medication.

    Tracked from Klonopin. 2011/04/20 07:19 Delete

    Klonopin.

  640. Xanax withdrawal.

    Tracked from Buy xanax no prescription. 2011/04/21 07:57 Delete

    Side effects of xanax. Buy xanax. Smoking xanax. Buy xanax online.

  641. Ambien side affects.

    Tracked from Ambien cr. 2011/04/22 06:53 Delete

    Discount ambien. Ambien on line. Ambien overnight. Ambien. Ambien cr color.

  642. Finasteride.

    Tracked from Finasteride. 2011/04/23 06:30 Delete

    Finasteride.

  643. Cheap tramadol cheap tramadol cheap tramadol.

    Tracked from Cheap comment message preview tramadol. 2011/04/24 09:52 Delete

    Tramadol cod. Tramadol. Tramadol hcl.

  644. Xanax.

    Tracked from Does xanax make sex better. 2011/04/24 22:56 Delete

    Buy cheap xanax without prescription. Xanax no prescription overnight delivery. Xanax addiction.

  645. Meridia.

    Tracked from Meridia. 2011/04/25 06:53 Delete

    Meridia. Generic meridia.

  646. Buy xanax without prescription in usa.

    Tracked from Order xanax. 2011/04/26 06:51 Delete

    Xanax no prescription. Xanax.

  647. Xanax.

    Tracked from Xanax. 2011/04/27 07:22 Delete

    What is xanax. Xanax.

  648. Klonopin.

    Tracked from Klonopin. 2011/04/28 08:12 Delete

    Overdose on klonopin. Klonopin.

  649. Cheap tramadol without prescription.

    Tracked from Tramadol. 2011/04/29 07:18 Delete

    Tramadol.

  650. Finasteride.

    Tracked from Propecia side effects finasteride. 2011/04/30 06:49 Delete

    Finasteride propecia. Finasteride. Prostate finasteride.

  651. Cheap tramadol.

    Tracked from Buy cheap tramadol mg tablets only in us online. 2011/05/01 06:47 Delete

    Tramadol maintenance. Tramadol 100mg. Tramadol. Tramadol soma zoloft prozac onlineprescription.md.

  652. Discount xanax.

    Tracked from Buy xanax. 2011/05/02 06:44 Delete

    Buy xanax. Order xanax. Xanax. Xanax addiction.

  653. Ambien.

    Tracked from Ambien. 2011/05/03 07:28 Delete

    Ambien side effects. Ambien cr. Ambien online. Ambien. Buy ambien.

  654. Order xanax online.

    Tracked from Xanax effect. 2011/05/04 07:17 Delete

    Buy xanax. Xanax side effects. Xanax abdominal pain. Xanax no prescription. Xanax.

  655. Ephedra.

    Tracked from Ephedra diet pills. 2011/05/04 08:19 Delete

    Ephedra yellow bullets. Drug test detect ephedra. Lipodrene with ephedra. Atlanta ephedra attorneys. Buy ephedra online. Ephedra. Chronic ephedra abuse.

  656. Percocet.

    Tracked from Symtoms of withdrawl from percocet. 2011/05/04 17:18 Delete

    Buy tylox percocet. Percocet. Percocet vs lorcet for pain.

  657. Tramadol.

    Tracked from Tramadol online. 2011/05/05 03:11 Delete

    Buy tramadol. Tramadol medication. Tramadol.

  658. Phentermine on line.

    Tracked from Cheapest phentermine. 2011/05/05 17:13 Delete

    Phentermine dosage. Phentermine diet pills. Drug phentermine.

  659. Buy vicodin online.

    Tracked from Vicodin addiction. 2011/05/06 03:15 Delete

    What is vicodin. Vicodin. Order vicodin. Dangers of vicodin. Vicodin overdose.

  660. Tramadol hcl.

    Tracked from Tramadol shipped to florida. 2011/05/06 18:11 Delete

    Buy tramadol online cod. Tramadol for dogs. Tramadol. Tramadol saturday delivery. Tramadol hcl.

  661. Phentermine cash on delivery.

    Tracked from Phentermine. 2011/05/07 04:11 Delete

    Phentermine. Phentermine cheap. Phentermine 37 5mg. Phentermine online purchase. Abuse phentermine.

  662. Delaware ephedra lawyers.

    Tracked from Ephedra yellow jackets. 2011/05/07 17:29 Delete

    Ephedra near herb. Ephedra cla products. Georgia ephedra lawyers. Ephedra liquid gel products. Ephedra. Yellow swarm with ephedra.

  663. Ambien lethal.

    Tracked from Buy ambien without prescription. 2011/05/08 04:09 Delete

    Ambien side effects. Buy ambien online cod. Ambien cr side effects. Discount ambien. Ambien side affects. Ambien addiction. Ambien cr color.

  664. Phentermine result.

    Tracked from Xenical hgh phentermine quit smoking detox. 2011/05/08 16:12 Delete

    Phentermine.

  665. Buy adderall.

    Tracked from Adderall. 2011/05/09 06:33 Delete

    Adderall online pharmacy. Buying adderall online pharmacy. Adderall. Difference between adderall concerta.

  666. Dosing of amoxicillin for sinus infection.

    Tracked from Canine dosage for amoxicillin for sinus infection. 2011/05/09 16:14 Delete

    When amoxicillin works for acne. Amoxicillin. Amoxicillin with no prescription.

  667. Valium appearance.

    Tracked from What does valium look like. 2011/05/10 07:50 Delete

    Valium during pregnancy. Valium used. Lorazepam to valium conversion. Buy valium without prescription. What does valium look like. Valium. Valium drug information. Buy valium online without a prescription.

  668. Phentermine weight loss.

    Tracked from Phentermine pregnancy. 2011/05/10 16:43 Delete

    Phentermine. Buy phentermine.

  669. Fioricet 2bwithout 2bprescription 2bsi.

    Tracked from Buy fioricet. 2011/05/11 01:12 Delete

    Fioricet. Buy fioricet online.

  670. Ritalin side effects.

    Tracked from Buy ritalin online. 2011/05/11 16:18 Delete

    Ritalin. Ritalin for adults.

  671. Ephedra.

    Tracked from Ephedra. 2011/05/12 01:16 Delete

    Ephedra diet pills. Ephedra. Yellow bullet ephedra review.

  672. Adderall.

    Tracked from Adderall no prescription. 2011/05/12 16:15 Delete

    Adderall side effects. Adderall. Adderall treating anxiety in adults. Who makes adderall.

  673. Cheap tramadol.

    Tracked from Cheap tramadol. 2011/05/13 01:16 Delete

    Cheap tramadol. Tramadol.

  674. Adderall.

    Tracked from Adderall xr snort. 2011/05/13 19:28 Delete

    Adderall side effects. Adderall amphetamine. Side effects of adderall xr.

  675. Ritalin 20mg order.

    Tracked from What is ritalin. 2011/05/14 04:02 Delete

    Side effects of ritalin.

  676. Buy xanax.

    Tracked from Buy xanax online without a prescription. 2011/05/14 16:24 Delete

    Order xanax online. Buy xanax online.

  677. Fioricet.

    Tracked from Fioricet. 2011/05/15 04:30 Delete

    Fioricet. Cheapest fioricet. Buy fioricet bloghoster. Webresults fioricet.

  678. Viagra soft tabs.

    Tracked from Viagra soft tabs. 2011/05/15 16:23 Delete

    Buy viagra online. Cheap viagra. Free viagra sample. Buy viagra. Viagra prescription. Cheapest viagra prices. Viagra dosage. Viagra.

  679. Lexapro.

    Tracked from Lexapro. 2011/05/16 06:08 Delete

    What is lexapro.

  680. Soma.

    Tracked from Soma. 2011/05/16 16:24 Delete

    Soma carisoprodol. Soma online. Aura soma. Soma 350mg. Order soma carisoprodol.

  681. Soma.

    Tracked from Soma. 2011/05/17 06:08 Delete

    Buy soma. Soma in san diego. Soma. Soma-fitness.

  682. Soma.

    Tracked from Soma half ironman. 2011/05/17 17:19 Delete

    Buy soma. Soma next day. Generic soma. Soma online sales. Soma labs serogen. Aura soma bottles. Soma without rx. Temp soma.

  683. Ultram.

    Tracked from Ultram. 2011/05/18 04:18 Delete

    Low dose naltrexone with ultram. Genric name for ultram. Ultram. Ultram addiction.

  684. Fioricet.

    Tracked from Fioricet. 2011/05/18 19:26 Delete

    Fioricet side effects. Fioricet. Purchase fioricet online without prescription. Buy fioricet. Generic fioricet. Discount fioricet. Cheap fioricet.

  685. Phentermine no prescription.

    Tracked from Phentermine prescription. 2011/05/19 04:24 Delete

    Card master no phentermine prescription. Phentermine 37.5 no prescription.

  686. Lexapro.

    Tracked from Lexapro. 2011/05/19 20:18 Delete

    Lexapro side effects.

  687. Adderall online pharmacy.

    Tracked from Combining adderall strattera. 2011/05/20 04:45 Delete

    Dosage and tolerance to adderall. Buy adderall. Adderall. Adderall overdose. Pictures of adderall xr. Adderall xr.

  688. Prescription drug called soma.

    Tracked from Soma online sales. 2011/05/20 13:17 Delete

    Soma. Soma online sales. Soma fm.

  689. Hydrocodone shelf life.

    Tracked from Hydrocodone effections. 2011/05/20 21:22 Delete

    Hydrocodone.

  690. Ambien side effects.

    Tracked from Ambien. 2011/05/21 12:22 Delete

    Ambien without prescription. Ambien side effects. Cheap ambien.

  691. Soma.

    Tracked from Soma. 2011/05/21 21:18 Delete

    Buy soma online. Pictures of soma 750 mg.. Soma san diego. Soma without prescription. Fatal dose of soma carisopradol. Temp soma. Ashes of soma.

  692. Picture of phentermine.

    Tracked from Xenical hgh phentermine quit smoking detox. 2011/05/22 13:16 Delete

    Phentermine no prescription. Phentermine blue. Adipex phentermine vs. Phentermine. Phentermine line. Phentermine online pharmacy.

  693. Does lexapro help with anxiety.

    Tracked from Ocd tremor lexapro. 2011/05/22 21:44 Delete

    Effexor lexapro taken together. Snort lexapro. Medication lexapro. Switching from effexor xr to lexapro. Celexa versus lexapro. Gain weight on lexapro. Side effects of drug lexapro.

  694. No prescription amoxicillin.

    Tracked from What is amoxicillin. 2011/05/23 13:47 Delete

    Can you mix amoxicillin with milk. Side effects of amoxicillin. Mix amoxicillin with frontline on cat. Rash from amoxicillin.

  695. Valium.

    Tracked from Order valium. 2011/05/23 14:03 Delete

    Discount valium. Buy valium online. Valium side effects. Valium no prescription needed. Buy valium. Valium. Buy valium online without a prescription. Order valium.

  696. Valium side effects.

    Tracked from Effects of valium. 2011/05/24 06:23 Delete

    Side effects of valium. Valium withdrawal. Mexican valium. What does valium look like. Taking valium while breast feeding.

  697. Ultram.

    Tracked from Ultram. 2011/05/24 14:43 Delete

    Low dose naltrexone with ultram. Ultram 50. Ultram. Ultram addiction.

  698. Mexican pharmacies adderall.

    Tracked from Purchase adderall without prescription. 2011/05/25 07:16 Delete

    Buy adderall online. Inject adderall. Adderall xr price. Buy adderall no prescription. Buy adderall without a prescription. Adderall. Adderall abuse.

  699. Tramadol.

    Tracked from Cheap tramadol. 2011/05/25 16:22 Delete

    Cheap tramadol.

  700. Xanax.

    Tracked from Xanax. 2011/05/26 07:43 Delete

    Drug interactions depression xanax. Xanax.

  701. Valium muscle relaxer.

    Tracked from Generic valium. 2011/05/26 16:48 Delete

    Valium generic. Valium. Generic valium. Order valium online.

  702. Tramadol hcl.

    Tracked from Will tramadol hcl test positive in drug testing. 2011/05/27 06:10 Delete

    Cheapest tramadol available online. Ultram tramadol. Dog s tramadol. Tramadol. Buying tramadol experience fundeling com. Tramadol hcl.

Comments List

  1. Cheap Nike Shoes 2011/08/29 11:21 # M/D Reply Permalink

    good for us thanks

  2. Air Jordans 2011/08/29 17:47 # M/D Reply Permalink

    555clf1
    thanjks for you

  3. Nike Air Max for Sal 2011/08/29 17:48 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment

Windows Anti-Debug Reference

Windows Anti-Debug Reference
Nicolas Falliere 2007-09-12

This paper classifies and presents several anti-debugging techniques used on Windows NT-based operating systems. Anti-debugging techniques are ways for a program to detect if it runs under control of a debugger. They are used by commercial executable protectors, packers and malicious software, to prevent or slow-down the process of reverse-engineering. We'll suppose the program is analyzed under a ring3 debugger, such as OllyDbg on Windows platforms. The paper is aimed towards reverse-engineers and malware analysts. Note that we will talk purely about generic anti-debugging and anti-tracing techniques. Specific debugger detection, such as window or processes enumeration, registry scanning, etc. will not be addressed here.

[1] Intro

This paper classifies and presents several anti-debugging techniques used on Windows NT-based operating systems.
Anti-debugging techniques are ways for a program to detect if it runs under control of a debugger. They are used by commercial executable protectors, packers and malicious software, to prevent or slow-down the process of reverse-engineering.

We'll suppose the program is analyzed under a ring3 debugger, such as OllyDbg on Windows platforms. The paper is aimed towards reverse-engineers and malware analysts.
Note that we will talk purely about generic anti-debugging and anti-tracing techniques. Specific debugger detection, such as window or processes enumeration, registry scanning, etc. will not be addressed here.

[2] Anti-debugging and anti-tracing techniques

- Exploiting memory discrepancies

(1) kernel32!IsDebuggerPresent
IsDebuggerPresent returns 1 if the process is being debugged, 0 otherwise. This API simply reads the PEB!BeingDebugged byte-flag (located at offset 2 in the PEB structure).
Circumventing it is as easy as setting PEB!BeingDebugged to 0.
Example:
call IsDebuggerPresent
test eax, eax
jne @DebuggerDetected
...

(2) PEB!IsDebugged

This field refers to the second byte in the Process Environment Block of the process. It is set by the system when the process is debugged.
This byte can be reset to 0 without consequences for the course of execution of the program (it is an informative flag).

Example:
mov eax, fs:[30h]
mov eax, byte [eax+2]
test eax, eax
jne @DebuggerDetected
...

(3) PEB!NtGlobalFlags

When a process is created, the system sets some flags that will define how various APIs will behave for this program. Those flags can be read in the PEB, in the DWORD located at offset 0x68 (see the reference).
By default, different flags are set depending if the process is created under a debugger or not. If the process is debugged, some flags controlling the heap manipulation routines in ntdll will be set: FLG_HEAP_ENABLE_TAIL_CHECK, FLG_HEAP_ENABLE_FREE_CHECK and FLG_HEAP_VALIDATE_PARAMETERS.
This anti-debug can be bypassed by resetting the NtGlobalFlags field.

Example:
mov eax, fs:[30h]
mov eax, [eax+68h]
and eax, 0x70
test eax, eax
jne @DebuggerDetected
...

(4) Heap flags

As explained previously, NtGlobalFlags informs how the heap routines will behave (among other things). Though it is easy to modify the PEB field, if the heap does not behave the same way as it should when the process is not debugged, this could be problematic. It is a powerful anti-debug, as process heaps are numerous, and their chunks can be individually affected by the FLG_HEAP_* flags (such as chunk tails). Heap headers would be affected as well. For instance, checking the field ForceFlags in a heap header (offset 0x10) can be used to detect the presence of a debugger.

There are two easy ways to circumvent it:

- Create a non-debugged process, and attach the debugger once the process has been created (an easy solution is to create the process suspended, run until the entry-point is reached, patch it to an infinite loop, resume the process, attach the debugger, and restore the original entry-point).

- Force the NtGlobalFlags for the process that we want to debug, via the registry key "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options": Create a subkey (not value) named as your process name, and under this subkey, a String value "GlobalFlags" set to nothing.

Example:
mov eax, fs:[30h]
mov eax, [eax+18h] ;process heap
mov eax, [eax+10h] ;heap flags
test eax, eax
jne @DebuggerDetected
...

(5) Vista anti-debug (no name)

Here's an anti-debug specific to Windows Vista that I found by comparing memory dumps of a program running with and without control of a debugger. I'm not sure of its realiability, but it's worth mentionning (tested on Windows Vista 32 bits, SP0, English version).

When a process is debugged, its main thread TEB, at offset 0xBFC, contains a pointer to a unicode string referencing a system dll. Moreover, the string follows this pointer (therefore, located at offset 0xC00 in the TEB). If the process is not debugged, the pointer is set to NULL and the string is not present.

Example:
call GetVersion
cmp al, 6
jne @NotVista
push offset _seh
push dword fs:[0]
mov fs:[0], esp
mov eax, fs:[18h] ; teb
add eax, 0BFCh
mov ebx, [eax] ; pointer to a unicode string
test ebx, ebx ; (ntdll.dll, gdi32.dll,...)
je @DebuggerNotFound
sub ebx, eax ; the unicode string follows the
sub ebx, 4 ; pointer
jne @DebuggerNotFound
;debugger detected if it reaches this point
;...

- Exploiting system discrepancies

(1) NtQueryInformationProcess
ntdll!NtQueryInformationProcess is a wrapper around the ZwQueryInformationProcess syscall. Its prototype is the following:

NTSYSAPI NTSTATUS NTAPI NtQueryInformationProcess(
IN HANDLE ProcessHandle,
IN PROCESS_INFORMATION_CLASS ProcessInformationClass,
OUT PVOID ProcessInformation,
IN ULONG ProcessInformationLength,
OUT PULONG ReturnLength
);

When called with ProcessInformationClass set to 7 (ProcessDebugPort constant), the system will set ProcessInformation to -1 if the process is debugged.
It is a powerful anti-debug, and there is no easy way to circumvent it. However, if the program is traced, ProcessInformation can be modified when the syscall returns.

Another solution is to use a system driver that would hook the ZwNtQueryInformationProcess syscall.
Circumventing NtQueryInformationProcess will bypass many anti-debug techniques (such as CheckRemoteDebuggerPresent or UnhandledExceptionFilter).

Example:
push 0
push 4
push offset isdebugged
push 7 ;ProcessDebugPort
push -1
call NtQueryInformationProcess
test eax, eax
jne @ExitError
cmp isdebugged, 0
jne @DebuggerDetected
...

(2) kernel32!CheckRemoteDebuggerPresent

This API takes two parameters: a process handle, and a pointer to a DWORD. If the call is successful, the DWORD value will be set to 1 if the process is being debugged.
Internally, this API calls ntdll!NtQueryInformationProcess with ProcessInformationClass set to ProcessDebugPort (7).

Example:
push offset isdebugged
push -1
call CheckRemoteDebuggerPresent
test eax, eax
jne @DebuggerDetected
...

(3) UnhandledExceptionFilter

When an exception occurs, with Windows XP SP>=2, Windows 2003, and Windows Vista, the usual way the OS processes the exception is:

- If any, pass control to the per-process Vectored Exception Handlers.
- If the exception is not processed, pass the control to the per-thread top SEH handler, pointed by FS:[0] in the thread that generated the exception. SEH are chained and called in turn if the exception is not processed by the previous in the chain.
- If the exception has not been processed by any of the previous handlers, the final SEH handler (set by the system), will call kernel32!UnhandledExceptionFilter. This function will decide what it should do depending if the process is debugged or not.
- If it is not debugged, it will call the user-defined filter function (set via kernel32!SetUnhandledExceptionFilter).
- If it debugged, the program will be terminated.

The debugger detection in UnhandledExceptionFilter is made with ntdll!NtQueryInformationProcess.

Example:
push @not_debugged
call SetUnhandledExceptionFilter
xor eax, eax
mov eax, dword [eax] ; trigger exception
;program terminated if debugged
;...
@not_debugged:
;process the exception
;continue the execution
;...

(4) NtSetInformationThread
ntdll!NtSetInformationThread is a wrapper around the ZwSetInformationThread syscall. Its prototype is the following:
NTSYSAPI NTSTATUS NTAPI NtSetInformationThread(
IN HANDLE ThreadHandle,
IN THREAD_INFORMATION_CLASS ThreadInformationClass,
IN PVOID ThreadInformation,
IN ULONG ThreadInformationLength
);

When called with ThreadInformationClass set to 0x11 (ThreadHideFromDebugger constant), the thread will be detached from the debugger.

Similarly to ZwQueryInformationProcess, circumventing this anti-debug requires either modifying ZwSetInformationThread parameters before it's called, or hooking the syscall directly with the use of a kernel driver.

Example:
push 0
push 0
push 11h ;ThreadHideFromDebugger
push -2
call NtSetInformationThread
;thread detached if debugged
;...

(5) kernel32!CloseHandle and NtClose

APIs making user of the ZwClose syscall (such as CloseHandle, indirectly) can be used to detect a debugger. When a process is debugged, calling ZwClose with an invalid handle will generate a STATUS_INVALID_HANDLE (0xC0000008) exception.

As with all anti-debugs that rely on information made directly available from the kernel (therefore involving a syscall), the only proper way to bypass the "CloseHandle" anti-debug is to either modify the syscall data from ring3, before it is called, or set up a kernel hook.

This anti-debug, though extremely powerful, does not seem to be widely used by malicious programs.

Example:
push offset @not_debugged
push dword fs:[0]
mov fs:[0], esp
push 1234h ;invalid handle
call CloseHandle
; if fall here, process is debugged
;...
@not_debugged:
;...

(6) Self-debugging

A process can detect it is being debugged by trying to debug itself, for instance by creating a new process, and calling kernel32!DebugActiveProcess(pid) on the parent process.

In turn, this API calls ntdll!DbgUiDebugActiveProcess which will call the syscall ZwDebugActiveProcess. If the process is already debugged, the syscall fails. Note that retrieving the parent process PID can be done with the toolhelp32 APIs (field th32ParentProcessID in the PROCESSENTRY32 structure.

(7) Kernel-mode timers

kernel32!QueryPerformanceCounter is an efficent anti-debug. This API calls ntdll!NtQueryPerformanceCounter which wraps the ZwQueryPerformanceCounter syscall.

Again, there is no easy way to circumvent this anti-tracing trick.

(8) User-mode timers

An API such as kernel32!GetTickCount returns the number of milliseconds ellapsed since the system started. The interesting thing is that it does not make use of kernel-related service to perform its duties. A user-mode process has this counter mapped in its address space. For 8Gb user-mode spaces, the value returned would be:

d[0x7FFE0000] * d[0x7FFE0004] / (2^24)

(9) kernel32!OutputDebugStringA

This anti-debug is quite original, I have encountered it only once, in files packed with ReCrypt v0.80. The trick consists of calling OutputDebugStringA, with a valid ASCII string. If the program is run under control of a debugger, the return value will be the address of the string passed as a parameter. In normal conditions, the return value should be 1.

Example:
xor eax, eax
push offset szHello
call OutputDebugStringA
cmp eax, 1
jne @DebuggerDetected
...

(10) Ctrl-C

When a console program is debugged, a Ctrl-C signal will throw a EXCEPTION_CTL_C exception, whereas the signal handler would be called directly is the program is not debugged.

Example:
push offset exhandler
push 1
call RtlAddVectoredExceptionHandler
push 1
push sighandler
call SetConsoleCtrlHandler
push 0
push CTRL_C_EVENT
call GenerateConsoleCtrlEvent
push 10000
call Sleep
push 0
call ExitProcess
exhandler:
;check if EXCEPTION_CTL_C, if it is,
;debugger detected, should exit process
;...
sighandler:
;continue
;...

- CPU anti-debug

(1) Rogue Int3

This is a classic anti-debug to fool weak debuggers. It consists of inserting an INT3 opcode in the middle of a valid sequence of instructions. When the INT3 is executed, if the program is not debugged, control will be given to the exception handler of the protection and execution will continue.

As INT3 instructions are used by debuggers to set software breakpoints, inserting INT3 opcodes can be used to trick the debugger into believing that it is one his breakpoints. Therefore, the control would not be given to the exception handler, and the course of the program would be modified. Debuggers should track where they set software breakpoints to avoid falling for this one.

Similarly, note that INT3 may be encoded as 0xCD, 0x03.

Example:
push offset @handler
push dword fs:[0]
mov fs:[0], esp
;...
db 0CCh
;if fall here, debugged
;...
@handler:
;continue execution
;...

(2) "Ice" Breakpoint

The so-called "Ice breakpoint" is one of Intel's undocumented instruction, opcode 0xF1. It is used to detect tracing programs.

Executing this instruction will generate a SINGLE_STEP exception. Therefore, if the program is already traced, the debugger will think it is the normal exception generated by executing the instruction with the SingleStep bit set in the Flags registers. The associated exception handler won't be executed, and execution will not continue as expected.
Bypassing this trick is easy: one can run over the instruction, instead and single-stepping on it. The exception will be generated, but since the program is not traced, the debugger should understand that it has to pass control to the exception handler.

Example:
push offset @handler
push dword fs:[0]
mov fs:[0], esp
;...
db 0F1h
;if fall here, traced
;...
@handler:
;continue execution
;...

(3) Interrupt 2Dh

Executing this interrupt if the program is not debugged will raise a breakpoint exception. If the program is debugged, and the instruction is not executed with the trace flag, no exception will be generated, and execution will carry on normally. If the program is debugged and the instruction traced, the following byte will be skipped, and execution will continue. Therefore, using INT 2Dh can be used as a powerful anti-debug and anti-tracer mechanism.
Example:
push offset @handler
push dword fs:[0]
mov fs:[0], esp
;...
db 02Dh
mov eax, 1 ;anti-tracing
;...
@handler:
;continue execution
;...

(4) Timestamp counters
High precision counters, storing the current number of CPU cycles executed since the machine started, can be queried with the RDTSC instruction. Classic anti-debugs consist of measuring time deltas at key points in the program, usually around exception handlers. If the delta is too large, that would mean the program runs under control of a debugger (processing the exception in the debugger, and giving control back to the debuggee is a lengthy task).

Example:
push offset handler
push dword ptr fs:[0]
mov fs:[0],esp
rdtsc
push eax
xor eax, eax
div eax ;trigger exception
rdtsc
sub eax, [esp] ;ticks delta
add esp, 4
pop fs:[0]
add esp, 4
cmp eax, 10000h ;threshold
jb @not_debugged
@debugged:
...
@not_debugged:
...
handler:
mov ecx, [esp+0Ch]
add dword ptr [ecx+0B8h], 2 ;skip div
xor eax, eax
ret

(5) Popf and the trap flag

The trap flag, located in the Flags register, controls the tracing of a program. If this flag is set, executing an instruction will also raise a SINGLE_STEP exception. The trap flag can be manipulated in order to thwart tracers. For instance, this sequence of instructions will set the trap flag:

pushf
mov dword [esp], 0x100
popf

If the program is being traced, this will have no real effect on the flags register, and the debugger will process the exception, believing it comes from regular tracing. The exception handler won't be executed. Circumventing this anti-tracer trick simply require to run over the pushf instruction.

(6) Stack Segment register

Here's a very original anti-tracer. I encountered it in a packer called MarCrypt. I believe it is not widely known, not to mention, used.
It consists of tracing over this sequence of instructions:

push ss
pop ss
pushf
nop

When tracing over pop ss, the next instruction will be executed but the debugger will not break on it, therefore stopping on the following instruction (NOP in this case).
Marcrypt uses this anti-debug the following way:

push ss
; junk
pop ss
pushf
; junk
pop eax
and eax, 0x100
or eax, eax
jnz @debugged
; carry on normal execution

The trick here is that, if the debugger is tracing over that sequence of instructions, popf will be excuted implicitly, and the debugger will not be able to unset the trapflag in the pushed value on the stack. The protection checks for the trap flag and terminates the program if it's found.
One simple way to circumvent this anti-tracing is to breakpoint on popf and run the program (to avoid using the TF flag).

(7) Debug registers manipulation

Debug registers (DR0 through DR7) are used to set hardware breakpoints. A protection can manipulate them to either detect that hardware breakpoints have been set (and therefore, that it is being debugged), reset them or set them to particular values used to perform code checks later. A packer such as tElock makes use of the debug registers to prevent reverse-engineers from using them.
From a user-mode perspective, debug registers cannot be set using the privileged 'mov drx, ...' instruction. Other ways exist:

- An exception can be generated, the thread context modified (it contains the CPU registers at the time the exception was thrown), and then resumed to normal execution with the new context.

- The other way is to use the NtGetContextThread and NtSetContextThread syscalls (available in kernel32 with GetThreadContext and SetThreadContext).

Most protectors use the first, "unofficial" way.

Example:
push offset handler
push dword ptr fs:[0]
mov fs:[0],esp
xor eax, eax
div eax ;generate exception
pop fs:[0]
add esp, 4
;continue execution
;...
handler:
mov ecx, [esp+0Ch] ;skip div
add dword ptr [ecx+0B8h], 2 ;skip div
mov dword ptr [ecx+04h], 0 ;clean dr0
mov dword ptr [ecx+08h], 0 ;clean dr1
mov dword ptr [ecx+0Ch], 0 ;clean dr2
mov dword ptr [ecx+10h], 0 ;clean dr3
mov dword ptr [ecx+14h], 0 ;clean dr6
mov dword ptr [ecx+18h], 0 ;clean dr7
xor eax, eax
ret

(8) Context modification

As with debug registers manipulation, the context can also be used to modify in an unconventionnal way the execution stream of a program. Debuggers can get easily confused!
Note that another syscall, NtContinue, can be used to load a new context in the current thread (for instance, this syscall is used by the exception handler manager).

- Uncategorized anti-debug

(1) TLS-callback

This anti-debug was not so well-known a few years ago. It consists to instruct the PE loader that the first entry point of the program is referenced in a Thread Local Storage entry (10th directory entry number in the PE optional header). By doing so, the program entry-point won't be executed first. The TLS entry can then perform anti-debug checks in a stealthy way.
Note that in practice, this technique is not widely used.
Though older debuggers (including OllyDbg) are not TLS-aware, counter-measures are quite easy to take, by the means of plugins of custom patcher tools.

(2) CC scanning

A common protection feature used by packers is the CC-scanning loop, aimed at detecting software breakpoints set by a debugger. If you want to avoid that kind of troubles, you may want to use either hardware breakpoints or a custom type of software breakpoint. CLI (0xFA) is a good candidate to replace the classic INT3 opcode. This instruction does have the requirements for the job: it raises a privileged instruction exception if executed by a ring3 program, and occupies only 1 byte of space.

(3) EntryPoint RVA set to 0

Some packed files have their entry point RVA set to 0, which means they will start executing 'MZ...' which corresponds to 'dec ebx / pop edx ...'.

This is not an anti-debug trick in itself, but can be annoying if you want to break on the entry-point by using a software breakpoint.

If you create a suspended process, then set an INT3 at RVA 0, you will erase part of the magic MZ value ('M'). The magic was checked when the process was created, but it will get checked again by ntdll when the process is resumed (in the hope of reaching the entry-point). In that case, an INVALID_IMAGE_FORMAT exception will be raised.

If you create your own tracing or debugging tool, you will want to use hardware breakpoint to avoid this problem.

[3] Conclusion

Knowing anti-debugging and anti-tracing techniques (un)commonly used by malware or protectors is useful knowledge for a reverse-engineer. A program will always have ways to find it is run in a debugger - the same applies for virtual or emulated environments, but since ring3 debuggers are some of the most common analysis tools used, knowing common tricks, and how to bypass them, will always prove useful.

[4] Links

MSDN
Portable Executable Tutorial, Matt Pietrek
Syscall Reference, The Metasploit Project
Undocumented Functions for MS Windows NT/2K
Intel Manuals
- Common exception codes - Microsoft Windows SDK, ntdll.h
- Status codes list (including common exception codes) - Microsoft Windows DDK, ntstatus.h
- Context Structures documentation - Microsoft Windows SDK, ntdll.h

[5] Data reference

- CONTEXT structure for IA32 processors
struct CONTEXT_IA32
{
// ContextFlags must be set to the appropriate CONTEXT_* flag
// before calling (Set|Get)ThreadContext
DWORD ContextFlags;

// CONTEXT_DEBUG_REGISTERS (not included in CONTEXT_FULL)
DWORD Dr0; // 04h
DWORD Dr1; // 08h
DWORD Dr2; // 0Ch
DWORD Dr3; // 10h
DWORD Dr6; // 14h
DWORD Dr7; // 18h

// CONTEXT_FLOATING_POINT
FLOATING_SAVE_AREA FloatSave;

// CONTEXT_SEGMENTS
DWORD SegGs; // 88h
DWORD SegFs; // 90h
DWORD SegEs; // 94h
DWORD SegDs; // 98h

// CONTEXT_INTEGER
DWORD Edi; // 9Ch
DWORD Esi; // A0h
DWORD Ebx; // A4h
DWORD Edx; // A8h
DWORD Ecx; // ACh
DWORD Eax; // B0h

// CONTEXT_CONTROL
DWORD Ebp; // B4h
DWORD Eip; // B8h
DWORD SegCs; // BCh (must be sanitized)
DWORD EFlags; // C0h
DWORD Esp; // C4h
DWORD SegSs; // C8h

// CONTEXT_EXTENDED_REGISTERS (processor-specific)
BYTE ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION];
};

- Process Environment Block structure (from The Wine Project)
struct PEB
{
BOOLEAN InheritedAddressSpace; // 00
BOOLEAN ReadImageFileExecOptions; // 01
BOOLEAN BeingDebugged; // 02
BOOLEAN SpareBool; // 03
HANDLE Mutant; // 04
HMODULE ImageBaseAddress; // 08
PPEB_LDR_DATA LdrData; // 0c
RTL_UPROCESS_PARAMETERS *ProcessParameters; // 10
PVOID SubSystemData; // 14
HANDLE ProcessHeap; // 18
PRTL_CRITICAL_SECTION FastPebLock; // 1c
PVOID /*PPEBLOCKROUTI*/ FastPebLockRoutine; // 20
PVOID /*PPEBLOCKROUTI*/ FastPebUnlockRoutine; // 24
ULONG EnvironmentUpdateCount; // 28
PVOID KernelCallbackTable; // 2c
PVOID EventLogSection; // 30
PVOID EventLog; // 34
PVOID /*PPEB_FREE_BLO*/ FreeList; // 38
ULONG TlsExpansionCounter; // 3c
PRTL_BITMAP TlsBitmap; // 40
ULONG TlsBitmapBits[2]; // 44
PVOID ReadOnlySharedMemoryBase; // 4c
PVOID ReadOnlySharedMemoryHeap; // 50
PVOID *ReadOnlyStaticServerData; // 54
PVOID AnsiCodePageData; // 58
PVOID OemCodePageData; // 5c
PVOID UnicodeCaseTableData; // 60
ULONG NumberOfProcessors; // 64
ULONG NtGlobalFlag; // 68
BYTE Spare2[4]; // 6c
LARGE_INTEGER CriticalSectionTimeout; // 70
ULONG HeapSegmentReserve; // 78
ULONG HeapSegmentCommit; // 7c
ULONG HeapDeCommitTotalFreeTh; // 80
ULONG HeapDeCommitFreeBlockTh; // 84
ULONG NumberOfHeaps; // 88
ULONG MaximumNumberOfHeaps; // 8c
PVOID *ProcessHeaps; // 90
PVOID GdiSharedHandleTable; // 94
PVOID ProcessStarterHelper; // 98
PVOID GdiDCAttributeList; // 9c
PVOID LoaderLock; // a0
ULONG OSMajorVersion; // a4
ULONG OSMinorVersion; // a8
ULONG OSBuildNumber; // ac
ULONG OSPlatformId; // b0
ULONG ImageSubSystem; // b4
ULONG ImageSubSystemMajorVersion; // b8
ULONG ImageSubSystemMinorVersion; // bc
ULONG ImageProcessAffinityMask; // c0
ULONG GdiHandleBuffer[34]; // c4
ULONG PostProcessInitRoutine; // 14c
PRTL_BITMAP TlsExpansionBitmap; // 150
ULONG TlsExpansionBitmapBits[32]; // 154
ULONG SessionId; // 1d4
};

- Thread Environment Block structure (from The Wine Project)
struct TEB
{
NT_TIB Tib; // 000 Info block
PVOID EnvironmentPointer; // 01c
CLIENT_ID ClientId; // 020 PID,TID
PVOID ActiveRpcHandle; // 028
PVOID ThreadLocalStoragePointer; // 02c
PEB *Peb; // 030
DWORD LastErrorValue; // 034
ULONG CountOfOwnedCriticalSections; // 038
PVOID CsrClientThread; // 03c
PVOID Win32ThreadInfo; // 040
ULONG Win32ClientInfo[0x1f]; // 044
PVOID WOW32Reserved; // 0c0
ULONG CurrentLocale; // 0c4
ULONG FpSoftwareStatusRegister; // 0c8
PVOID SystemReserved1[54]; // 0cc
PVOID Spare1; // 1a4
LONG ExceptionCode; // 1a8
BYTE SpareBytes1[40]; // 1ac
PVOID SystemReserved2[10]; // 1d4
DWORD num_async_io; // 1fc
ULONG_PTR dpmi_vif; // 200
DWORD vm86_pending; // 204
DWORD pad6[309]; // 208
ULONG gdiRgn; // 6dc
ULONG gdiPen; // 6e0
ULONG gdiBrush; // 6e4
CLIENT_ID RealClientId; // 6e8
HANDLE GdiCachedProcessHandle; // 6f0
ULONG GdiClientPID; // 6f4
ULONG GdiClientTID; // 6f8
PVOID GdiThreadLocaleInfo; // 6fc
PVOID UserReserved[5]; // 700
PVOID glDispachTable[280]; // 714
ULONG glReserved1[26]; // b74
PVOID glReserved2; // bdc
PVOID glSectionInfo; // be0
PVOID glSection; // be4
PVOID glTable; // be8
PVOID glCurrentRC; // bec
PVOID glContext; // bf0
ULONG LastStatusValue; // bf4
UNICODE_STRING StaticUnicodeString; // bf8
WCHAR StaticUnicodeBuffer[261]; // c00
PVOID DeallocationStack; // e0c
PVOID TlsSlots[64]; // e10
LIST_ENTRY TlsLinks; // f10
PVOID Vdm; // f18
PVOID ReservedForNtRpc; // f1c
PVOID DbgSsReserved[2]; // f20
ULONG HardErrorDisabled; // f28
PVOID Instrumentation[16]; // f2c
PVOID WinSockData; // f6c
ULONG GdiBatchCount; // f70
ULONG Spare2; // f74
ULONG Spare3; // f78
ULONG Spare4; // f7c
PVOID ReservedForOle; // f80
ULONG WaitingOnLoaderLock; // f84
PVOID Reserved5[3]; // f88
PVOID *TlsExpansionSlots; // f94
};

- NtGlobalFlags
FLG_STOP_ON_EXCEPTION 0x00000001
FLG_SHOW_LDR_SNAPS 0x00000002
FLG_DEBUG_INITIAL_COMMAND 0x00000004
FLG_STOP_ON_HUNG_GUI 0x00000008
FLG_HEAP_ENABLE_TAIL_CHECK 0x00000010
FLG_HEAP_ENABLE_FREE_CHECK 0x00000020
FLG_HEAP_VALIDATE_PARAMETERS 0x00000040
FLG_HEAP_VALIDATE_ALL 0x00000080
FLG_POOL_ENABLE_TAIL_CHECK 0x00000100
FLG_POOL_ENABLE_FREE_CHECK 0x00000200
FLG_POOL_ENABLE_TAGGING 0x00000400
FLG_HEAP_ENABLE_TAGGING 0x00000800
FLG_USER_STACK_TRACE_DB 0x00001000
FLG_KERNEL_STACK_TRACE_DB 0x00002000
FLG_MAINTAIN_OBJECT_TYPELIST 0x00004000
FLG_HEAP_ENABLE_TAG_BY_DLL 0x00008000
FLG_IGNORE_DEBUG_PRIV 0x00010000
FLG_ENABLE_CSRDEBUG 0x00020000
FLG_ENABLE_KDEBUG_SYMBOL_LOAD 0x00040000
FLG_DISABLE_PAGE_KERNEL_STACKS 0x00080000
FLG_HEAP_ENABLE_CALL_TRACING 0x00100000
FLG_HEAP_DISABLE_COALESCING 0x00200000
FLG_VALID_BITS 0x003FFFFF
FLG_ENABLE_CLOSE_EXCEPTION 0x00400000
FLG_ENABLE_EXCEPTION_LOGGING 0x00800000
FLG_ENABLE_HANDLE_TYPE_TAGGING 0x01000000
FLG_HEAP_PAGE_ALLOCS 0x02000000
FLG_DEBUG_WINLOGON 0x04000000
FLG_ENABLE_DBGPRINT_BUFFERING 0x08000000
FLG_EARLY_CRITICAL_SECTION_EVT 0x10000000
FLG_DISABLE_DLL_VERIFICATION 0x80000000
이올린에 북마크하기

Posted by Dual

2007/10/08 13:52 2007/10/08 13:52
Response
257 Trackbacks , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/301

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/301

Trackbacks List

  1. Tramadol for dogs side effects.

    Tracked from Tramadol side effects. 2009/08/26 10:59 Delete

    Side effects tramadol.

  2. Percocet.

    Tracked from Percocet. 2009/08/26 11:52 Delete

    Percocet.

  3. No prescription generic xanax.

    Tracked from Pharmacy order generic xanax. 2009/08/27 00:03 Delete

    Generic xanax no prescription. Generic xanax 2 mg no prescription. No prescription xanax generic. Generic xanax.

  4. Buy tramadol amex.

    Tracked from Buy tramadol. 2009/08/27 09:06 Delete

    Buy tramadol the lowest prices chtiblog com. Buy tramadol.

  5. Buy xanax online.

    Tracked from Buy xanax online. 2009/08/28 13:10 Delete

    Buy xanax online.

  6. Cheap phentermine guaranteed best prices.

    Tracked from Cheap phentermine. 2009/08/28 22:50 Delete

    Phentermine cheap.

  7. Tramadol.

    Tracked from Tramadol. 2009/08/29 08:21 Delete

    Tramadol addiction. Tramadol without prescription. Tramadol overnight. Cheap tramadol. Tramadol.

  8. Buy vicodin no prescription.

    Tracked from Buy vicodin online without a prescription. 2009/08/29 22:16 Delete

    Buy vicodin no rx. Buy 15mg vicodin with a doctor consent. Buy vicodin online. Buy vicodin without script. Buy vicodin.

  9. Where to buy oxycontin.

    Tracked from Buy oxycontin online. 2009/08/30 08:31 Delete

    Buy oxycontin. Buy oxycontin without membership. Buy oxycontin online.

  10. Buy percocet online.

    Tracked from Buy percocet online. 2009/08/30 17:20 Delete

    Buy percocet online. Buy percocet online without office visit.

  11. Buy alprazolam without prescription.

    Tracked from Alprazolam without prescription. 2009/08/31 04:06 Delete

    Alprazolam without prescription. Alprazolam no prescription.

  12. Xanax generic non-prescription.

    Tracked from Generic xanax 2 mg no prescription. 2009/08/31 15:46 Delete

    Generic xanax no prescription. Xanax no prescription. Buy xanax prescription provided.

  13. Tramadol.

    Tracked from Cheap tramadol. 2009/09/01 00:03 Delete

    Tramadol prescription. Tramadol hydrochloride. Buy tramadol. Tramadol. Tramadol overdose.

  14. Alprazolam without prescription.

    Tracked from Alprazolam without prescription. 2009/09/01 15:57 Delete

    Alprazolam no prescription.

  15. Vicodin at overseas pharmacies.

    Tracked from Vicodin. 2009/09/01 16:13 Delete

    Easing symptoms of vicodin withdrawal. Buy vicodin.

  16. Alprazolam.

    Tracked from Alprazolam. 2009/09/02 07:59 Delete

    Alprazolam.

  17. Percocet withdrawal symptoms.

    Tracked from Percocet. 2009/09/02 08:27 Delete

    Effects of long term percocet use. Percocet addiction. How can i identify a percocet 10. Long term use of percocet. Percocet.

  18. Buy oxycontin.

    Tracked from Oxycontin. 2009/09/02 23:34 Delete

    Oxycontin attorney ohio. Hartford oxycontin lawyers. Lil wyte oxycontin.

  19. Beer and xanax.

    Tracked from Buy 180 xanax 2mg. 2009/09/03 10:15 Delete

    How to cut down on xanax. Buy cheap generic xanax. Xanax.

  20. Hydrocodone.

    Tracked from Buying hydrocodone without a prescription. 2009/09/03 10:31 Delete

    Hydrocodone. Buy hydrocodone.

  21. Buy oxycontin online.

    Tracked from Buy oxycontin without membership. 2009/09/04 10:52 Delete

    Buy oxycontin. Buy oxycontin without membership. Buy oxycontin pills.

  22. Drugs online cheap hydrocodone buy.

    Tracked from Buy hydrocodone online. 2009/09/04 22:06 Delete

    Buy hydrocodone online. Buy hydrocodone online without a prescription. Drugs online cheap hydrocodone buy.

  23. Xanax.

    Tracked from Xanax. 2009/09/06 03:14 Delete

    Lethal blood levels of xanax. Can you buy xanax without a prescription. Cheap generic xanax 2mg bars. Xanax. Xanax withdrawal symptom. Ativan xanax valuim trial pack. Xanax without prescription.

  24. Can dogs take hydrocodone.

    Tracked from Hydrocodone side effects. 2009/09/06 13:06 Delete

    Easy way to buy hydrocodone online.

  25. Buy cheap xanax.

    Tracked from Side effects of drug xanax. 2009/09/07 14:07 Delete

    Side effects of drug xanax. No rx online xanax. Xanax no prior rx needed.

  26. Buy oxycontin.

    Tracked from Buy oxycontin online. 2009/09/07 21:16 Delete

    Buy oxycontin.

  27. Hydrocodone.

    Tracked from Buy hydrocodone online. 2009/09/07 23:02 Delete

    Hydrocodone. Hydrocodone apap. Buy hydrocodone without a prescription. Hydrocodone drugs. Hydrocodone withdrawal.

  28. Signs of vicodin addictio.

    Tracked from Buy vicodin. 2009/09/08 16:18 Delete

    Vicodin side effects. Vicodin. Vicodin without prescription. Vicodin military urinalysis.

  29. Cheap phentermine.

    Tracked from Cheap phentermine. 2009/09/09 01:40 Delete

    Cheap phentermine. Buy cheap online phentermine. Guestcity phentermine cheap phentermine. Buy cheap phentermine.

  30. Buy xanax online.

    Tracked from Ambien buy link online xanax. 2009/09/09 10:07 Delete

    Buy xanax online. Buy xanax online with no prescription.

  31. Buy oxycontin without prior prescription.

    Tracked from Buy oxycontin. 2009/09/09 18:47 Delete

    Buy oxycontin. Buy oxycontin online. Buy oxycontin pills.

  32. Effects of hydrocodone.

    Tracked from Hydrocodone. 2009/09/10 11:31 Delete

    Hydrocodone. Cheap hydrocodone. Hydrocodone lortab no prescription.

  33. Cheap ... phentermine cod url.

    Tracked from Cheap phentermine diet pill. 2009/09/15 00:40 Delete

    Cheap phentermine. Cheap phentermine online. Cheap phentermine cod.

  34. Online pharmacy oxycontin.

    Tracked from Online pharmacy oxycontin. 2009/09/16 03:12 Delete

    Online pharmacy oxycontin.

  35. Online hydrocodone.

    Tracked from Buy hydrocodone online. 2009/09/16 16:34 Delete

    Easy way to buy hydrocodone online. Drugs online cheap hydrocodone buy. Buy hydrocodone online consultation. Hydrocodone online. Buy hydrocodone online.

  36. Phentermine diet pills.

    Tracked from Phentermine diet pills. 2009/09/18 18:18 Delete

    Phentermine diet pills. Phentermine diet pills side effects. Phentermine diet pills shipped cod. Phentermine diet pills diet pills.

  37. Online pharmacy oxycontin.

    Tracked from Online pharmacy oxycontin. 2009/09/26 20:04 Delete

    Online pharmacy oxycontin.

  38. Cheap xanax.

    Tracked from Xanax prescription. 2009/09/27 11:35 Delete

    Generic xanax. Buy xanax. Xanax. Xanax dosage.

  39. Buy phentermine cod.

    Tracked from Phentermine delivered cod next day. 2009/09/28 09:21 Delete

    Buy phentermine cod.

  40. Hydrocodone.

    Tracked from Hydrocodone. 2009/09/29 11:47 Delete

    Hydrocodone. Online prescription for hydrocodone. Buy hydrocodone no prescription. Still taking hydrocodone while pregnant. Coming off of hydrocodone. Hydrocodone without persciption.

  41. Online pharmacy oxycontin.

    Tracked from Online pharmacy oxycontin. 2009/09/29 21:25 Delete

    Online pharmacy oxycontin.

  42. Hydrocodone scams.

    Tracked from Hydrocodone. 2009/09/30 15:09 Delete

    Hydrocodone without a prescription. Hydrocodone. Hydrocodone online.

  43. Hydrocodone.

    Tracked from Hydrocodone extraction. 2009/10/01 04:07 Delete

    Hydrocodone. Easy way to buy hydrocodone online. Hydrocodone m357. Purchase hydrocodone online. I took hydrocodone thru entire pregnancy. Hydrocodone withdrawal.

  44. Cheap tramadol.

    Tracked from Tramadol side effects. 2009/10/01 13:39 Delete

    Cheap tramadol.

  45. Buy xanax online no prescriptions.

    Tracked from Buy xanax online. 2009/10/02 03:25 Delete

    Buy xanax online. Buy xanax online without a prescription.

  46. Hydrocodone.

    Tracked from Purchase hydrocodone without a prescription. 2009/10/03 05:35 Delete

    Hydrocodone. Easy way to buy hydrocodone online. Hydrocodone drug testing. Hydrocodone side effects of withdrawal. Hydrocodone cough syrup.

  47. Hydrocodone apap5mg 500mg.

    Tracked from Hydrocodone. 2009/10/04 06:49 Delete

    Hydrocodone. 3190 v hydrocodone.

  48. Apap codeine 300 30.

    Tracked from Apap codeine pill. 2009/10/05 23:35 Delete

    Apap codeine. What is apap codeine. Apap codeine info.

  49. Drug valium.

    Tracked from Buy valium c.o.d.. 2009/10/06 14:40 Delete

    Valium no prescription. Diazepam valium and diarrhea. Buy valium. Valium. Order valium online.

  50. Buy ultram.

    Tracked from Buy ultram. 2009/10/06 19:27 Delete

    Buy ultram.

  51. When amoxicillin works for acne.

    Tracked from Amoxicillin. 2009/10/07 08:47 Delete

    Correct dosage amoxicillin 500 mg. Buy amoxicillin with no prescription.

  52. Apap with codeine.

    Tracked from Apap codeine. 2009/10/07 13:50 Delete

    Apap codeine patient assistance. Apap codeine. Apap codeine 300.

  53. Ultram er.

    Tracked from Ultram er 100 mg. 2009/10/07 23:02 Delete

    Ultram er. What is ultram er.

  54. Half-life of ativan.

    Tracked from Ativan and half life. 2009/10/08 18:12 Delete

    Ativan half life.

  55. Lorazepam us no prescription buy.

    Tracked from Buy lorazepam. 2009/10/09 00:52 Delete

    Buy lorazepam no prescription overseas. Buy lorazepam.

  56. Buy lorazepam.

    Tracked from Buy lorazepam. 2009/10/09 11:46 Delete

    Buy lorazepam.

  57. Buy xanax cheap medication 34437.

    Tracked from Buy xanax. 2010/12/17 12:25 Delete

    Generic xanax. Buy xanax. Cheap xanax. Xanax bars. Discount xanax online.

  58. Buy valium.

    Tracked from Buy valium. 2011/03/14 15:41 Delete

    Buy valium.

  59. Buy ambien without a prescription.

    Tracked from Buy ambien. 2011/03/14 15:48 Delete

    Buy ambien cr. Buy ambien for cheap. Buy ambien online.

  60. Lorazepam.

    Tracked from Lorazepam. 2011/03/14 16:16 Delete

    Lorazepam.

  61. Buy ambien.

    Tracked from Buy ambien. 2011/03/14 16:59 Delete

    Buy ambien.

  62. Buy meridia online.

    Tracked from Buy cheap meridia online pharmacy. 2011/03/15 06:01 Delete

    Buy meridia. Buy meridia online. Meridia buy. Buy cheap meridia. Buying meridia online. Where to buy meridia. Buy meridia on line.

  63. Clonazepam.

    Tracked from Clonazepam. 2011/03/15 17:42 Delete

    Clonazepam.

  64. Buy duromine.

    Tracked from Buy duromine. 2011/03/15 18:39 Delete

    Buy duromine.

  65. .175 dosage of levothyroxine.

    Tracked from Precautions levothyroxine hepatitis. 2011/03/16 04:03 Delete

    Dosage for levothyroxine. Side effects of levothyroxine. Buy armour levothyroxine. What does levothyroxine tablet look like. Is levothyroxine the same as synthroid. .175 mu l of levothyroxine. Natural levothyroxine. What is levothyroxine used for.

  66. Codeine.

    Tracked from Buy codeine online without a prescription. 2011/03/16 05:55 Delete

    Codeine facts.

  67. Vicodin.

    Tracked from Vicodin. 2011/03/16 18:21 Delete

    Vicodin.

  68. Fioricet.

    Tracked from Fioricet. 2011/03/16 19:55 Delete

    Fioricet.

  69. Ativan.

    Tracked from Ativan. 2011/03/16 20:08 Delete

    Ativan.

  70. Fioricet.

    Tracked from Cheap fioricet. 2011/03/17 07:32 Delete

    Fioricet. Generic fioricet. Fioricet delivered on saturday.

  71. Nolvadex.

    Tracked from Nolvadex. 2011/03/17 12:38 Delete

    Nolvadex.

  72. Buy ativan.

    Tracked from Buy ativan. 2011/03/17 13:26 Delete

    Buy ativan.

  73. Fioricet.

    Tracked from Fioricet. 2011/03/18 01:03 Delete

    Fioricet.

  74. Soma.

    Tracked from Soma. 2011/03/18 12:06 Delete

    Soma.

  75. Codeine.

    Tracked from Codeine. 2011/03/18 13:59 Delete

    Codeine.

  76. Buy oxycodone.

    Tracked from Buy oxycodone. 2011/03/18 17:53 Delete

    Buy oxycodone.

  77. Buy soma online.

    Tracked from Discount soma. 2011/03/19 00:41 Delete

    Soma. Buy soma online. Soma online. Drug soma.

  78. Codeine.

    Tracked from Codeine. 2011/03/19 11:18 Delete

    Codeine.

  79. Azithromycin.

    Tracked from Azithromycin. 2011/03/19 14:05 Delete

    Azithromycin.

  80. Nolvadex.

    Tracked from Nolvadex. 2011/03/20 00:06 Delete

    Nolvadex.

  81. Buy vicodin.

    Tracked from Buy vicodin. 2011/03/20 01:30 Delete

    Buy vicodin.

  82. Buying lortab without a prescription.

    Tracked from Buy lortab online no perscription. 2011/03/20 12:37 Delete

    Buying lortab. Buy cheap lortab medication international 35381. Buying lortab without a prescription. Buy lortab online no prescription. Buy lortab 10 online. Buy lortab online. Buy online lortab with no doctor. Buy lortab.

  83. Lorazepam 1mg.

    Tracked from Lorazepam. 2011/03/20 23:07 Delete

    Lorazepam withdrawal. Side effects of lorazepam. Buy lorazepam online. Clinical trial lorazepam. Lorazepam and thirst. Description of lorazepam. Lorazepam.

  84. Order butalbital overnight no prescription.

    Tracked from Order butalbital overnight no prescription. 2011/03/21 08:47 Delete

    Butalbital asa no prescription. Order butalbital overnight no prescription. Butalbital no prescription order.

  85. Buy carisoprodol.

    Tracked from Buy carisoprodol. 2011/03/21 10:19 Delete

    Buy carisoprodol.

  86. Clonazepam.

    Tracked from Clonazepam wikipedia the free encyclopedia. 2011/03/21 20:54 Delete

    Clonazepam.

  87. Cheap fioricet online.

    Tracked from Generic fioricet. 2011/03/21 23:18 Delete

    Fioricet. Fioricet overnight. Generic fioricet.

  88. Buy vicodin.

    Tracked from Buy vicodin online. 2011/03/22 01:18 Delete

    Vicodin buy.

  89. Buy adipex.

    Tracked from Buy adipex now. 2011/03/22 03:43 Delete

    Buy adipex at best online pharmacies forum. Buy adipex online order cheap adipex now. Buy adipex. Buy adipex online. Buy adipex best prices fast shipping. Adipexstores com buy adipex online.

  90. Adipex online.

    Tracked from Adipex. 2011/03/22 10:52 Delete

    Adipex without prescription.

  91. Buy valtrex without prescription.

    Tracked from Buy valtrex. 2011/03/22 12:41 Delete

    Buy valtrex online. Buy valtrex.

  92. Soma.

    Tracked from Soma. 2011/03/22 22:09 Delete

    Soma. Rise against soma tickets. Aura soma bottles.

  93. Ephedrine yellow swarm.

    Tracked from Ephedrine. 2011/03/23 14:13 Delete

    Ephedrine diet pills.

  94. Cheap soma.

    Tracked from Soma long term effects. 2011/03/23 20:14 Delete

    Soma drug testing. Psyche and soma operate as a duality. Soma. Addiction to soma. Suicide with soma how many does it take. Soma sen. Soma medication.

  95. Elavil.

    Tracked from Elavil. 2011/03/24 10:48 Delete

    Elavil atenolol interaction. Elavil. Elavil dosage.

  96. Buy percocet online without office visit.

    Tracked from Buy percocet online. 2011/03/24 12:40 Delete

    Buying percocet without membership. Buy percocet. Buy rx percocet without rx. Buy percocet without a presription. Buy percocet online.

  97. Adipex.

    Tracked from Online pharmacy adipex. 2011/03/24 19:59 Delete

    Review adipex. Adipex diet pills. Cheap adipex. Adipex hurt me. Phentermine adipex bontril didrex.

  98. Ephedrine.

    Tracked from Ephedrine. 2011/03/24 22:01 Delete

    Ephedrine. Ephedrine hcl gel tabs. Ephedrine plus. Ephedrine cheap.

  99. Buy duromine no script.

    Tracked from Buy duromine online. 2011/03/25 10:55 Delete

    Buy duromine online. Buy 40mg duromine.

  100. Buy oxycontin pills.

    Tracked from Buy oxycontin. 2011/03/25 13:14 Delete

    Buy oxycontin. Buy cheap oxycontin.

  101. Purchase azithromycin.

    Tracked from Azithromycin for urethritis. 2011/03/25 20:09 Delete

    Purchase azithromycin. Azithromycin chlamydia. Alcohol and azithromycin. Azithromycin. Azithromycin buy.

  102. Buy zolpidem stilnoct in uk.

    Tracked from Buy zolpidem. 2011/03/25 23:03 Delete

    Buy zolpidem. Buying zolpidem fedex.

  103. Buy codeine no prescription free delivery.

    Tracked from Buy codeine online. 2011/03/26 05:23 Delete

    Buy codeine online. Buy liquid codeine. Buy codeine message board. Buy codeine no prescription free delivery.

  104. Adipex for sale.

    Tracked from Adipex no prescription. 2011/03/26 09:37 Delete

    Adipex phentermine vs. Rx adipex.

  105. Vicodin no prescriptionon.

    Tracked from Vicodin no prescriptionon. 2011/03/26 20:07 Delete

    Vicodin no prescriptionon.

  106. Adipex.

    Tracked from Adipex no prescription. 2011/03/26 22:13 Delete

    Adipex no prescription.

  107. Duromine.

    Tracked from Duromine 30 mg. 2011/03/27 07:50 Delete

    Duromine pills. Duromine.

  108. Fioricet.

    Tracked from Fioricet 120. 2011/03/27 10:16 Delete

    Fioricet. Fioricet and blood work. No prescription soma fioricet. Fioricet online. Hard to annunciate fioricet codeine.

  109. Ephedrine salt lick.

    Tracked from Ephedrine products. 2011/03/27 20:19 Delete

    Ephedrine. Ephedrine p57. Ephedrine plus. Ephedrine faq. Ephedrine hydrochloride.

  110. Oxycodone.

    Tracked from Delirium elderly oxycodone. 2011/03/27 23:16 Delete

    Symptoms of overdosing on oxycodone. Oxycodone hci cr.

  111. Codeine.

    Tracked from Extract codeine. 2011/03/28 09:33 Delete

    Liquid codeine how to make.

  112. Phentermine.

    Tracked from Discount phentermine. 2011/03/28 10:34 Delete

    Cheap phentermine online.

  113. Ephedrine ingredients.

    Tracked from Ephedrine. 2011/03/28 21:13 Delete

    Ephedrine. Ephedrine hcl. Vasopro ephedrine hcl. Krebs ephedrine.

  114. Buy meridia buy cheap meridia online.

    Tracked from Pillinc buy phentermine adipex meridia online. 2011/03/29 00:14 Delete

    Buy meridia. Pillinc buy phentermine adipex meridia online. Meridia buy cheap meridia online. Meridia information gt gt buy meridia.

  115. Duromine information.

    Tracked from What does duromine look like. 2011/03/29 07:36 Delete

    Duromine picture. Duromine.

  116. Fioricet cod.

    Tracked from Fioricet. 2011/03/29 16:15 Delete

    Fioricet. Drug fioricet. Generic fioricet.

  117. Fioricet.

    Tracked from Fioricet. 2011/03/29 20:47 Delete

    Fioricet. Cheapest fioricet. Fioricet online. Info on fioricet abuse.

  118. Buy oxycodone with out prescription.

    Tracked from Buy oxycodone. 2011/03/30 01:08 Delete

    Buy oxycodone online without rx. Buy oxycodone 30mg. Buy oxycodone. Buy oxycodone with no rx. Buy cheap oxycodone without rx. Buy oxycodone online now. Buying oxycodone online.

  119. Mg buy phentermine.

    Tracked from Buy phentermine overnight. 2011/03/30 09:09 Delete

    Buy phentermine overnight cod. Buy phentermine online discount cheap pharmacy. Mg buy phentermine.

  120. Adderall.

    Tracked from Abuse of adderall. 2011/03/30 17:13 Delete

    Adderall. Get adderall xr without a prescription. Adderall without a prescription. Adderall the same as desoxyn. Adderall xr. Adderall abuse.

  121. Ativan.

    Tracked from Order ativan online consultation. 2011/03/30 17:34 Delete

    Lorazepam ativan pharmacology healthyplace com. Ativan without prescription. Ativan stay in urine. Ativan side effects. Suicide lortab ativan. Ativan purchase. Ativan.

  122. Codeine facts.

    Tracked from Codeine extraction. 2011/03/31 00:11 Delete

    How long does codeine stay in your system. Liquid codeine how to make. Promethazine with codeine. Codeine vicodin.

  123. No prescription ativan.

    Tracked from Ativan. 2011/03/31 09:42 Delete

    Ativan side effects. Buy medication ativan cheap 34542 buy. Post launch market information of ativan. Ativan.

  124. Buy oxycodone online.

    Tracked from Buy oxycodone without prescription. 2011/03/31 09:46 Delete

    Buy oxycodone without a prescription. Buy oxycodone online. Buy oxycodone without prescription.

  125. Buy c heap phentermine online.

    Tracked from Buy online phentermine. 2011/04/01 00:40 Delete

    Buy cheap phentermine. Buy c heap phentermine online. Buy phentermine mg. Buy phentermine on line. Buy phentermine.

  126. Too much levothyroxine.

    Tracked from Levoxyl vs levothyroxine. 2011/04/01 04:13 Delete

    Purchase levothyroxine. Levothyroxine weight loss. Levothyroxine herb. Levothyroxine. Levothyroxine abbreviated.

  127. Buy cheap generic fioricet.

    Tracked from Buy fioricet. 2011/04/01 10:14 Delete

    Buy domain fioricet tramadol. Buy fioricet weight loss. Buy fioricet. Search php buy fioricet online.

  128. Buy valium online.

    Tracked from Buy valium. 2011/04/01 19:21 Delete

    Buy valium online. Buy valium.

  129. Vicodin without a prescription.

    Tracked from Buy vicodin. 2011/04/01 20:19 Delete

    Vicodin consultation. Dangers of vicodin. Vicodin side effects.

  130. No prescription tramadol.

    Tracked from Tramadol no prescription. 2011/04/02 01:43 Delete

    Tramadol no prescription. Cheap tramadol no prescription. No prescription medications cheap tramadol vallium.

  131. What is carisoprodol.

    Tracked from Order soma carisoprodol. 2011/04/02 16:49 Delete

    Cheap carisoprodol. Soma carisoprodol. Carisoprodol phentermine yellow. Carisoprodol. Order carisoprodol.

  132. Fioricet phentermine shipping.

    Tracked from Fioricet. 2011/04/03 00:07 Delete

    Fioricet. Fioricet side effects. Fioricet perscriptions. Fioricet and blood work.

  133. Oxycodone addiction.

    Tracked from Oxycodone addiction. 2011/04/03 07:09 Delete

    Oxycodone addiction. Buy oxycodone. Emedicine oxycodone. Oxycodone.

  134. No prescription adderall.

    Tracked from Buy adderall no prescription. 2011/04/03 10:15 Delete

    Buy adderall online no prescription needed.

  135. Xanax.

    Tracked from Xanax. 2011/04/03 17:50 Delete

    Buy xanax. Xanax. Buy xanax online.

  136. Azithromycin.

    Tracked from Azithromycin. 2011/04/03 23:12 Delete

    What is azithromycin. Penicillin and azithromycin reactions. Azithromycin and menstrual period. Azithromycin. Buy azithromycin. Sinusitis azithromycin.

  137. Phenergan and codeine.

    Tracked from Codeine. 2011/04/04 07:53 Delete

    Lean codeine. Cheap codeine no prescription.

  138. Buy meridia.

    Tracked from Pillinc buy phentermine adipex meridia online. 2011/04/04 08:43 Delete

    Buy meridia. Buy meridia online information buy meridia online. Pillinc buy phentermine adipex meridia online. Buy meridia cheap. Buy cheap meridia. Where can i buy meridia cheap.

  139. Buy valtrex.

    Tracked from Buy valtrex. 2011/04/04 18:07 Delete

    Buy valtrex no prescription. Valtrex buy online. Buy valtrex.

  140. Meridia venezuela.

    Tracked from Meridia. 2011/04/04 18:11 Delete

    Meridia back pain. Meridia. Pillinc buy phentermine adipex meridia online. Meridia overnight. Does meridia really work.

  141. Phentermine prescription.

    Tracked from Buy phentermine online without a prescription. 2011/04/05 06:22 Delete

    Phentermine no prescription. Phentermine 37.5 mg online prescription mastercard. Phentermine prescription online 2.

  142. Ephedrine buy online cheap.

    Tracked from Ephedrine to buy. 2011/04/05 06:49 Delete

    Buy ephedrine. Buy ephedrine hcl guafenison. Buy ephedrine hcl. Ephedrine buy online cheap. Ephedrine to buy.

  143. Crushing oxycodone.

    Tracked from Oxycodone 5 325. 2011/04/05 15:51 Delete

    Online pharmacy oxycodone. Oxycodone extraction gel. Oxycodone.

  144. Duromine.

    Tracked from Duromine. 2011/04/05 16:18 Delete

    Duromine dependency. Duromine dosage. Duromine. Duromine 30 mg.

  145. Pseudo ephedrine and prescott pharmacy.

    Tracked from P-ephedrine- guaifen la ta. 2011/04/06 00:51 Delete

    Ephedrine weight loss products. Ephedrine. Ephedrine pills. Lipodrene with ephedrine. Biotek ephedrine. Extracting ephedrine.

  146. Buy phentermine online no prescription.

    Tracked from Buy phentermine online buy. 2011/04/06 02:51 Delete

    Buy phentermine in canada. Buy phentermine online shipping free. Phentermine diet pills buy online. Buy phentermine online with paypal. Buy ph... phentermine 37 url. Buy phentermine on line to nevada. Buy phentermine.

  147. No prescription adderall.

    Tracked from Adderall no prescription. 2011/04/06 15:22 Delete

    Adderall no online pharmacy prescription. Buy adderall no prescription. Online pharmacy no prescription adderall. No prescription adderall. Adderall no prescription.

  148. Elavil.

    Tracked from Elavil. 2011/04/06 17:21 Delete

    Elavil.

  149. Ephedrine.

    Tracked from Ephedrine. 2011/04/07 00:55 Delete

    Does cylaris contain ephedrine. Ephedrine diet pills. Ephedrine. Ephedrine hcl. Ephedrine faq. Vasopro ephedrine hcl. Ephedrine hydrochloride. Turning ephedrine into amphetamines.

  150. Percocet addiction.

    Tracked from Percocet addiction. 2011/04/07 03:18 Delete

    Buy percocet. Percocet. Percocet addiction.

  151. Buy tramadol.

    Tracked from Buy tramadol online. 2011/04/07 15:09 Delete

    Buy tramadol online cod. Buy tramadol. Buy generic tramadol no prescription. Buy cheap tramadol online 35009 buy.

  152. Buy duromine online.

    Tracked from Buy duromine online. 2011/04/07 19:12 Delete

    Buy duromine online. Duromine buy online. Duromine buy on line no prescription. Buy duromine no script.

  153. Fioricet morphine.

    Tracked from Fioricet. 2011/04/08 01:53 Delete

    Fioricet. Cheapest fioricet.

  154. Hydrocodone.

    Tracked from Hydrocodone. 2011/04/08 03:54 Delete

    Hydrocodone homa methyl. Hydrocodone.

  155. Tramadol.

    Tracked from Cheap tramadol. 2011/04/08 06:35 Delete

    Cheap tramadol without prescription. Buy cheap tramadol. Tramadol hcl.

  156. Butalbital no prescription.

    Tracked from Butalbital no prescription. 2011/04/08 15:18 Delete

    Butalbital no prescription.

  157. Buy generic fioricet.

    Tracked from Buy generic fioricet. 2011/04/08 17:42 Delete

    Buy generic fioricet. Buy fioricet with codeine online. Buy fioricet. Buy fioricet online free fedex.

  158. Adipex.

    Tracked from Buy cheap adipex. 2011/04/09 00:09 Delete

    Adipex.

  159. Buy clonazepam.

    Tracked from Buy clonazepam online. 2011/04/09 03:14 Delete

    Buy clonazepam online no prescription.

  160. Buy clonazepam online.

    Tracked from Buy clonazepam online no prescription. 2011/04/09 12:11 Delete

    Buy clonazepam online no prescription. Buy clonazepam online.

  161. Buy alprazolam uk.

    Tracked from Buy alprazolam uk. 2011/04/09 15:08 Delete

    Buy alprazolam without prescription. Buy alprazolam 2mg bars.

  162. Cheap lorazepam.

    Tracked from Lorazepam 1 mg. 2011/04/10 00:43 Delete

    Lorazepam lethal dosages. Apo lorazepam. Lorazepam y 57. Metabolic action of lorazepam. Does apo-lorazepam 1mg help you loss weight. Lorazepam.

  163. Buy duromine.

    Tracked from Buy duromine. 2011/04/10 03:19 Delete

    Buy duromine.

  164. Buy xanax.

    Tracked from 2mg xanax. 2011/04/10 07:07 Delete

    Buy xanax. Buy xanax no prescription. Xanax without prescription. Buy xanax usa pharmacy overnight.

  165. Tramadol.

    Tracked from Cheap tramadol. 2011/04/10 08:11 Delete

    Hydrochloride tramadol. Tramadol. Tramadol hcl.

  166. Ambien is the best.

    Tracked from Ambien and libido. 2011/04/10 12:14 Delete

    Ambien without prescription. Ambien side effects. Purchase ambien without a prescription. Ambien.

  167. Interactions between elavil and geodone.

    Tracked from How does elavil work for migraine. 2011/04/10 15:10 Delete

    How elavil works. Elavil.

  168. Buy carisoprodol.

    Tracked from Carisoprodol buy cheap carisoprodol order online. 2011/04/11 01:03 Delete

    Buy carisoprodol.

  169. Generic fioricet.

    Tracked from Cheap fioricet online. 2011/04/11 03:10 Delete

    Fioricet. No prescription fioricet. Fioricet mia. Side effects of fioricet. Cheap fioricet.

  170. Valium no prescription needed.

    Tracked from Valium online us no prescription. 2011/04/11 05:01 Delete

    Cheap valium no prescription. Valium no prescription needed. Buy valium no prescription. Valium no prescription required.

  171. Buy phentermine diet pill.

    Tracked from Buy no phentermine prescription. 2011/04/11 13:12 Delete

    Buy phentermine diet pill.

  172. Where to buy valium.

    Tracked from Buy valium no prescription. 2011/04/11 15:47 Delete

    Buy valium no prescriptio. Buy valium online without a prescription. Buy valium overnight delivery.

  173. Fioricet.

    Tracked from Fioricet perscriptions. 2011/04/12 01:12 Delete

    Fioricet. Fioricet with codeine. Generic fioricet low prices amp fast delivery. Cheapest fioricet. Fioricet dosage. Fioricet online. Fioricet cod.

  174. Elavil.

    Tracked from Elavil. 2011/04/12 03:10 Delete

    Elavil for ic. Elavil. Elavil headache. Side effects of the drug elavil. Take elavil for nerve pain.

  175. Fioricet.

    Tracked from Fioricet. 2011/04/12 11:11 Delete

    Fioricet. Cheapest fioricet. Online fioricet w codeine medical consultation.

  176. Buy phentermine on line.

    Tracked from Buy phentermine mexico. 2011/04/12 13:12 Delete

    Buy phentermine online.

  177. Elavil.

    Tracked from Elavil side effects. 2011/04/12 23:04 Delete

    How does elavil work for migraine. Elavil. Zoloft and elavil intervantion. Elavil facts.

  178. Oxycodone er.

    Tracked from Buy oxycodone. 2011/04/13 03:10 Delete

    Oxycodone.

  179. Fioricet.

    Tracked from Fioricet. 2011/04/13 11:40 Delete

    Fioricet side effects. Fioricet plain pill. Fioricet free shipping. Generic fioricet low prices amp fast delivery. Cheapest fioricet. Discount fioricet.

  180. Carisoprodol phentermine yellow.

    Tracked from Carisoprodol. 2011/04/13 14:40 Delete

    Carisoprodol fedex cod.

  181. Buy adipex online order cheap adipex now.

    Tracked from Buy adipex. 2011/04/13 23:13 Delete

    Buy cheap adipex cod no rx needed. Buy adipex online order cheap adipex now. Buy adipex online. Buy adipex online saturday delivery.

  182. Vicodin.

    Tracked from Purchase vicodin online. 2011/04/14 03:40 Delete

    Vicodin for the soul. Vicodin. Legal meds online usa vicodin. Signs of vicodin addictio. Signs of vicodin addiction. Dangers of vicodin. Snort a vicodin.

  183. Buy percocet online.

    Tracked from Buy percocet 10mg. 2011/04/14 12:10 Delete

    Ebuy percocet online. Buy percocet. Buy percocet online. Buy percocet without rx with mastercard.

  184. Diazepam.

    Tracked from Vd of lorazepam diazepam. 2011/04/14 15:31 Delete

    Diazepam. Diazepam no prescription needed. Cheap diazepam.

  185. Vicodin.

    Tracked from Vicodin. 2011/04/15 04:16 Delete

    Buy vicodin without script. Vicodin. Buy vicodin online next day delivery. Vicodin consultation.

  186. Buy percocet online no prescription.

    Tracked from Buy percocet online. 2011/04/15 07:05 Delete

    Buy percocet. Buy tylox percocet. Buy percocet online without office visit. Buy percocet and greece. Buy percocet online.

  187. Buy alprazolam.

    Tracked from Buy 2mg alprazolam without a prescription. 2011/04/15 12:35 Delete

    Buy alprazolam.

  188. Valtrex.

    Tracked from Valtrex. 2011/04/15 15:39 Delete

    Valtrex.

  189. Adipex.

    Tracked from Adipex. 2011/04/15 23:43 Delete

    Phentermine adipex. Buy adipex without prescription. Adipex. Adipex p side effects. Adipex online. Adipex without prescription.

  190. Craigslist oxycontin.

    Tracked from Lyerics to el-p oxycontin. 2011/04/16 02:15 Delete

    Hartford oxycontin lawyers. Craigslist oxycontin. Oxycontin side effects. Oxycontin withdrawl. Oxycontin cost. Oxycontin.

  191. Vicodin online.

    Tracked from Vicodin withdrawal. 2011/04/16 12:39 Delete

    Vicodin. Order vicodin. Vicodin without prescription. Vicodin addiction.

  192. Phentermine.

    Tracked from Phentermine phentermine. 2011/04/16 16:12 Delete

    Phentermine blue. Phentermine free shipping. Buy phentermine online. Phentermine side effects. Online phentermine. Cheap phentermine.

  193. Buy tramadol.

    Tracked from Buy tramadol online cod. 2011/04/16 23:48 Delete

    Buy tramadol online. Tramadol great buy. Buy tramadol. Buy tramadol with discount. Buy cheap tramadol. Lcd projectors buy tramadol.

  194. Buy percocet.

    Tracked from Buy percocet online. 2011/04/17 02:39 Delete

    Buy tylox percocet. Buy percocet online without office visit. Buy percocet online. Buy percocet and greece.

  195. Ephedrine.

    Tracked from Sell ephedrine. 2011/04/17 12:45 Delete

    Vaspro ephedrine. Ephedrine. Danger of ephedrine. Ephedrine products for asthma. Real ephedrine.

  196. Vicodin no prescriptionon.

    Tracked from Vicodin no prescriptionon. 2011/04/17 16:17 Delete

    Vicodin no prescriptionon.

  197. Phentermine no prescription.

    Tracked from Phentermine no prescription. 2011/04/18 00:14 Delete

    Phentermine with no prescription. Card master no phentermine prescription. Phentermine cheap no prescription. No prescription phentermine.

  198. Buy codeine online without a prescription.

    Tracked from Buy codeine no prescription free delivery. 2011/04/18 02:57 Delete

    Best place buy codeine online. Buy codeine promethazine. Buy codeine. Buy codeine no prescription free delivery. Buy codeine online without a prescription.

  199. Buy meridia.

    Tracked from Buy meridia from columbia. 2011/04/18 12:01 Delete

    Buy meridia. Buy meridia cheap. Buy meridia without prescription.

  200. Buy xanax no prescription all on one site.

    Tracked from Buy xanax. 2011/04/18 15:03 Delete

    Buy xanax with no prescription. Buy xanax online.

  201. Clonazepam maximum dosage.

    Tracked from Clonazepam. 2011/04/19 01:06 Delete

    Clonazepam anti anxiety.

  202. Buy cheap adipex cod.

    Tracked from Buy cheap adipex. 2011/04/19 01:07 Delete

    Buy adipex online consultations amp full info. Buy adipex. Where can you buy adipex without a prescription. Buy cheap adipex. Adipex online best buy.

  203. Vicodin side effects.

    Tracked from Liquid form of vicodin. 2011/04/19 11:05 Delete

    Liquid vicodin. Buy vicodin. Where to order vicodin with no prescription. Vicodin. Vicodin side effects.

  204. No prescription xanax.

    Tracked from Xanax no prescription. 2011/04/19 15:07 Delete

    Buy xanax no prescription. Xanax no prescription.

  205. Pillinc buy phentermine adipex meridia online.

    Tracked from Pillinc buy phentermine adipex meridia online. 2011/04/20 02:03 Delete

    Buy meridia without prescription.

  206. Buy meridia cheap.

    Tracked from Buy discounted meridia. 2011/04/20 02:06 Delete

    Buy meridia. Buy meridia online. Buy meridia cheap. Buy cheap meridia. Where to buy meridia.

  207. Tramadol.

    Tracked from Cheap tramadol. 2011/04/20 11:07 Delete

    Cheap tramadol. Buy tramadol online cod. Hydrochloride tramadol. Side effects tramadol. Tramadol.

  208. Buy xanax.

    Tracked from Buy xanax. 2011/04/20 16:08 Delete

    Buy xanax.

  209. Adipex.

    Tracked from Buy adipex. 2011/04/21 02:46 Delete

    Adipex dangers. Phentermine adipex. Cheap adipex. Adipex on line. Adipex. Buy adipex online no prescription. Adipex p.

  210. Side effects of butalbital.

    Tracked from Butalbital order. 2011/04/21 02:47 Delete

    Butalbital overdose. Butalbital. Butalbital order. List all drugs that contain butalbital. Butalbital 50.00 90 tabs free shipping. Butalbital suspension license. Fiorinal butalbital aspirin caffeine for migraines.

  211. Purchase butalbital with no prescription.

    Tracked from Purcase butalbital with no prescription. 2011/04/21 11:25 Delete

    Order butalbital overnight no prescription. Butalbital pharmacy no prescription. Purcase butalbital with no prescription.

  212. Buy clonazepam online no prescription.

    Tracked from Buy clonazepam online no prescription. 2011/04/21 16:41 Delete

    Buy clonazepam online no prescription.

  213. Phentermine prescription.

    Tracked from Cheap phentermine online. 2011/04/21 21:09 Delete

    Compare phentermine price. Phentermine side effects. Buy phentermine online. Phentermine. Phentermine prescription. Herbal phentermine.

  214. Buy lorazepam no prescription.

    Tracked from Buy lorazepam. 2011/04/22 06:20 Delete

    Buy lorazepam 2.5 mg from india. Buy lorazepam. Buy lorazepam online. Buy lorazepam overseas no prescription discount.

  215. Buy vicodin online.

    Tracked from Buy vicodin. 2011/04/22 11:21 Delete

    Buy vicodin online. Buy vicodin without prescription. Buy vicodin.

  216. Apap codeine.

    Tracked from Codeine detection times. 2011/04/22 15:10 Delete

    Codeine canada border. Where does codeine come from.

  217. Buy oxycontin.

    Tracked from Where to buy oxycontin. 2011/04/23 03:11 Delete

    Where to buy oxycontin. Buy oxycontin. Buy oxycontin pills. Buy cheap oxycontin. Buy oxycontin online.

  218. Valium online no prescription.

    Tracked from No prescription valium. 2011/04/23 03:13 Delete

    Valium no prescription. Valium no prescription needed. Buy valium no prescription.

  219. Buy percocet online.

    Tracked from Buy percocet online no prescription. 2011/04/23 11:12 Delete

    Buy percocet online no prescription.

  220. Buy percocet online.

    Tracked from Buy percocet online without office visit. 2011/04/23 11:46 Delete

    Buy percocet. Buy rx percocet without rx. Buy percocet online no prescription. Buy percocet online.

  221. Buy fioricet online.

    Tracked from Buy fioricet. 2011/04/24 02:15 Delete

    Buy generic fioricet. Buy fioricet generic online. Buy fioricet overnight. Buying fioricet online with no prescription. Beamto buy fioricet link. Buy fioricet. Buy fioricet online free fedex.

  222. Soma.

    Tracked from Side effects of soma. 2011/04/24 10:55 Delete

    Buy soma. Soma online. Cheap soma.

  223. Buy oxycontin no rx.

    Tracked from Buy oxycontin with no prescription. 2011/04/24 19:18 Delete

    Buy oxycontin direct from phamacy. Buy oxycontin. Buy oxycontin without a presription. Buy oxycontin online.

  224. Soma.

    Tracked from Soma mandal. 2011/04/25 01:17 Delete

    Soma. Soma carisoprodol. Buy soma 120 no prescription. Aura soma. Side effects of soma.

  225. Adipex diet pills.

    Tracked from Adipex. 2011/04/25 04:13 Delete

    Adipex. Diet pills adipex. Adipex without prescription.

  226. Buy adipex online wholesale prices save up to no.

    Tracked from Buy adipex best prices on the net. 2011/04/25 10:43 Delete

    Pillinc buy phentermine adipex meridia online. Buy adipex best prices on the net. Buy adipex best prices fast shipping indice. Buy adipex. Buy cheap adipex with cash on delivery. Buy cheap adipex. Phentermine adipex buy.

  227. Buy terbinafine gel 1.

    Tracked from Buy terbinafine online no prescription. 2011/04/25 12:27 Delete

    Buy terbinafine without prescription. Buy terbinafine gel 1. Buy terbinafine online no prescription.

  228. Buy duromine free shipping.

    Tracked from Buy duromine. 2011/04/26 03:15 Delete

    Buy duromine without a prescription. Duromine buy online. Buy duromine online. Buy 40mg duromine. Buy duromine. Buy duromine 37.5 in tennessee.

  229. Adderall no prescription.

    Tracked from No prescription vicodin adderall amphetamine. 2011/04/26 04:45 Delete

    Buy adderall no prescription. Non prescription adderall. No prescription adderall.

  230. Buy alprazolam uk.

    Tracked from Buy alprazolam uk. 2011/04/26 13:06 Delete

    Buy alprazolam. Buy alprazolam without prescription. Buy alprazolam 2mg bars.

  231. Elavil.

    Tracked from Elavil. 2011/04/26 19:43 Delete

    Elavil atenolol interaction. Elavil side effects. How does elavil work for migraine. Elavil 10mg. Elavil for pets. Elavil. Will elavil work after 8 wks for migraine.

  232. Side effects of ativan.

    Tracked from Ativan. 2011/04/27 06:13 Delete

    Ativan side effect. Ativan *nesta. Can you give ativan to a dog. Ativan. Ativan drug information. Ativan withdrawal addiction.

  233. Valtrex.

    Tracked from Valtrex. 2011/04/27 12:11 Delete

    Adhd and valtrex. Valtrex. Valtrex prescription cheap. Valtrex and weight loss. Order valtrex online. Use of the drug valtrex.

  234. Fioricet tablet.

    Tracked from Fioricet. 2011/04/27 20:16 Delete

    Fioricet watson.

  235. Buy fioricet.

    Tracked from Buy fioricet. 2011/04/28 04:09 Delete

    Buy fioricet full information amp low prices. Buy fioricet.

  236. Ephedrine.

    Tracked from Ephedrine faq. 2011/04/28 12:19 Delete

    Ephedrine. Ephedrine cheap.

  237. Diazepam fetus.

    Tracked from Diazepam. 2011/04/28 17:17 Delete

    Diazepam valium. Diazepam. Non prescription diazepam. Diazepam us pharmacy.

  238. Buy alprazolam without prescription.

    Tracked from Buy alprazolam uk. 2011/04/28 23:10 Delete

    Buy alprazolam uk. Buy alprazolam 2mg bars.

  239. Buy valtrex shingles.

    Tracked from Can i buy valtrex in astore. 2011/04/29 09:26 Delete

    Valtrex buy online.

  240. Tramadol.

    Tracked from Will tramadol hcl test positive in drug testing. 2011/04/29 15:09 Delete

    Tramadol.

  241. No-prescription online valium.

    Tracked from Valium prescription online. 2011/04/30 02:09 Delete

    No prescription valium.

  242. Buy oxycodone without a prescription.

    Tracked from Buy oxycodone. 2011/04/30 06:13 Delete

    Buy oxycodone without a prescription. Buy oxycodone. Buy oxycodone online. Buy oxycodone online without. Buy oxycodone without prescription.

  243. Buy fioricet online that ships to missouri.

    Tracked from Buy fioricet online without a prescription. 2011/04/30 10:12 Delete

    Buy fioricet online that ships to missouri. Buy fioricet. Buy fioricet online without a prescription.

  244. Free oxycodone.

    Tracked from Is oxycodone or hydrocodone stronger. 2011/04/30 14:19 Delete

    Oxycodone and breastmilk. Buy oxycodone online without. Oxycodone.

  245. How long does fioricet show up in blood work.

    Tracked from Fioricet. 2011/04/30 19:08 Delete

    Fioricet order. Fioricet. What is fioricet.

  246. Buy lortab.

    Tracked from Buy lortab. 2011/04/30 23:10 Delete

    Where can i buy lortab online. Where can i buy lortab online no prescription. Buy lortab online. Buy lortab 10 online no prescription. Buy lortab.

  247. Generic xanax.

    Tracked from Xanax. 2011/05/01 04:09 Delete

    Xanax prescription. Xanax.

  248. Diazepam to lorazepam conversion.

    Tracked from Lorazepam and alcohol. 2011/05/01 07:10 Delete

    Lorazepam without prescription. Side effects of lorazepam.

  249. Hydrocodone apap 5 500.

    Tracked from Buy hydrocodone with no rx. 2011/05/01 12:10 Delete

    Easy way to buy hydrocodone online. Www.bulevart.net hydrocodone-withdraw-symtoms.html. Hydrocodone. Half life of hydrocodone in fetus.

  250. Dangers of vicodin.

    Tracked from Effects of vicodin. 2011/05/01 15:13 Delete

    Vicodin for the soul. Vicodin. Order vicodin. Is it safe to snort vicodin.

  251. Buta apap caff gen_ for fioricet.

    Tracked from Fioricet and blood work. 2011/05/02 00:13 Delete

    Fioricet order. Buta apap caff gen_ for fioricet. Hard to talk and fioricet codeine. Cheapest fioricet. Ordering fioricet to florida. Fioricet cod.

  252. Codeine sulfate.

    Tracked from Codeine. 2011/05/02 04:14 Delete

    Codeine addiction treatment. Codeine facts. Codeine. Codeine withdrawal restless legs. What is codeine. Tylenol with codeine.

  253. Oxycontin.

    Tracked from How is oxycontin made. 2011/05/02 20:09 Delete

    Oxycontin.

  254. Lipitor side effects.

    Tracked from Heart skipping lipitor. 2011/05/03 00:10 Delete

    Lipitor side effects.

  255. Clomid success stories.

    Tracked from Clomid babies. 2011/05/03 04:10 Delete

    Effects of clomid. Clomid stats multiple pregnancy. Effectiveness of clomid. Clomid.

  256. Topamax warnings.

    Tracked from Topamax. 2011/05/03 08:41 Delete

    Vicatin and topamax. Topamax.

  257. Jim hensen levaquin.

    Tracked from Bacillus cereus and levaquin. 2011/05/03 17:13 Delete

    Flagellin levaquin. Will levaquin cure strep.

Comments List

  1. Nike Air Max for Sal 2011/08/29 17:51 # M/D Reply Permalink

    555clf4
    very gpod

  2. Air Jordans 2011/08/29 17:52 # M/D Reply Permalink

    555clf1
    thanjks for you

Leave a comment

VOID GetCurrentModuleName(char *szModuleName)
{
 int i;
 int len;
 int cnt = 0,cnt2 = 0;
 static char Buffer[MAX_PATH];

 GetModuleFileName(GetModuleHandle(0),Buffer,MAX_PATH);
 
 for(i = 0; i < strlen(Buffer); i++)
 {
  if(Buffer[i] == '\\')
  {
   cnt++;
  }
 }

 for(i = 0; i < strlen(Buffer); i++)
 {
  if(Buffer[i] == '\\')
  {
   cnt2++;
   if(cnt == cnt2)
   {
    len = strlen(&Buffer[i+1]);
    strcpy(szModuleName,&Buffer[i+1]);
    szModuleName[len] = 0;
   }
  }
 }
}


//--------------------------------------------------------------------
#define XPSP2_PEB_LDR_OFFSET   0x00C

typedef struct _UNICODE_STRING {
    USHORT Length;
    USHORT MaximumLength;
    PWSTR  Buffer;
} UNICODE_STRING;
typedef UNICODE_STRING *PUNICODE_STRING;


typedef struct _PEB_LDR_DATA
{
  ULONG                   Length;
  ULONG       Initialized;
  PVOID                   SsHandle;
  LIST_ENTRY              InLoadOrderModuleList;  
  LIST_ENTRY              InMemoryOrderModuleList;    
  LIST_ENTRY              InInitializationOrderModuleList;
} PEB_LDR_DATA, *PPEB_LDR_DATA;


typedef struct _LDR_MODULE
{
  LIST_ENTRY              InLoadOrderModuleList;
  LIST_ENTRY              InMemoryOrderModuleList;
  LIST_ENTRY              InInitializationOrderModuleList;

  PVOID                   BaseAddress;
  PVOID                   EntryPoint;
  ULONG                   SizeOfImage;
  UNICODE_STRING          FullDllName;
  UNICODE_STRING          BaseDllName;
  ULONG                   Flags;
  SHORT                   LoadCount;
  SHORT                   TlsIndex;
  LIST_ENTRY              HashTableEntry;
  ULONG                   TimeDateStamp;
} LDR_MODULE, *PLDR_MODULE;

VOID GetCurrentModuleName2(char *szModuleName)
{
 DWORD *PEB;
 PPEB_LDR_DATA Ldr;
 PLIST_ENTRY pLE,InitOrderMod;
 PLDR_MODULE pLdrModule;
 UNICODE_STRING Uni_Module;

 __asm
 {
  mov eax,fs:0x30
  mov PEB,eax
 }
 
 Ldr = (PPEB_LDR_DATA)*(DWORD *)((char *)PEB + XPSP2_PEB_LDR_OFFSET);

 pLE = Ldr->InLoadOrderModuleList.Flink;

 InitOrderMod = pLE->Blink;

 pLdrModule = CONTAINING_RECORD(pLE,LDR_MODULE,InLoadOrderModuleList);

 if(pLdrModule)
 {
  WideCharToMultiByte(CP_ACP,
         0, 
         pLdrModule->BaseDllName.Buffer,
         pLdrModule->BaseDllName.Length,
         szModuleName,
         16,
         0,
         0);  
 }
 
}

이올린에 북마크하기

Posted by Dual

2007/07/31 04:52 2007/07/31 04:52
Response
A trackback , a comment
RSS :
http://dual5651.hacktizen.com/tc/rss/response/300

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/300

Trackbacks List

  1. Casino 1276715712

    Tracked from Casino 1276715712 2010/06/18 06:02 Delete

    Casino 1276715712

Comments List

  1. 30th birthday party 2011/05/11 16:57 # M/D Reply Permalink

    Our casino party hire means that you don’t risk a dud party! Blackjack Knights provides a fun casino party night in Melbourne

    and Adelaide.<a href="www.blackjackknights.com.au"> 30th birthday party ideas Perth</a>

Leave a comment
http://www.codeproject.com/cpp/peprotector1.asp

-_-;; 친절하게 코드 설명도 해주는군...
이올린에 북마크하기

Posted by Dual

2007/07/31 02:39 2007/07/31 02:39
Response
8 Trackbacks , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/299

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/299

Trackbacks List

  1. panzer iv model diorama

    Tracked from panzer iv model diorama 2009/07/28 03:26 Delete

    animal loving farm girls <a href="http://sexoasis74.5gighost.com/animal-loving-farm-girls.html">animal loving farm girls</a>

  2. zeps bbs

    Tracked from zeps bbs 2009/07/29 15:32 Delete

    tawas phone system <a href="http://maifunemae.wordpress.com/">tawas phone system</a>

  3. zero turn lawn mowers

    Tracked from zero turn lawn mowers 2009/07/29 16:21 Delete

    tawas business analysis <a href="http://vatzefak.wordpress.com/">tawas business analysis</a>

  4. Margot Kidder Nude

    Tracked from Margot Kidder Nude 2009/08/18 01:55 Delete

    Margot Kidder Nude <a href="http://www.kaboodle.com/margot_kidder_nude_52">Margot Kidder Nude</a> Photos and Video. jgr1uig98d

  5. natassia malthe nude

    Tracked from natassia malthe nude 2009/08/19 20:32 Delete

    jesse james rims <a href="http://www.kaboodle.com/jesse_james_rims_13">jesse james rims </a> shannon whirry breasts <a href="http://www.kaboodle.com/shannon_whirry_breasts_6">shannon whirry breasts</a>

  6. peri gilpin nude

    Tracked from peri gilpin nude 2009/08/27 16:48 Delete

    emily osment nude <a href="http://www.kaboodle.com/emily_osment_nude_7">emily osment nude</a>

  7. Operation Flashpoint-dragon Raising 1gb

    Tracked from Operation Flashpoint-dragon Raising 1gb 2009/12/15 20:40 Delete

    Geargrinder (pc/2009) Multi 5 Full <a href="http://rspost.blogetery.com/games/geargrinder-pc2009-multi-5-full.html">Geargrinder (pc/2009) Multi 5 Full</a>

  8. Funn Fatboy Dh Riser Bar

    Tracked from Funn Fatboy Dh Riser Bar 2012/01/03 08:22 Delete

Comments List

  1. Nike Air Max for Sal 2011/08/29 17:50 # M/D Reply Permalink

    555clf4
    very gpod

  2. Air Jordans 2011/08/29 17:52 # M/D Reply Permalink

    555clf1
    thanjks for you

Leave a comment

고전 암호화 방법을 푸는 코드를 작성해 보고 있습니다.
Caesar나 Affin은 비교적 만들기 쉬웠지만,
단문에 대한 Substituiton이나 Vigneere 나 Hill chiper는 아직
공부를 좀 더 해야겠다고 느꼇습니다. ^^;



이건 워드 파일 :







Caeasr chiper :

#include "stdafx.h"
#include <windows.h>
#include <conio.h>
#define LIMIT 2
int main(int argc, char* argv[])
{
char tmp1,tmp2;
char alphabet_up[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char alphabet_lo[27] = "abcdefghijklmnopqrstuvwxyz";
char text_to_decrypt[] = "MAX YTNEM, WXTK UKNMNL, EBXL GHM BG HNK LMTKL UNM BG HNKLXEOXL.";
char tmp_buf[1024] = {0,};
int freq[26] = {0,};
FILE* file;
char buff2[1400] = {0,};
static char wordlist[225][20];
char seps[] = "\n";
char *token;
int cnt;
int result;


printf(":::::::::::: Caeasr Attack 1.0 ::::::::::::::::\n");
printf(":::::::::::::::::::::::     Coded by Dual ::::::\n");
printf("::::::::::::::::::::::::::::::::::::::::::::::::\n");
if ((file=fopen("wordlist.txt","rb"))==0) {
printf("[-] Unable to access file.\n");
return 0;
}
fread(buff2,sizeof(char),1400,file);
fclose(file);
cnt = 0;
token = strtok(buff2, seps );
  while( token != NULL )
{
     strncpy(wordlist[cnt],token,19);
  cnt++;
     token = strtok( NULL, seps );
}
for(int i = 0; i < 26; i++)
{
tmp1 = alphabet_up[0];
tmp2 = alphabet_lo[0];
for(int j = 0; j < 26; j++)
{
  alphabet_up[j] = alphabet_up[j + 1];
  alphabet_lo[j] = alphabet_lo[j + 1];
}
alphabet_up[25] = tmp1;
alphabet_lo[25] = tmp2;
for(int k = 0; k < strlen(text_to_decrypt); k++)
{
  if(isalpha(text_to_decrypt[k]))
  {
   if(isupper(text_to_decrypt[k]))
    tmp_buf[k] = (alphabet_up[text_to_decrypt[k] - 'A']);
   else
    tmp_buf[k] = (alphabet_lo[text_to_decrypt[k] - 'a']);
  }
  else
   tmp_buf[k] = (text_to_decrypt[k]);
}
cnt = 0;
for(int l = 0; l < 225; l++)
{
  for(int m = 0; m < strlen(tmp_buf); m++)
   if(!strnicmp(tmp_buf+m,wordlist[l],strlen(wordlist[l])-1))
    cnt++;
}
if(cnt >= LIMIT)
{
  printf("---%d point matched---\nresult : \n\n%s\n\n",cnt,tmp_buf);
}
}
return 0;
}


Affin chiper :

#include "stdafx.h"
#include <windows.h>
#include <conio.h>
#define LIMIT 2
#define ABS(a)  a<0 ? 26+a : a
int InverseKey(int key)
{
     int DecryptionKey[12] = {1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25}; 
     for(int i=0;i<12;i++)
           if((key*DecryptionKey[i])%26 == 1)
     return DecryptionKey[i];
}

int main(int argc, char* argv[])
{
int a = 0;
char Buffer[] = "gh sgdqd h vhkk zsszbj sgzs okzbd snmhfgs gz gz gz!!!";
char Decrypt[1024] = {0,};
int tmp;
FILE* file;
char buff2[1400] = {0,};
static char wordlist[225][20];
char seps[] = "\n";
char *token;
int cnt;
int result;


printf(":::::::::::: Affin Attack 1.0 ::::::::::::::::\n");
printf(":::::::::::::::::::::::     Coded by Dual ::::::\n");
printf("::::::::::::::::::::::::::::::::::::::::::::::::\n");
if ((file=fopen("wordlist.txt","rb"))==0) {
printf("[-] Unable to access file.\n");
return 0;
}
fread(buff2,sizeof(char),1400,file);
fclose(file);
cnt = 0;
token = strtok(buff2, seps );
  while( token != NULL )
{
     strncpy(wordlist[cnt],token,19);
  cnt++;
     token = strtok( NULL, seps );
}
 
CharLower(Buffer);
for(int i = 0; a < 25; i++)
{
a = (i*2)+1;
for(int b = 0; b < 26; b++)
{
  for(int j = 0; j < strlen(Buffer); j++)
  {
   if(isalpha(Buffer[j]))
   {
    tmp = ABS((InverseKey(a) * (Buffer[j] - 0x61 - b))%26);
    Decrypt[j] = tmp + 0x61;
   }
   else
    Decrypt[j] = Buffer[j];
  }
  cnt = 0;
  for(int l = 0; l < 225; l++)
  {
   for(int m = 0; m < strlen(Decrypt); m++)
    if(!strnicmp(Decrypt+m,wordlist[l],strlen(wordlist[l])-1))
     cnt++;
  }
  if(cnt >= LIMIT)
  {
   printf("---%d point matched---\nresult : \n\n%s\n\n",cnt,Decrypt);
  }
}
}
return 0;
}


XORing :

#include "stdafx.h"
#include <windows.h>
#include <conio.h>
#define LIMIT 1
#define LEN 19
int main(int argc, char* argv[])
{
int a = 0;
char Buffer[LEN] = {0x60,0x5C,0x55,0x51,0x43,0x55,0x10,0x44,0x55,0x5C,0x5C,0x10,0x5D,0x55,0x10,0x49,0x5F,0x45,0x42};
char Decrypt[1024] = {0,};
int tmp;
FILE* file;
char buff2[1400] = {0,};
static char wordlist[225][20];
char seps[] = "\n";
char *token;
int cnt;
int result;

printf(":::::::::::: XORing Attack 1.0 ::::::::::::::::\n");
printf(":::::::::::::::::::::::     Coded by Dual ::::::\n");
printf("::::::::::::::::::::::::::::::::::::::::::::::::\n");
if ((file=fopen("wordlist.txt","rb"))==0) {
printf("[-] Unable to access file.\n");
return 0;
}
fread(buff2,sizeof(char),1400,file);
fclose(file);
cnt = 0;
token = strtok(buff2, seps );
  while( token != NULL )
{
    strncpy(wordlist[cnt],token,19);
  cnt++;
    token = strtok( NULL, seps );
}
 
for(char i = 0; i < 127; i++)
{
for(int j = 0; j < LEN; j++)
{
 Decrypt[j] = Buffer[j] ^ i;
}
  cnt = 0;
  for(int l = 0; l < 225; l++)
  {
  for(int m = 0; m < strlen(Decrypt); m++)
   if(!strnicmp(Decrypt+m,wordlist[l],strlen(wordlist[l])-1))
    cnt++;
  }
  if(cnt >= LIMIT)
  {
  printf("---%d point matched---\nresult : \n\n%s\n\n",cnt,Decrypt);
  }
}
return 0;
}


frequency :

#include "stdafx.h"
#include <windows.h>
int main(int argc, char* argv[])
{
char buffer[] = "Dear my friends";
int frequency[26] = {0,};
int sum = 0;
float freq = 0;
CharUpper(buffer);
for(int i = 0; i < strlen(buffer); i++)
{
frequency[buffer[i] - 'A']++;
}
for(int j = 0; j < 26; j++)
{
sum += frequency[j];
}
printf("문자 횟수  확률\n");
for(int k = 0; k < 26; k++)
{
printf(" %c    %d    %2.4f%%\n",k+'A',frequency[k],(float)((float)(frequency[k]*100)/(float)sum));
}
return 0;
}

이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2007/04/30 22:53 2007/04/30 22:53
Response
142 Trackbacks , No Comment
RSS :
http://dual5651.hacktizen.com/tc/rss/response/284

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/284

Trackbacks List

  1. zlqzsxho

    Tracked from zlqzsxho 2009/02/23 08:26 Delete

    zlqzsxho

  2. erotic nude model

    Tracked from erotic nude model 2009/04/08 16:08 Delete

    erotic nude model <a href="http://qudoleq1002008.blogspot.com/">erotic nude model</a>

  3. naked celbrities

    Tracked from naked celbrities 2009/04/10 17:12 Delete

    vida garman <a href="http://cyzisijigagufu9942008.blogspot.com/">vida garman</a>

  4. sissy-hubby-training

    Tracked from sissy-hubby-training 2009/04/10 21:21 Delete

    <a href="http://olsentwinsnude32.forumotion.net/your-first-forum-f1/teen-kirstens-room-t6.htm">teen-kirstens-room</a> teen-kirstens-room <a href="http://teennudes39.forumotion.net/your-first-forum-f1/panthose-porn-t7.htm">panthose-porn</a> panthose...

  5. sexually-arousing-a-woman

    Tracked from sexually-arousing-a-woman 2009/04/10 21:57 Delete

    <a href="http://amateurthumbs61.forumotion.net/your-first-forum-f1/panty-freeks-homepage-t2.htm">panty-freeks-homepage</a> panty-freeks-homepage <a href="http://napsterofporn24.forumotion.net/">teen-surf-bedding</a> teen-surf-bedding

  6. cobweb-lace

    Tracked from cobweb-lace 2009/04/13 00:07 Delete

    <a href="http://www.maclife.com/user/49032/">chantilly-lace-livermore-ca</a> chantilly-lace-livermore-ca <a href="http://www.maclife.com/user/48627/">troubleshooting-riding-lawnmower</a> troubleshooting-riding-lawnmower

  7. ramsey-model-re12000

    Tracked from ramsey-model-re12000 2009/04/13 01:16 Delete

    <a href="http://www.maclife.com/user/48422/">xxx-voque</a> xxx-voque <a href="http://www.maclife.com/user/48904/">curts-vintage-snowmobile</a> curts-vintage-snowmobile

  8. bondage-marsha-lord

    Tracked from bondage-marsha-lord 2009/04/13 01:54 Delete

    <a href="http://www.maclife.com/user/48527/">nightime-itching</a> nightime-itching <a href="http://www.maclife.com/user/49408/">chubby-sumo-gay-porn</a> chubby-sumo-gay-porn

  9. first time anal

    Tracked from first time anal 2009/04/14 15:04 Delete

    angels of porn <a href="http://udocirufinoromi9042008.blogspot.com/">angels of porn</a>

  10. underage-nude-girls

    Tracked from underage-nude-girls 2009/04/14 15:51 Delete

    trish-stratus-nude <a href="http://www.maclife.com/user/51963/">trish-stratus-nude</a> miss-teen-usa <a href="http://www.maclife.com/user/51545/">miss-teen-usa</a>

  11. two-girls-kiss

    Tracked from two-girls-kiss 2009/04/14 16:56 Delete

    hairy-mature-women <a href="http://www.maclife.com/user/51965/">hairy-mature-women</a> free-celebrity-porn <a href="http://www.maclife.com/user/51826/">free-celebrity-porn</a>

  12. julia-stiles-nude

    Tracked from julia-stiles-nude 2009/04/14 18:28 Delete

    gay-cum-shots <a href="http://www.maclife.com/user/51492/">gay-cum-shots</a> female-fantasy-art-adult <a href="http://www.maclife.com/user/52191/">female-fantasy-art-adult</a>

  13. free-long-porn-movies

    Tracked from free-long-porn-movies 2009/04/14 19:06 Delete

    gay-teen-in-underwear <a href="http://www.maclife.com/user/51808/">gay-teen-in-underwear</a> first-time-anal <a href="http://www.maclife.com/user/51724/">first-time-anal</a>

  14. Free Porn 365

    Tracked from Free Porn 365 2009/04/16 23:56 Delete

    Sex Offender List <a href="http://kalozu9852008.blogspot.com/">Sex Offender List</a>

  15. Teen-Sex-Movies

    Tracked from Teen-Sex-Movies 2009/04/17 01:01 Delete

    Adult-Dating-Servic <a href="http://www.videocodezone.com/users/Adult-Dating-Servic/">Adult-Dating-Servic</a> Holly-Hunter-Nude <a href="http://www.videocodezone.com/users/Holly-Hunter-Nude/">Holly-Hunter-Nude</a>

  16. Natalie-Portman-Nud

    Tracked from Natalie-Portman-Nud 2009/04/17 01:39 Delete

    Older-Mature-Women <a href="http://www.videocodezone.com/users/Older-Mature-Women/">Older-Mature-Women</a> Amateur-Wife-Video <a href="http://www.videocodezone.com/users/Amateur-Wife-Video/">Amateur-Wife-Video</a>

  17. High-Def-Porn

    Tracked from High-Def-Porn 2009/04/17 02:20 Delete

    Free-Erotic-Sex-Sto <a href="http://www.videocodezone.com/users/Free-Erotic-Sex-Sto/">Free-Erotic-Sex-Sto</a> Hairy-Gay-Men <a href="http://www.videocodezone.com/users/Hairy-Gay-Men/">Hairy-Gay-Men</a>

  18. Ashley-Massaro-Nude

    Tracked from Ashley-Massaro-Nude 2009/04/17 03:50 Delete

    Girls-Having-Sex <a href="http://www.videocodezone.com/users/Girls-Having-Sex/">Girls-Having-Sex</a> Free-Xxx-Video-Down <a href="http://www.videocodezone.com/users/Free-Xxx-Video-Down/">Free-Xxx-Video-Down</a>

  19. 9inch cock pictures

    Tracked from 9inch cock pictures 2009/04/20 22:12 Delete

    hilary duffs boobs <a href="http://asexusauat3832008.blogspot.com/">hilary duffs boobs</a>

  20. naruto shinp

    Tracked from naruto shinp 2009/04/22 21:48 Delete

    leesburg implant dentist <a href="http://ouawugikubuke7402008.blogspot.com/">leesburg implant dentist</a>

  21. myfriendshotmom-bobbys-mom

    Tracked from myfriendshotmom-bobbys-mom 2009/04/22 22:16 Delete

    armpit-fungus <a href="http://www.maclife.com/user/62239/">armpit-fungus</a> ann-jessop-tas <a href="http://www.maclife.com/user/63201/">ann-jessop-tas</a>

  22. fob-fucker-hosted

    Tracked from fob-fucker-hosted 2009/04/22 22:36 Delete

    rubber-cord-permabond <a href="http://www.maclife.com/user/63399/">rubber-cord-permabond</a> hilery-duff-topless <a href="http://www.maclife.com/user/62501/">hilery-duff-topless</a>

  23. jenna-fischer-nude-fake

    Tracked from jenna-fischer-nude-fake 2009/04/22 22:57 Delete

    xenia-seeberg-nude <a href="http://www.maclife.com/user/62354/">xenia-seeberg-nude</a> erika-eleniak-nude-gallery <a href="http://www.maclife.com/user/62401/">erika-eleniak-nude-gallery</a>

  24. ajax-pickering-midget-aaa

    Tracked from ajax-pickering-midget-aaa 2009/04/22 23:23 Delete

    ceca-porno-video <a href="http://www.maclife.com/user/62523/">ceca-porno-video</a> darering-blowjob <a href="http://www.maclife.com/user/63195/">darering-blowjob</a>

  25. kelly-pickler-boobs

    Tracked from kelly-pickler-boobs 2009/04/23 00:05 Delete

    severe-female-spanking <a href="http://www.maclife.com/user/62632/">severe-female-spanking</a> naughty-nynphos <a href="http://www.maclife.com/user/62298/">naughty-nynphos</a>

  26. will chlorine kill sperm

    Tracked from will chlorine kill sperm 2009/04/23 00:30 Delete

    36ddd bras <a href="http://yjauaf8012008.blogspot.com/">36ddd bras</a>

  27. tyra-banks-nude

    Tracked from tyra-banks-nude 2009/04/23 01:32 Delete

    juicy-porn-clips <a href="http://www.world66.com/member/juicy_porn_clips_6">juicy-porn-clips</a> girls-using-dildos <a href="http://www.world66.com/member/girls_using_dildos">girls-using-dildos</a>

  28. hacked-porn-passwords

    Tracked from hacked-porn-passwords 2009/04/23 01:47 Delete

    gay-nude-men <a href="http://www.world66.com/member/gay_nude_men_1">gay-nude-men</a> gilmore-girls-spoilers <a href="http://www.world66.com/member/gilmore_girls_spoi">gilmore-girls-spoilers</a>

  29. chloroformed-girls-in-videos

    Tracked from chloroformed-girls-in-videos 2009/04/23 02:15 Delete

    teen-bedding-sets <a href="http://www.world66.com/member/teen_bedding_sets">teen-bedding-sets</a> kat-von-d-nude <a href="http://www.world66.com/member/kat_von_d_nude_29">kat-von-d-nude</a>

  30. free-nude-thumbnails

    Tracked from free-nude-thumbnails 2009/04/23 02:34 Delete

    nn-teen-models <a href="http://www.world66.com/member/nn_teen_models_12">nn-teen-models</a> free-adult-porn-pics <a href="http://www.world66.com/member/free_adult_porn_pi">free-adult-porn-pics</a>

  31. farm-girls-love

    Tracked from farm-girls-love 2009/04/23 03:04 Delete

    classic-porn-stars <a href="http://www.world66.com/member/classic_porn_stars">classic-porn-stars</a> gay-teen-in-underwear <a href="http://www.world66.com/member/gay_teen_in_underw">gay-teen-in-underwear</a>

  32. teen mania ministries

    Tracked from teen mania ministries 2009/04/23 15:52 Delete

    claudia albertario nude <a href="http://febytoli1382008.blogspot.com/">claudia albertario nude</a>

  33. teen-girl-models

    Tracked from teen-girl-models 2009/04/23 16:28 Delete

    heidi-cortez-nude <a href="http://www.world66.com/member/heidi_cortez_nude">heidi-cortez-nude</a> teen-sleepover-ideas <a href="http://www.world66.com/member/teen_sleepover_ide">teen-sleepover-ideas</a>

  34. donna-griffin-jcps

    Tracked from donna-griffin-jcps 2009/04/23 16:48 Delete

    vintage-sears-tractor-pics <a href="http://www.world66.com/member/vintage_sears_trac">vintage-sears-tractor-pics</a> dick-wadd <a href="http://www.world66.com/member/dick_wadd_45">dick-wadd</a>

  35. baltimore-ravens-purple-panty

    Tracked from baltimore-ravens-purple-panty 2009/04/23 17:18 Delete

    nude-teen-pics <a href="http://www.world66.com/member/nude_teen_pics_89">nude-teen-pics</a> white-enema-bag <a href="http://www.world66.com/member/white_enema_bag_87">white-enema-bag</a>

  36. teen-porn-free

    Tracked from teen-porn-free 2009/04/23 17:42 Delete

    vintage-oui-magazine <a href="http://www.world66.com/member/vintage_oui_magazi">vintage-oui-magazine</a> teen-karma-galleries <a href="http://www.world66.com/member/teen_karma_galleri">teen-karma-galleries</a>

  37. free-nude-celbs

    Tracked from free-nude-celbs 2009/04/23 18:23 Delete

    tula-cossey-nude <a href="http://www.world66.com/member/tula_cossey_nude_2">tula-cossey-nude</a> elsex-shemales <a href="http://www.world66.com/member/elsex_shemales_96">elsex-shemales</a>

  38. sore throat formaldehyde

    Tracked from sore throat formaldehyde 2009/04/23 19:16 Delete

    judy landers nude <a href="http://kukevitamunywu6422008.blogspot.com/">judy landers nude</a>

  39. mother-daughter-porn

    Tracked from mother-daughter-porn 2009/04/23 19:40 Delete

    frot-porn <a href="http://www.maclife.com/user/64585/">frot-porn</a> adult-porn-games <a href="http://www.maclife.com/user/64602/">adult-porn-games</a>

  40. yvonne-strzechowski-nude

    Tracked from yvonne-strzechowski-nude 2009/04/23 20:12 Delete

    sexy-nightgowns <a href="http://www.maclife.com/user/64312/">sexy-nightgowns</a> clearlake-escorts <a href="http://www.maclife.com/user/64402/">clearlake-escorts</a>

  41. adult-sex-games

    Tracked from adult-sex-games 2009/04/23 20:37 Delete

    oops-markie-post <a href="http://www.maclife.com/user/64620/">oops-markie-post</a> gay-skindex <a href="http://www.maclife.com/user/65179/">gay-skindex</a>

  42. small-sexy-rears

    Tracked from small-sexy-rears 2009/04/23 21:00 Delete

    courtney-thorne-smith-nipples <a href="http://www.maclife.com/user/64237/">courtney-thorne-smith-nipples</a> shaving-bikini-area <a href="http://www.maclife.com/user/65428/">shaving-bikini-area</a>

  43. zeps-guide-to-bbs

    Tracked from zeps-guide-to-bbs 2009/04/23 21:18 Delete

    bleach-switching-bodies <a href="http://www.maclife.com/user/65373/">bleach-switching-bodies</a> aneli-nude <a href="http://www.maclife.com/user/65093/">aneli-nude</a>

  44. free adult hentai games

    Tracked from free adult hentai games 2009/04/27 17:30 Delete

    vanessa hudgens nude photos <a href="%url">vanessa hudgens nude photos</a>

  45. free adult porn movies

    Tracked from free adult porn movies 2009/04/27 17:54 Delete

    german teen models <a href="%url">german teen models</a>

  46. free adult sex videos

    Tracked from free adult sex videos 2009/04/27 18:15 Delete

    porn websites <a href="%url">porn websites</a>

  47. 100 free kathy bates nude pictures

    Tracked from 100 free kathy bates nude pictures 2009/04/27 20:46 Delete

    gay uniforms <a href="http://osycecohuwyme2772008.blogspot.com/">gay uniforms</a>

  48. 123 bbw personals articles

    Tracked from 123 bbw personals articles 2009/04/27 21:49 Delete

    shemales and girls <a href="http://ynesemydyvisok4822008.blogspot.com/">shemales and girls</a>

  49. 13 19 teen flirt

    Tracked from 13 19 teen flirt 2009/04/27 23:42 Delete

    animale sex <a href="http://auapeuyla4152008.blogspot.com/">animale sex</a>

  50. 18 perv yeen xxx

    Tracked from 18 perv yeen xxx 2009/04/28 00:13 Delete

    kimora lee simmons nude <a href="http://odezeladezagy6532008.blogspot.com/">kimora lee simmons nude</a>

  51. 2 girls 1 finger video

    Tracked from 2 girls 1 finger video 2009/04/28 00:59 Delete

    iowa sex offenders list <a href="http://edebep5252008.blogspot.com/">iowa sex offenders list</a>

  52. 4 girls fingerpainting

    Tracked from 4 girls fingerpainting 2009/04/28 01:24 Delete

    teen black and pink bedding <a href="http://usej5042008.blogspot.com/">teen black and pink bedding</a>

  53. 3 wheel adult bicycle schwinn

    Tracked from 3 wheel adult bicycle schwinn 2009/04/28 01:50 Delete

    phone sex small penis humiliation <a href="http://qyzexomudumuvuj3762008.blogspot.com/">phone sex small penis humiliation</a>

  54. 321 gay teen chat

    Tracked from 321 gay teen chat 2009/04/28 02:14 Delete

    lea walker sex tape <a href="http://dunomeuami3132008.blogspot.com/">lea walker sex tape</a>

  55. 3d girls

    Tracked from 3d girls 2009/04/28 03:10 Delete

    videos of girls masterbating <a href="http://yqisul1782008.blogspot.com/">videos of girls masterbating</a>

  56. free-virgin-porn

    Tracked from free-virgin-porn 2009/04/28 13:37 Delete

    the-celeb-archive-homocaine <a href="http://www.world66.com/member/ixepu420479">the-celeb-archive-homocaine</a> alexandre-boisvert-sex-videos <a href="http://www.world66.com/member/ibepuke113567">alexandre-boisvert-sex-videos</a>

  57. keira-knightley-nude

    Tracked from keira-knightley-nude 2009/04/28 14:03 Delete

    free-sex-stories-literotica <a href="http://www.world66.com/member/nyuaqu57235">free-sex-stories-literotica</a> sex-doll-torso <a href="http://www.world66.com/member/qilinafi705779">sex-doll-torso</a>

  58. konnie-huq-nude-fake

    Tracked from konnie-huq-nude-fake 2009/04/28 14:19 Delete

    masiela-lusha-nude <a href="http://www.world66.com/member/vyrupuk638417">masiela-lusha-nude</a> playboy-centrefolds <a href="http://www.world66.com/member/qyvep608987">playboy-centrefolds</a>

  59. tantra-yoni-massage

    Tracked from tantra-yoni-massage 2009/04/28 14:43 Delete

    rubber-misting-nozzles <a href="http://www.world66.com/member/pyvaue429061">rubber-misting-nozzles</a> rosamund-pike-naked <a href="http://www.world66.com/member/gexobuwo771698">rosamund-pike-naked</a>

  60. youngvideomodels-bbs

    Tracked from youngvideomodels-bbs 2009/04/28 15:08 Delete

    babby-got-boobs <a href="http://www.world66.com/member/vekutaz436142">babby-got-boobs</a> muskegon-implant-dentist <a href="http://www.world66.com/member/mihymog99825">muskegon-implant-dentist</a>

  61. jennas american sex star

    Tracked from jennas american sex star 2009/04/28 15:31 Delete

    gallview upskirts <a href="http://bipyqojadi8262009.blogspot.com/">gallview upskirts</a>

  62. sheer-tights-for-men

    Tracked from sheer-tights-for-men 2009/04/28 15:53 Delete

    kuma-sutra-positions <a href="http://www.maclife.com/user/68975/">kuma-sutra-positions</a> penis-jewerly <a href="http://www.maclife.com/user/67485/">penis-jewerly</a>

  63. Video Hardcore Dvdversand Porno7

    Tracked from Video Hardcore Dvdversand Porno7 2009/04/28 16:21 Delete

    adult-steakandcheese <a href="http://www.maclife.com/user/68829/">adult-steakandcheese</a> marge-sucking-homer <a href="http://www.maclife.com/user/66881/">marge-sucking-homer</a>

  64. spokane-david-naylor

    Tracked from spokane-david-naylor 2009/04/28 16:41 Delete

    menstration-pics <a href="http://www.maclife.com/user/68448/">menstration-pics</a> pornresource-naughty-america <a href="http://www.maclife.com/user/69894/">pornresource-naughty-america</a>

  65. Teenage Chatrooms Queensland8

    Tracked from Teenage Chatrooms Queensland8 2009/04/28 17:04 Delete

    Naughty Neshelle Pics80 <a href="http://www.maclife.com/user/71636/">Naughty Neshelle Pics80</a> large-titted-chubby-women <a href="http://www.maclife.com/user/69194/">large-titted-chubby-women</a>

  66. world-of-porncraft-nude

    Tracked from world-of-porncraft-nude 2009/04/28 18:45 Delete

    Ryan Seacrest Shirtless31 <a href="http://www.maclife.com/user/71201/">Ryan Seacrest Shirtless31</a> yara-fucking <a href="http://www.maclife.com/user/67555/">yara-fucking</a>

  67. Wife Caught Sissy Hubby95

    Tracked from Wife Caught Sissy Hubby95 2009/04/28 22:33 Delete

    Nipple Tassels54 <a href="http://lowyzitug4002009.blogspot.com/">Nipple Tassels54</a>

  68. Erin Kelley Nude40

    Tracked from Erin Kelley Nude40 2009/04/28 23:02 Delete

    Jericho Rosales Hunk Gallery91 <a href="http://www.maclife.com/user/73436/">Jericho Rosales Hunk Gallery91</a> Amy White Glamour Model1 <a href="http://www.maclife.com/user/73437/">Amy White Glamour Model1</a>

  69. Sex In Moultrie Ga38

    Tracked from Sex In Moultrie Ga38 2009/04/28 23:34 Delete

    Intimate Marrage Sex82 <a href="http://www.maclife.com/user/73446/">Intimate Marrage Sex82</a> Jessica Leigh Playboy33 <a href="http://www.maclife.com/user/73447/">Jessica Leigh Playboy33</a>

  70. Sexy Balloon Babes72

    Tracked from Sexy Balloon Babes72 2009/04/29 00:32 Delete

    Vintage Rolex Submariner87 <a href="http://www.maclife.com/user/74084/">Vintage Rolex Submariner87</a> Cum On The Babysetter29 <a href="http://www.maclife.com/user/74085/">Cum On The Babysetter29</a>

  71. Teeny Bbs Tgp67

    Tracked from Teeny Bbs Tgp67 2009/04/29 01:38 Delete

    Singer Model 1591 Canada26 <a href="http://www.maclife.com/user/74234/">Singer Model 1591 Canada26</a> Desparado Sex Svene19 <a href="http://www.maclife.com/user/74236/">Desparado Sex Svene19</a>

  72. Descrete Sex73

    Tracked from Descrete Sex73 2009/04/29 02:03 Delete

    Enima Porn38 <a href="http://www.maclife.com/user/74475/">Enima Porn38</a> Amanda Tapping Naked Stargate14 <a href="http://www.maclife.com/user/74479/">Amanda Tapping Naked Stargate14</a>

  73. wybyhugarev

    Tracked from wybyhugarev 2009/05/04 02:16 Delete

    wybyhugarev <a href="http://ozoripyueren9682009.blogspot.com/">wybyhugarev</a>

  74. rectal-thermometer-girl

    Tracked from rectal-thermometer-girl 2009/05/04 03:32 Delete

    amiture-allure <a href="http://www.world66.com/member/iqery6995">amiture-allure</a> blinds-peeping-tom <a href="http://www.world66.com/member/avapes6145">blinds-peeping-tom</a>

  75. swordfish-halle-berry-nude

    Tracked from swordfish-halle-berry-nude 2009/05/04 03:51 Delete

    pleasure-palace-hermantown <a href="http://www.world66.com/member/zihewuz7146">pleasure-palace-hermantown</a> lace-font-hair-weave <a href="http://www.world66.com/member/yjenij5301">lace-font-hair-weave</a>

  76. bdsm-asphixia

    Tracked from bdsm-asphixia 2009/05/04 04:38 Delete

    shizune-nude <a href="http://www.world66.com/member/ewimu4506">shizune-nude</a> latin-alphabet-banner <a href="http://www.world66.com/member/toruuy6604">latin-alphabet-banner</a>

  77. waterbed-vibrator

    Tracked from waterbed-vibrator 2009/05/04 04:55 Delete

    pants-screensaver-spongebob-square <a href="http://www.world66.com/member/hybuuo2668">pants-screensaver-spongebob-square</a> sexy-girls-personnel-ethiopian <a href="http://www.world66.com/member/ikewy8112">sexy-girls-personnel-ethiopian</a>

  78. landon-hall-nude

    Tracked from landon-hall-nude 2009/05/04 05:30 Delete

    jemeni-porn <a href="http://www.world66.com/member/roqaf7986">jemeni-porn</a> suntan-pantyhose-tgp <a href="http://www.world66.com/member/okusy9363">suntan-pantyhose-tgp</a>

  79. teen girls naked

    Tracked from teen girls naked 2009/05/05 14:59 Delete

    free japanese porn <a href="http://iqepozedufijepy9032009.blogspot.com/">free japanese porn</a>

  80. gay nude men

    Tracked from gay nude men 2009/05/05 16:00 Delete

    female model young teens <a href="http://nogovagimeuolor3312009.blogspot.com/">female model young teens</a>

  81. sex with my dog

    Tracked from sex with my dog 2009/05/05 16:02 Delete

    free hd porn <a href="http://qehyhubyxihop3582009.blogspot.com/">free hd porn</a>

  82. women-in-bikinis

    Tracked from women-in-bikinis 2009/05/05 16:29 Delete

    porn-star-escorts <a href="http://linaromaynude45.forumotion.net/your-first-forum-f1/porn-star-escorts-t7.htm">porn-star-escorts</a> forced-sex-videos <a href="http://escortreveiws33.forumotion.net/your-first-forum-f1/forced-sex-videos-t7.htm">forced-s...

  83. free-porn-trailer

    Tracked from free-porn-trailer 2009/05/05 17:00 Delete

    high-def-porn <a href="http://majoretteuniforms23.forumotion.net/your-first-forum-f1/high-def-porn-t10.htm">high-def-porn</a> free-simpsons-porn <a href="http://angelsbrothelinnevada91.forumotion.net/">free-simpsons-porn</a>

  84. teen-cyber-chat

    Tracked from teen-cyber-chat 2009/05/05 17:56 Delete

    free-teen-sex-video <a href="http://xnxxvideo38.forumotion.net/your-first-forum-f1/free-teen-sex-video-t26.htm">free-teen-sex-video</a> vida-guerra-nude <a href="http://spartonvintageradio84.forumotion.net/">vida-guerra-nude</a>

  85. hardcore-fuck-videos

    Tracked from hardcore-fuck-videos 2009/05/05 17:58 Delete

    nude-college-girls <a href="http://adultfrendfinder85.forumotion.net/your-first-forum-f1/nude-college-girls-t20.htm">nude-college-girls</a> dog-sex-movies <a href="http://lauraregannude16.forumotion.net/your-first-forum-f1/dog-sex-movies-t20.htm">dog-s...

  86. free-nude-picture-galleries

    Tracked from free-nude-picture-galleries 2009/05/05 18:24 Delete

    asian-bar-girls <a href="http://touchablelingerie57.forumotion.net/your-first-forum-f1/asian-bar-girls-t34.htm">asian-bar-girls</a> free-illustrated-sex-position <a href="http://adultpoopydiapers83.forumotion.net/your-first-forum-f1/free-illustrated-se...

  87. nude male wrestling

    Tracked from nude male wrestling 2009/05/05 18:58 Delete

    reality porn sites <a href="http://xisyw2692009.blogspot.com/">reality porn sites</a>

  88. carrie underwood nude

    Tracked from carrie underwood nude 2009/05/05 19:48 Delete

    free forced sex stories <a href="http://ojaw9212009.blogspot.com/">free forced sex stories</a>

  89. young-teen-model

    Tracked from young-teen-model 2009/05/05 20:23 Delete

    teen-sex-stories <a href="http://www.world66.com/member/uvobou2656">teen-sex-stories</a> watch-free-porn <a href="http://www.world66.com/member/idekil9942">watch-free-porn</a>

  90. fine-art-nude-photography

    Tracked from fine-art-nude-photography 2009/05/05 22:15 Delete

    big-gay-cock <a href="http://www.world66.com/member/cujyn3554">big-gay-cock</a> celebrity-nudes-free-gallery <a href="http://www.world66.com/member/jaguwaco2628">celebrity-nudes-free-gallery</a>

  91. free hardcore sex movies

    Tracked from free hardcore sex movies 2009/05/06 14:32 Delete

    drunk college girls <a href="http://ipiky7912009.blogspot.com/">drunk college girls</a>

  92. free homemade porn videos

    Tracked from free homemade porn videos 2009/05/06 15:00 Delete

    free gay sex pictures <a href="http://beuocucyuufon4082009.blogspot.com/">free gay sex pictures</a>

  93. maria-bello-nude

    Tracked from maria-bello-nude 2009/05/06 15:19 Delete

    teen-halloween-costumes <a href="http://www.world66.com/member/fykip4886">teen-halloween-costumes</a> free-anal-movies <a href="http://www.world66.com/member/zasoga8412">free-anal-movies</a>

  94. free-sex-thumbs

    Tracked from free-sex-thumbs 2009/05/06 17:08 Delete

    rose-mcgowan-nude <a href="http://www.world66.com/member/enoma1044">rose-mcgowan-nude</a> nude-female-photos <a href="http://www.world66.com/member/pabel9305">nude-female-photos</a>

  95. virtual-sex-games

    Tracked from virtual-sex-games 2009/05/06 17:31 Delete

    jeri-ryan-in-bikini <a href="http://www.world66.com/member/abulyp1424">jeri-ryan-in-bikini</a> nude-celeb-pics <a href="http://www.world66.com/member/emupuwy9499">nude-celeb-pics</a>

  96. homemade-fuck-videos

    Tracked from homemade-fuck-videos 2009/05/06 17:51 Delete

    adult-dating-service <a href="http://www.world66.com/member/sasawaji9551">adult-dating-service</a> free-3d-porn <a href="http://www.world66.com/member/itudi4781">free-3d-porn</a>

  97. heather-locklear-nude

    Tracked from heather-locklear-nude 2009/05/06 18:16 Delete

    feet-in-nylons-matures <a href="http://www.world66.com/member/faxoveba9458">feet-in-nylons-matures</a> kelly-brook-nude <a href="http://www.world66.com/member/bucasek7738">kelly-brook-nude</a>

  98. anna nichole smith nude

    Tracked from anna nichole smith nude 2009/05/06 18:45 Delete

    super micro bikini <a href="http://rugu9082009.blogspot.com/">super micro bikini</a>

  99. Biker Party Girls90

    Tracked from Biker Party Girls90 2009/05/06 19:03 Delete

    Kate Beckinsale Nude23 <a href="http://www.maclife.com/user/Kate_Beckinsale_Nude23/">Kate Beckinsale Nude23</a> Free Homemade Sex Videos81 <a href="http://www.maclife.com/user/Free_Homemade_Sex_Videos81/">Free Homemade Sex Videos81</a>

  100. Young Teens Flashing Thongs73

    Tracked from Young Teens Flashing Thongs73 2009/05/06 19:30 Delete

    Free Asian Porn Movies38 <a href="http://www.maclife.com/user/Free_Asian_Porn_Movies38/">Free Asian Porn Movies38</a> Interracial Sex Stories3 <a href="http://www.maclife.com/user/Interracial_Sex_Stories3/">Interracial Sex Stories3</a>

  101. emmylou harris lesbian

    Tracked from emmylou harris lesbian 2009/05/07 16:27 Delete

    tavor assault rifle <a href="http://lurifavolaceje3572009.blogspot.com/">tavor assault rifle</a>

  102. sheer-bikini-bottoms

    Tracked from sheer-bikini-bottoms 2009/05/07 17:05 Delete

    cumberland-dental-implants <a href="http://www.world66.com/member/ejowivez8694">cumberland-dental-implants</a> heraeus-tanning-bulbs <a href="http://www.world66.com/member/ekaui5191">heraeus-tanning-bulbs</a>

  103. colorado-breast-implants

    Tracked from colorado-breast-implants 2009/05/07 17:34 Delete

    is-steve-sandvoss-gay <a href="http://www.world66.com/member/nexeu9381">is-steve-sandvoss-gay</a> smoothie-nudist <a href="http://www.world66.com/member/hebok682">smoothie-nudist</a>

  104. audio-sex-stories

    Tracked from audio-sex-stories 2009/05/07 19:13 Delete

    bbs-zeps <a href="http://www.world66.com/member/louugem4353">bbs-zeps</a> audio-sex-stories <a href="http://www.world66.com/member/vemequ3912">audio-sex-stories</a>

  105. free-girls-gone-wild

    Tracked from free-girls-gone-wild 2009/05/07 19:59 Delete

    gyno-catheter-exams <a href="http://www.world66.com/member/etizi4074">gyno-catheter-exams</a> piercing-clitoris-galley <a href="http://www.world66.com/member/acizanuk603">piercing-clitoris-galley</a>

  106. trans-dapt

    Tracked from trans-dapt 2009/05/07 20:28 Delete

    adult-frend-finder <a href="http://www.world66.com/member/uidop1328">adult-frend-finder</a> landing-strip-romulus <a href="http://www.world66.com/member/urimyfeu6097">landing-strip-romulus</a>

  107. ilion sluts

    Tracked from ilion sluts 2009/05/07 21:53 Delete

    undergear hunks <a href="http://qipojozaxekogahe3722009.blogspot.com/">undergear hunks</a>

  108. Valerie Bertinelli Naked80

    Tracked from Valerie Bertinelli Naked80 2009/05/08 00:32 Delete

    Arab Sexy Banat96 <a href="http://www.maclife.com/user/Arab_Sexy_Banat96/">Arab Sexy Banat96</a> Petticoat Sissy24 <a href="http://www.maclife.com/user/Petticoat_Sissy24/">Petticoat Sissy24</a>

  109. Sexually Arousing A Woman1

    Tracked from Sexually Arousing A Woman1 2009/05/08 00:59 Delete

    Tucson Asian Massage Parlors11 <a href="http://www.maclife.com/user/Tucson_Asian_Massage_Parlors11/">Tucson Asian Massage Parlors11</a> Darksecret Interracial16 <a href="http://www.maclife.com/user/Darksecret_Interracial16/">Darksecret Interracial16</a>

  110. Harisu Nude89

    Tracked from Harisu Nude89 2009/05/08 01:01 Delete

    Black Girls Nude75 <a href="http://www.maclife.com/user/Black_Girls_Nude75/">Black Girls Nude75</a> Rbsinsurance Animal Fuck50 <a href="http://www.maclife.com/user/Rbsinsurance_Animal_Fuck50/">Rbsinsurance Animal Fuck50</a>

  111. Anita Barone Nude82

    Tracked from Anita Barone Nude82 2009/05/08 01:23 Delete

    Misty Mundae Downloads69 <a href="http://www.maclife.com/user/Misty_Mundae_Downloads69/">Misty Mundae Downloads69</a> Lsmodels Bbs53 <a href="http://www.maclife.com/user/Lsmodels_Bbs53/">Lsmodels Bbs53</a>

  112. Angels Ultimate Smoking Fetish6

    Tracked from Angels Ultimate Smoking Fetish6 2009/05/08 01:49 Delete

    Clearlake Escorts10 <a href="http://www.maclife.com/user/Clearlake_Escorts10/">Clearlake Escorts10</a> Suntan Pantyhose57 <a href="http://www.maclife.com/user/Suntan_Pantyhose57/">Suntan Pantyhose57</a>

  113. Joshs Babes71

    Tracked from Joshs Babes71 2009/05/08 02:13 Delete

    Pulsating Female Orgasm Video53 <a href="http://www.maclife.com/user/Pulsating_Female_Orgasm_Video53/">Pulsating Female Orgasm Video53</a> Alojamientos Gay En Barcelona50 <a href="http://www.maclife.com/user/Alojamientos_Gay_En_Barcelona50/">Alojamient...

  114. reality porn sites

    Tracked from reality porn sites 2009/05/09 06:55 Delete

    lois griffin nude <a href="http://auypo7542009.blogspot.com/">lois griffin nude</a>

  115. teen-swimsuit-models

    Tracked from teen-swimsuit-models 2009/05/09 07:17 Delete

    vida-guerra-nude <a href="http://www.world66.com/member/orebebyx6552">vida-guerra-nude</a> brother-sister-porn <a href="http://www.world66.com/member/eleju5233">brother-sister-porn</a>

  116. sex-in-public-places

    Tracked from sex-in-public-places 2009/05/09 07:42 Delete

    tight-teen-pussy <a href="http://www.world66.com/member/ejuuegi1577">tight-teen-pussy</a> free-gay-pictures-too <a href="http://www.world66.com/member/rikegon4993">free-gay-pictures-too</a>

  117. denise-milani-nude

    Tracked from denise-milani-nude 2009/05/09 08:02 Delete

    denise-milani-nude <a href="http://www.world66.com/member/uyhazutu3041">denise-milani-nude</a> paris-sex-tape <a href="http://www.world66.com/member/revum861">paris-sex-tape</a>

  118. wild-cherries-teen

    Tracked from wild-cherries-teen 2009/05/09 08:28 Delete

    teens-getting-fucked <a href="http://www.world66.com/member/nezycumo5393">teens-getting-fucked</a> sexy-naked-girls <a href="http://www.world66.com/member/rojikuzy3971">sexy-naked-girls</a>

  119. little-nude-girls

    Tracked from little-nude-girls 2009/05/09 08:50 Delete

    skimpy-g-string-bikini <a href="http://www.world66.com/member/ykapyfi5100">skimpy-g-string-bikini</a> ashley-tisdale-nude <a href="http://www.world66.com/member/unuvady2546">ashley-tisdale-nude</a>

  120. riddick-fanfiction

    Tracked from riddick-fanfiction 2009/07/03 20:05 Delete

    chilled-semen-weekend-protocol <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1420954">chilled-semen-weekend-protocol</a> erotic-bedtime-stories <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1420634">erotic-bedtime-stories</a>

  121. free-homemade-sex-movies

    Tracked from free-homemade-sex-movies 2009/07/04 06:54 Delete

    <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1423579">confederate-butternut-uniform</a> confederate-butternut-uniform <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1423658">hariy-pussy</a> hariy-pussy

  122. wives-spanked-to-tears

    Tracked from wives-spanked-to-tears 2009/07/04 10:09 Delete

    <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1422305">girth-sleeves-penis</a> girth-sleeves-penis <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1422151">garcelle-crotch-shot</a> garcelle-crotch-shot

  123. granma-pussy

    Tracked from granma-pussy 2009/07/04 12:42 Delete

    <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1423098">vaginal-hyman</a> vaginal-hyman <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1425728">blow-dryer-holder</a> blow-dryer-holder

  124. westlife-interactive-fanfiction

    Tracked from westlife-interactive-fanfiction 2009/07/04 15:32 Delete

    <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1425637">adult-diapers-medco</a> adult-diapers-medco <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1422773">pete-wentz-penis</a> pete-wentz-penis

  125. naked-teen-girls

    Tracked from naked-teen-girls 2009/07/04 18:44 Delete

    <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1422797">latin-peruvian-singles</a> latin-peruvian-singles <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1421578">lee-meredith-topless</a> lee-meredith-topless

  126. trampling fem dom

    Tracked from trampling fem dom 2009/07/07 23:17 Delete

    nude african women <a href="http://ricardocapone.blogspot.com/">nude african women</a>

  127. mtd riding mower diagram

    Tracked from mtd riding mower diagram 2009/07/08 06:01 Delete

    hentai catgirls <a href="http://fifty-fifty-50.blogspot.com/">hentai catgirls</a>

  128. adult diaper pail

    Tracked from adult diaper pail 2009/07/08 11:57 Delete

    jason momoa nude <a href="http://cl36amg.blogspot.com/">jason momoa nude</a>

  129. donna gamache california

    Tracked from donna gamache california 2009/07/24 15:25 Delete

    fursuit sex <a href="http://sexfacts31.5gighost.com/fursuit-sex.html">fursuit sex</a> adult intimate lingerie <a href="http://sexfacts31.5gighost.com/adult-intimate-lingerie.html">adult intimate lingerie</a>

  130. denise milani nude

    Tracked from denise milani nude 2009/07/24 19:25 Delete

    gentle giantess <a href="http://sexetc90.5gighost.com/gentle-giantess.html">gentle giantess</a> kym johnson nude <a href="http://sexetc90.5gighost.com/kym-johnson-nude.html">kym johnson nude</a>

  131. rbsinsurance hardcore

    Tracked from rbsinsurance hardcore 2009/07/24 21:54 Delete

    mistress roxzanne <a href="http://sexfilms19.5gighost.com/mistress-roxzanne.html">mistress roxzanne</a> vintage ge wall oven <a href="http://sexfilms19.5gighost.com/vintage-ge-wall-oven.html">vintage ge wall oven</a>

  132. mommy phone sex

    Tracked from mommy phone sex 2009/07/25 00:24 Delete

    sexual pegging stories <a href="http://sexfinder33.5gighost.com/sexual-pegging-stories.html">sexual pegging stories</a> draenei nude <a href="http://sexfantasies45.5gighost.com/draenei-nude.html">draenei nude</a>

  133. cambodia nightlife girls young

    Tracked from cambodia nightlife girls young 2009/07/25 05:26 Delete

    gwen stephani nude <a href="http://sexmpegs7.5gighost.com/gwen-stephani-nude.html">gwen stephani nude</a> intermixed sluts <a href="http://sexmpegs7.5gighost.com/intermixed-sluts.html">intermixed sluts</a>

  134. gwen stephani nude

    Tracked from gwen stephani nude 2009/07/25 05:27 Delete

    nap nudes poppin <a href="http://sexoasis74.5gighost.com/nap-nudes-poppin.html">nap nudes poppin</a> inbondage bondage <a href="http://sexmpegs7.5gighost.com/inbondage-bondage.html">inbondage bondage</a>

  135. free tribadism stories

    Tracked from free tribadism stories 2009/07/25 07:53 Delete

    jamie eason nude <a href="http://sexmpegs7.5gighost.com/jamie-eason-nude.html">jamie eason nude</a> jesse abbate <a href="http://sexmpegs7.5gighost.com/jesse-abbate.html">jesse abbate</a>

  136. tamil sex stories

    Tracked from tamil sex stories 2009/07/25 15:06 Delete

    prickler strip <a href="http://sexmpegs7.5gighost.com/prickler-strip.html">prickler strip</a> ftld sensitive to noise <a href="http://sexoasis74.5gighost.com/ftld-sensitive-to-noise.html">ftld sensitive to noise</a>

  137. traci bingham nude

    Tracked from traci bingham nude 2009/07/28 00:05 Delete

    missy rothstein playboy pics <a href="http://sexmoviesfree74.5gighost.com/missy-rothstein-playboy-pics.html">missy rothstein playboy pics</a>

  138. zeps bbs

    Tracked from zeps bbs 2009/07/29 15:24 Delete

    tawas phone system <a href="http://maifunemae.wordpress.com/">tawas phone system</a>

  139. zero turn lawn mowers

    Tracked from zero turn lawn mowers 2009/07/29 16:13 Delete

    tawas voip phone systems <a href="http://mapman69.wordpress.com/">tawas voip phone systems</a>

  140. Margot Kidder Nude

    Tracked from Margot Kidder Nude 2009/08/18 01:49 Delete

    Margot Kidder Nude <a href="http://www.kaboodle.com/margot_kidder_nude_52">Margot Kidder Nude</a> Photos and Video. jgr1uig98d

  141. penile papules

    Tracked from penile papules 2009/08/27 16:36 Delete

    rayflex pvc strip <a href="http://www.kaboodle.com/rayflex_pvc_strip_64">rayflex pvc strip </a>

  142. 409a

    Tracked from 409a 2009/10/01 05:05 Delete

    euphemisms <a href="http://euphemisms.gscoiqrqnvq.com/">euphemisms</a> showering boys <a href="http://showering-boys.gscoiqrqnvq.com/">showering boys</a>

Leave a comment

심심해서 만들어본 Binary2Str


제목 그대로 Binary를 String으로 변환 시켜주는 간단한 코드 입니다.
그냥 심심해서 만들어 본 거라, 코드가 제대로 된거라고는 확신하지 못하겠네요.
(-_-.. 이런 무책임한...)

그냥 이렇게 짜도 동작하는구나... 하고 보시면 될 듯 하네요.

#include "stdafx.h"
#include <windows.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
char str[] = "010000110110111101100100011001010110010000100000011000100111100100100000010001000111010101100001011011000010000100100000010101010111001101101001011011100110011100100000011010010111010000100000011000010111010000100000011101010111001000100000011011110111011101101110001000000111001001101001011100110110101100101110";
char tmp = 0;
long cnt = 0;
// printf("Input Strings 2 convert : ");
// scanf("%s",str);
for(int k = 0; k < strlen(str); k++)
if(str[k] == '0' || str[k] == '1') cnt++;
printf("length of strings : %d\n",cnt);
if(cnt % 8 != 0)
{
printf("Your binary code is must be divisible by 8.\n");
exit(-1);
}
for(int i = 0; i < cnt/8; i++)
{
tmp = 0;
for(int j = 0; j < 8; j++)
{
  if(str[i*8 + j] == '0')
  {
   tmp <<= 1;
  }
  else if(str[i*8 + j] == '1')
  {
   tmp <<= 1;
   tmp +=1;
  }
}
printf("%c",tmp);
}
printf("\n");
return 0;
}

-_-;; 문자열 하나를 binary로 만들어서 넣어놨습니다.
프로그램을 실행시키면 문자열로 변형되서 출력되겠죠..
만약 이런 크렉미가 있다면 위의 코드를 이용해 먹을 수 있겠네요...
사용자로부터 문자열을 입력받아서 프로그램 내에서 이진수문자배열로 만든 후,
그걸 프로그램 내부에 있던 이진배열과 한개씩 비교한다.
-_-;; 만약 위의 코드를 가지고 있다면 금방 풀리겠죠...

-----------------------------------
다음날 :
오늘도 심심해서 문자열을 바이너리로 만드는것도 만들어 봤습니다.
-_-;; 하하 돌아가네요..

#include "stdafx.h"
#include <windows.h>
int main(int argc, char* argv[])
{
char str[] = "String2Binary!!";
char tmp;
char nina[] = {128,64,32,16,8,4,2,1};
for(int i = 0; i < strlen(str); i++)
{
tmp = str[i];
for(int j = 0; j < 8; j++)
{
  if((tmp / nina[j]) != 0)
  {
   tmp %= nina[j];
   printf("1");
  }
  else
  {
   printf("0");
  }
}
}
printf("\n");
return 0;
}

이올린에 북마크하기

Posted by Dual

2007/04/23 23:39 2007/04/23 23:39
Response
A trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/280

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/280

Trackbacks List

  1. Minoura DS 30 Bike Stand

    Tracked from Minoura DS 30 Bike Stand 2011/12/19 09:48 Delete

Comments List

  1. Air Jordans 2011/08/29 17:41 # M/D Reply Permalink

    555clf1
    thanjks for you

  2. Nike Air Max for Sal 2011/08/29 17:44 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment

유저 레벨에서 디버거 감지 방법들.


디버거를 감지 하는 방법에는 어떠한 것들이 있을까?
그저 간단한 팁형식의 글이다.

1) IsDebuggerPresent() 함수를 이용하는 방법.

IsDebuggerPresent() 함수는 Kernel32.dll에 의해 export되어 지는 함수인데,
해당 함수를 호출한 프로세스가 디버깅 당하는 중이면 TRUE(1)을,
아닐 경우는 FALSE(0)을 반환하는 함수이다.

loop 속에 다음과 같은 코드를 추가시킴으로써 감지 할 수 있다.
if(IsDebuggerPresent())
{
    OutputDebugString("Debugeed!!");
    //디버깅 당하는 중일떄의 어떠한 처리
}

2) IsDebuggerPresent() 함수 직접 구현의 방법.

IsDebuggerPresent() 함수는 내부적으로 해당 프로세스의 PEB구조체에
BeingDebuged의 값을 리턴해 준다.

아래가 IsDebuggerPresent() 코드의 전부이다.
-------------------------------------------
7C813093 > 64:A1 18000000   MOV EAX,DWORD PTR FS:[18]
7C813099   8B40 30          MOV EAX,DWORD PTR DS:[EAX+30]
7C81309C   0FB640 02        MOVZX EAX,BYTE PTR DS:[EAX+2]
-------------------------------------------

그럼으로 우리는 IsDebuggerPresent()를 호출 하는 것이 아니라,
직접 해당 코드를 루프 속에 넣음으로써 똑같은 기능을 낼 수 있다.
다음과 같이 코드를 작성해 주면 될 것이다.

BOOL Pesudo_IsDebuggerPresent()
{
BOOL Retval = 0;
  __asm
  {
      push eax
      mov eax,dword ptr fs:{0x18]
      mov eax,dword ptr ds:[eax+0x30]
      movzx eax,byte ptr ds:[eax+0x2]
      mov Retval,eax
     pop eax
  }
  return Retval;
}

3) CheckRemoteDebuggerPresent() 함수를 이용하는 방법.

CheckRemoteDebuggerPresent() 함수는 자신의 프로세스 뿐만 아니라,
원하는 프로세스가 디버깅 당하는 중인지 까지 확인이 가능한 함수이다.
다음과 같은 방식으로 코드를 작성할 수 있다.

BOOL CheckDebugger(HANDLE hProcess)

{
     BOOL Retval = 0;
 
     CheckRemoteDebuggerPresent(hProcess,&Retval);
     return Retval;
}


* CheckRemoteDebuggerPresent()는 NTAPI의 ZwQueryInformationProcess()로
연결된다.

ZwQueryInformationProcess()는 다음과 같은 호출 인자를 갖는 함수인데,

NTSTATUS NTAPI ZwQueryInformationProcess(HANDLE ProcessHandle,
    PROCESSINFOCLASS ProcessInformationClass,
    PVOID ProcessInformation,
    ULONG ProcessInformationLength,
    PULONG ReturnLength);

첫번쨰는 질의 하고자 하는 대상 프로세스의 핸들.
두번쨰는 질의 하고자 하는 내용(디버깅 여부는 ProcessDebugPort)
세번쨰는 결과
네번쨰는 길이
다섯번쨰는 실반환 길이이다.
해당 함수를 직접 호출하는 것도 하나의 방법이 될 수 있을 것이다.


4) NtGlobalFlag 확인법.

디버거가 해당 프로세스를 디버깅 할떄,
셋되어 지는 Flag들이 있는데, NtGlobalFlag는 그중에 하나이다.
다음과 같은 방식의 체크 함수를 작성 가능하다.


BOOL CheckNtGlobalFlag()
{
  BOOL Retval = 0;

  __asm
  {
        push eax
        mov eax,dword ptr fs:[0x30]
         mov eax,0x68
         mov eax,dword ptr ds:[eax]
         cmp eax,0x70
        pop eax
        jne NotDebuged
         mov Retval,1
NotDebugged :
         nop
    }
    return Retval;
}

5)


그외에도 KTHREAD_DEBUG_ACTIVE를 체크하는 방법이라던지,
수많은 방법들이 존재하지만, 역시나 아무래도 간단한 Tip형식의 글이라,
모두 다루지는 않고 마치도록 하겠다. :)

이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2006/12/19 19:24 2006/12/19 19:24
Response
No Trackback , 3 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/230

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/230

Comments List

  1. 핏빛초콜릿 2008/09/09 10:50 # M/D Reply Permalink

    좋은 내용이네요.
    감사합니다 *^^*

  2. Vibram FiveFingers 2011/08/29 17:40 # M/D Reply Permalink

    555clf5
    good

  3. Nike Air Max for Sal 2011/08/29 17:44 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment

어셈블리 명령어별 속도

The 8088 instruction set
뎃 떏 래 : soyun 툃쵡빓

The number of clocks to add for the effective address (EA) is as follows:

Components Operand Clocks

(a) Base or index [BX],[BP],[DI],SI] 5
(b) Displacement label or disp 6
(c) Base + index [BX][SI],[BP][DI] 7
[BP][SI],[BP][DI] 8
(d) Displacement + base or index [BX],[BP],[DI],[SI] + disp 9
(e) Displace + base + index [BP][SI],[BP][DI] + disp 11
[BP][SI],[BP][DI] + disp 12

Add two clocks for segment overrides. Here are the instruction times:

instruction clocks bytes

AAA 4 1
AAD 60 2
AAM 83 1
AAS 4 1
ADC register,register 3 2
register,memory 9(13)+EA 2-4
memory,register 16(24)+EA 2-4
register,immediate 4 3-4
accumulalator,immediate 4 2-3
ADD register,register 3 2
register,memory 9(13)+EA 2-4
memory,register 16(24)+EA 2-4
register,immediate 4 3-4
memory,immediate 17(25)+EA 3-6
accumulator,immediate 4 2-3
AND register,register 3 2
register,memory 9(13)+EA 2-4
memory,register 16(24)+EA 2-4
register,immediate 4 3-4
memory,immediate 17(25)+EA 3-6
accumulator,immediate 4 2-3
CALL near procedure 23 3
far procedure 36 5
word memory pointer 29+EA 2-4
word register pointer 24 2
double word memory pointer 57+EA 2-4
CBW 2 1
CLC 2 1
CLD 2 1
CLI 2 1
CMC 2 1
CMP register,register 3 2
register,memory 9(13)+EA 2-4
memory,register 9(13)+EA 2-4
register,immediate 4 3-4
memory,immediate 10(14)+EA 3-6
accumulator,immediate 4 2-3
CMPS destination,source 22(30) 1
(REP) destination,source 9+22(30)/rep 1
CWD 5 1
DAA 4 1
DAS 4 1
DEC word register 2 1
byte register 3 2
memory 15(23)+EA 2-4
DIV byte register 80-90 2
word register 144-162 2
memory byte (86-96)+EA 2-4
memory word (154-172)+EA 2-4
ESC immediate,memory 8(12)+EA 2-4
immediate,register 2 2
HLT 2 1
IDIV byte register 101-112 2
word register 165-185 2
memory byte (107-118)+EA 2-4
memory word (175-194)+EA 2-4
IMUL byte register 80-98 2
word register 128-154 2
memory byte (86-104)+EA 2-4
memory word (138-164)+EA 2-4
IN accumulator,immediate 10(14) 2
accumulator,DX 8(12) 1
INC word register 2 1
byte register 3 2
memory (15+23)+EA 2-4
INT 3 52 1
immediate byte other than 3 51 2
INTO 53 or 4 1
IRET 32 1
JCXZ short-label 18 or 6 2
JMP short_label 15 2
near_label 15 3
far-label 15 5
word memory-pointer 18 + EA 2-4
word register-pointer 11 2
dblword memory-pointer 24 + EA 2-4
Jxxx short_label 16 or 4 2
LAHF 4 1
LDS word register,momory dblword 24 + EA 2-4
LEA word register,momory word 2 + EA 2-4
LES word register,momory dblword 24 + EA 2-4
LOCK 2 1
LODS source-string 12(16) 1
(REP) source 9+13(17)/rep 1
LOOP short-label 17 or 5 2
LOOPE short-label 18 or 6 2
LOOPNE short-label 19 or 5 2
LOOPZ short-label 18 or 6 2
MOV memory,accumulator 10(14) 3
accumulator,memory 10(14) 3
register,register 2 2
register,memory 8(12)+EA 2-4
memory,register 9(13)+EA 2-4
register,immediate 4 2-3
immediate,register 10(14)+EA 3-6
segment register,word register 2 2
segment register,memory word 8(12)+EA 2-4
word register,segment register 2 2
memory,segment register 9(13)+EA 2-4
MOVS destination,source 18(26) 1
(REP) destination,source 9+17(25)/rep 1
MUL byte register 70-77 2
word register 118-133 2
memory byte (76-83)+EA 2-4
memory word (128-143)+EA 2-4
NEG register 3 2
memory 16(24)+EA 2-4
NOP 3 1
NOT register 3 2
memory 16(24)+EA 2-4
OR register,register 3 2
register,memory 9(13)+EA 2-4
memory,register 16(24)+EA 2-4
register,immediate 4 3-4
memory,immediate 17(15)+EA 3-6
accumulator,immediate 4 2-3
OUT immediate byte,accumulator 10(14) 2
DX,accumulator 8(12) 1
POP register 12 1
segment register 12 1
memory 25 + EA 2-4
POPF 12 1
PUSH register 15 1
segment register 14 1
memory 25 + EA 2-4
PUSHF 14 1
RCL register,1 2 2
register,CL 8+4/bit 2
memory,1 15(23)+EA 2-4
memory,CL 20(28)+EA+4/bit 2-4
RCR register,1 2 1
register,CL 8+4/bit 2
memory,1 15(23)+EA 2-4
memory,CL 20(28)+EA+4/bit 2-4
REP 2 1
REPE 2 1
REPNE 2 1
REPZ 2 1
REPNZ 2 1
RET (intra-segment,no POP) 20 1
(intra-segment,POP) 24 3
(inter-segment,no POP) 32 1
(inter-segment,POP) 31 3
ROL register,1 2 2
register,CL 8+4/bit 2
memory,1 15(23)+EA 2-4
memory,CL 20(28)+EA+4/bit 2-4
ROR register,1 2 2
register,CL 8+4/bit 2
memory,1 15(23)+EA 2-4
memory,CL 20(28)+EA+4/bit 2-4
SAHF 4 1
SAL register,1 2 2
register,CL 8+4/bit 2
memory,1 15(23)+EA 2-4
memory,CL 20(28)+EA+4/bit 2-4
SAR register,1 2 2
register,CL 8+4/bit 2
memory,1 15(23)+EA 2-4
memory,CL 20(28)+EA+4/bit 2-4
SBB register,register 3 2
register,memory 9(13)+EA 2-4
memory,register 16(24)+EA 2-4
register,immediate 4 3-4
accumulator,immediate 4 2-3
SCAS destination 15(19) 1
(REP) destination 9+15(19)/rep 1
SHL register,1 2 2
register,CL 8+4/bit 2
memory,1 15(23)+EA 2-4
memory,CL 20(28)+EA+4/bit 2-4
SHR register,1 2 2
register,CL 8+4/bit 2
memory,1 15(23)+EA 2-4
memory,CL 20(28)+EA+4/bit 2-4
STC 2 1
STD 2 1
STI 2 1
STOS destination 11(15) 1
(REP) destination 9+10(14)/rep 1
SUB register,register 3 2
register,memory 9(13)+EA 2-4
memory,register 16(24)+EA 2-4
register,immediate 4 3-4
memory,immediate 17(25)+EA 3-6
AL,immediate 4 ?
TEST register,register 3 2
register,memory 9(13)+EA 2-4
register,immediate 5 3-4
memory,immediate 11 + EA 3-6
AL,immediate 4 2-3
WAIT 3 + 5n 1
XCHG AL,16-bit register 3 1
memory,register 17(25)+EA 2-4
register,register 4 2
XLAT source-table 11 1
XOR register,register 3 2
register,memory 9(13)+EA 2-4
memory,register 16(24)+EA 2-4
register,immediate 4 3-4
memory,immediate 17(15)+EA 3-6
AL,immediate 4 2-3
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2006/05/09 07:29 2006/05/09 07:29
Response
No Trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/189

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/189

Comments List

  1. Air Jordans 2011/08/29 17:41 # M/D Reply Permalink

    555clf1
    thanjks for you

  2. Nike Air Max for Sal 2011/08/29 17:44 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment

Windows 시간 관련 프로그래밍 정보.

Edited by Dual(dual5651@hotmail.com)

이번글은 블로깅을 하면서 발견한 시간관련 글들을
종합하여 편집 함으로써 이부분에 대해 궁금해 하시는
분에게 도움이 되고자 해서 편집 & 작성하여 보았습니다.


1. Tick 구하기 - 1

타이머 문제로 골몰하다 멀티미디어 라이브러리의 바이너리를
뒤적거리기로 했다. 한참동안 winmm.lib 의 네이티브 코드를
뒤지다가 재미난 것을 한가지 발견. 일단 해당 부분을 뜯어
간단히 인라인 어셈으로 옮겨 보았다.

inline unsigned __int64 getMisteryCount()
{
__asm
{
mov edx,dword ptr ds:[7FFE000Ch]
mov eax,dword ptr ds:[7FFE0008h]
}
}

아무런 문서도 없이 바이너리를 뒤지다 얻어낸 정보인지라
저 주소가 무엇을 의미하는지는 나도 모른다. 구글에도
없는것을 보니 완전한 un-documented feature 같다.

어쨌든 저 주소에는 1/10000 초 단위의 시간이 저장되어 있다.
물론 아래와 같이 10000 을 나누어 milli-second 단위로 변환해서
사용하는것도 가능하다.

inline unsigned int getElapsedMilliSecond()
{
return static_cast< unsigned int >
( getMisteryCount()/10000 );
}

mov 를 두번 호출할 뿐인지라 속도는 경이적이다.
빠르지만 최악의 정밀도를 보여주는 GetTickCount()
보다도 4배정도 빠르다. 아무일도 하지 않고 루프만 돈
noproc() 에 거의 근접한다.



getMisteryCount() 와 getElapsedMilliSecond() 의
속도차이의 이유는 64-bit div 연산에 있다. 32-bit 프로세서에서
__int64 나누기를 하려면 수십개의 인스트럭션이 필요하다.
테스트 결과 getMisteryCount() 는 Win95/98/Me 등에선 동작하지
않는다. XP , 2000, 2003 등 NT 커널 기반 OS 에서만 돌아가는 듯
하다. 어쨌건 퍼포먼스 카운트용으로 이보다 더 좋은 타이머는
없을 듯 하다.

2. Tick 구하기 - 2

대부분 Speed Hack은 kernel.dll에 있는 GetTickCount()나
winmm.dll에 있는 timeGetTime() 함수를 조작해서 만들어 진다.
그러나 그러한 역할을 하는 걸 Win32API를 쓰지 않고 아래와 같은
ASM을 사용한다면 해결을 할 수 있지 않을까 싶다.

_asm
{
RDTSC
mov DWORD PTR iCurrentTick, eax
mov DWORD PTR iCurrentTick+ 4, edx
}

RDTSC 어셈은 8x86 CPU에 들어 있는 ASM이다.
CPU의 클럭값을 eax와 edx에 return하는 어셈이라
2개의 레지스터에서 메모리로 옮기면 GetTickCount()
역할을 할 수 있다.

3. Win32 환경에서의 타이머 종류

Ansi C의 time(), _ftime()

Ansi 표준 C 라이브러리의 함수들로,
time()은 최소 1초 단위의 값을 돌려준다.
메인 루프 제어용으로는 부적합하나 게임 저장
날짜/시간의 기록 등에는 유용할 것임.
_ftime()은 밀리초(1000분의 1초) 단위의 값을 돌려준다.

Win32 API의 timeGetTime() 함수

흔히 멀티미디어 타이머라고 하는 것으로,
윈도우즈가 시작된 이후 흐른 시스템 시간을 돌려준다.
단위는 밀리초. 기본 정밀도는 Win9x의 경우 1 밀리초,
NT 패밀리의 경우 5 밀리초 이상이라고 함.
이정도면 _ftime()과 함께 게임에서 써먹을 수 있을 만한 함수.

타이머의 해상도는 timeGetDevCaps()와
timeBeginPeriod()로 조정할 수 있다.

Win32 API의 WM_TIMER 메시지

일정한 시간 주기로 발생하는 메시지.
주기의 최소 단위는 역시 밀리초 단위.
메시지 펌프에서 잡거나 SetTimer()를 이용해서
콜백 함수를 호출하게 만들 수 있음.
그러나 메시지의 우선 순위가 낮기 때문에 정확하지 못하다.

Win32 API의 GetTickCount() 함수

시스템 틱 카운트를 돌려주며, 단위는 밀리초.
Win9x의 경우 기본 정밀도는 약 55 밀리초,
NT 급은 10에서 16 정도... timeGetTime()보다 못함...

고해상도 타이머

하드웨어가 고해상도 타이머를 지원하는 경우라면
가장 좋은 선택으로, 매우 정밀한 시간을 얻을 수 있다.
얻을 수 있는 시간의 해상도는 하드웨어마다 다르나,
어쨌든 적어도 위에 나온 것들보다는 정밀하다고 함.
관련 함수(자세한 사항은 MSDN 참고)

둘 다 windows.h만 포함시키면 됨...

BOOL QueryPerformanceCounter(
LARGE_INTEGER *lpPerformanceCount // pointer to counter value
);

BOOL QueryPerformanceFrequency(
LARGE_INTEGER *lpFrequency // address of current frequency
);

고해상도 타이머의 해상도 및 지원 여부 알아내기

QueryPerformanceFrequency(&ticksPerSecond)의 반환값이 0이
아니면 고해상도 타이머를 지원하는 것이다.
이 때 tickPerSecond에는 초 당 틱 수가 설정된다.

예:

LARGE_INTEGER ticksPerSecond;
if (!QueryPerformanceFrequency(&ticksPerSecond))
{
// 지원하지 않음
return false;
}

현재 시간 얻기

QueryPerformanceCounter(&ticks)를 호출하면 ticks에
성능 카운터 수(음.. 컴퓨터가 켜진 후 지나간 틱 수)가 설정된다.
이를 위에서 얻은 ticksPerSecond로 나누면 초
단위의 시간을 얻을 수 있다.

예:

LARGE_INTEGER ticks;
QueryPerformanceCounter(&ticks);

float seconds = ((float)ticks.QuadPart
/ (float)ticksPerSecond.QuadPart;


지나간 시간 얻기

게임에서 실제로 필요한 것은 이전 프레임으로부터 흐른 시간인데,
그냥 현재 시간에서 이전 시간을 빼면 됨...

예: float GetElapsedSeconds(unsigned long elapsedFrames = 1)
{
static LARGE_INTEGER s_lastTime = m_startTime;
LARGE_INTEGER currentTime;

QueryPerformanceCounter(&currentTime);

float seconds = ((float)currentTime.QuadPart -
(float)s_lastTime.QuadPart) / (float)m_ticksPerSecond.QuadPart;

// reset the timer
s_lastTime = currentTime;

return seconds;
} // end GetElapsedSeconds()

QueryPerformanceCounter의 문제점

일부 메인보드/칩셋에서 시간이 건너뛴다는 보고가 있음.

RDTSC

인텔 펜티엄 계열 CPU에서 제공하는 어셈블리 명령이다.
펜티엄은 내부적으로 TSC(Time Stamp Counter)라는
64비트 카운터를 유지하는데 이 카운터의 값은 클럭
사이클마다 증가한다.
RDTSC 명령은 내부 TSC 카운터의 값을 EDX와 EAX 레지스터에
복사하는 명령이다.
이 명령은 6~11 클럭을 소요한다. 고해상도 타이머가
이 명령을 이용해 구현되었다고 한다.

시간에 기반한 게임 갱신


고정 시간 간격

한 프레임에 걸리는 시간을 고정시키는 것.
간단히 말하면, 한 프레임에 걸리는 표준 목표
시간을 설정하고, 한 프레임에 걸린 시간이 그보다
작으면 남는 부분만큼 아무 일도 하지 않고 기다리는 것이다.

의사코드:

게임 메인 루프
{
현재시각을 얻는다.

한 프레임 처리;

흐른시간 = 현재시각 - 아까 얻은 현재시각

만일 ( 흐른시간 < 목표시간)
{
(목표시간 - 흐른시간)만큼 쉰다. //예: Sleep(...);
}
}

장점: 시간 관리가 직관적이고 간편하다(시간 자체를 중심으로 바라볼 때).
또한 멀티미디어와의 시간 동기화가 편하다
(애니메이션과 배경음악/대사를 일치시키는 등).

단점: 한 프레임 처리에 걸린 시간이 목표시간보다 더 긴 경우 게임의 속도가
일정하지 않게 된다. 또한 최소 사양 이하의 컴퓨터라면 게임 전체가 느리게
돌아가게 된다.


가변 시간 간격

게임의 기능 및 객체들이 이전 프레임 이후 흐른 시간
(이하 프레임 시간)에 기반해서 갱신되게 하는 것.
예를 들어 어떤 객체가 1초당 10미터를 수평 이동
한다고 하면, 객체의 x 좌표는: x = x + 10 * (프레임 시간)
이렇게 하면 프레임 시간에 상관없이(즉 CPU 속도나 기타
다른 요인과 독립적으로) 객체는 항상 초 당 10 미터의
속력을 가지게 된다.

장점: 객체의 입장으로 바라볼 때 직관적.
게임을 실세계의 단위(미터, 초 등)에 기반해서 모델링할 때 크게 유용할 수 있다.

단점: 모든 객체들의 갱신 방식을 시간에 기반한 함수로 생각할 수 있어야 한다.
3D라면 당연하지만 전통적인 2D 게임이라면 사고의 전환이 필요함...
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2006/03/08 22:17 2006/03/08 22:17
Response
No Trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/184

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/184

Comments List

  1. ama 2011/07/21 12:43 # M/D Reply Permalink

    super bowl Jersey
    http://www.nflinshop.com/Super-Bowl-Jerseys/

    super bowl Jerseys
    http://www.nflinshop.com/Super-Bowl-Jerseys/

    super bowl 2011 Jerseys
    http://www.nflinshop.com/Super-Bowl-Jerseys/

    2011 super bowl Jerseys
    http://www.nflinshop.com/Super-Bowl-Jerseys/

    super bowl XLV Jerseys
    http://www.nflinshop.com/Super-Bowl-Jerseys/

    XLV super bowl Jerseys
    http://www.nflinshop.com/Super-Bowl-Jerseys/


    Baltimore Ravens
    http://www.nflinshop.com/Baltimore-Ravens-Jerseys/

    Baltimore Ravens Jersey
    http://www.nflinshop.com/Baltimore-Ravens-Jerseys/

    Baltimore Ravens Jerseys
    http://www.nflinshop.com/Baltimore-Ravens-Jerseys/

    Buffalo Bills
    http://www.nflinshop.com/Buffalo-Bills-Jerseys/

    Buffalo Bills Jersey
    http://www.nflinshop.com/Buffalo-Bills-Jerseys/

    Buffalo Bills Jerseys
    http://www.nflinshop.com/Buffalo-Bills-Jerseys/

    Cincinnati Bengals
    http://www.nflinshop.com/Cincinnati-Bengals-Jerseys/

    Cincinnati Bengals Jersey
    http://www.nflinshop.com/Cincinnati-Bengals-Jerseys/

    Cincinnati Bengals Jerseys
    http://www.nflinshop.com/Cincinnati-Bengals-Jerseys/

    Cleveland Browns
    http://www.nflinshop.com/Cleveland-Browns-Jerseys/

    Cleveland Browns Jersey
    http://www.nflinshop.com/Cleveland-Browns-Jerseys/

    Cleveland Browns Jerseys
    http://www.nflinshop.com/Cleveland-Browns-Jerseys/

    Denver Broncos
    http://www.nflinshop.com/Denver-Broncos-Jerseys/

    Denver Broncos Jersey
    http://www.nflinshop.com/Denver-Broncos-Jerseys/

    Denver Broncos Jerseys
    http://www.nflinshop.com/Denver-Broncos-Jerseys/

    Houston Texans
    http://www.nflinshop.com/Houston-Texans-Jerseys/

    Houston Texans Jersey
    http://www.nflinshop.com/Houston-Texans-Jerseys/

    Houston Texans Jerseys
    http://www.nflinshop.com/Houston-Texans-Jerseys/

    Indianapolis Colts
    http://www.nflinshop.com/Indianapolis-Colts-Jerseys/

    Indianapolis Colts Jersey
    http://www.nflinshop.com/Indianapolis-Colts-Jerseys/

    Indianapolis Colts Jerseys
    http://www.nflinshop.com/Indianapolis-Colts-Jerseys/

    Jacksonville Jaguars
    http://www.nflinshop.com/Jacksonville-Jaguars-Jerseys/

    Jacksonville Jaguars Jersey
    http://www.nflinshop.com/Jacksonville-Jaguars-Jerseys/

    Jacksonville Jaguars Jerseys
    http://www.nflinshop.com/Jacksonville-Jaguars-Jerseys/

    Kansas City Chiefs
    http://www.nflinshop.com/Kansas-City-Chiefs-Jerseys/

    Kansas City Chiefs Jersey
    http://www.nflinshop.com/Kansas-City-Chiefs-Jerseys/

    Kansas City Chiefs Jerseys
    http://www.nflinshop.com/Kansas-City-Chiefs-Jerseys/

    Miami Dolphins
    http://www.nflinshop.com/Miami-Dolphins-Jerseys/

    Miami Dolphins Jersey
    http://www.nflinshop.com/Miami-Dolphins-Jerseys/

    Miami Dolphins Jerseys
    http://www.nflinshop.com/Miami-Dolphins-Jerseys/

    New England Patriots
    http://www.nflinshop.com/New-England-Patriots-Jerseys/

    New England Patriots Jersey
    http://www.nflinshop.com/New-England-Patriots-Jerseys/

    New England Patriots Jerseys
    http://www.nflinshop.com/New-England-Patriots-Jerseys/

    New York Jets
    http://www.nflinshop.com/New-York-Jets-Jerseys/

    New York Jets Jersey
    http://www.nflinshop.com/New-York-Jets-Jerseys/

    New York Jets Jerseys
    http://www.nflinshop.com/New-York-Jets-Jerseys/

    Oakland Raiders
    http://www.nflinshop.com/Oakland-Raiders-Jerseys/

    Oakland Raiders Jersey
    http://www.nflinshop.com/Oakland-Raiders-Jerseys/

    Oakland Raiders Jerseys
    http://www.nflinshop.com/Oakland-Raiders-Jerseys/

    Pittsburgh Steelers
    http://www.nflinshop.com/Pittsburgh-Steelers-Jerseys/

    Pittsburgh Steelers Jersey
    http://www.nflinshop.com/Pittsburgh-Steelers-Jerseys/

    Pittsburgh Steelers Jerseys
    http://www.nflinshop.com/Pittsburgh-Steelers-Jerseys/

    San Diego Chargers
    http://www.nflinshop.com/San-Diego-Chargers-Jerseys/

    San Diego Chargers Jersey
    http://www.nflinshop.com/San-Diego-Chargers-Jerseys/

    San Diego Chargers Jerseys
    http://www.nflinshop.com/San-Diego-Chargers-Jerseys/

    Tennessee Titans
    http://www.nflinshop.com/Tennessee-Titans-Jerseys/

    Tennessee Titans Jersey
    http://www.nflinshop.com/Tennessee-Titans-Jerseys/

    Tennessee Titans Jerseys
    http://www.nflinshop.com/Tennessee-Titans-Jerseys/

    Arizona Cardinals
    http://www.nflinshop.com/Arizona-Cardinals-Jerseys/

    Arizona Cardinals Jersey
    http://www.nflinshop.com/Arizona-Cardinals-Jerseys/

    Arizona Cardinals Jerseys
    http://www.nflinshop.com/Arizona-Cardinals-Jerseys/

    Atlanta Falcons
    http://www.nflinshop.com/Atlanta-Falcons-Jerseys/

    Atlanta Falcons Jersey
    http://www.nflinshop.com/Atlanta-Falcons-Jerseys/

    Atlanta Falcons Jerseys
    http://www.nflinshop.com/Atlanta-Falcons-Jerseys/

    Carolina Panthers
    http://www.nflinshop.com/Carolina-Panthers-Jerseys/

    Carolina Panthers Jersey
    http://www.nflinshop.com/Carolina-Panthers-Jerseys/

    Carolina Panthers Jerseys
    http://www.nflinshop.com/Carolina-Panthers-Jerseys/

    Chicago Bears
    http://www.nflinshop.com/Chicago-Bears-Jerseys/

    Chicago Bears Jersey
    http://www.nflinshop.com/Chicago-Bears-Jerseys/

    Chicago Bears Jerseys
    http://www.nflinshop.com/Chicago-Bears-Jerseys/

    Dallas Cowboys
    http://www.nflinshop.com/Dallas-Cowboys-Jerseys/

    Dallas Cowboys Jersey
    http://www.nflinshop.com/Dallas-Cowboys-Jerseys/

    Dallas Cowboys Jerseys
    http://www.nflinshop.com/Dallas-Cowboys-Jerseys/

    Detroit Lions
    http://www.nflinshop.com/Detroit-Lions-Jerseys/

    Detroit Lions Jersey
    http://www.nflinshop.com/Detroit-Lions-Jerseys/

    Detroit Lions Jerseys
    http://www.nflinshop.com/Detroit-Lions-Jerseys/

    Green Bay Packers
    http://www.nflinshop.com/Green-Bay-Packers-Jerseys/

    Green Bay Packers Jersey
    http://www.nflinshop.com/Green-Bay-Packers-Jerseys/

    Green Bay Packers Jerseys
    http://www.nflinshop.com/Green-Bay-Packers-Jerseys/

    Minnesota Vikings
    http://www.nflinshop.com/Minnesota-Vikings-Jerseys/

    Minnesota Vikings Jersey
    http://www.nflinshop.com/Minnesota-Vikings-Jerseys/

    Minnesota Vikings Jerseys
    http://www.nflinshop.com/Minnesota-Vikings-Jerseys/

    New Orleans Saints
    http://www.nflinshop.com/New-Orleans-Saints-Jerseys/

    New Orleans Saints Jersey
    http://www.nflinshop.com/New-Orleans-Saints-Jerseys/

    New Orleans Saints Jerseys
    http://www.nflinshop.com/New-Orleans-Saints-Jerseys/

    New York Giants
    http://www.nflinshop.com/New-York-Giants-Jerseys/

    New York Giants Jersey
    http://www.nflinshop.com/New-York-Giants-Jerseys/

    New York Giants Jerseys
    http://www.nflinshop.com/New-York-Giants-Jerseys/

    Philadelphia Eagles
    http://www.nflinshop.com/Philadelphia-Eagles-Jerseys/

    Philadelphia Eagles Jersey
    http://www.nflinshop.com/Philadelphia-Eagles-Jerseys/

    Philadelphia Eagles Jerseys
    http://www.nflinshop.com/Philadelphia-Eagles-Jerseys/

    San Francisco 49ers
    http://www.nflinshop.com/San-Francisco-49ers-Jerseys/

    San Francisco 49ers Jersey
    http://www.nflinshop.com/San-Francisco-49ers-Jerseys/

    San Francisco 49ers Jerseys
    http://www.nflinshop.com/San-Francisco-49ers-Jerseys/

    Seattle Seahawks
    http://www.nflinshop.com/Seattle-Seahawks-Jerseys/

    Seattle Seahawks Jersey
    http://www.nflinshop.com/Seattle-Seahawks-Jerseys/

    Seattle Seahawks Jerseys
    http://www.nflinshop.com/Seattle-Seahawks-Jerseys/

    St.Louis Rams
    http://www.nflinshop.com/St.Louis-Rams-Jerseys/

    St.Louis Rams Jersey
    http://www.nflinshop.com/St.Louis-Rams-Jerseys/

    St.Louis Rams Jerseys
    http://www.nflinshop.com/St.Louis-Rams-Jerseys/

    Tampa Bay Buccaneers
    http://www.nflinshop.com/Tampa-Bay-Buccaneers-Jerseys/

    Tampa Bay Buccaneers Jersey
    http://www.nflinshop.com/Tampa-Bay-Buccaneers-Jerseys/

    Tampa Bay Buccaneers Jerseys
    http://www.nflinshop.com/Tampa-Bay-Buccaneers-Jerseys/

    Washington Redskins
    http://www.nflinshop.com/Washington-Redskins-Jerseys/

    Washington Redskins Jersey
    http://www.nflinshop.com/Washington-Redskins-Jerseys/

    Washington Redskins Jerseys
    http://www.nflinshop.com/Washington-Redskins-Jerseys/

    Sale Gucci Handbags
    http://www.hohobags.com

    Cheap Gucci Bags
    http://www.hohobags.com

    Wholesale Gucci Bags
    http://www.hohobags.com

    Gucci New Arrivals
    http://www.hohobags.com

    Gucci women handbags
    http://www.hohobags.com/Gucci-women-handbags-c1.html

    Gucci men bags
    http://www.hohobags.com/Gucci-men-bags-c22.html

    Gucci Travel & Business Bags
    http://www.hohobags.com/Gucci-Travel-and-Business-c3.html

    Gucci Wallets
    http://www.hohobags.com/Gucci-men-wallets-c46.html


    Wholesale nike shoes
    http://www.sportsshoes24.org/

    Nike shoes wholesale
    http://www.sportsshoes24.org/

    Replica nike shoes
    http://www.sportsshoes24.org/

    Cheap nike shoes
    http://www.sportsshoes24.org/

    Nike sneakers
    http://www.sportsshoes24.org/

    Nike Shox
    http://www.sportsshoes24.org/Nike-Shox-wholesale-1.html

    Cheap nike shox
    http://www.sportsshoes24.org/Nike-Shox-wholesale-1.html

    Nike shox shoes
    http://www.sportsshoes24.org/Nike-Shox-wholesale-1.html

    Nike Air Max
    http://www.sportsshoes24.org/Nike-Air-Max-wholesale-3.html

    Cheap Air Max
    http://www.sportsshoes24.org/Nike-Air-Max-wholesale-3.html

    Nike Air Max shoes
    http://www.sportsshoes24.org/Nike-Air-Max-wholesale-3.html

    Nike Air Jordan
    http://www.sportsshoes24.org/Nike-Air-Jordan-wholesale-7.html

    Air Jordans
    http://www.sportsshoes24.org/Nike-Air-Jordan-wholesale-7.html

    Air Jordan shoes
    http://www.sportsshoes24.org/Nike-Air-Jordan-wholesale-7.html

    Nike Running Shoes
    http://www.sportsshoes24.org/Nike-Running-Shoes-wholesale-163.html

    Nike Basketball Shoes
    http://www.sportsshoes24.org/Nike-Basketball-Shoes-wholesale-220.html

    Puma Shoes
    http://www.sportsshoes24.org/Puma-Shoes-wholesale-9.html

    Wholesale Puma Shoes
    http://www.sportsshoes24.org/Puma-Shoes-wholesale-9.html

    Cheap Puma Shoes
    http://www.sportsshoes24.org/Puma-Shoes-wholesale-9.html

    Gucci Shoes
    http://www.sportsshoes24.org/Gucci-Shoes-wholesale-10.html

    Wholesale Gucci Shoes
    http://www.sportsshoes24.org/Gucci-Shoes-wholesale-10.html

    Cheap Gucci Shoes
    http://www.sportsshoes24.org/Gucci-Shoes-wholesale-10.html

    Prada Shoes
    http://www.sportsshoes24.org/Prada-Shoes-wholesale-11.html

    Wholesale Prada Shoes
    http://www.sportsshoes24.org/Prada-Shoes-wholesale-11.html

    Cheap Prada Shoes
    http://www.sportsshoes24.org/Prada-Shoes-wholesale-11.html

    Supra Shoes
    http://www.sportsshoes24.org/Supra-Shoes-wholesale-202.html

    Wholesale Supra Shoes
    http://www.sportsshoes24.org/Supra-Shoes-wholesale-202.html

    Cheap Supra Shoes
    http://www.sportsshoes24.org/Supra-Shoes-wholesale-202.html

    Lacoste Shoes
    http://www.sportsshoes24.org/Lacoste-Shoes-wholesale-17.html

    Wholesale Lacoste Shoes
    http://www.sportsshoes24.org/Lacoste-Shoes-wholesale-17.html

    Cheap Lacoste Shoes
    http://www.sportsshoes24.org/Lacoste-Shoes-wholesale-17.html

    Timberland Shoes
    http://www.sportsshoes24.org/Timberland-Shoes-wholesale-16.html

    Wholesale Timberland Shoes
    http://www.sportsshoes24.org/Timberland-Shoes-wholesale-16.html

    Cheap Timberland Shoes
    http://www.sportsshoes24.org/Timberland-Shoes-wholesale-16.html

    Ugg Boots
    http://www.sportsshoes24.org/Ugg-Boots-wholesale-234.html

    Brand Boots
    http://www.sportsshoes24.org/Brand-Boots-wholesale-190.html

    NFL jerseys
    http://www.ohjerseys.net/

    Cheap jerseys
    http://www.ohjerseys.net/

    Jerseys from china
    http://www.ohjerseys.net/

    Wholesale jerseys
    http://www.ohjerseys.net/

    Wholesale nfl jerseys
    http://www.ohjerseys.net/

    China nfl jerseys
    http://www.ohjerseys.net/NFL-jerseys-wholesale-1.html

    Cheap nfl jerseys
    http://www.ohjerseys.net/NFL-jerseys-wholesale-1.html

    NBA Jerseys
    http://www.ohjerseys.net/NBA-jerseys-wholesale-3.html

    MLB Jerseys
    http://www.ohjerseys.net/MLB-jerseys-wholesale-2.html

    NHL Jerseys
    http://www.ohjerseys.net/NHL-jerseys-wholesale-4.html

    Cheap NBA Jerseys
    http://www.ohjerseys.net/NBA-jerseys-wholesale-3.html

    Cheap MLB Jerseys
    http://www.ohjerseys.net/MLB-jerseys-wholesale-2.html

    Cheap NHL Jerseys
    http://www.ohjerseys.net/NHL-jerseys-wholesale-4.html

    Wholesale NBA Jerseys
    http://www.ohjerseys.net/NBA-jerseys-wholesale-3.html

    Wholesale MLB Jerseys
    http://www.ohjerseys.net/MLB-jerseys-wholesale-2.html

    Wholesale NHL Jerseys
    http://www.ohjerseys.net/NHL-jerseys-wholesale-4.html

    China jerseys
    http://www.chinafootballjerseys.com/

    NFL jerseys
    http://www.chinafootballjerseys.com/

    Cheap jerseys
    http://www.chinafootballjerseys.com/

    Jerseys from china
    http://www.chinafootballjerseys.com/

    Wholesale jerseys
    http://www.chinafootballjerseys.com/

    Wholesale nfl jerseys
    http://www.chinafootballjerseys.com/

    China nfl jerseys
    http://www.chinafootballjerseys.com/

    Cheap nfl jerseys
    http://www.chinafootballjerseys.com/cheap-Football-Jerseys-wholesale-1.html

    Cheap football jerseys
    http://www.chinafootballjerseys.com/cheap-Football-Jerseys-wholesale-1.html

    NBA Jerseys
    http://www.chinafootballjerseys.com/cheap-Basketball-Jerseys-wholesale-3.html

    MLB Jerseys
    http://www.chinafootballjerseys.com/cheap-Baseball-Jerseys-wholesale-2.html

    NHL Jerseys
    http://www.chinafootballjerseys.com/cheap-Ice-Hockey-Jerseys-wholesale-4.html

    Football Jerseys
    http://www.chinafootballjerseys.com/cheap-Football-Jerseys-wholesale-1.html

    Basketball Jerseys
    http://www.chinafootballjerseys.com/cheap-Basketball-Jerseys-wholesale-3.html

    Baseball Jerseys
    http://www.chinafootballjerseys.com/cheap-Baseball-Jerseys-wholesale-2.html

    Ice Hockey Jerseys
    http://www.chinafootballjerseys.com/cheap-Ice-Hockey-Jerseys-wholesale-4.html

    China NBA Jerseys
    http://www.chinafootballjerseys.com/cheap-Basketball-Jerseys-wholesale-3.html

    China MLB Jerseys
    http://www.chinafootballjerseys.com/cheap-Baseball-Jerseys-wholesale-2.html

    China NHL Jerseys
    http://www.chinafootballjerseys.com/cheap-Ice-Hockey-Jerseys-wholesale-4.html

    Wholesale NBA Jerseys
    http://www.chinafootballjerseys.com/cheap-Basketball-Jerseys-wholesale-3.html

    Wholesale MLB Jerseys
    http://www.chinafootballjerseys.com/cheap-Baseball-Jerseys-wholesale-2.html

    Wholesale NHL Jerseys
    http://www.chinafootballjerseys.com/cheap-Ice-Hockey-Jerseys-wholesale-4.html

    Discount jerseys
    http://www.jerseysluck.com/

    Discount nfl jerseys
    http://www.jerseysluck.com/

    NFL jerseys
    http://www.jerseysluck.com/

    Cheap jerseys china
    http://www.jerseysluck.com/

    Jerseys wholesale
    http://www.jerseysluck.com/

    Authentic jerseys
    http://www.jerseysluck.com/

    Cheap NFL Jerseys
    http://www.jerseysluck.com/NFL-jerseys-1.html

    Cheap MLB Jerseys
    http://www.jerseysluck.com/MLB-jerseys-2.html

    Cheap NBA Jerseys
    http://www.jerseysluck.com/NBA-jerseys-3.html

    Cheap NHL Jerseys
    http://www.jerseysluck.com/NHL-jerseys-4.html

    wholesale NFL Jerseys
    http://www.jerseysluck.com/NFL-jerseys-1.html

    wholesale MLB Jerseys
    http://www.jerseysluck.com/MLB-jerseys-2.html

    wholesale NBA Jerseys
    http://www.jerseysluck.com/NBA-jerseys-3.html

    wholesale NHL Jerseys
    http://www.jerseysluck.com/NHL-jerseys-4.html

    wholesale nike shoes
    http://www.ohnike.net/

    nike air jordans
    http://www.ohnike.net/

    nike shoes for sale
    http://www.ohnike.net/

    nike shox shoes
    http://www.ohnike.net/Nike-Shox-c7

    nike air max
    http://www.ohnike.net/Nike-Air-Max-c8

    gucci shoes
    http://www.ohnike.net/Gucci-Shoes-c95

    prada shoes
    http://www.ohnike.net/Prada-Shoes-c96

    lacoste shoes
    http://www.ohnike.net/Lacoste-Shoes-c238

    Timberland Shoes
    http://www.ohnike.net/Timberland-Shoes-c97


    UGG Boots
    http://www.luxboots.com/

    Cheap UGG Boots
    http://www.luxboots.com/

    UGG New Arrivals
    http://www.luxboots.com/UGG-New-Arrivals-c1.html

    Moncler
    http://www.luxboots.com/MONCLER-Clothing-c16.html

    Moncler Clothing
    http://www.luxboots.com/MONCLER-Clothing-c16.html

    Moncler Jackets
    http://www.luxboots.com/MONCLER-Clothing-c16.html

    Timberland
    http://www.myluxoutlets.com

    Timberland Boots
    http://www.myluxoutlets.com

    Timberland Classic Boot
    http://www.myluxoutlets.com/English/Timberland-Classic-Boot-c13.html

    Columbia Jacket
    http://www.myluxoutlets.com/English/Columbia-c2.html

    Merrell Shoes
    http://www.myluxoutlets.com/English/Merrell-c3.html

    Merrell Hiking Shoes
    http://www.myluxoutlets.com/English/Merrell-c3.html

    VIBRAM
    http://www.myluxoutlets.com/English/VIBRAM-c7.html

    VIBRAM Shoes
    http://www.myluxoutlets.com/English/VIBRAM-c7.html

    Peak
    http://www.myluxoutlets.com/English/Peak-c8.html

    Peak Shoes
    http://www.myluxoutlets.com/English/Peak-c8.html

    Peak Jackets
    http://www.myluxoutlets.com/English/Peak-c8.html



    Gucci Handbags
    http://www.xpbags.com/

    Prada Handbags
    http://www.xpbags.com/

    Coach Handbags
    http://www.xpbags.com/

    Chanel Handbags
    http://www.xpbags.com/

    LV Handbags
    http://www.xpbags.com/

    Burberry Handbags
    http://www.xpbags.com/

    Armani Sunglasses
    http://www.xpglasses.com/

    Burbery Sunglasses
    http://www.xpglasses.com/

    D&G Sunglasses
    http://www.xpglasses.com/

    Ed Hardy Sunglasses
    http://www.xpglasses.com/

    Wholesale Jewelry
    http://www.zxpjewelry.com/

    Wholesale Fashion Jewelry
    http://www.zxpjewelry.com/

    Cheap Costume Jewelry Wholesale
    http://www.zxpjewelry.com/

    Cheap Ed Hardy
    http://www.xpbikini.com/

    Ed Hardy Clothes
    http://www.xpbikini.com/

    New Era Hat
    http://www.capinshop.com/

    DC Hat
    http://www.capinshop.com/

    Famous Hat
    http://www.capinshop.com/

    Baseball Cap
    http://www.capinshop.com/

    Nfl Cap
    http://www.capinshop.com/


    上百年
    http://www.shangbainian.com/

    木雕
    http://www.上百年.com

    dunk shoes
    http://www.sportsshoes24.org


    户外品牌
    http://www.lieqiqi.com

    户外用品
    http://www.lieqiqi.com

    户外装备
    http://www.lieqiqi.com



    vibram five fingers
    http://www.fivefingerusa.com

    five finger shoes
    http://www.fivefingerusa.com

    vibram shoes
    http://www.fivefingerusa.com

    five finger
    http://www.fivefingerusa.com

    mbt shoes
    http://www.mbtinshop.com

    wholesale mbt shoes
    http://www.mbtinshop.com

    cheap mbt shoes
    http://www.mbtinshop.com

    discount mbt shoes
    http://www.mbtinshop.com

    mbt
    http://www.mbtinshop.com

    buy mbt kaya
    http://www.mbtinshop.com

    the north face
    http://www.outdoorbrandshop.com

    north face
    http://www.outdoorbrandshop.com

    north face jackets
    http://www.outdoorbrandshop.com

    north face clothing
    http://www.outdoorbrandshop.com

    north face backpacks
    http://www.outdoorbrandshop.com

    north face equipment
    http://www.outdoorbrandshop.com

    north face outlet
    http://www.outdoorbrandshop.com

    north face tents
    http://www.outdoorbrandshop.com

    nfl jerseys
    http://www.nflinshop.com

    wholesale nfl jerseys
    http://www.nflinshop.com

    nfl jersey
    http://www.nflinshop.com

    wholesale nfl jersey
    http://www.nflinshop.com

    super bowl
    http://www.nflinshop.com

    super bowl jerseys
    http://www.nflinshop.com

    super bowl jersey
    http://www.nflinshop.com

    cheap nfl jerseys
    http://www.nflinshop.com

    discounts nfl jerseys
    http://www.nflinshop.com

    nfl throwback jerseys
    http://www.nflinshop.com


    乐斯菲斯
    http://www.tnfchinashop.com

    The North Face
    http://www.tnfchinashop.com

    North Face
    http://www.tnfchinashop.com

    北面
    http://www.tnfchinashop.com

    户外用户
    http://www.tnfchinashop.com

    户外装备tnf
    http://www.tnfchinashop.com

    north face官网
    http://www.tnfchinashop.com

    north face 羽绒服
    http://www.tnfchinashop.com

    the north face 中国官网
    http://www.tnfchinashop.com

    the north face 冲锋衣
    http://www.tnfchinashop.com

    the north face 专卖店
    http://www.tnfchinashop.com

    the north face 羽绒服
    http://www.tnfchinashop.com



    super bowl 2011 Jerseys
    http://www.nflinshop.com

    2011 super bowl Jerseys
    http://www.nflinshop.com

    super bowl XLV Jerseys
    http://www.nflinshop.com

    XLV super bowl Jerseys
    http://www.nflinshop.com



    New Era Hat
    http://www.shopbycap.com

    new era hats
    http://www.shopbycap.com

    Cheap new era hats
    http://www.shopbycap.com

    whoelsae new era hats
    http://www.shopbycap.com

    new era cap
    http://www.shopbycap.com

    new era caps
    http://www.shopbycap.com

    wholesale era caps
    http://www.shopbycap.com

    DC Hat
    http://www.shopbycap.com

    Famous Hat
    http://www.shopbycap.com

    Baseball Cap
    http://www.shopbycap.com

    Nfl Cap
    http://www.shopbycap.com

    nfl jerseys
    http://www.ohjerseys.com

    wholesale jerseys
    http://www.ohjerseys.com

    nfl jersey
    http://www.ohjerseys.com

    wholesale jersey
    http://www.ohjerseys.com

    cheap nfl jerseys
    http://www.ohjerseys.com

    cheap nfl jersey
    http://www.ohjerseys.com

    super bowl jerseys
    http://www.ohjerseys.com

    crocs
    http://www.crocsmy.com

    crocs shoes
    http://www.crocsmy.com

    ed hardy
    http://www.edhonsale.com

    wholesale ed hardy
    http://www.edhonsale.com

    ed hardy shoes
    http://www.edhonsale.com

    ed hardy discount
    http://www.edhonsale.com

    ed hardy clothing
    http://www.edhonsale.com

    ed hardy bags
    http://www.edhonsale.com

    ed hardy caps
    http://www.edhonsale.com

    ed hardy sunglasses
    http://www.edhonsale.com

    ed hardy watches
    http://www.edhonsale.com

    oil painting
    http://www.jiyouarts.com

    china oil painting
    http://www.jiyouarts.com

    chinese oil painting
    http://www.jiyouarts.com

    art painting
    http://www.jiyouarts.com

    canvas painting
    http://www.jiyouarts.com

    photo to art oil painting
    http://www.jiyouarts.com

    hand made oil painting
    http://www.jiyouarts.com

    oil painting reproductions
    http://www.jiyouarts.com



    jimmy choo
    http://www.myjimmychooshop.com

    jimmy choo shoes
    http://www.myjimmychooshop.com

    jimmy choo bags
    http://www.myjimmychooshop.com

    jimmy choo boots
    http://www.myjimmychooshop.com

    jimmy choo handbags
    http://www.myjimmychooshop.com

    Safety Shoes
    http://www.workshoesworld.com

    pu safety shoes
    http://www.workshoesworld.com



    爱步鞋
    http://www.xietour.com

    ecco鞋
    http://www.xietour.com

    爱步休闲鞋
    http://www.xietour.com

    ecco休闲鞋
    http://www.xietour.com

    休闲鞋
    http://www.xietour.com

    商务休闲鞋
    http://www.xietour.com

    Clarks
    http://www.xietour.com

    ugg
    http://www.uggchinastore.com

    ugg雪地靴
    http://www.uggchinastore.com

    ugg官方网
    http://www.uggchinastore.com

    ugg boots
    http://www.uggchinastore.com

    ugg专柜
    http://www.uggchinastore.com




    ヴィヴィアン
    http://www.viviennewestwoodjapan.com

    ビビアンウエストウッド
    http://www.viviennewestwoodjapan.com

    ヴィヴィアンウエストウッド
    http://www.viviennewestwoodjapan.com

    vivienne
    http://www.viviennewestwoodjapan.com

    ビビアンウエスト
    http://www.viviennewestwoodjapan.com

    vivienne westwood
    http://www.viviennewestwoodjapan.com



    Ed Hardy
    http://www.edhardyvip.com/Ed-Hardy.html

    Ed Hardy Men Apparel
    http://www.edhardyvip.com/Ed-Hardy--Men--Apparel.html

    Ed Hardy Women Apparel
    http://www.edhardyvip.com/Ed-Hardy-Women-Apparel.html

    Ed Hardy Kid Apparel
    http://www.edhardyvip.com/Ed-Hardy--Kid-Apparel.html

    Ed Hardy ACCESSORIES
    http://www.edhardyvip.com/Ed-Hardy-ACCESSORIES.html

    Christan Audigier
    http://www.edhardyvip.com/Christan-Audigier.html

    Christan Audigier Men APPAREL
    http://www.edhardyvip.com/Christan-Audigier-Men-APPAREL.html

    Christan Audigier Women APPAREL
    http://www.edhardyvip.com/Christan-Audigier-Women-APPAREL.html

    other APPAREL &amp;ACCESSORIES
    http://www.edhardyvip.com/other-APPAREL-&ACCESSORIES.html

    other Apparel
    http://www.edhardyvip.com/other-Apparel.html

    other ACCESSORIES
    http://www.edhardyvip.com/other-ACCESSORIES.html

    Louis Vuitton Handbags
    http://www.luxurysupplierworld.com/Louis-Vuitton-Handbags.html

    Chanel Handbags
    http://www.luxurysupplierworld.com/Chanel-Handbags.html

    Gucci Handbags
    http://www.luxurysupplierworld.com/Gucci-Handbags.html

    Balenciaga Handbags
    http://www.luxurysupplierworld.com/Balenciaga-Handbags.html

    Fendi Handbags
    http://www.luxurysupplierworld.com/Fendi-Handbags.html

    Yves Saint Laurent Handbags
    http://www.luxurysupplierworld.com/Yves-Saint-Laurent-Handbags.html

    Christian Dior Handbags
    http://www.luxurysupplierworld.com/Christian-Dior-Handbags.html

    Burberry Handbags
    http://www.luxurysupplierworld.com/Burberry-Handbags.html

    Cartier Handbags
    http://www.luxurysupplierworld.com/Cartier-Handbags.html

    Celine Handbags
    http://www.luxurysupplierworld.com/Celine-Handbags.html

    Chloe Handbags
    http://www.luxurysupplierworld.com/Chloe-Handbags.html

    Coach Handbags
    http://www.luxurysupplierworld.com/Coach-Handbags.html

    Dolce and Gabbana Handbags
    http://www.luxurysupplierworld.com/Dolce-and-Gabbana-Handbags.html

    BALLY Handbags
    http://www.luxurysupplierworld.com/BALLY-Handbags.html

    Givenchy Handbags
    http://www.luxurysupplierworld.com/Givenchy-Handbags.html

    Hermes Handbags
    http://www.luxurysupplierworld.com/Hermes-Handbags.html

    Jimmy Choo Handbags
    http://www.luxurysupplierworld.com/Jimmy-Choo-Handbags.html

    Juicy Couture Handbags
    http://www.luxurysupplierworld.com/Juicy-Couture-Handbags.html

    Lancel Handbags
    http://www.luxurysupplierworld.com/Lancel-Handbags.html

    Marc Jacobs Handbags
    http://www.luxurysupplierworld.com/Marc-Jacobs-Handbags.html

    Miu Miu Handbags
    http://www.luxurysupplierworld.com/Miu-Miu-Handbags.html

    Mulberry Handbags
    http://www.luxurysupplierworld.com/Mulberry-Handbags.html

    Prada Handbags
    http://www.luxurysupplierworld.com/Prada-Handbags.html

    Thomas Wylde Handbags
    http://www.luxurysupplierworld.com/Thomas-Wylde-Handbags.html

    Versace Handbags
    http://www.luxurysupplierworld.com/Versace-Handbags.html

    Bottega Veneta Handbags
    http://www.luxurysupplierworld.com/Bottega-Veneta-Handbags.html

    Brand Wallet
    http://www.luxurysupplierworld.com/Brand-Wallet.html

    Minnesota Timberwolves
    http://www.jerseysaler.com/Minnesota_Timberwolves_Teams.html

    New Jersey Nets
    http://www.jerseysaler.com/New_Jersey_Nets_Teams.html

    New Orleans Hornets
    http://www.jerseysaler.com/New_Orleans_Hornets_Teams.html

    New York Knicks
    http://www.jerseysaler.com/New_York_Knicks_Teams.html

    Orlando Magic
    http://www.jerseysaler.com/Orlando_Magic_Teams.html

    Philadelphia 76ers
    http://www.jerseysaler.com/Philadelphia_76ers_Teams.html

    Phoenix Suns
    http://www.jerseysaler.com/Phoenix_Suns_Teams.html

    Portland Trail Blazers
    http://www.jerseysaler.com/Portland_Trail_Blazers_Teams.html

    Sacramento Kings
    http://www.jerseysaler.com/Sacramento_Kings_Teams.html

    San Antonio Spurs
    http://www.jerseysaler.com/San_Antonio_Spurs_Teams.html

    Seattle SuperSonics
    http://www.jerseysaler.com/Seattle_SuperSonics_Teams.html

    Toronto Raptors
    http://www.jerseysaler.com/Toronto_Raptors_Teams.html

    Utah Jazz
    http://www.jerseysaler.com/Utah_Jazz_Teams.html

    Washington Wizards
    http://www.jerseysaler.com/Washington_Wizards_Teams.html

    NFL Teams
    http://www.jerseysaler.com/NFL_Teams.html

    Arizona Cardinals
    http://www.jerseysaler.com/Arizona_Cardinals_Teams.html

    Atlanta Falcons
    http://www.jerseysaler.com/Atlanta_Falcons_Teams.html

    Baltimore Ravens
    http://www.jerseysaler.com/Baltimore_Ravens_Teams.html

    Buffalo Bills
    http://www.jerseysaler.com/Buffalo_Bills_Teams.html

    Carolina Panthers
    http://www.jerseysaler.com/Carolina_Panthers_Teams.html

    Chicago Bears
    http://www.jerseysaler.com/Chicago_Bears_Teams.html

    Cincinnati Bengals
    http://www.jerseysaler.com/Cincinnati_Bengals_Teams.html

    Cleveland Browns
    http://www.jerseysaler.com/Cleveland_Browns_Teams.html

    Dallas Cowboys
    http://www.jerseysaler.com/Dallas_Cowboys_Teams.html

    Denver Broncos
    http://www.jerseysaler.com/Denver_Broncos_Teams.html

    Detroit Lions
    http://www.jerseysaler.com/Detroit_Lions_Teams.html

    Green Bay Packers
    http://www.jerseysaler.com/Green_Bay_Packers_Teams.html

    Houston Texans
    http://www.jerseysaler.com/Houston_Texans_Teams.html

    Indianapolis Colts
    http://www.jerseysaler.com/Indianapolis_Colts_Teams.html

    Kansas City Chiefs
    http://www.jerseysaler.com/Kansas_City_Chiefs_Teams.html

    Minnesota Vikings
    http://www.jerseysaler.com/Minnesota_Vikings_Teams.html

    New England Patriots
    http://www.jerseysaler.com/New_England_Patriots_Teams.html

    New Orleans Saints
    http://www.jerseysaler.com/New_Orleans_Saints_Teams.html

    New York Giants
    http://www.jerseysaler.com/New_York_Giants_Teams.html

    New York Jets
    http://www.jerseysaler.com/New_York_Jets_Teams.html

    Oakland Raiders
    http://www.jerseysaler.com/Oakland_Raiders_Teams.html

    Philadelphia Eagles
    http://www.jerseysaler.com/Philadelphia_Eagles_Teams.html

    Pittsburgh Steelers
    http://www.jerseysaler.com/Pittsburgh_Steelers_Teams.html

    San Diego Chargers
    http://www.jerseysaler.com/San_Diego_Chargers_Teams.html

    San Francisco 49ers
    http://www.jerseysaler.com/San_Francisco_49ers_Teams.html

    Seattle Seahawks
    http://www.jerseysaler.com/Seattle_Seahawks_Teams.html

    St. Louis Rams
    http://www.jerseysaler.com/St._Louis_Rams_Teams.html

    Super Bowl Merchandise
    http://www.jerseysaler.com/Super_Bowl_Merchandise_Teams.html

    Super Bowl XLII Gear
    http://www.jerseysaler.com/Super_Bowl_XLII_Gear_Teams.html

    Tampa Bay Buccaneers
    http://www.jerseysaler.com/Tampa_Bay_Buccaneers_Teams.html

    Tennessee Titans
    http://www.jerseysaler.com/Tennessee_Titans_Teams.html

    Washington Redskins
    http://www.jerseysaler.com/Washington_Redskins_Teams.html

    Miami Dolphins
    http://www.jerseysaler.com/Miami_Dolphins_Teams.html

    MLB Teams
    http://www.jerseysaler.com/MLB_Teams.html

    Arizona Diamondbacks
    http://www.jerseysaler.com/Arizona_Diamondbacks_Teams.html

    Atlanta Braves
    http://www.jerseysaler.com/Atlanta_Braves_Teams.html

    Baltimore Orioles
    http://www.jerseysaler.com/Baltimore_Orioles_Teams.html

    Boston Red Sox
    http://www.jerseysaler.com/Boston_Red_Sox_Teams.html

    Chicago Cubs
    http://www.jerseysaler.com/Chicago_Cubs_Teams.html

    Chicago White Sox
    http://www.jerseysaler.com/Chicago_White_Sox_Teams.html

    Cincinnati Reds
    http://www.jerseysaler.com/Cincinnati_Reds_Teams.html

    Cleveland Indians
    http://www.jerseysaler.com/Cleveland_Indians_Teams.html

    Colorado Rockies
    http://www.jerseysaler.com/Colorado_Rockies_Teams.html

    Detroit Tigers
    http://www.jerseysaler.com/Detroit_Tigers_Teams.html

    Florida Marlins
    http://www.jerseysaler.com/Florida_Marlins_Teams.html

    Houston Astros
    http://www.jerseysaler.com/Houston_Astros_Teams.html

    Kansas City Royals
    http://www.jerseysaler.com/Kansas_City_Royals_Teams.html

    Los Angeles Dodgers
    http://www.jerseysaler.com/Los_Angeles_Dodgers_Teams.html

    Los Angeles Angels
    http://www.jerseysaler.com/Los_Angeles_Angels_Teams.html

    Milwaukee Brewers
    http://www.jerseysaler.com/Milwaukee_Brewers_Teams.html

    Minnesota Twins
    http://www.jerseysaler.com/Minnesota_Twins_Teams.html

    New York Mets
    http://www.jerseysaler.com/New_York_Mets_Teams.html

    New York Yankees
    http://www.jerseysaler.com/New_York_Yankees_Teams.html

    Oakland Athletics
    http://www.jerseysaler.com/Oakland_Athletics_Teams.html

    Philadelphia Phillies
    http://www.jerseysaler.com/Philadelphia_Phillies_Teams.html

    Pittsburgh Pirates
    http://www.jerseysaler.com/Pittsburgh_Pirates_Teams.html

    San Diego Padres
    http://www.jerseysaler.com/San_Diego_Padres_Teams.html

    San Francisco Giants
    http://www.jerseysaler.com/San_Francisco_Giants_Teams.html

    Seattle Mariners
    http://www.jerseysaler.com/Seattle_Mariners_Teams.html

    St. Louis Cardinals
    http://www.jerseysaler.com/St._Louis_Cardinals_Teams.html

    Tampa Bay Devil Rays
    http://www.jerseysaler.com/Tampa_Bay_Devil_Rays_Teams.html

    Texas Rangers
    http://www.jerseysaler.com/Texas_Rangers_Teams.html

    Toronto Blue Jays
    http://www.jerseysaler.com/Toronto_Blue_Jays_Teams.html

    Washington Nationals
    http://www.jerseysaler.com/Washington_Nationals_Teams.html

    NHL Teams
    http://www.jerseysaler.com/NHL_Teams.html

    Anaheim Ducks
    http://www.jerseysaler.com/Anaheim_Ducks_Teams.html

    Atlanta Thrashers
    http://www.jerseysaler.com/Atlanta_Thrashers_Teams.html

    Boston Bruins
    http://www.jerseysaler.com/Boston_Bruins_Teams.html

    Buffalo Sabres
    http://www.jerseysaler.com/Buffalo_Sabres_Teams.html

    Calgary Flames
    http://www.jerseysaler.com/Calgary_Flames_Teams.html

    Carolina Hurricanes
    http://www.jerseysaler.com/Carolina_Hurricanes_Teams.html

    Chicago Blackhawks
    http://www.jerseysaler.com/Chicago_Blackhawks_Teams.html

    Colorado Avalanche
    http://www.jerseysaler.com/Colorado_Avalanche_Teams.html

    Columbus Blue Jackets
    http://www.jerseysaler.com/Columbus_Blue_Jackets_Teams.html

    Dallas Stars
    http://www.jerseysaler.com/Dallas_Stars_Teams.html

    Detroit Red Wings
    http://www.jerseysaler.com/Detroit_Red_Wings_Teams.html

    Edmonton Oilers
    http://www.jerseysaler.com/Edmonton_Oilers_Teams.html

    Florida Panthers
    http://www.jerseysaler.com/Florida_Panthers_Teams.html

    Hartford Whalers
    http://www.jerseysaler.com/Hartford_Whalers_Teams.html

    Los Angeles Kings
    http://www.jerseysaler.com/Los_Angeles_Kings_Teams.html

    Minnesota Wild
    http://www.jerseysaler.com/Minnesota_Wild_Teams.html

    Montreal Canadiens
    http://www.jerseysaler.com/Montreal_Canadiens_Teams.html

    Nashville Predators
    http://www.jerseysaler.com/Nashville_Predators_Teams.html

    New Jersey Devils
    http://www.jerseysaler.com/New_Jersey_Devils_Teams.html

    New York Islanders
    http://www.jerseysaler.com/New_York_Islanders_Teams.html

    New York Rangers
    http://www.jerseysaler.com/New_York_Rangers_Teams.html

    Ottawa Senators
    http://www.jerseysaler.com/Ottawa_Senators_Teams.html

    Philadelphia Flyers
    http://www.jerseysaler.com/Philadelphia_Flyers_Teams.html

    Phoenix Coyotes
    http://www.jerseysaler.com/Phoenix_Coyotes_Teams.html

    Pittsburgh Penguins
    http://www.jerseysaler.com/Pittsburgh_Penguins_Teams.html

    San Jose Sharks
    http://www.jerseysaler.com/San_Jose_Sharks_Teams.html

    St. Louis Blues
    http://www.jerseysaler.com/St._Louis_Blues_Teams.html

    Tampa Bay Lightning
    http://www.jerseysaler.com/Tampa_Bay_Lightning_Teams.html

    Toronto Maple Leafs
    http://www.jerseysaler.com/Toronto_Maple_Leafs_Teams.html

    Vancouver Canucks
    http://www.jerseysaler.com/Vancouver_Canucks_Teams.html

    Washington Capitals
    http://www.jerseysaler.com/Washington_Capitals_Teams.html

    World All Stars
    http://www.jerseysaler.com/World_All_Stars_Teams.html

    COLLEGE Teams
    http://www.jerseysaler.com/COLLEGE_Teams.html

    All Tmams
    http://www.jerseysaler.com/Allteams.html

    NBA Teams
    http://www.jerseysaler.com/NBA_Teams.html

    Atlanta Hawks
    http://www.jerseysaler.com/Atlanta_Hawks_Teams.html

    Boston Celtics
    http://www.jerseysaler.com/Boston_Celtics_Teams.html

    Charlotte Bobcats
    http://www.jerseysaler.com/Charlotte_Bobcats_Teams.html

    Chicago Bulls
    http://www.jerseysaler.com/Chicago_Bulls_Teams.html

    Cleveland Cavaliers
    http://www.jerseysaler.com/Cleveland_Cavaliers_Teams.html

    Dallas Mavericks
    http://www.jerseysaler.com/Dallas_Mavericks_Teams.html

    Denver Nuggets
    http://www.jerseysaler.com/Denver_Nuggets_Teams.html

    Detroit Pistons
    http://www.jerseysaler.com/Detroit_Pistons_Teams.html

    Golden State Warriors
    http://www.jerseysaler.com/Golden_State_Warriors_Teams.html

    Houston Rockets
    http://www.jerseysaler.com/Houston_Rockets_Teams.html

    Indiana Pacers
    http://www.jerseysaler.com/Indiana_Pacers_Teams.html

    Los Angeles Clippers
    http://www.jerseysaler.com/Los_Angeles_Clippers_Teams.html

    Los Angeles Lakers
    http://www.jerseysaler.com/Los_Angeles_Lakers_Teams.html

    Memphis Grizzlies
    http://www.jerseysaler.com/Memphis_Grizzlies_Teams.html

    Miami Heat
    http://www.jerseysaler.com/Miami_Heat_Teams.html

    Milwaukee Bucks
    http://www.jerseysaler.com/Milwaukee_Bucks_Teams.html

    Taylormade R9 Drivers
    http://www.taylormadebrand.com/index.html

    Drivers
    http://www.taylormadebrand.com/Drivers.html

    Irons
    http://www.taylormadebrand.com/Irons.html

    Putter
    http://www.taylormadebrand.com/Putter.html

    Wedge
    http://www.taylormadebrand.com/Wedge.html

    Fairway Wood
    http://www.taylormadebrand.com/Fairway_Wood.html

    Hybrids
    http://www.taylormadebrand.com/Hybrids.html

    Balls
    http://www.taylormadebrand.com/Balls.html

    Shoes
    http://www.taylormadebrand.com/Shoes.html

    Accessories
    http://www.taylormadebrand.com/Accessories.html

    Taylormade Wedges
    http://www.taylormadebrand.com/Taylormade_Wedges.html

    Titleist Wedges
    http://www.taylormadebrand.com/Titleist_Wedges.html

    Callaway Fairway Woods
    http://www.taylormadebrand.com/Callaway_Fairway_Woods.html

    Mizuno Fairway Woods
    http://www.taylormadebrand.com/Mizuno_Fairway_Woods.html

    Nike Fairway Woods
    http://www.taylormadebrand.com/Nike_Fairway_Woods.html

    Ping Fairway Woods
    http://www.taylormadebrand.com/Ping_Fairway_Woods.html

    Nike Shoes
    http://www.taylormadebrand.com/Nike_Shoes.html

    Taylormade Fairway Woods
    http://www.taylormadebrand.com/Taylormade_Fairway_Woods.html

    Callaway Hybrids
    http://www.taylormadebrand.com/Callaway_Hybrids.html

    Taylormade Hybrids
    http://www.taylormadebrand.com/Taylormade_Hybrids.html

    Callaway Balls
    http://www.taylormadebrand.com/Callaway_Balls.html

    Nike Balls
    http://www.taylormadebrand.com/Nike_Balls.html

    Taylormade Balls
    http://www.taylormadebrand.com/Taylormade_Balls.html

    Titleist Balls
    http://www.taylormadebrand.com/Titleist_Balls.html

    Adidas Bags
    http://www.taylormadebrand.com/Adidas_Bags.html

    Ping Bags
    http://www.taylormadebrand.com/Ping_Bags.html

    Titleist Bags
    http://www.taylormadebrand.com/Titleist_Bags.html

    Callaway Bags
    http://www.taylormadebrand.com/Callaway_Bags.html

    Taylormade Bags
    http://www.taylormadebrand.com/Taylormade_Bags.html

    Nike Bags
    http://www.taylormadebrand.com/Nike_Bags.html

    Adidas Shoes
    http://www.taylormadebrand.com/Adidas_Shoes.html

    Footjoy Shoes
    http://www.taylormadebrand.com/Footjoy_Shoes.html

    Callaway Shoes
    http://www.taylormadebrand.com/Callaway_Shoes.html

    Golf Glove
    http://www.taylormadebrand.com/Golf_Glove.html

    Headcover
    http://www.taylormadebrand.com/Headcover.html

    Sunglasses
    http://www.taylormadebrand.com/Sunglasses.html

    Outwear
    http://www.taylormadebrand.com/Outwear.html

    T-shirt
    http://www.taylormadebrand.com/T-shirt.html

    Callaway Drivers
    http://www.taylormadebrand.com/Callaway_Drivers.html

    Cleveland Drivers
    http://www.taylormadebrand.com/Cleveland_Drivers.html

    Mizuno Drivers
    http://www.taylormadebrand.com/Mizuno_Drivers.html

    Nike Drivers
    http://www.taylormadebrand.com/Nike_Drivers.html

    Ping Drivers
    http://www.taylormadebrand.com/Ping_Drivers.html

    Taylormade Drivers
    http://www.taylormadebrand.com/Taylormade_Drivers.html

    Titleist Drivers
    http://www.taylormadebrand.com/Titleist_Drivers.html

    Callaway Irons
    http://www.taylormadebrand.com/Callaway_Irons.html

    Cleveland Irons
    http://www.taylormadebrand.com/Cleveland_Irons.html

    Mizuno Irons
    http://www.taylormadebrand.com/Mizuno_Irons.html

    Nike Irons
    http://www.taylormadebrand.com/Nike_Irons.html

    Ping Irons
    http://www.taylormadebrand.com/Ping_Irons.html

    Taylormade Irons
    http://www.taylormadebrand.com/Taylormade_Irons.html

    Titleist Irons
    http://www.taylormadebrand.com/Titleist_Irons.html

    Odyssey Putters
    http://www.taylormadebrand.com/Odyssey_Putters.html

    Ping Putters
    http://www.taylormadebrand.com/Ping_Putters.html

    Taylormade Putters
    http://www.taylormadebrand.com/Taylormade_Putters.html

    Titleist Putters
    http://www.taylormadebrand.com/Titleist_Putters.html

    Yes Putters
    http://www.taylormadebrand.com/Yes_Putters.html

    Callaway Wedges
    http://www.taylormadebrand.com/Callaway_Wedges.html

    Cleveland Wedges
    http://www.taylormadebrand.com/Cleveland_Wedges.html

    Clevelend Fairway Wood
    http://www.taylormadebrand.com/Clevelend_Fairway_Wood.html

    Ping Hybrids
    http://www.taylormadebrand.com/Ping_Hybrids.html

    Wholesale Nike Shoes
    http://www.sportsshoes24.org/index.html

    Nike Shoes
    http://www.sportsshoes24.org/Nike-Shoes-wholesale-1.html

    Adidas Shoes
    http://www.sportsshoes24.org/Adidas-Shoes-wholesale-2.html

    LV Shoes
    http://www.sportsshoes24.org/LV-Shoes-wholesale-13.html

    D & G Shoes
    http://www.sportsshoes24.org/D-and-G-Shoes-wholesale-12.html

    Puma Shoes
    http://www.sportsshoes24.org/Puma-Shoes-wholesale-9.html

    Gucci Shoes
    http://www.sportsshoes24.org/Gucci-Shoes-wholesale-10.html

    Prada Shoes
    http://www.sportsshoes24.org/Prada-Shoes-wholesale-11.html

    Hogan Shoes
    http://www.sportsshoes24.org/Hogan-Shoes-wholesale-14.html

    Lacoste Shoes
    http://www.sportsshoes24.org/Lacoste-Shoes-wholesale-17.html

    Converse Shoes
    http://www.sportsshoes24.org/Converse-Shoes-wholesale-18.html

    Ed-hardy Shoes
    http://www.sportsshoes24.org/Ed-hardy-Shoes-wholesale-19.html

    Dsquared2 Shoes
    http://www.sportsshoes24.org/Dsquared2-Shoes-wholesale-15.html

    Timberland Shoes
    http://www.sportsshoes24.org/Timberland-Shoes-wholesale-16.html

    T-Shirt
    http://www.sportsshoes24.org/T-Shirt-wholesale-113.html

    Jeans
    http://www.sportsshoes24.org/Jeans-wholesale-111.html

    Hoodies
    http://www.sportsshoes24.org/Hoodies-wholesale-112.html

    Lacoste
    http://www.lacostebrand.com

    Lacoste shirts
    http://www.lacostebrand.com

    Lacoste shoes
    http://www.lacostebrand.com

    ugg boots
    http://www.myuggshop.com

    UGG
    http://www.myuggshop.com

    Converse
    http://www.saleconverse.com

    Converse shoes
    http://www.saleconverse.com

    Embroidery
    http://www.embroiderysources.com

    Embroidery Designs
    http://www.embroiderysources.com

    Advanced Embroidery Designs
    http://www.embroiderysources.com

    FREE Machine Embroidery Designs
    http://www.embroiderysources.com

    NBA Jerseys
    http://www.jerseysaler.com

    MLB Jerseys
    http://www.jerseysaler.com

    China Wholesale
    http://www.thenextvogue.com

    UGG Boots
    http://www.uggboots4sale.com

    Authentic Ugg Boots
    http://www.uggboots4sale.com

    Boots
    http://www.uggboots4sale.com

    ghd
    http://www.ghder.com
    chi
    http://www.ghder.com

    ghd
    http://www.ghdVSCHI.com
    chi
    http://www.ghdVSCHI.com

    ghd
    http://www.goodghd.com
    chi
    http://www.goodghd.com

    ghd
    http://www.ghdmark.com
    chi
    http://www.ghdmark.com

    Chopard Watches
    http://www.chopardwatches.cn

    Vacheron Constantin
    http://www.vacheron-constantin-watches.cn

    Bell&Ross Watches
    http://www.bellrosswatches.cn

    Rolex Watches
    http://www.rolexwatches24.com

    Seo
    http://www.ronghuaweb.com

    Electromagnetic Radiation Eliminator
    http://www.electromagnetic-radiation-eliminator.com

    珠宝联盟网
    http://www.zblmw.com

    珠宝
    http://www.zblmw.com

    移动推拉门
    http://www.yiliboli.com

    全球贸易网
    http://www.ecexp.com

    荣华网络
    http://www.ronghuaweb.com

    SEO
    http://www.ronghuaweb.com

    搜索引擎优化
    http://www.seoogle.cn

    seo
    http://www.seoogle.cn


    莆田培训
    http://www.ptbxpx.com

    怀孕知识
    http://www.mamabaike.com

    童话
    http://www.61tonghua.com

    童话故事
    http://www.61tonghua.com

    肮脏美学
    http://www.sickfox.com

    肮脏美学
    http://www.sickarts.com

    莆田外贸
    http://www.putiantrade.com

    贸易通
    http://www.tradetalk.cn

    莆田网络公司
    http://www.ronghuaweb.com

    莆田
    http://www.ptall.com

    莆田新闻
    http://www.ptall.com

    莆田话
    http://www.pthua.com

    SEO
    http://www.SEOGlobal.org

    二元店
    http://www.258yuan.com

    两元店
    http://www.258yuan.com

    精品店
    http://www.258yuan.com

    义乌小商品
    http://www.258shop.com

    one dollar shop
    http://www.258shop.com

    taylor made r7 cgb
    http://www.taylormadebrand.com

    taylormade golf
    http://www.taylormadebrand.com

    莆田SEO
    http://www.ptseo.cn

    SEM
    http://www.semglobal.org

    儿童文学
    http://www.61wenxue.com

    海峡人才
    http://www.haixiajob.com

    怀孕知识
    http://www.mamabaike.com

    工艺美术城-中国.莆田
    http://www.zblmw.com

    工艺美术城
    http://www.zblmw.com

    Nike Shoes Wholesale
    http://www.ohnike.com

    Wholesale nike shoes
    http://www.Ohnike.com

    wholesale nike shoes
    http://www.sportsshoes24.org

    nike shoes wholesale
    http://www.sportsshoes24.org

    Radiation Protection Products
    http://www.rppWorld.com

    Radiation Protection
    http://www.rppWorld.com

    japan txluck
    http://www.txluck.com

    才子男装
    http://www.caizipifa.cn

    才子集团
    http://www.caizipifa.cn

    油画批发
    http://www.youhuapifa.net

    油画工作室
    http://www.youhuapifa.net

    油画
    http://www.youhuapifa.net

    莆田专业外贸网站建设
    http://www.putiantrade.com

    chinese tea wholesale
    http://www.TeaLuck.com

    tea
    http://www.TeaLuck.com

    SEM
    http://www.semglobal.org

    MoneyBookers
    http://www.mymoneybookers.cn

    林荣华
    http://www.LinRonghua.com

    石英谐振器
    http://www.ptcxdz.com

    32.768khz
    http://www.ptcxdz.com

    晶振
    http://www.ptcxdz.com

    振晶
    http://www.ptcxdz.com

    表晶
    http://www.ptcxdz.com

    莆田创意动画
    http://www.ptflash.com.cn

    莆田动画
    http://www.ptflash.com.cn

    保兰德
    http://www.baolande.com

    莆田黄页
    http://www.putianyp.com

    莆田企业黄页
    http://www.putianyp.com

    32.768Khz
    http://www.ptcxdz.com

    石英谐振器
    http://www.ptcxdz.com

    游戏外贸
    http://www.GamesSEO.com

    游戏关键字优化
    http://www.GamesSEO.com

    游戏优化
    http://www.GamesSEO.com

    欧美网络游戏优化
    http://www.GamesSEO.com

    莆田净水器
    http://www.ptjsq.cn

    福建净水器
    http://www.ptjsq.cn

    净水器
    http://www.ptjsq.cn

    莆田SEO
    http://www.0594seo.com

    TradeCMS
    http://www.tradecms.com

    Yellow Pages
    http://www.global-yellow-pages.org

    Global Yellow Pages
    http://www.global-yellow-pages.org

    金山毒霸
    http://www.kingsoft-duba.com.cn

    毒霸
    http://www.kingsoft-duba.com.cn

    有啊
    http://www.youasky.com

    有呀
    http://www.youasky.com

    百度有啊
    http://www.youasky.com

    oil painting
    http://www.oilpaintingsources.com

    oil painting
    http://www.buyarts123.com

    oil paintings
    http://www.buyarts123.com

    oil paintings
    http://www.oilpaintingsources.com

    wholesale oil painting
    http://www.oilpaintingsources.com

    oil painting wholesale
    http://www.oilpaintingsources.com

    china oil painting wholesale
    http://www.oilpaintingsources.com

    MAC Makeup
    http://www.macmakeupshop.com

    MAC Cosmetics
    http://www.macmakeupshop.com

    discount mac makeup
    http://www.macmakeupshop.com

    MAC Eye Shadow
    http://www.macmakeupshop.com

    ed hardy
    http://www.edhardyvip.com

    ed hardy clothing
    http://www.edhardyvip.com

    ed hardy shoes
    http://www.edhardyvip.com

    ghd
    http://www.ghder.com

    ghd hair straighteners
    http://www.ghder.com

    chi
    http://www.ghder.com

    CHI straightener
    http://www.ghder.com

    ghd straighteners
    http://www.ghder.com

    chi hair straightener
    http://www.ghder.com

    ghd
    http://www.ghdvschi.com

    ghd hair straighteners
    http://www.ghdvschi.com

    chi
    http://www.ghdvschi.com

    CHI straightener
    http://www.ghdvschi.com

    ghd straighteners
    http://www.ghdvschi.com

    chi hair straightener
    http://www.ghdvschi.com

    ghd
    http://www.goodghd.com

    ghd hair straighteners
    http://www.goodghd.com

    chi
    http://www.goodghd.com

    CHI straightener
    http://www.goodghd.com

    ghd straighteners
    http://www.goodghd.com

    chi hair straightener
    http://www.goodghd.com

    nfl jerseys
    http://www.jerseysfans.com

    nhl jerseys
    http://www.jerseysfans.com

    soccer jerseys
    http://www.jerseysfans.com

    nba jerseys
    http://www.jerseysfans.com

    mlb jerseys
    http://www.jerseysfans.com

    world cup
    http://www.jerseysfans.com

    nfl apparel
    http://www.jerseysfans.com

    nfl apparel
    http://www.nfljerseysmall.com

    nfl jerseys
    http://www.nfljerseysmall.com

    nhl jerseys
    http://www.nfljerseysmall.com

    soccer jerseys
    http://www.nfljerseysmall.com

    nba jerseys
    http://www.nfljerseysmall.com

    mlb jerseys
    http://www.nfljerseysmall.com

    world cup
    http://www.nfljerseysmall.com

    nike shoes
    http://www.ohnike.com

    wholesale nike shoes
    http://www.ohnike.com

    Oil paintings
    http://www.buyarts123.com

    Oil painting
    http://www.buyarts123.com

    Paintings for sale
    http://www.buyarts123.com

    Handmade Oil Paintings
    http://www.buyarts123.com

    portraits
    http://www.buyarts123.com

    abstract paintings
    http://www.buyarts123.com

    van gogh reproductions
    http://www.buyarts123.com

    Monet paintings
    http://www.buyarts123.com

    Klimt paintings
    http://www.buyarts123.com

    Venice painting
    http://www.buyarts123.com

    oil portraits
    http://www.buyarts123.com

    replica bags
    http://www.chinabagworld.com

    Replica Handbags
    http://www.chinabagworld.com

    Replica bags
    http://www.chinabagworld.com

    Designer Handbags
    http://www.chinabagworld.com

    Gucci bags
    http://www.chinabagworld.com

    Chanel bags
    http://www.chinabagworld.com

    シャネルの鞄
    http://www.chinabagworld.com

    ルイヴィトンの鞄
    http://www.chinabagworld.com



    Rolex
    http://www.swissluxurywatches.cn


    Computer Radiation Eliminator
    http://www.radiation-eliminator.com

    Replica Watches
    http://www.replica-watches.com.cn

    Cartier Watches
    http://www.cartierwatches.org.cn

    Panerai Watches
    http://www.paneraiwatches.cn

    Bvlgari Watches
    http://www.bvlgariwatches.cn

    Breitling Watches
    http://www.breitlingwatches.cn

    Tag Heuer Watches
    http://www.tagheuerwatches.org.cn

    Patek Philippe Watches
    http://www.patek-philippe.org.cn

    Rado Watches
    http://www.radowatches.org.cn

    Mont Blanc Watches
    http://www.montblancwatches.cn

    A.Lange & Sohne
    http://www.alangesohne.org.cn

    Piaget Watches
    http://www.piagetwatches.org.cn

    Vacheron Constantin
    http://www.vacheronconstantin-watches.cn

    Frank Muller Watches
    http://www.frankmuller.cn

    Breitling Watches
    http://www.breitlingwatches.com.cn

    Longine Watches
    http://www.longinewatches.cn

    Hublot Watches
    http://www.hublotwatches.com.cn

    Mont Blanc Watches
    http://www.montblancwatches.com.cn

    Panerai Watches
    http://www.paneraiwatches.com.cn

    ed hardy
    http://www.edhardyglobal.com

    ED HARDY
    http://www.edhardyglobal.com/ED-HARDY-c9.html

    ed hardy sock
    http://www.edhardyglobal.com/ed-hardy-sock-c30.html

    ed hardy purses
    http://www.edhardyglobal.com/ed-hardy-purses-c31.html

    ed hardy shoes men
    http://www.edhardyglobal.com/ed-hardy-shoes-men-c32.html

    ed hardy shoes women
    http://www.edhardyglobal.com/ed-hardy-shoes-women-c33.html

    ed hardy slipper
    http://www.edhardyglobal.com/ed-hardy-slipper-c34.html

    ed hardy women skirt
    http://www.edhardyglobal.com/ed-hardy-women-skirt-c35.html

    Short sleeve man Tee
    http://www.edhardyglobal.com/Short-sleeve-man-Tee-c10.html

    Short sleeve Woman Tee
    http://www.edhardyglobal.com/Short-sleeve-Woman-Tee-c11.html

    Long sleeve man Tee
    http://www.edhardyglobal.com/Long-sleeve-man-Tee-c13.html

    Long sleeve woman Tee
    http://www.edhardyglobal.com/Long-sleeve-woman-Tee-c14.html

    ed hardy men hoody
    http://www.edhardyglobal.com/ed-hardy-men-hoody-c15.html

    ed hard women hoody
    http://www.edhardyglobal.com/ed-hard-women-hoody-c16.html

    ed hardy boot
    http://www.edhardyglobal.com/ed-hardy-boot-c17.html

    ed hardy bags
    http://www.edhardyglobal.com/ed-hardy-bags-c18.html

    ed hardy bikini
    http://www.edhardyglobal.com/ed-hardy-bikini-c19.html

    ed hardy suit
    http://www.edhardyglobal.com/ed-hardy-suit-c20.html

    ed hardy sunglass
    http://www.edhardyglobal.com/ed-hardy-sunglass-c21.html

    ed hardy belt
    http://www.edhardyglobal.com/ed-hardy-belt-c22.html

    ed hardy underwear
    http://www.edhardyglobal.com/ed-hardy-underwear-c23.html

    ed hardy caps
    http://www.edhardyglobal.com/ed-hardy-caps-c24.html

    ed hardy watch
    http://www.edhardyglobal.com/ed-hardy-watch-c25.html

    ed hardy bracelet
    http://www.edhardyglobal.com/ed-hardy-bracelet-c26.html

    ed hardy woman shorts
    http://www.edhardyglobal.com/ed-hardy-woman-shorts-c27.html

    ed hardy men jeans
    http://www.edhardyglobal.com/ed-hardy-men-jeans-c28.html

    ed hardy women jeans
    http://www.edhardyglobal.com/ed-hardy-women-jeans-c29.html

    Christian Audigier
    http://www.edhardyglobal.com/Christian-Audigier-c36.html

    CA MEN TEE
    http://www.edhardyglobal.com/CA-MEN-TEE-c37.html

    CA WOMEN TEE
    http://www.edhardyglobal.com/CA-WOMEN-TEE-c38.html

    CA men long sleeve TEE
    http://www.edhardyglobal.com/CA-men-long-sleeve-TEE-c39.html

    CA women long sleeve TEE
    http://www.edhardyglobal.com/CA-women-long-sleeve-TEE-c40.html

    CA MEN Hoody
    http://www.edhardyglobal.com/CA-MEN-Hoody-c41.html

    CA women Hoody
    http://www.edhardyglobal.com/CA-women-Hoody-c42.html

    CA MEN Jeans
    http://www.edhardyglobal.com/CA-MEN-Jeans-c43.html

    CA BAGS
    http://www.edhardyglobal.com/CA-BAGS-c44.html

    CA bikini
    http://www.edhardyglobal.com/CA-bikini-c45.html

    CA Caps
    http://www.edhardyglobal.com/CA-Caps-c46.html

    CA women skirt
    http://www.edhardyglobal.com/CA-women-skirt-c47.html

    Michael Jackson
    http://www.edhardyglobal.com/Michael-Jackson-c48.html

    Man TEE
    http://www.edhardyglobal.com/Man-TEE-c49.html

    Woman TEE
    http://www.edhardyglobal.com/Woman-TEE-c50.html

    ghd
    http://www.ghdluck.com

    chi
    http://www.ghdluck.com

    ghd straighteners
    http://www.ghdluck.com

    straighteners
    http://www.ghdluck.com

    hair straighteners
    http://www.ghdluck.com

    GHD
    http://www.ghd-hair-co-uk.com

    GHD Straighteners
    http://www.ghd-hair-co-uk.com

    GHD Hair Straighteners
    http://www.ghd-hair-co-uk.com

    GHD PRECIOUS
    http://www.ghd-hair-co-uk.com

    Chi Flat Iron
    http://www.ghd-hair-co-uk.com

    GHD
    http://www.iwantmyghd.com

    GHD Straighteners
    http://www.iwantmyghd.com

    GHD Hair Straighteners
    http://www.iwantmyghd.com

    GHD PRECIOUS
    http://www.iwantmyghd.com

    Chi Flat Iron
    http://www.iwantmyghd.com

    GHD
    http://www.ghd-chi-mall.com

    GHD Straighteners
    http://www.ghd-chi-mall.com

    GHD Hair Straighteners
    http://www.ghd-chi-mall.com

    GHD PRECIOUS
    http://www.ghd-chi-mall.com

    Chi Flat Iron
    http://www.ghd-chi-mall.com

    GHD
    http://www.ghdbrandshop.com

    GHD Straighteners
    http://www.ghdbrandshop.com

    GHD Hair Straighteners
    http://www.ghdbrandshop.com

    GHD PRECIOUS
    http://www.ghdbrandshop.com

    Chi Flat Iron
    http://www.ghdbrandshop.com

    T3 Hair Dryer
    http://www.ghdbrandshop.com

    T3 Hair Straighteners
    http://www.ghdbrandshop.com

    GHD
    http://www.ghd-hair-co-uk.com

    GHD Straighteners
    http://www.ghd-hair-co-uk.com

    GHD Hair Straighteners
    http://www.ghd-hair-co-uk.com

    wholesale ghd straighteners
    http://www.ghd-hair-co-uk.com

    chi
    http://www.ghd-hair-co-uk.com

    Chi Flat Iron
    http://www.ghd-hair-co-uk.com

    cheap ghd straighteners
    http://www.ghd-hair-co-uk.com

    hair straighteners
    http://www.ghd-hair-co-uk.com

    GHD PRECIOUS
    http://www.ghd-hair-co-uk.com

    T3 Hair Dryer
    http://www.ghd-hair-co-uk.com

    T3 Hair Straighteners
    http://www.ghd-hair-co-uk.com

    GHD
    http://www.iwantmyghd.com

    GHD Straighteners
    http://www.iwantmyghd.com

    GHD Hair Straighteners
    http://www.iwantmyghd.com

    wholesale ghd straighteners
    http://www.iwantmyghd.com

    chi
    http://www.iwantmyghd.com

    Chi Flat Iron
    http://www.iwantmyghd.com

    cheap ghd straighteners
    http://www.iwantmyghd.com

    hair straighteners
    http://www.iwantmyghd.com

    GHD PRECIOUS
    http://www.iwantmyghd.com

    T3 Hair Dryer
    http://www.iwantmyghd.com

    T3 Hair Straighteners
    http://www.iwantmyghd.com

    GHD
    http://www.ghd-chi-mall.com

    GHD Straighteners
    http://www.ghd-chi-mall.com

    GHD Hair Straighteners
    http://www.ghd-chi-mall.com

    wholesale ghd straighteners
    http://www.ghd-chi-mall.com

    chi
    http://www.ghd-chi-mall.com

    Chi Flat Iron
    http://www.ghd-chi-mall.com

    cheap ghd straighteners
    http://www.ghd-chi-mall.com

    hair straighteners
    http://www.ghd-chi-mall.com

    GHD PRECIOUS
    http://www.ghd-chi-mall.com

    T3 Hair Dryer
    http://www.ghd-chi-mall.com

    T3 Hair Straighteners
    http://www.ghd-chi-mall.com

    GHD
    http://www.ghdbrandshop.com

    GHD Straighteners
    http://www.ghdbrandshop.com

    GHD Hair Straighteners
    http://www.ghdbrandshop.com

    wholesale ghd straighteners
    http://www.ghdbrandshop.com

    chi
    http://www.ghdbrandshop.com

    Chi Flat Iron
    http://www.ghdbrandshop.com

    cheap ghd straighteners
    http://www.ghdbrandshop.com

    hair straighteners
    http://www.ghdbrandshop.com

    GHD PRECIOUS
    http://www.ghdbrandshop.com

    T3 Hair Dryer
    http://www.ghdbrandshop.com

    T3 Hair Straighteners
    http://www.ghdbrandshop.com

    superbowl XLIV
    http://www.super-bowl-jerseys.com

    superbowl 2010
    http://www.super-bowl-jerseys.com

    superbowl 44
    http://www.super-bowl-jerseys.com

    superbowl tickets
    http://www.super-bowl-jerseys.com

    superbowl trivia
    http://www.super-bowl-jerseys.com

    nfl superbowl
    http://www.super-bowl-jerseys.com

    superbowl jersey
    http://www.super-bowl-jerseys.com

    superbowl jerseys
    http://www.super-bowl-jerseys.com

    wholesale superbowl jerseys
    http://www.super-bowl-jerseys.com

    dropshipping superbowl jersey
    http://www.super-bowl-jerseys.com

    cheap nfl superbowl jerseys
    http://www.super-bowl-jerseys.com

    superbowl XLIV
    http://www.superbowljerseyshop.com

    superbowl 2010
    http://www.superbowljerseyshop.com

    superbowl 44
    http://www.superbowljerseyshop.com

    superbowl tickets
    http://www.superbowljerseyshop.com

    superbowl trivia
    http://www.superbowljerseyshop.com

    nfl superbowl
    http://www.superbowljerseyshop.com

    superbowl jersey
    http://www.superbowljerseyshop.com

    superbowl jerseys
    http://www.superbowljerseyshop.com

    wholesale superbowl jerseys
    http://www.superbowljerseyshop.com

    dropshipping superbowl jersey
    http://www.superbowljerseyshop.com

    cheap nfl superbowl jerseys
    http://www.superbowljerseyshop.com

    superbowl XLIV
    http://www.super-bowl-jersey.com

    superbowl 2010
    http://www.super-bowl-jersey.com

    superbowl 44
    http://www.super-bowl-jersey.com

    superbowl tickets
    http://www.super-bowl-jersey.com

    superbowl trivia
    http://www.super-bowl-jersey.com

    nfl superbowl
    http://www.super-bowl-jersey.com

    superbowl jersey
    http://www.super-bowl-jersey.com

    superbowl jerseys
    http://www.super-bowl-jersey.com

    wholesale superbowl jerseys
    http://www.super-bowl-jersey.com

    dropshipping superbowl jersey
    http://www.super-bowl-jersey.com

    cheap nfl superbowl jerseys
    http://www.super-bowl-jersey.com

    ugg
    http://www.uggchinastore.com

    ugg雪地靴
    http://www.uggchinastore.com

    ugg官网
    http://www.uggchinastore.com

    ugg专卖店
    http://www.uggchinastore.com

    ugg价格
    http://www.uggchinastore.com

    ugg australia
    http://www.uggchinastore.com



    金镶玉
    http://www.jxyshop.com

    玉配
    http://www.jxyshop.com

    吊坠
    http://www.jxyshop.com


    http://www.jxyshop.com

    玉网
    http://www.jxyshop.com

    玉镶金
    http://www.jxyshop.com

    nike air max
    http://www.ohnike.com

    nike shox
    http://www.ohnike.com

    nike air max
    http://www.sportsshoes24.org

    nike shox
    http://www.sportsshoes24.org

    cheap super bowl jersey
    http://www.super-bowl-jersey.com

    Discount super bowl jersey
    http://www.super-bowl-jersey.com

    makeup
    http://www.macmakeupshop.com

    cosmetics
    http://www.macmakeupshop.com

    makeup wholesale
    http://www.macmakeupshop.com

    cosmetics wholesale
    http://www.macmakeupshop.com

    wholesale cosmetics
    http://www.macmakeupshop.com

    wholesale makeup
    http://www.macmakeupshop.com

    makeup wholesale
    http://www.makeupwholesaleshop.com

    cosmetics wholesale
    http://www.makeupwholesaleshop.com

    wholesale cosmetics
    http://www.makeupwholesaleshop.com

    wholesale makeup
    http://www.makeupwholesaleshop.com

    makeup
    http://www.makeupwholesaleshop.com

    cosmetics
    http://www.makeupwholesaleshop.com

    makeup wholesale
    http://www.cosmeticswholesaleshop.com

    cosmetics wholesale
    http://www.cosmeticswholesaleshop.com

    wholesale cosmetics
    http://www.cosmeticswholesaleshop.com

    wholesale makeup
    http://www.cosmeticswholesaleshop.com

    makeup
    http://www.cosmeticswholesaleshop.com

    cosmetics
    http://www.cosmeticswholesaleshop.com

    replica handbags
    http://www.luxuryhandbagworld.com

    replica bags
    http://www.luxuryhandbagworld.com

    designer handbags
    http://www.luxuryhandbagworld.com

    Auto Parts
    http://www.dieselpartsworld.com

    Head Rotor
    http://www.dieselpartsworld.com

    Nozzle
    http://www.dieselpartsworld.com

    Element
    http://www.dieselpartsworld.com

    Plunger
    http://www.dieselpartsworld.com

    Auto Parts
    http://www.autopartsproducts.com

    Head Rotor
    http://www.autopartsproducts.com

    Nozzle
    http://www.autopartsproducts.com

    Element
    http://www.autopartsproducts.com

    Plunger
    http://www.autopartsproducts.com

    wholesale nfl jerseys
    http://www.wholesalenfljerseys2008.com

    nfl jerseys wholesale
    http://www.wholesalenfljerseys2008.com

    new orleans saints
    http://www.wholesalenfljerseys2008.com

    nfl jerseys
    http://www.wholesalenfljerseys2008.com

    new orleans saints jerseys
    http://www.wholesalenfljerseys2008.com

    jimmy choo
    http://www.myjimmychooshop.com

    jimmy choo handbags
    http://www.myjimmychooshop.com

    jimmy choo shoes
    http://www.myjimmychooshop.com

    jimmy choo sunglasses
    http://www.myjimmychooshop.com

    nfl jerseys
    http://www.ecjerseys4all.com

    wholesale nfl jerseys
    http://www.ecjerseys4all.com

    True Religion
    http://www.ectr4all.com

    True Religion Jeans
    http://www.ectr4all.com

    TR Jeans
    http://www.ectr4all.com

    ecco
    http://www.ecco4all.com

    Ecco Shoes
    http://www.ecco4all.com

    replica handbags
    http://www.ecbag4all.com

    replica bags
    http://www.ecbag4all.com

    handbags
    http://www.ecbag4all.com

    oil painting
    http://www.ecoilpaintings.com

    oil paintings
    http://www.ecoilpaintings.com

    nfl jerseys
    http://www.ecjersey4all.com

    mlb jerseys
    http://www.ecjersey4all.com

    nfl jerseys wholesale
    http://www.ecjersey4all.com

    nfl jersey
    http://www.nflinshop.com

    nfl jerseys
    http://www.nflinshop.com

    super bowl jerseys
    http://www.nflinshop.com

    China Shoes Factory
    http://www.oemexps.com

    Shoes Trade
    http://www.oemexps.com

    Shoes OEM
    http://www.oemexps.com

    Casual Shoes
    http://www.oemexps.com

    Sports Shoes
    http://www.oemexps.com

    Hiking Shoes
    http://www.oemexps.com

    Skater Shoes
    http://www.oemexps.com

    the north face
    http://www.outdoorbrandshop.com

    north face
    http://www.outdoorbrandshop.com

    the north face discount
    http://www.outdoorbrandshop.com

    the north face jackets
    http://www.outdoorbrandshop.com

    the north face backpacks
    http://www.outdoorbrandshop.com

    the north face clothing
    http://www.outdoorbrandshop.com

    ecco
    http://www.535shoes.com

    ecco shoes
    http://www.535shoes.com

    wholesale ecco shoes
    http://www.535shoes.com

    Business shoes
    http://www.535shoes.com

    ECCO Men's Shoes
    http://www.535shoes.com

    ecco
    http://www.eccshoes.com

    ecco shoes
    http://www.eccshoes.com

    wholesale ecco shoes
    http://www.eccshoes.com

    Business shoes
    http://www.eccshoes.com

    ECCO Men's Shoes
    http://www.eccshoes.com

    work shoes
    http://www.workshoesworld.com

    work boots
    http://www.workshoesworld.com

    safety shoes
    http://www.workshoesworld.com

    new era caps
    http://www.hat-bay.com

    new era hats
    http://www.hat-bay.com

    new era cap
    http://www.hat-bay.com

    new era hat
    http://www.hat-bay.com

    wholesale new era caps
    http://www.hat-bay.com

    59Fifty Fitted Hats
    http://www.hat-bay.com

    nfl hats
    http://www.hat-bay.com


    nfl jerseys
    http://www.nfljerseystks.com

    nfl jersey
    http://www.nfljerseystks.com

    wholesale nfl jerseys
    http://www.nfljerseystks.com

    cheap nfl jerseys
    http://www.nfljerseystks.com

    nhl
    http://www.nhljerseystks.com

    nhl jerseys
    http://www.nhljerseystks.com

    nhl jersey
    http://www.nhljerseystks.com

    wholesale nhl jerseys
    http://www.nhljerseystks.com

    cheap nhl jerseys
    http://www.nhljerseystks.com

    mlb
    http://www.mlbjerseystks.com

    mlb jerseys
    http://www.mlbjerseystks.com

    mlb jersey
    http://www.mlbjerseystks.com

    cheap mlb jerseys
    http://www.mlbjerseystks.com

    wholesale mlb jerseys
    http://www.mlbjerseystks.com



    莆田逢源印刷
    http://www.ptfyys.com

    莆田印刷公司
    http://www.ptfyys.com

    逢源印刷
    http://www.ptfyys.com

    google
    http://www.google.com

    rolex watches
    http://www.b2cwatch.com

    mbt shoes
    http://www.mbtinshop.com

    buy mbt kaya
    http://www.mbtinshop.com

    china factory
    http://www.shoes-oem.com

    crocs shoes
    http://www.crocsmy.com

    59fifty fitted lids
    http://www.shopbycap.com

    バッグ
    http://www.chinabagworld.com

    財布
    http://www.chinabagworld.com

    腕時計
    http://www.chinabagworld.com

    nfl throwback jerseys
    http://www.nflinshop.com


    UGG雪地靴
    http://www.uggchinamall.com

    UGG批发
    http://www.uggchinamall.com

    UGG专卖店
    http://www.uggchinamall.com

    UGG正品
    http://www.uggchinamall.com

    oil painting
    http://www.jiyouarts.com

    爱步
    http://www.xietour.com

    爱步鞋
    http://www.xietour.com

    ECCO鞋
    http://www.xietour.com

    爱步休闲鞋
    http://www.xietour.com

    其乐
    http://www.xietour.com

    其乐鞋
    http://www.xietour.com

    其乐皮鞋
    http://www.xietour.com

    健乐士
    http://www.xietour.com



    nike shoes
    http://www.ebuyfashions.com

    china wholesale
    http://www.ebuyfashions.com

    nike air jordan
    http://www.ebuyfashions.com


    Nike Air Jordan
    http://www.ebuyfashions.com/Nike-Air-Jordan-c244.html

    Nike Air Jordan Fusion
    http://www.ebuyfashions.com/Nike-Air-Jordan-Fusion-c277.html

    Nike Air Force 1
    http://www.ebuyfashions.com/Nike-Air-Force-1-c272.html

    Nike Lebron James
    http://www.ebuyfashions.com/Nike-Lebron-James-c274.html

    Nike Kobe Bryant
    http://www.ebuyfashions.com/Nike-Kobe-Bryant-c275.html

    Nike KEN GRIFF Shoes
    http://www.ebuyfashions.com/Nike-KEN-GRIFF-Shoes-c276.html

    Nike Air Max
    http://www.ebuyfashions.com/Nike-Air-Max-c278.html

    Nike Shox
    http://www.ebuyfashions.com/Nike-Shox-c279.html

    Nike Air Yeezy
    http://www.ebuyfashions.com/Nike-Air-Yeezy-c280.html

    Nike Sneaker King
    http://www.ebuyfashions.com/Nike-Sneaker-King-c551.html

    Puma Shoes
    http://www.ebuyfashions.com/Puma-Shoes-c630.html

    Nike Dunk
    http://www.ebuyfashions.com/Nike-Dunk-c635.html

    Bape Shoes
    http://www.ebuyfashions.com/Bape-Shoes-c657.html



    Handbags
    http://www.ebuyfashions.com/Handbags-c228.html

    Jewelry
    http://www.ebuyfashions.com/Jewelry-c238.html

    Sunglasses
    http://www.ebuyfashions.com/Sunglasses-c593.html

    Hair Straightener
    http://www.ebuyfashions.com/Hair--Straightener-c242.html

    Belt
    http://www.ebuyfashions.com/Belt-c476.html

    Jerseys
    http://www.ebuyfashions.com/Jerseys-c243.html

    Wallet
    http://www.ebuyfashions.com/Wallet-c232.html



    ECCO
    http://www.bizshoesjp.com

    ECCO靴
    http://www.bizshoesjp.com

    ECCO シューズ
    http://www.bizshoesjp.com

    ECCO ゴルフ
    http://www.bizshoesjp.com

    ecco 店舗
    http://www.bizshoesjp.com

    ecco 通販
    http://www.bizshoesjp.com

  2. Nike Air Max for Sal 2011/08/29 17:51 # M/D Reply Permalink

    555clf4
    very gpodXSAASAD

Leave a comment

Evading hack detection mechanisms in online games

Evading hack detection mechanisms in online games
By: Darawk

I - Introduction

As some of you are probably aware, a lot of game companies have recently been cracking down on "hackers". They've implemented the entire spectrum of userland detection mechanisms, ranging from the ridiculously simplistic to the incredibly complex. Over the course of the past few weeks, I have devoted a lot of time to trying to find a general solution to the problem of detection evasion. In some sense, it juxtaposes our position as hackers, with that of the game companies. To exploit a game you have to find only one flaw in their system whereas they have to design a system without any flaws. Similarly, when we hide ourselves from their detection code, all they have to do is spot a single mistake of ours, and it is us who are charged with devising and implementing the perfect system. The below article is my attempt at accomplishing this. It is by no means complete or perfect, but I'd like to think that it is a first step in that direction.

II - Detection of loaded modules

For this purpose i'm going to assume we need to load a module into the target(as we do in the case of most game hacks or bots). We must recognize two distinct instances in which a rogue module could be detected. Upon injection and then the rest of the time.



Nearly every dll injection method involves calling LoadLibrary at some point or another. So a simple way to catch any modules you wish to detect is to hook LoadLibrary(or LdrLoadDll, or whichever other lower level native
API's).

This problem can be solved in one of two ways. The first and simplest being randomization of the modules name. Since a great many legitimate pieces of software inject dll's into every process on the system(Trillian, AIM, hotkey software, etc..) no reasonable detection system can use a "white list" design(detection that involves making sure only verified modules are loaded, and considering anything that isn't explicitly good, to be bad). So a blacklist must be used, which makes it so that randomized module nomenclature is a perfectly acceptable solution to this detection technique.

The other method, which I implemented is to use one other method of dll injection, which i've called "manual mapping". It seemed at first like a very daunting task to emulate the windows PE loader and make everything
work correctly, but it turns out that it's not really all that difficult. My ManualMap(appendix) code does just that. It could use a great many improvements, I know, and in fact I have my own private vastly improved
version, but it's only a proof of concept.

After a module is injected into a running process, it can be detected in two ways. The first is to scan the module list or call GetModuleHandle on modules that you consider "hacks". This is mitigated by unlinking your
module from the list using a tool like CloakDll(appendix). Or using something like ManualMap so the module is never linked in the first place. I think the second solution is a bit better, but they are more or less the same.

The second way of detecting modules after they've been injected is much more clever. It is to iterate through every page on the system(pages are aligned on 0x1000 bytes, so this is actually feasible), and check it for
offending code signatures. This problem can be countered by using a modified dll loader that randomizes the offset from the page boundaries where the real data actually starts. However, a better solution I think is
to create two new blank pages enclosing your module. And then use VirtualProtect to set the PAGE_GUARD flag on these two pages. The PAGE_GUARD flag will generate a one-shot exception whenever the memory is accessed. Using an unhandled exception filter, vectored exception handling, or a KiUserExceptionDispatcher hook(I recommend the latter), you can catch these exceptions. This will let you know when you are being scanned and allow you to do whatever you like to prevent the detection code from spotting your module.

III - Hooks, Patches and CRC checks

To create any worthwhile hacks it is almost always necessary to modify the games code in some way. However, code modifications are all too easy to detect, and until now nobody has come up with a viable generalized solution to this problem. I'm afraid I can't claim to have completely solved it, but I have found a way to tame it a bit.

I've come up with a way to hook functions without modifying any code in the target process at all. The only drawback is that you can only simultaneously hook 4 functions. My method is to use the debug registers (i.e. hardware breakpoints). You can see my implementation of it in the CHook class in the appendix.

Now, debug registers can be detected quite easily. Anyone calling GetThreadContext with CONTEXT_DEBUG_REGISTERS will see them, any exception handlers will get a context structure that contains them, etc.. The solution to this is to hook NtGetContextThread, NtSetContextThread, and KiUserExceptionDispatcher. Of course, you'd have to use a patch hook for those. Since quite a few antivirus/anti-spam/firewall programs hook functions like these to help "improve overall system security", it would be unreasonable for a detection system to label you as a hacker based soley on
the presence of modified bytes in your system dll's. This means that you can hook up to 4 functions without fear of them being detected.

Even though they may not detect you based solely on the presence of those hooks in the system modules, they still do leave you open to one potential avenue of detection. Which is to locate your hooks in the system modules,
parse the jump patches and determine where they lead. A subsequent CRC of the hook procedure would be more than enough for a positive identification.

There are again, two solutions to this problem. One is to hook by using an int03 breakpoint instruction, and then catching exceptions(this is also implemented in my CHook class if you look hard enough, you'll spot it) and
redirecting them to the proper hook procedure. This would require you to either use a standard jmp patch hook on KiUserExceptionDispatcher(which would sort of defeat the purpose) or use one of the two standard forms of SEH.

The other solution which I consider much better, though slightly more difficult to implement is to write a polymorph engine for your hook procedures. It doesn't have to be anything too fancy, even randomized NOP-equivalent padding in-between actually relevant instructions(NOP equivalents are instructions such as mov eax, eax). This would make any
attempt at CRC checking your functions fail. I haven't yet implemented this method. However, I might end up writing some PoC code for it at some point.

The easiest method of doing this comes from the area of shellcoding. As i'm sure you all know, shellcode is often encrypted with a short runtime decrypting loader in order to evade IDS signatures. That runtime decryption stub is very easy to write a simple asm polymorph engine for. By simply placing NOP's in-between various instructions and using randomized encryption keys that change every time it is encrypted or decrypted, you could make it very difficult if not impossible to create any type of working signature for your code, without sacrificing too much in the way of performance.

The debug registers are also quite useful for many other interesting purposes. You can hook memory reads/writes as well as instruction fetches. This means you can create a callback for memory modification(great for values in memory you want to monitor, this means you don't have to poll them anymore). A complete description of them can be found in the appendix.

Another point to consider is that instead of attempting to detect your API hooks, they could simply disable them by patching over your hooks with the original bytes. This is easy to do and portable enough for a game company to consider implementing, since the first few bytes of most API's don't often change between versions of Windows. The solution to this problem requires us to realize that before being able to write to any memory in the code section of a process image, you'd have to call VirtualProtect to change it's page protection temporarily. So, a hook on NtProtectVirtualMemory should prevent them from simply overwriting all of your hard work.

IV - Conclusion

In sum, it is possible to inject a module and set up to 4 completely undetectable(from ring3) hooks. There may be some holes in the specifics I presented, but the general theory i've described here can be applied to achieve that result. The above is my attempt at the most complete anti-detection system that can be created from userland. I'm sure you will
all be able to add your own insights onto what i've said, and I sincerely hope you do. The solution is not in secret security systems, like many of those currently involved in gamehacking seem to think...and as all closed source software vendors have found out. And game hackers above anyone else, should know that. Because you're all reverse engineers. You live to defeat security through obscurity...don't fall into the same trap yourselves.

V - Appendix

ManualMap:
http://www.darawk.com/Code/ManualMap.cpp

Debug registers:
http://pdos.csail.mit.edu/6.828/2005/readings/i386/s12_02.htm

CloakDll:
http://www.darawk.com/Code/CloakDll.cpp

CHook:
http://www.darawk.com/Code/CHook.h
http://www.darawk.com/Code/CHook.cpp

이올린에 북마크하기

Posted by Dual

2005/10/12 14:07 2005/10/12 14:07
Response
No Trackback , 3 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/161

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/161

Comments List

  1. Gucci for sale 2011/08/12 16:58 # M/D Reply Permalink

    <b><a href="http://www.thebrandbags.com/gucci-shoes-C6.html">Gucci shoes online</a></b> <b><a href="http://www.thebrandbags.com/">Gucci outlet</a></b> to the way driving, <b><a href="http://www.thebrandbags.com/gucci-wallets-C3.html">discount Gucci wallets</a></b> but did <b><a href="http://www.thebrandbags.com/gucci-shoes-C6.html">discount Gucci shoes</a></b> not expect infuriated elephants, tug of war with the crowd. </P> <p> □ correspondent, chief correspondent Dai Zhenhua Wang Yuan <b><a href="http://www.thebrandbags.com/gucci-shoes-C6.html">wholesale Gucci shoes</a></b> Songming photo coverage (Spring City Ev...

  2. Air Jordans 2011/08/29 17:47 # M/D Reply Permalink

    555clf1
    thanjks for you

  3. Nike Air Max for Sal 2011/08/29 17:48 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment
#include "stdio.h"
#include "windef.h"

main()
{
register long Time1,Time2; //시간 저장용 변수
register long Delta1,Delta2; //두 시간 변수 오차율
register BOOL COUNT1 = 0,COUNT2 = 0;

printf(":::::::::::::::::::::::::::::::::::::::::
");
printf("GetTickCount()를 BreakPoint(디버깅)확인법
");
printf("Coded by Dual( dual5651@hotmail.com )
");
printf(":::::::::::::::::::::::::::::::::::::::::
");

while(TRUE)
{
if(!COUNT1)
{
Time1 = GetTickCount();
COUNT1 = 1;
continue;
}
else
{
Time2 = GetTickCount();
COUNT1 = 0;
}

if(!COUNT2)
{
Delta1 = Time2 - Time1;
COUNT2 = 1;
continue;
}
else
{
Delta2 = Time2 - Time1;
COUNT2 = 0;
if(Delta1 != Delta2)
{
printf("Has be Attacked!!!
");
printf("Delta1(%d) != Delta2(%d)
",Delta1,Delta2);
}
else
{
printf("Nothing Found
",Delta1,Delta2);
printf("Delta1(%d) == Delta2(%d)
",Delta1,Delta2);
}
}
Sleep(100);
}
}

//이글은 단지 예제를 보기 위함이며
//실전에선 SetTimer두개를 사용해야함.
이올린에 북마크하기

Posted by Dual

2005/09/17 22:10 2005/09/17 22:10
Response
No Trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/157

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/157

Comments List

  1. Nike Air Max for Sal 2011/08/29 17:49 # M/D Reply Permalink

    555clf4
    very gpod

  2. Air Jordans 2011/08/29 17:51 # M/D Reply Permalink

    555clf1
    thanjks for you

Leave a comment

Win32 Hooks

Win32 Hooks


 

Kyle Marsh
Microsoft Developer Network Technology Group


Created: July 29, 1993


Revised: February 1994
Added exception for journal hooks in "Filter functions in DLLs" section.
Added .EXE file to where filters can reside in "WH_JOURNALRECORD" and "WH_JOURNALPLAYBACK" sections.
Changed HIWORD and LOWORD to HIBYTE and LOBYTE in "HC_ACTION" section.


Abstract


This article describes hooks and their use in the Microsoft? Win32? application programming interface (API). It discusses hook functions, filter functions, and the following types of hooks:


  • WH_CALLWNDPROC
  • WH_CBT
  • WH_DEBUG
  • WH_FOREGROUNDIDLE
  • WH_GETMESSAGE
  • WH_JOURNALPLAYBACK
  • WH_JOURNALRECORD
  • WH_KEYBOARD
  • WH_MOUSE
  • WH_MSGFILTER
  • WH_SHELL
  • WH_SYSMSGFILTER

Terminology   In this article, the term Windows refers to the Windows family of operating systems, that is, 16-bit Windows, Windows NT?, and Windows for Workgroups. Likewise, Windows 3.1 refers to the 3.1 version of these operating systems.

Introduction


In the Microsoft? Windows? operating system, a hook is a mechanism by which a function can intercept events (messages, mouse actions, keystrokes) before they reach an application. The function can act on events and, in some cases, modify or discard them. Functions that receive events are called filter functions and are classified according to the type of event they intercept. For example, a filter function might want to receive all keyboard or mouse events. For Windows to call a filter function, the filter function must be installed—that is, attached—to a Windows hook (for example, to a keyboard hook). Attaching one or more filter functions to a hook is known as setting a hook. If a hook has more than one filter function attached, Windows maintains a chain of filter functions. The most recently installed function is at the beginning of the chain, and the least recently installed function is at the end.


When a hook has one or more filter functions attached and an event occurs that triggers the hook, Windows calls the first filter function in the filter function chain. This action is known as calling the hook. For example, if a filter function is attached to the CBT hook and an event that triggers the hook occurs (for example, a window is about to be created), Windows calls the CBT hook by calling the first function in the filter function chain.


To maintain and access filter functions, applications use the SetWindowsHookEx and the UnhookWindowsHookEx functions.


Hooks provide powerful capabilities for Windows-based applications. These applications can use hooks to:


  • Process or modify all messages meant for all the dialog boxes, message boxes, scroll bars, or menus for an application (WH_MSGFILTER).
  • Process or modify all messages meant for all the dialog boxes, message boxes, scroll bars, or menus for the system (WH_SYSMSGFILTER).
  • Process or modify all messages (of any type) for the system whenever a GetMessage or a PeekMessage function is called (WH_GETMESSAGE).
  • Process or modify all messages (of any type) whenever a SendMessage function is called (WH_CALLWNDPROC).
  • Record or play back keyboard and mouse events (WH_JOURNALRECORD, WH_JOURNALPLAYBACK).
  • Process, modify, or remove keyboard events (WH_KEYBOARD).
  • Process, modify, or discard mouse events (WH_MOUSE).
  • Respond to certain system actions, making it possible to develop computer-based training (CBT) for applications (WH_CBT).
  • Prevent another filter from being called (WH_DEBUG).

Applications have used hooks to:


  • Provide F1 help key support to menus, dialog boxes, and message boxes (WH_MSGFILTER).
  • Provide mouse and keystroke record and playback features, often referred to as macros. For example, the Windows Recorder accessory program uses hooks to supply record and playback functionality (WH_JOURNALRECORD, WH_JOURNALPLAYBACK).
  • Monitor messages to determine which messages are being sent to a particular window or which actions a message generates (WH_GETMESSAGE, WH_CALLWNDPROC). The Spy utility program in the Platform SDK uses hooks to perform these tasks. The source for Spy is available in the SDK.
  • Simulate mouse and keyboard input (WH_JOURNALPLAYBACK). Hooks provide the only reliable way to simulate these activities. If you try to simulate these events by sending or posting messages, Windows internals do not update the keyboard or mouse state, which can lead to unexpected behavior. If hooks are used to play back keyboard or mouse events, these events are processed exactly like real keyboard or mouse events. Microsoft Excel uses hooks to implement its SEND.KEYS macro function.
  • Provide CBT for applications that run in the Windows environment (WH_CBT). The WH_CBT hook makes developing CBT applications much easier.

How to Use Hooks


To use hooks, you need to know:


  • How to use the Windows hook functions to add and remove filter functions to and from a hook's filter function chain.
  • What action the filter function you are installing will be required to perform.
  • What kinds of hooks are available, what they can do, and what information (parameters) they pass to your filter function.

Windows Hook Functions


Windows-based applications use the SetWindowsHookEx, UnhookWindowsHookEx, and CallNextHookEx functions to manage the hooks filter function chain. Before version 3.1, Windows implemented hook management with the SetWindowsHook, UnhookWindowsHook, and DefHookProc functions. Although these functions are implemented in Win32, they have fewer capabilities than the new (Ex) versions. Please convert your existing code to the new versions of these functions, and always use the new functions for new code.


SetWindowsHookEx and UnhookWindowsHookEx are described below. See "Calling the next function in the filter function chain" for a discussion of CallNextHookEx.


SetWindowsHookEx


The SetWindowsHookEx function adds a filter function to a hook. This function takes four arguments:


  • An integer code describing the hook to which to attach the filter function, and the address of the filter function. These codes are defined in WINUSER.H and are described later.
  • The address of the filter function. The filter function must be exported by including it in the EXPORTS statement in the module definition file for the application or dynamic-link library (DLL), or by using the appropriate compiler flags.
  • The instance handle of the module containing the filter function. In Win32 (unlike Win16), this value should be NULL when installing a thread-specific hook (see below), but does not have to be NULL as the documentation states. When you install a systemwide hook or a thread-specific hook for a thread in another process, you must use the instance handle of the DLL where the filter function resides.
  • The thread ID for which the hook is to be installed. If the thread ID is not zero, the installed filter function will be called only in the context of the specified thread. If the thread ID is zero, the installed filter function has system scope and may be called in the context of any thread in the system. An application or library can use the GetCurrentThreadId function to obtain the thread handle for hooking the current thread.

    Some hooks may be set with system scope only; some may be set only for a specific thread; and others may have either system or thread scope, as shown in the following table.










































Hook Scope
WH_CALLWNDPROC Thread or System
WH_CBT Thread or System
WH_DEBUG Thread or System
WH_GETMESSAGE Thread or System
WH_JOURNALRECORD System Only
WH_JOURNALPLAYBACK System Only
WH_FOREGROUNDIDLE Thread or System
WH_SHELL Thread or System
WH_KEYBOARD Thread or System
WH_MOUSE Thread or System
WH_MSGFILTER Thread or System
WH_SYSMSGFILTER System Only

For a given hook type, thread hooks are called first, followed by system hooks.


It is a good idea to use thread hooks instead of system hooks for several reasons. Thread hooks:


  • Do not incur a systemwide overhead in applications that are not interested in the call.
  • Do not cause all events for a hook to be serialized. For example, if an application installs a systemwide keyboard hook, all keyboard messages for all applications will be funneled through that application's keyboard filter function, effectively wasting the system's multiple input queue functionality. If that filter function stops processing keyboard events, the system will appear stopped to the user, but it will not really be stopped. The user can always use the CTRL+ALT+DEL key combination to log out and solve the problem, but he or she will probably not be happy with all this hassle. Also, users may not realize that they can reset the system with the logout/logon sequence.
  • Do not require packaging the filter function implementation in a separate DLL. All systemwide hooks and hooks for threads in different applications must reside in DLLs.
  • Do not need to share data within a DLL that is attached to different processes. A systemwide filter function, which must reside in a DLL, must also share any data that it needs with other processes. Since this is not default DLL behavior, you must be careful when implementing systemwide filter functions. If a filter function is not correctly developed to share data and uses data in a process in which the data is invalid, the process may crash.

SetWindowsHookEx returns a handle to the installed hook (an HHOOK). The application or library must use this handle to identify this hook later when it calls the UnhookWindowsHookEx function. SetWindowsHookEx returns NULL if it is unable to add the filter function to the hook. SetWindowsHookEx also sets the last error to one of the values listed below to indicate why the function failed.


  • ERROR_INVALID_HOOK_FILTER: The hook code is invalid.
  • ERROR_INVALID_FILTER_PROC: The filter function is invalid.
  • ERROR_HOOK_NEEDS_HMOD: A global hook is being set with a NULL hInstance parameter or a thread-specific hook is being set for a thread that is not in the setting application.
  • ERROR_GLOBAL_ONLY_HOOK: A hook that can only be a system hook is being installed to a specific thread.
  • ERROR_INVALID_PARAMETER: The thread ID is invalid.
  • ERROR_JOURNAL_HOOK_SET: There is already a hook set for a journal hook type. Only one journal record or journal playback hook can be installed at one time. This code can also be set if an application tries to set a journal hook while a screen saver is running.
  • ERROR_MOD_NOT_FOUND: The hInstance parameter for a global hook was not a library. (Actually, this value simply means that User was unable to locate the module handle in its list of modules.)
  • Any other value: Security does not allow this hook to be set, or the system is out of memory.

Windows keeps the filter function chain internally (see the figure below) and does not rely on the filter functions to store the address of the next filter function in the chain correctly (as versions of Windows before 3.1 did). Thus, hooks are much more robust in Windows version 3.1 than they were in previous versions. In addition, performance is enhanced significantly because the filter function chain is kept internally.



The filter function chain in Windows 3.1


UnhookWindowsHookEx


To remove a filter function from a hook's chain, call the UnhookWindowsHookEx function. This function takes the hook handle returned from SetWindowsHookEx and returns a value indicating whether the hook was removed. UnhookWindowsHookEx always returns TRUE at this time.


Filter Functions


Filter (hook) functions are functions that are attached to a hook. Because filter functions are called by Windows and not by an application, they are sometimes referred to as callback functions. For consistency, this article uses the term filter functions.


All filter functions must have the following form:

LRESULT CALLBACK FilterFunc( nCode, wParam, lParam )int nCode;
WORD wParam;
DWORD lParam;

All filter functions should return a LONG. FilterFunc is a placeholder for the actual filter function name.


Parameters


Filter functions receive three parameters: ncode (the hook code), wParam, and lParam. The hook code is an integer code that informs the filter function of any additional data it should know. For example, the hook code might indicate what action is causing the hook to be called.


In previous versions of Windows (before 3.1), the hook code indicated whether the filter function should process the event or call DefHookProc. If the hook code is less than zero, the filter function should not process the event; it should call DefHookProc, passing the three parameters it was passed without any modification. Windows used these negative codes to maintain the filter function chain, with help from the applications.


Windows 3.1 still requires that if Windows sends a filter function a negative hook code, the filter function must call CallNextHookEx with the parameters Windows passed to the filter function. The filter function must also return the value returned by CallNextHookEx. Windows 3.1 never sends negative hook codes to filter functions.


The second parameter passed to the filter function, wParam, is a WPARAM, and the third parameter, lParam, is an LPARAM. These parameters pass information needed by the filter function. Each hook attaches different meanings to wParam and lParam. For example, filter functions attached to the WH_KEYBOARD hook receive a virtual-key code in wParam, and lParam contains bit fields that describe the state of the keyboard at the time of the key event. Filter functions attached to the WH_MSGFILTER hook receive a NULL value in wParam and a pointer to a message structure in lParam. Some hooks attach different meanings for wParam and lParam depending on the event that causes the hook to be called. For a complete list of arguments and their meanings for each hook type, see the filter functions listed below in Platform SDK.







































Hook Filter function documentation
WH_CALLWNDPROC CallWndProc
WH_CBT CBTProc
WH_DEBUG DebugProc
WH_GETMESSAGE GetMsgProc
WH_JOURNALRECORD JournalRecordProc
WH_JOURNALPLAYBACK JournalPlaybackProc
WH_SHELL ShellProc
WH_KEYBOARD KeyboardProc
WH_MOUSE MouseProc
WH_MSGFILTER MessageProc
WH_SYSMSGFILTER SysMsgProc

Calling the next function in the filter function chain


When a hook is set, Windows calls the first function in the hook's filter function chain, and the responsibility of Windows ends. The filter function is responsible for ensuring that the next filter function in the chain is called. Windows supplies CallNextHookEx to enable a filter function to call the next filter in the filter function chain. CallNextHookEx takes four parameters.


The first parameter is the value returned from the SetWindowsHookEx call. This value is currently ignored by Windows, but this behavior may change in the future.


The next three parameters—nCode, wParam, and lParam—are the parameters that Windows passed to the filter function.


Windows stores the filter function chain internally and keeps track of which filter function it is calling. When CallNextHookEx is called, Windows determines the next filter function in the chain and calls that function.


At times, a filter function may not want to pass an event to the other hook functions on the same chain. In particular, when a hook allows a filter function to discard an event and the filter function decides to do so, the function must not call CallNextHookEx. When a filter function modifies a message, it may decide not to pass the message to the rest of the filter function chain.


Because filter functions are not installed in any particular order, you cannot be sure where your function is in the filter function chain at any moment except at the moment of installation, when it is the first function in the chain. As a result, you are never absolutely certain that you will get every event that occurs. A filter function installed ahead of your filter function in the chain—a function that was installed after your function timewise—might not pass the event to your filter function.


Filter functions in DLLs


Systemwide filter functions must reside in a DLL. In Win16 it was possible (although not recommended) to install a systemwide hook to a filter function in an application. This does not work in Win32. Do not install systemwide filter functions that are not in DLLs, even if it does seem to work on a particular system. The journal hooks, WH_JOURNALRECORD and WH_JOURNALPLAYBACK, are exceptions to this rule. Because of the way Windows calls these hooks, their filter functions do not have to be in a DLL.


Filter functions for systemwide hooks must be prepared to share any data they need across the different processes they are running from. A DLL is mapped into the address space of each of its client processes. Global variables within the DLL will be instance specific unless they are placed in a shared data section. For example, the HOOKSDLL.DLL library in the Hooks sample application needs to share two data items:


  • The window handle to display messages.
  • The height of the text lines in that window.

To share this data, HOOKSDLL puts these data items in a shared data section. Here are the steps HOOKSDLL takes to share the data:


  • Use pragmas to place the data in a named data segment. Note that the data must be initialized for this to work.
    // Shared DATA
    #pragma data_seg(".SHARDATA")
    static HWND hwndMain = NULL; // Main hwnd. We will get this from the app.
    static int nLineHeight = 0; // Height of lines in window.
    #pragma data_seg()

  • Add a SECTIONS statement to the DLL's .DEF file:
    SECTIONS
    .SHARDATA Read Write Shared

  • Create an .EXP file from the .DEF file:
    hooksdll.exp: hooksdll.obj hooksdll.def
    $(implib) -machine:$(CPU)

    -def:hooks.def

    hooksdll.obj

    -out:hooksdll.lib

  • Link with the HOOKSDLL.EXP file:
    hooksdll.dll: hooksdll.obj hooksdll.def hooksdll.lib hooksdll.exp
    $(link) $(linkdebug)

    -base:0x1C000000

    -dll

    -entry:LibMain$(DLLENTRY)

    -out:hooksdll.dll

    hooksdll.exp hooksdll.obj hooksdll.rbj

    $(guilibsdll)

Types of Hooks


WH_CALLWNDPROC


Windows calls this hook whenever the Windows SendMessage function is called. The filter functions receive a hook code from Windows indicating whether the message was sent from the current thread and receive a pointer to a structure containing the actual message.


The CWPSTRUCT structure has the following form:

typedef struct tagCWPSTRUCT {
LPARAM lParam;
WPARAM wParam;
DWORD message;
HWND hwnd;
} CWPSTRUCT, *PCWPSTRUCT, NEAR *NPCWPSTRUCT, FAR *LPCWPSTRUCT;

Filters can process the message, but cannot modify the message (this was possible in 16-bit Windows). The message is sent to the Windows function for which it was intended. This hook is a significant drain on system performance, especially when it is installed as a systemwide hook, so use it only as a development or debugging tool.


WH_CBT


To write a CBT application, the developer must coordinate the CBT application with the application for which it is written. Windows supplies the WH_CBT hook to make this possible. Windows passes a hook code to the filter function, indicating which event has occurred and the appropriate data for the event.


A filter function attached to the WH_CBT hook needs to be aware of ten hook codes:


  • HCBT_ACTIVATE
  • HCBT_CREATEWND
  • HCBT_DESTROYWND
  • HCBT_MINMAX
  • HCBT_MOVESIZE
  • HCBT_SYSCOMMAND
  • HCBT_CLICKSKIPPED
  • HCBT_KEYSKIPPED
  • HCBT_SETFOCUS
  • HCBT_QS

HCBT_ACTIVATE


Windows calls the WH_CBT hook with this hook code when any window is about to be activated. In the case of thread-specific hooks, the window must be owned by the thread. If the filter function returns TRUE, the window is not activated.


The wParam parameter contains the handle to the window being activated. The lParam parameter contains a far pointer to CBTACTIVATESTRUCT, which has the following structure:

typedef struct tagCBTACTIVATESTRUCT
{
BOOL fMouse; // TRUE if activation results from a
// mouse click; otherwise FALSE.
HWND hWndActive; // Contains the handle to the
// currently active window.
} CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT;

HCBT_CREATEWND


Windows calls the WH_CBT hook with this hook code when a window is about to be created. In the case of thread-specific hooks, the thread must be creating the window. The WH_CBT hook is called before Windows sends the WM_GETMINMAXINFO, WM_NCCREATE, or WM_CREATE messages to the window. Thus, the filter function can return TRUE and not allow the window to be created.


The wParam parameter contains the handle to the window being created. The lParam parameter contains a pointer to the following structure.

/*
* HCBT_CREATEWND parameters pointed to by lParam
*/
struct CBT_CREATEWND
{
struct tagCREATESTRUCT *lpcs; // The create parameters for the
// new window.
HWND hwndInsertAfter; // The window this window will
// be added after, in Z-order.
} CBT_CREATEWND, *LPCBT_CREATEWND;

A filter function can alter the hwndInsertAfter value or the values in lpcs.


HCBT_DESTROYWND


Windows calls the WH_CBT hook with this hook code when Windows is about to destroy any window. In the case of thread-specific hooks, the thread must own the window. Windows calls the WH_CBT hook before the WM_DESTROY message is sent. If the filter function returns TRUE, the window is not destroyed.


The wParam parameter contains the handle to the window being destroyed. The lParam parameter contains 0L.


HCBT_MINMAX


Windows calls the WH_CBT hook with this hook code when Windows is about to minimize or maximize a window. In the case of thread-specific hooks, the thread must own the window. If the filter function returns TRUE, the action does not occur.


The wParam parameter contains the handle to the window being minimized or maximized. The lParam is any one of the SW_* values defined in WINUSER.H specifying the operation that is taking place.


HCBT_MOVESIZE


Windows calls the WH_CBT hook with this hook code when Windows is about to move or size a window, and the user has just finished selecting the new window position or size. In the case of thread-specific hooks, the thread must own the window. If the filter function returns TRUE, the action does not occur.


The wParam parameter contains the handle to the window being moved or sized. The lParam parameter contains an LPRECT that points to the drag rectangle.


HCBT_SYSCOMMAND


Windows calls the WH_CBT hook with this hook code when Windows processes a system command. In the case of a thread-specific hook, the thread must own the window whose System menu is being used. The WH_CBT hook is called from within DefWindowsProc. If an application does not send the WH_SYSCOMMAND message to DefWindowsProc, this hook is not called. If the filter function returns TRUE, the system command is not processed.


The wParam parameter contains the system command (SC_TASKLIST, SC_HOTKEY, and so on) that is about to be performed. If wParam is SC_HOTKEY, the LOWORD of lParam contains the handle to the window for which the hot key applies. If wParam contains any value other than SC_HOTKEY and if the System menu command is selected with the mouse, the LOWORD of lParam contains the horizontal position of the cursor and the HIWORD of lParam contains the vertical position of the cursor.


The following system commands trigger this hook from within DefWindowProc:
















































SC_CLOSE Close the window.
SC_HOTKEY Activate the window associated with the application-specified hot key.
SC_HSCROLL Scroll horizontally.
SC_KEYMENU Retrieve a menu through a keystroke.
SC_MAXIMIZE Maximize the window.
SC_MINIMIZE Minimize the window.
SC_MOUSEMENU Retrieve a menu through a mouse click.
SC_MOVE Move the window.
SC_NEXTWINDOW Move to the next window.
SC_PREVWINDOW Move to the previous window.
SC_RESTORE Save the previous coordinates (checkpoint).
SC_SCREENSAVE Execute the screen-save application.
SC_SIZE Size the window.
SC_TASKLIST Execute or activate the Windows Task Manager application.
SC_VSCROLL Scroll vertically.

HCBT_CLICKSKIPPED


Windows calls the WH_CBT hook with this hook code when a mouse event is removed from a thread's input queue and the mouse hook is set. Windows will call a systemwide hook when a mouse event is removed from any input queue and either a systemwide mouse hook or a thread-specific hook for the current thread is installed. This hook code is not generated unless a filter function is attached to the WH_MOUSE hook. Despite its name, HCBT_CLICKSKIPPED is called not only for skipped mouse events but also whenever a mouse event is removed from the system queue. Its main use is to install a WH_JOURNALPLAYBACK hook in response to a mouse event. (See the "WM_QUEUESYNC" section below for more information.)


The wParam parameter contains the message identifier for the mouse message—for example, the WM_LBUTTONDOWN or any WM_?BUTTON* messages. The lParam parameter contains a far pointer to MOUSEHOOKSTRUCT, which has the following structure:

typedef struct tagMOUSEHOOKSTRUCT {
POINT pt; // Location of mouse in screen coordinates
HWND hwnd; // Window that receives this message
UINT wHitTestCode; // The result of hit-testing (HT_*)
DWORD dwExtraInfo; // Extra info associated with the current message
} MOUSEHOOKSTRUCT, FAR *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT;

HCBT_KEYSKIPPED


Windows calls the WH_CBT hook with this hook code when a keyboard event is removed from the system queue and the keyboard hook is set. Windows will call a systemwide hook when a keyboard event is removed from any input queue and either a systemwide keyboard hook or a thread-specific hook for the current thread is installed. This hook code is not generated unless a filter function is attached to the WH_KEYBOARD hook. Despite its name, HCBT_KEYSKIPPED is called not only for skipped keyboard events but also whenever a keyboard event is removed from the system queue. Its main use is to install a WH_JOURNALPLAYBACK hook in response to a keyboard event. (See the "WM_QUEUESYNC" section below for more information.)


The wParam parameter contains the virtual-key code—the same value as wParam of GetMessage or PeekMessage for WM_KEY* messages. The lParam parameter contains the same value as the lParam parameter of GetMessage or PeekMessage for WM_KEY* messages.


WM_QUEUESYNC


While executing, a CBT application often must react to events in the main application. Keyboard or mouse events usually trigger these events. For example, a user clicks an OK button in a dialog box, after which the CBT application wants to play a series of keystrokes to the main application. The CBT application can use a mouse hook to determine whether the OK button was clicked. Upon determining that it wants to play some keystrokes to the main application, the CBT application must wait until the main application completes the processing of the OK button before beginning to play the new keystrokes. The CBT application would not want to apply the keystrokes to the dialog box.


The CBT application can use the WM_QUEUESYNC message to monitor the main application and determine when an action is completed. The CBT application monitors the main application with a mouse or a keyboard hook and looks for events to which it must respond. By watching the main application with a mouse or a keyboard hook, the CBT application becomes aware of when an event that needs a response begins. The CBT application must wait until the event is completed before responding to it.


To determine when the action is complete, the CBT application takes these steps:


  1. The CBT application waits until it receives the WH_CBT hook with an HCBT_CLICKSKIPPED or an HCBT_KEYSKIPPED hook code from Windows. This happens when the event that is causing the action in the main application is removed from the system queue.
  2. The CBT application installs a WH_JOURNALPLAYBACK hook. The CBT application cannot install this hook until it receives either the HCBT_CLICKSKIPPED or the HCBT_KEYSKIPPED hook code. The WH_JOURNALPLAYBACK hook plays a WM_QUEUESYNC message to the CBT application. When the CBT application receives this message, it can respond to the original event. For example, the CBT application might play some keystrokes to the main application.

HCBT_SETFOCUS


Windows calls the WH_CBT hook with this hook code when Windows is about to set the focus to any window. In the case of thread-specific hooks, the window must belong to the thread. If the filter function returns TRUE, the focus does not change.


The wParam parameter contains the handle to the window that receives the focus. The lParam parameter contains the handle to the window that loses the focus.


HCBT_QS


Windows calls the WH_CBT hook with this hook code when a WM_QUEUESYNC message is removed from the system queue while a window is being resized or moved. The hook is not called at any other time. In the case of thread-specific hooks, the window must belong to the thread.


Both the wParam and lParam parameters contain zero.


WH_DEBUG


Windows calls this hook when Windows is about to call a filter function. Filters cannot modify the values for the hook but can stop Windows from calling the original filter function by returning a nonzero value.


The wParam parameter contains the ID of the hook to be called, for example, WH_MOUSE. The lParam parameter contains a pointer to the following structure:

typedef struct tagDEBUGHOOKINFO
{
DWORD idThread; // The thread ID for the current thread
LPARAM reserved;
LPARAM lParam; // The lParam for the target filter function
WPARAM wParam; // The wParam for the target filter function
int code;
} DEBUGHOOKINFO, *PDEBUGHOOKINFO, NEAR *NPDEBUGHOOKINFO, FAR* LPDEBUGHOOKINFO;

WH_FOREGROUNDIDLE


Windows calls this hook when there is no user input to process for the current thread. In the case of thread-specific hooks, Windows calls the hook only when that thread is the current thread and there is no input for the thread. This is a notification-only hook; both the wParam and lParam parameters are zero.


WH_GETMESSAGE


Windows calls this hook when the GetMessage or the PeekMessage function is about to return a message. The filter functions receive a pointer to a structure containing the actual message from Windows. The message, including any modifications, is sent to the application that originally called GetMessage or PeekMessage. The lParam parameter contains a pointer to a MSG structure:

typedef struct tagMSG {     /* msg */
HWND hwnd; The window whose Winproc will receive the message
UINT message; The message number
WPARAM wParam;
LPARAM lParam;
DWORD time; The time the message was posted
POINT pt; The cursor position in screen coordinates
of the message
} MSG;

WH_HARDWARE


This hook is not currently implemented in Win32.


Journal Hooks


Journal hooks are used to record and playback events. They are available only as systemwide hooks and should, therefore, be used as little as possible. These hooks affect all Windows-based applications; although the desktop allows no other hooks, journal hooks can record and play back events from and to the desktop. Another side-effect of journal hooks is that all system input queues are attached though the thread that installed the hook. This means that all system input must pass through this one point of execution.


Win32 takes special steps to allow a user to cancel a journal hook so that it does not lock the system. Windows will uninstall a record or playback journal hook when the user presses CTRL+ESC, ALT+ESC, or CTRL+ALT+DEL. Windows then notifies the application that had a journal hook installed by posting a WM_CANCELJOURNAL message.


WM_CANCELJOURNAL


This message is posted with a NULL window handle so that it is not dispatched to a window procedure. The best way to catch this message is to install a WH_GETMESSAGE filter function that watches for the message. The Win32 documentation also mentions that an application can catch the WM_CANCELJOURNAL message between a call to GetMessage (or PeekMessage) and DispatchMessage. Although the message can be caught at this point, the application may not be there when the message is sent. For example, if the application is in a dialog box, its main message loop will not be called.


The CTRL+ESC, ALT+ESC, and CTRL+ALT+DEL key combinations are built into the system so the user can always stop a journal hook. It would be nice if every application that uses a journal hook could also supply a way for the user to stop journalling. The suggested way to stop journalling is by using VK_CANCEL (CTRL+BREAK).


WH_JOURNALRECORD


Windows calls this hook when it removes an event from the system queue. Thus, these filters are called for all mouse and keyboard events except for those played back by a journal playback hook. Filters may process the message (that is, record or save the event in memory or on disk or both), but cannot modify or discard the message. Filters for this hook may reside in a DLL or an .EXE file. Only the HC_ACTION hook code is implemented in Win32.


HC_ACTION


Windows calls the WH_JOURNALRECORD hook with this hook code when it takes an event from the system queue. The hook code signals the filter function that this is a normal event. The lParam parameter to the filter function contains a pointer to an EVENTMSG structure. The usual recording procedure is to take all EVENTMSG structures passed to the hook and store them in memory or, if events exceed memory storage capacity, write them to disk.


The EVENTMSG structure is defined in WINDOWS.H and has the following structure:

typedef struct tagEVENTMSG {
UINT message;
UINT paramL;
UINT paramH;
DWORD time;
HWND hwnd;
} EVENTMSG;

typedef struct tagEVENTMSG *PEVENTMSG, NEAR *NPEVENTMSG, FAR *LPEVENTMSG;

The message element of the EVENTMSG structure is the message ID for the message, the WM_* value. The paramL and paramH values depend on whether the event is a mouse or a keyboard event. If it is a mouse event, the values contain the x and y coordinates of the event. If it is a keyboard event, paramL contains the scan code in the HIBYTE and the virtual-key code in the LOBYTE, and paramH contains the repeat count. Bit 15 of the repeat count specifies whether the event is an extended key. The time element of the EVENTMSG structure contains the system time (when the event occurred), which it obtained from the return value of GetTickCount. The hwnd is the window handle for the event.


The amount of time between events is determined by comparing the time element of an event with the time of subsequent events. This time delta is needed when playing back the recorded events.


WH_JOURNALPLAYBACK


This hook is used to provide mouse and keyboard messages to Windows as if they were inserted in the system queue. This hook is generally used to play back events recorded with the WH_JOURNALRECORD hook, but also provides the best way to send events to another application. Whenever a filter function is attached to this hook, Windows calls the first filter function in the function chain to get events. Windows discards any mouse moves while WH_JOURNALPLAYBACK is installed. All other keyboard and mouse input is queued until the WH_JOURNALPLAYBACK hook has no filter functions attached. Filters for this hook may reside in a DLL or an .EXE file. A filter function attached to this hook needs to be aware of the following hook codes:


  • HC_GETNEXT
  • HC_SKIP

HC_GETNEXT


Windows calls the WH_JOURNALPLAYBACK hook with this hook code when it accesses a thread's input queue. In most cases, Windows makes this call many times for the same message. The lParam parameter to the filter function contains a pointer to an EVENTMSG structure (see above). The filter function must put the message, the paramL value, and the paramH value into the EVENTMSG structure. These are usually copied directly from the recorded event made during WH_JOURNALRECORD.


The filter function must tell Windows when to process the message that the filter function is giving Windows. Windows needs two values for its scheduling: (1) the amount of time Windows should wait before processing the message; (2) the time at which the message is to be processed. The usual method of calculating the time to wait before processing is to subtract the EVENTMSG time element of the previous message from the EVENTMSG time element of the current message. This technique plays back messages at the speed at which they were recorded. If the message is to be processed immediately for much faster playback, the amount of time returned from the function is zero.


The time at which the message should be processed is usually obtained by adding the amount of time Windows should wait before processing the message to the current system time obtained from GetTickCount. For immediate playback, use the value returned from GetTickCount.


If the system is not otherwise active, Windows uses the values that the filter function has supplied to process the event. If the system is active, Windows examines the system queue. Each time it does, it asks for the same event with an HC_GETNEXT hook code. Each time the filter function receives HC_GETNEXT, it should return the new amount of time to wait, assuming that time elapsed between calls. The time element of the EVENTMSG structure and of the message, the paramH value, and the paramL value will probably not need changing between calls.


HC_SKIP


Windows calls the WH_JOURNALPLAYBACK hook with this hook code when it has completed processing a message it received from WH_JOURNALPLAYBACK. This occurs at the time that Windows would have removed the event from the system queue, if the event had been in the system queue instead of being generated by a WH_JOURNALPLAYBACK hook. This hook code signals to the filter function that the event that the filter function returned on the prior HC_GETNEXT call has been returned to an application. The filter function should prepare to return the next event on the next HC_GETEVENT call. When the filter function determines that it has no more events to play back, it should unhook itself during this HC_SKIP call.


WH_KEYBOARD


Windows calls this hook when the GetMessage or the PeekMessage function is about to return a WM_KEYUP, WM_KEYDOWN, WM_SYSKEYUP, WM_SYSKEYDOWN, or WM_CHAR message. In the case of thread-specific hooks, the message must be from the thread's input queue. The filter function receives the virtual-key code and the state of the keyboard at the time of the keyboard hook. Filters can tell Windows to discard the message. A filter function attached to this hook needs to be aware of the following two hook codes:


  • HC_ACTION
  • HC_NOREMOVE

HC_ACTION


Windows calls the WH_KEYBOARD hook with this hook code when an event is being removed from the system queue.


HC_NOREMOVE


Windows calls the WH_KEYBOARD hook with this hook code when there is a keyboard event that is not being removed because an application is calling PeekMessage with the PM_NOREMOVE option. If this hook code is passed, the key-state table will not accurately reflect the previous key state. An application needs to be aware of the existence of this condition.


WH_MOUSE


Windows calls this hook when a GetMessage or a PeekMessage function is called and Windows has a mouse message to process. Like the WH_KEYBOARD hook, this filter function receives a hook code, which indicates whether the message is being removed (HC_NOREMOVE), an identifier specifying the mouse message, and the x and y coordinates of the mouse. Filters can tell Windows to discard the message. Filters for this hook must reside in a DLL.


WH_MSGFILTER


Windows calls this hook when a dialog box, a message box, a scroll bar, or a menu retrieves a message, or when the user presses the ALT+TAB or ALT+ESC keys while the application that set the hook is active. This hook is thread specific, so it is always safe for its filter functions to reside in an application or in a DLL. The filter receives the following hook codes:


  • MSGF_DIALOGBOX: The message is for a dialog box or a message box.
  • MSGF_MENU: The message is for a menu.
  • MSGF_SCROLLBAR: The message is for a scroll bar.
  • MSGF_NEXTWINDOW: The next window action is about to take place.

There are other MSGF_ values defined in WINUSER.H but they are not used in WH_MSGFILTER hooks at this time.


The lParam parameter contains a pointer to a structure containing the message. The WH_SYSMSGFILTER hooks are called before the WH_MSGFILTER hooks. If any of the WH_SYSMSGFILTER hook functions return TRUE, the WH_MSGFILTER hooks are not called.


WH_SHELL


Windows calls this hook when actions occur to top-level (that is, unowned) windows. In the case of thread-specific hooks, Windows calls this hook only for windows that belong to the thread. This is a notification-only hook, so the filter function cannot modify or discard the event. The wParam parameter contains the handle to the window; the lParam parameter is not used. Three hook codes are defined in WINUSER.H for this hook:


  • HSHELL_WINDOWCREATED: Windows calls the WH_SHELL hook when a top-level window is created. The window already exists when this hook is called.
  • HSHELL_WINDOWDESTROYED: Windows calls the WH_SHELL hook when a top-level window is about to be destroyed.
  • HSHELL_ACTIVATESHELLWINDOW: This hook code is not used at this time.

WH_SYSMSGFILTER


This hook is identical to WH_MSGFILTER except that it is a systemwide hook. Windows calls this hook when a dialog box, a message box, a scroll bar, or a menu retrieves a message, or when the user presses the ALT+TAB or ALT+ESC keys. The filter receives the same hook code as WH_MSGFILTER.


The lParam parameter contains a pointer to a structure containing the message. The WH_SYSMSGFILTER hooks are called before the WH_MSGFILTER hooks. If any of the WH_SYSMSGFILTER hook functions return TRUE, the WH_MSGFILTER hooks are not called.

이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/08/15 20:47 2005/08/15 20:47
Response
A trackback , No Comment
RSS :
http://dual5651.hacktizen.com/tc/rss/response/134

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/134

Trackbacks List

  1. Nitro Tech Hardcore Bar By Muscletech 12 Bars

    Tracked from Nitro Tech Hardcore Bar By Muscletech 12 Bars 2011/11/04 12:39 Delete

Leave a comment

테스트 삼아 만들어 보고 있는것 = 0=

프로그램 종류는 스파잉/로거 계열일것이다 ㅇ_ㅇ
WriteProcessMemory() 시도나
ReadProcessMemory() 시도를 잡아준다 ㅇ_ㅇ
출력해주는것은 밑과 같다.

처음에 키면 나오는 I인데,
=_=;; 외국의 어떤 사람에 같은 용도의 프로그램에
I를 그대로 배껴다가 썻다 =_=;; 후후훗

Tsearch.exe[티서치]가 메모리를 읽어들이는것을
스파잉 하는 것을 캡쳐한것이다 ㅇ_ㅇ

스파잉 작업을 다 끝내고 난후 ㅇ_ㅇ
몇번 RPM/WPM이 시도 되었는지 출력해주는
친절한TS씨 :p
프로그램 테스트 버젼 다운로드
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/08/14 23:25 2005/08/14 23:25
Response
No Trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/127

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/127

Comments List

  1. Air Jordans 2011/08/29 17:46 # M/D Reply Permalink

    555clf1
    thanjks for you

  2. Nike Air Max for Sal 2011/08/29 17:47 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment

더블버퍼링

subject: Win32, Double Buffer

 

- 방법 -

Windows는 기본적으로 WM_PAINT와 WM_ERASEBACKGROUND 메세지를 받을때 화면을
재구성한다. 하지만 화면에 차례차례 그림을 그리기 때문에 화면이 깜빡이는(flicker) 현상이
발생을 한다. 이처럼 깜빡이는 현상을 방지하기 위해선 우선 WM_ERASEBACKGROUND메세지를
무시하는 방법이 있다. 이 방법은 완벽하지는 않지만 조금 덜 깜빡 거리게 만든다. 우선은 이런
조치를 하고 나서 WM_PAINT쪽에서 Double Buffering을 처리해주면 된다. 방법은 Memory Bitmap을
만들어서 그곳에 그림을 그린 다음 그 Bitmap을 화면에 한 번에 뿌리면 된다.

 

- Coding -

/*00001*/ HDC hDCMem;
/*00002*/ RECT rect;
/*00003*/ HBITMAP BitMem, OldBitMap;
/*00004*/
/*00005*/ hDCMem = CreateCompatibleDC(hdc);
/*00006*/ GetClientRect(m_hWndMain, &rect);
/*00007*/ BitMem = CreateCompatibleBitmap(hdc, rect.right-rect.left, rect.bottom - rect.top);
/*00008*/ OldBitMap = (HBITMAP)SelectObject(hDCMem, BitMem);
/*00009*/ FillRect(hDCMem, &rect, (HBRUSH)GetStockObject(WHITE_BRUSH)); // 전체를 하얗게 칠하기
/*00010*/
/*00011*/ DrawScore(hDCMem);
/*00012*/
/*00013*/ if( m_iRow != 0 && m_iCol != 0 )
/*00014*/ {
/*00015*/ DrawMatrix(hDCMem);
/*00016*/ DrawSelect(hDCMem);
/*00017*/ }
/*00018*/
/*00019*/ BitBlt(hdc, rect.left,rect.top,rect.right - rect.left,rect.bottom - rect.top,hDCMem,0,0,SRCCOPY);
/*00020*/
/*00021*/ BitMem = (HBITMAP)SelectObject(hDCMem, OldBitMap);
/*00022*/ DeleteDC(hDCMem);
/*00023*/ ReleaseDC(m_hWndMain, hdc);
/*00024*/ DeleteObject(BitMem);

hdc는 함수에 인자로 주어진 HDC이다. 실제로 화면에 보여질 DC는 hdc이다. 여기서 hDCMem이라는
새로운 DC를 만들어서 BitMem이라는 Bitmap을 생성해서 SelectObject로 선택을 해주고 각 서브함수
들은 hdc를 이용하든 그림을 그려주고 나서 19번째 줄 BitBlt를 이용해서비트맵을 한번에 화면에 뿌려주면
된다.
이올린에 북마크하기

Posted by Dual

2005/07/31 23:18 2005/07/31 23:18
Response
No Trackback , 4 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/115

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/115

Comments List

  1. Vibram FiveFingers 2011/08/29 17:40 # M/D Reply Permalink

    555clf5
    good

  2. Vibram FiveFingers 2011/08/29 17:40 # M/D Reply Permalink

    555clf5
    good

  3. Nike Air Max for Sal 2011/08/29 17:44 # M/D Reply Permalink

    555clf4
    very gpod

  4. Beats by dre 2012/02/03 11:10 # M/D Reply Permalink

    Beats By Dre is cheap.

Leave a comment
근자에 VB Q&A란의 질문을 보다보면 자꾸 잠이온다. 피곤해서가 아니고 뜬 구름 잡는 질문을
가지고 그들이 이해할 만큼 설명을 하자니 세월이 까마득하고 간단한 힌트를 주자니 쪽지로 질문
공세고...이러지도 못하고 저러지도 못하고... 답답하니 잠이 오는것같다.

VB 첫화면에도 필독 문서가 있어 질문 전에 읽어 보기를 권장을 하고 있지만 아직도 읽어보지않은
분들이 많은가 보다. 검색....이것을 해보도록 권하지만 이것도 자주 해봐야 요령이 생기는데
아니하니 무슨 검색어로 해야 내가 원하는 답변이 나올지 모른다. 그러니 검색을 하지 않는다.

마침 이런글이 보여서 연구 보존코자 공지로 등록을 하니 부디 차근 차근 읽고 마음에 새겨서
스스로을 위한 마음을 다스림에 사용하자.......
=======================================================================================
원리 파악과 경험 축적으로「프로그래밍 길들이기」

중학교 시절 첫 프로그램인 격투기 게임을 완성하기 위해 수업 시간 뒤편에 앉아 베이직 코드를 적어 나갔다. 주말이면 이 코드를 컴퓨터에 옮기는 작업을 했고, 이런 일을 거의 몇 주 동안 반복했다. 드디어 게임 프로그램 완성의 시간이 다가왔고, 조심스럽게 RUN을 쳤다. 결과는 참담했고 그날 필자는 하늘에서 떨어지는 눈을 맞으며 펑펑 울었다. 사춘기 소년의 눈물이 아니었다. 이유가 무엇이었을까?

유경상 (마이크로소프트웨어) 2002/02/20


다음은 1부터 1000까지의 합을 구하는 C 코드이다. 하지만 제대로 작동하지 않는다. 왜 그럴까?

int i, sum;
sum = 0;
for(i=1; i <= 1000; i++);
sum += i;
printf("sum = %d", sum);

단번에 알아낸 독자들도 있겠지만 앞의 코드 오류는 for 문 맨 뒤의 세미콜론 때문이다. 이 세미콜론 때문에 sum 값은 1001이 된다. 필자는 몇 년 전 이와 비슷한 코드를 작성하면서 4시간 정도를 허비한 경험이 있다. 코드가 앞의 코드보다는 훨씬 더 복잡했지만 잘못된 세미콜론 하나 때문에 제대로 된 수치 해석 결과가 나오지 않았다. 덕분에 여기 저기 코드를 마구 수정했고 원인을 발견하고 수정한 코드를 다시 복구하는 데 모두 4시간이나 소요해야 했다.

프로그래머라면 누구나 코드를 작성하면서 겪는 황당한 경험들이 많이 있을 것이다. 사소한 실수부터 개발환경, 개발도구 등의 버그 등등…. 이러한 황당한 경험들을 겪었을 때 각자의 반응들은 다양할 것이다. 부정적인 반응 중에서 좀 심한 경우 "이 짓거리 더 이상 못하겠다"며 나동그라지는 사람이 있는가 하면, 긍정적인 반응으로 "앞으로 이런 실수는 하지 말아야지"하며 씨익 웃는 사람도 있을 것이다.

필자 역시 십 수년 동안 프로그램을 작성하면서 많은 경험을 했다. 필자가 직접 겪은 경험들도 있으며 후배나 선배를 통해 간접적으로 겪은 경험도 있다. 필자가 직간접적으로 겪은 이런 일들 중 몇 가지를 여기서 독자들에게 소개하고, 몇 가지 사건들로부터 필자가 얻은 교훈을 공유해 보고자 한다.

점진적 프로그래밍
중학교 2학년 때였다. 80년대 중반 필자가 처음 접했던 컴퓨터는 Z80이라는 8비트 CPU를 탑재한 퍼스널 컴퓨터였다. 64KB(64MB가 아니다)의 메모리에 BASIC을 기본 탑재한 이 컴퓨터는 그 당시 고가의 제품이었다. 필자의 기억으로 TV와 냉장고보다 훨씬 비쌌던 것 같다. 그다지 넉넉하지 않은 집안 사정상 필자는 이 컴퓨터를 사달라고 말할 엄두도 못 냈다.

필자는 모 회사의 컴퓨터 전시장에서 매주 토·일요일은 살다시피 하면서 프로그램을 작성했다. 처음 도전한 프로그램다운 프로그램은 격투기 게임. 매일 수업시간 뒤편에 앉아 노트에다 베이직 코드를 적었다. 컴퓨터가 없었기 때문에 평소에 코드를 정확히 기록해 놓고 주말이 되면 이 코드를 그대로 컴퓨터에 옮기는 작업만을 몇 주 동안 반복했다. 그리고 수천 라인의 게임이 완성되고 처음으로 실행시켜볼 때가 왔다.

RUN(베이직의 수행 커맨드)을 조심스럽게 타이핑하고 리턴 키(지금의 엔터 키)를 눌렀다. 결과는 참담했다. 코드는 전혀 제대로 작동하지 않았고 게임 화면은 엉망으로 나왔으며 캐릭터는 전혀 움직이지도 않았다. 그날 집에 돌아가던 필자는 내리는 눈이 왜 그리 서러웠던지 펑펑 울었던 기억이 난다.

갑자기 웬 자서전? 필자가 여기서 말하고 싶은 이야기는 점진적으로 코드를 작성하라는 조언을 하고 싶어서다. 필자가 겪은 실수의 원인은 점진적으로 코드를 작성하지 않고 수백 수천 라인의 코드를 단번에 작성하려고 했기 때문이다. 인간은 결코 완벽할 수 없는 존재다. 단 수십 라인의 코드를 작성하더라도 실수를 할 수 있다. 더 많은 코드를 작성해야 한다면 실수의 가능성이나 실수 횟수는 더 늘어날 것이다.

이러한 오류를 줄이기 위해서는 프로그램을 작은 기능 단위로 나누고 이것들을 하나하나 작성하고 테스트하는 작업을 반복하면서 전체 프로그램을 완성하는 것이 중요하다. 필자는 거의 하나의 함수를 작성할 때마다 그 함수가 제대로 작동하는가를 테스트한다. 그 함수가 예상대로 작동하는 경우에 다음 함수 작성에 들어간다. 물론 항상 이런 경우만 있는 것은 아니지만 대부분의 코딩 작업을 이러한 방식으로 수행한다.

시간이 더 많이 소요될 것 같지만 실제로 전혀 그렇지 않다. 더 많은 코드를 작성하고 테스트하는 것보다 더 적은 시간이 소요된다. 왜냐면 더 많은 코드는 보다 정확히 테스트하기 위해 더 많은 경우의 수를 테스트해야 하기 때문이다. 또한 코드에 문제가 발생했을 때 어느 부분에서 문제가 발생했는가를 알아내기 위해서도 더 많은 시간이 필요하다.

반면 적은 양의 코드, 즉 함수 단위를 테스트하는 데는 훨씬 더 적은 경우의 수만을 테스트해도 되며 문제가 발생한 곳을 정확히 알아낼 수 있다. 그리고 단위 함수가 제대로 작동하기 때문에 이들 함수들이 연동돼 작동하는 작업 역시 테스트하고 문제를 파악해 내기가 쉽다.

하나의 변수가 프로젝트의 실패로 연결된다
필자의 후배가 아르바이트를 할 때였다. 그 후배가 맡은 일은 국회의원 선거 결과를 통계적으로 추측해 당선 여부를 유추해 내는 프로그램을 작성하는 것이었다. 그리고 그 결과는 모 방송사를 통해 생방송으로 방송될 예정이었다.

선거 날이 다가왔고 예비 조사가 수행되고 그 조사 결과가 프로그램의 입력으로 주어졌다. 프로그램은 당선 가능성이 있는 후보들을 지목했고 이 내용이 일부 방송됐다. 하지만 개표가 진행됨에 따라 프로그램이 예측한 것은 전혀 엉뚱한 것이었음이 밝혀졌다. 프로그램의 수행 결과가 테스트할 때와는 달리 이상하게 나온 것이다.

그 방송사는 추측 보도를 포기하고야 말았다. 프로젝트는 완전 실패로 돌아간 것이다. 그 후배가 저지른 실수는 5개의 중첩된 for 문장에서 반복 변수 하나를 잘 못 썼기 때문이었다. 이 실수는 그 코드를 수행하는 함수가 별도로 테스트되지 않았기 때문에 발견되지 않았다. 단 하나의 변수가 프로젝트의 실패라는 참담한 결과를 낳은 것이다.

바보가 아닌 다음에야 누구나 점진적인 방식으로 코딩할 것 같지만 실제는 전혀 그렇지 않다. 많은 개발자들이 수 백 라인의 코드와 십 수개의 함수를 작성하면서 단 한번의 테스트 수행을 해보지 않고 개발하는 경우가 많다. 이렇게 하면 한 번에 제대로 작동할 수도 있지만 그렇지 않을 확률이 훨씬 더 높다. 그리고 코드가 원하는 대로 작동하지 않을 때 문제를 찾아 해결하는데 오랜 시간이 소요될 것이다.

오류 메시지의 중요성
필자는 가끔씩 프로그래밍 관련 사이트에 들어가 질문에 답변을 하거나 필자에게 직접 전달되는 질문에 대한 답변을 하곤 한다. 이 때 필자를 황당하게 하는 질문들은 '막연히 이렇게 저렇게 했더니 오류가 나더라 어떻게 하면 되느냐'는 것이다. 어떤 오류인지는 말하지도 않고 막연히 안 된다는 것이다. 이럴 때는 정말 답변해 주기 난감하다. 원인을 알아야 그 문제를 해결할 텐데 이 경우는 아예 원인에 접근하기 위한 단서를 주지 않는 경우이기 때문이다.

오류 메시지는 문제를 해결하기 위한 중요한 단서다. 하지만 초보 개발자나 많은 개발자들이 이 오류 메시지의 중요성을 간과하는 것 같다. 프로그램을 개발하다 보면 예상하지 못한 오류 메시지가 자주 등장할 것이다. 그리고 이 오류를 해결할 수 있는 첫 번째 단서는 이 오류 메시지다. 메시지를 잘 읽어보면 왜 오류가 발생했는가를 알 수 있다. 때에 따라 친절하게도 오류가 발생한 위치도 알려준다. 비록 이 위치가 정확하지 않을 때도 많지만 말이다. 한 가지 예를 들어보자. 다음 비주얼 베이직 스크립트 코드를 살펴보자. 얼핏 봐서는 별다른 문제가 없는 듯한 코드다.

strConn = "Provider=SQLOLEDB;Data Source=(local);User ID=Tester;Password=Test"
strSQL = "SELECT * FROM Employees"
Set adoRS = WScript.CreateObject("ADODB.RecordSet")
adoRS.Open strSQL, strConn, adOpenStatic, adLockReadOnly

이 코드를 윈도우 스크립팅 호스트나 ASP에서 수행해보자. 분명히 오류 메시지가 나타날 것이다. 오류 메시지는 "잘못된 형식이거나 올바른 범위 밖에 있거나 서로 충돌하는 인수입니다"로 나타나며, 오류가 발생한 위치는 네 번째 라인인 adoRS.Open에서 발생한 것으로 표시될 것이다. 메시지는 인수(parameter)에 문제가 있음을 알려주고 있다. strSQL이나 strConn의 문제는 아닌 듯하다.

그렇다면 adOpenStatic과 adLockReadOnly 둘 중 하나가 혹은 모두가 문제일 가능성이 높다. 하지만 우리가 사용한 매개변수는 ADO에서 정의하는 정확한 상수임에 틀림없다. 정확한 상수이지만 이 상수는 어디에도 정의되지 않았다. 따라서 이 상수 값은 0이 되며 이것을 ADO가 거부하는 것이다. 이 코드를 제대로 작동시키기 위해서는 adOpenStatic과 adLockReadOnly의 상수 값을 미리 정의하든가 이 상수 대신 숫자 값을 사용해야 한다.

비록 단순한 예이지만 이 예를 통해 오류 메시지가 주는 힌트를 조금만 생각해 보면 오류 메시지의 원인을 찾아 낼 수 있다는 것을 알았을 것이다. 대부분의 오류 상황은 이 보다 훨씬 복잡한 상황일 것임에 틀림없다. 하지만 이 오류를 해결하는 최초의 단서는 오류 메시지임을 누구도 부정하지는 않을 것이다.

소스 코드는 가장 훌륭한 메모장
프로그램을 작성해본 사람이라면 누구나 소스 코드에 주석(comment)을 다는 것이 좋은 습관이라는 것을 알고 있다. 필자가 아는 K 프로그래머는 프로젝트 진행 중에 한 모듈의 코드를 보고 "누가 이렇게 작성했냐"며 길길이 날뛴 적이 있다고 한다. 그 코드는 너무 복잡했기 때문에 유지 보수가 어렵다는 것이었다.

하지만 팀원 누구도 그 코드를 작성하지 않았다. 자세히 코드를 살펴본 결과 그 코드의 작성자는 다름 아닌 K 씨 자신이었다. 그리고 그는 그렇게 복잡하게 코딩하지 않으면 안 되었던 이유를 겨우 생각해 냈다. 왜 그런 식으로 코딩했는지 몇 줄의 주석만 달아 놨더라도 아마 이런 해프닝은 발생하지 않았을 것이다.

주석만 달았어도 이 고생은 안했을텐데…
자기가 작성한 코드라도 몇 개월이 지나면 기억하기 어렵다. 특히 대형 프로젝트일수록 이러한 상황이 심하다. 필자가 리눅스 커널의 TCP/IP 시스템 코드를 수정할 때였다. 그때 커널 버전은 1.0.8이었지만 여전히 거대한 분량의 커널 코드는 필자를 압도하고도 남았다. 논문은 고속의 데이터 전송을 위한 운영체제 레벨의 지원에 대한 것이었는데, 커널의 디바이스 드라이버를 수정해야 했다.

드라이버를 수정해 원하는 속도 향상을 얻었다. 그리고 두 달 후, 관련 논문을 작성하다가 드라이버 코드를 참고해야 할 상황이 왔다. 하지만 코드를 아무리 살펴봐도 정말 '무식한' 방법으로 코딩이 되어 있었다.

아무리 생각해봐도 왜 내가 그렇게 코딩했는지 생각이 나지 않았다. 그래서 좀더 효율적인 코드로 바꿔보았다. 수정한 코드는 제대로 작동하지 않았고 그때서야 왜 그렇게 무식한 방법을 사용했는지 이유가 떠올랐다. 이 경우도 비슷하게 몇 줄의 주석만 있었다면 이런 고생은 안 했을 것이다.

그 이후로 필자는 코드에 주석을 다는 습관을 들였다. 그리고 추가적으로 코드를 메모장처럼 사용하는 습관도 들였다. 대부분의 프로그래머는 많은 시간을 소스 코드와 함께 보낸다. 따라서 코딩과 관련된 사항을 종이나 다른 파일 등에 기록하는 것보다 소스 코드에 기록해 두는 것이 매우 효율적이다.

다음에 작업할 내용이나 다른 코드가 완성된 후에 수정해야 할 사항, 하드 코드(hard code)된 내용 등을 소스 코드 내에 주석으로 남겨두는 것이다. 그리고 차후 작업할 때 이 주석을 보면 앞으로 해야 할 내용, 수정해야 할 내용 등이 설명과 함께 남게 될 것이다. 다음은 필자가 소스 코드에 사용한 몇몇 주석을 예로 들어본 것이다.

// FIXME : 테스트 후 잘 작동하면 삭제할 것!
// FIXME : 다음 멤버 변수를 private로 바꿀 것!
// CONSIDER : 여기서 예외를 발생하는 것이 합당할까?
// HARD CODE : 보다 간단히 하기 위해 아스키 코드를 하드 코드함

이렇게 작성된 주석들을 탐색기의 검색 기능이나 대부분의 에디터가 제공하는 검색을 통해 키워드(FIXME, CONSIDER 등)를 찾으면 소스 코드에서 어떤 작업을 더 해야 하는가가 명백히 드러난다. 소스 코드는 다른 어떤 것 보다 훌륭한 개발 일지이자 메모장이다.

고수는 자료를 잘 찾는 사람
독자들이 프로그램을 작성하다보면 어려운 문제나 쉽게 해결되지 않는 오류에 부딪힐 때가 많을 것이다. 그럴 때 독자들 중에 많은 사람은 인터넷의 개발자 포럼에 자신이 부딪힌 문제를 질문할 때가 종종 있을 것이다.

대개 제목은 "고수님들 부탁 드립니다…로 시작되기 쉽고" 얼마 후에 고수가 문제에 대한 해결책 혹은 해결을 위한 실마리를 알려준다. 그렇다면 그 고수라 불리는 사람들은 다양한 분야의 여러 질문을 어떻게 척척 대답해 주는 것일까? 그들의 머리는 정말 좋아서 모든 상황을 기억하고 있는 것일까?

필자의 경험에 비추어 본다면 전혀 그렇지 않을 가능성이 높다. 10여 년 전이라면 모를까 요즘에는 너무도 많은 기술과 너무도 많은 개발환경, 프로그래밍 언어, 플랫폼이 쏟아져 나오고 있다. 이들에 대해 모두 잘 알고 있는 사람은 정말 드물다. 그렇다 할지라도 게시판에서 답변을 잘해주는 고수들을 보면 세세한 함수들의 매개변수까지 정말 잘 알고 있다는 생각이 드는 것은 사실이다.

필자는 요즘의 고수란 필요한 프로그래밍 자료, 기술 가이드, How-to 등의 자료를 잘 찾는 사람이라고 말하고 싶다. 수만 개의 함수와 클래스 등을 모두 외우고 다니는 사람은 없을 것이다. 하지만 간략한 키워드만으로 필요한 함수와 클래스를 찾을 수 있는 능력이 있다면 그는 고수 반열에 오를 충분한 자격이 있다.

누군가가 질문을 하거나 자신이 프로그램을 작성할 때 특정 함수 혹은 기능이 필요하다면 고수라 불리는 사나이는 "어디서 봤었지…"'라고 몇 마디 중얼거리며 인터넷이나 관련 책자를 뒤적거릴 것이다. 오랜 시간을 소요하지 않고도 그는 자신이 필요한 기능을 찾을 것이고 구체적인 사용법 등은 그 자료에 모두 실려있다. 이제 프로그램을 작성하는 데 별 어려움은 없을 것이다.

반면에 남들이 고수라고 부르지 않는 사람들은 무언가 하고 싶지만 그것을 어떻게 할지 모를 때면 먼저 가슴이 답답하고 눈알이 튀어나올 것 같은 막막함에 부딪힌다. 관련 자료를 찾아보고 싶지만 어디서 자료를 찾아야 할지도 잘 모른다. 겨우 자료가 인터넷이나 어떤 책에 나와 있다고 주워 들어 구하게 된다. 됐다 싶은 마음에 자료를 살펴보지만 자료의 양이 너무 방대하다. 요즘 컴퓨터 관련 책들이 좀 두꺼운가? 게다가 MSDN 라이브러리 같은 자료는 CD 3장 1.8GB에 달하는 방대한 분량이다. 숨이 막히기 딱 좋은 분량 아닌가?

고기도 먹어본 사람이 잘 굽는다
"그렇다면 고수들처럼 자료를 빨리 잘 찾으려면 어떻게 해야 합니까?" 먼저 많이 찾아봐야 한다. 고기도 먹어본 사람이 잘 굽는다고 했다. 자료를 많이 찾아 본 사람은 어디에 유사한 자료가 있는지 알고 있다. 게다가 이렇게 자료를 찾다보면 자신도 모르는 사이에 공력이 쌓인다. 공력이라 함은 예전에 찾아보지 않았더라도 '이런 자료는 여기에 있을 거야'라고 추측할 수 있는 능력을 말한다. 그리고 실제로 찾아보면 대개 80∼90%는 원하는 자료가 찍어 본 그곳에 떡(?)하니 있기 마련이다.

비록 원하는 자료를 찾지 못하더라도 그것을 찾기 위한 실마리 정도는 얻을 것이다. 필자가 주로 참조하는 자료는 뭐니뭐니 해도 MSDN 라이브러리다. 윈도우 플랫폼에서 개발하는 개발자라면 모두 이 MSDN 라이브러리를 끼고 살아야 한다. 개발에 가장 많이 참조하기 때문에 하드디스크 용량이 아무리 부족해도 MSDN 라이브러리 CD 3장을 거의 모두 설치한다.

그리고 필자가 겪는 문제의 많은 부분을 여기 MSDN 자료에서 해결하곤 한다. MSDN 라이브러리를 한번이라도 돌아본 사람은 알겠지만 여기서 원하는 자료를 찾기란 쉽지 않다. 인덱스가 잘 갖춰져 있지만 키워드 하나를 던지더라도 그 키워드에 포함되는 자료가 수십 수백 개가 나타나기도 한다. "이들 중에서 내가 필요한 것은?" MSDN 라이브러리를 많이 참고해 본 사람은 그 많은 내용 중 내가 원하는 것이 무엇인가를 어렵지 않게 골라낼 수 있다.

대충 이번 이야기의 결론은 이렇다. 고수라고 해서 모든 것을 알고 기억하는 것은 불가능하다. 그러나 그들은 필요한 자료를 빨리 찾는 방법을 알고 있다. 그 방법은 배울 수 있는 것이라기보다는 자료를 많이 찾아봄으로써 스스로 터득하는 것이다. 물론 누군가가 옆에서 계속 자료 찾는 것을 도와 줄 수 있지만 스스로 고생하면서 터득한 자료 찾는 방법이 훨씬 더 값지다는 것을 명심하자.

보다 많은 경험
이제까지 필자가 직간접적으로 경험한 에피소드 몇 개를 소개했다. 마지막으로 황당한 에피소드는 아니지만 필자가 초보 프로그래머와 보다 고급 프로그래밍을 하고자 하는 개발자에게 해줄 수 있는 몇 가지 조언을 해보기로 하겠다. 다분히 개인적이고 주관적인 내용이기 때문에 모든 독자들이 공감하리라고 생각하지는 않는다. 그래도 1985년부터 프로그램을 짜온(대개 프로그래머들은 프로그램을 '짠다'라고 표현한다) 한 프로그래머의 이야기니 들어봐 주기 바랄 뿐이다.

프로그래밍은 경험이다
먼저 권장하고 싶은 것은 보다 많은 경험을 해보라고 권하고 싶다. 필자의 주관 하에 프로그래밍은 경험이라고 말하고 싶다. 보다 많은 프로그래밍 경험을 갖고 있는 사람은 주어진 문제를 보다 빨리 해결할 수 있는 능력을 갖고 있다. 말을 좋게 해서 많은 경험이지 속된 말로 '닥치는 대로 프로그램을 짜보라'고 권하는 것이다. 아무리 프로그램이 작더라도 직접 작성해 본 것과 그렇지 않은 것은 매우 큰 차이가 난다. 작은 연습 프로그램을 많이 작성해 본 사람은 큰 프로그램도 잘 짜기 마련이다. 큰 프로그램도 결국은 작은 모듈들의 집합이기 때문이다.

경험을 늘리는 방법 중 하나는 다른 사람이 작성해 놓은 예제를 분석해 보는 것도 좋은 방법이다. 하지만 반드시 그리고 정말 중요한 것은 예제를 분석하는 것에 그치지 말고 스스로 비슷하거나 진보된 예제를 작성해 보라고 권하고 싶다.

필자가 2000년 말 닷넷과 C#을 처음 접한 이후로 지금까지 작성한 예제 코드들이 수백 가지이며 7만여 라인이 넘는다면 믿겠는가? '믿거나 말거나'지만 필자는 이렇게 많은 코드들을 작성해 보면서 닷넷 플랫폼과 C#이라는 언어를 이해할 수 있게 됐다. 독자들은 어떠한가?

필자는 왜 이렇게 프로그래밍 경험을 중요시할까? 경험에 관련된 필자의 한 후배 이야기를 하고자 한다. 필자의 한 대학 후배는 대학교에 들어와 처음으로 프로그래밍을 시작했다. 상당히 성실했고 머리도 매우 좋아 프로그래밍을 빠르게 배워나갔다. 필자가 보기에도 짧은 기간에 빠르게 프로그래밍을 배우는 것 같았다.

하지만 그 후배는 프로그램을 작성하다 예상하지 못한 문제에 부딪히면 그 문제를 해결하는데 상당한 시간을 소비하고 있었다. 후배가 부딪힌 문제들은 대개 경험 많은 개발자라면 손쉽게 해결할 수 있는 것이었다. 여기서 프로그래밍 경험의 차이가 조금씩 나타나기 시작했다.

그 후배는 프로그래밍을 배운지 얼마 안되 어느 경지에 이르게됐지만 그 경지 이후부터는 성장이 크게 둔화됐다는 것이다. 그 이후의 고급 프로그래머 나아가서 컨설턴트가 되기까지는 많은 경험을 요구하고 있었던 것이다. 짧은 기간에 그러한 경험을 쌓기는 아무래도 무리가 있었나보다.

비단 프로그래밍이 아니더라도 어느 경지까지는 학원이나 도서나 다른 사람의 도움을 통해 열심히 공부해 다다를 수 있다. 그 이후부터는 부단히 많은 경험을 쌓아가면서 다듬는 과정이라 할 수 있다. 경험은 곧 실력과 연결되며 그것은 곧 프로그래머로서의 자신의 가치를 높이는 일이다.

경험을 쌓아가는 좋은 방법은 실제적인 코드를 작성해 보는 것이다. 실제 프로젝트가 있다면 매우 좋겠지만 항상 그럴 수는 없을 것이다. 또한 자신의 관심사와는 다른 프로젝트를 수행할 수도 있을 것이다. 이럴 때에 수십 라인에서 수백 라인정도의 샘플들을 작성해 보는 것은 자신의 경험을 축적하는 좋은 방법이 될 것이라 필자는 생각한다.

한 기술에 정통하려고 노력하자
보다 넓은 경험 외에 한 가지 더 추천하고 싶은 것은 한 가지를 깊이 파고들라고 권하고 싶다. 한 가지 기술에 정통한 사람은 다른 기술에도 쉽게 적응할 수 있다. 대부분 기술들의 뿌리가 비슷하거나 같기 때문이다. 이 규칙이 가장 잘 적용되는 것은 아마도 프로그래밍 언어 분야일 것이다. 한 가지 언어에 정통한 사람은 다른 프로그래밍 언어도 쉽게 배운다.

그것도 초보적인 수준이 아닌 고급 수준에 쉽게 다다를 수 있다. C++에 정통한 사람은 델파이에서 사용하는 오브젝티브 파스칼(Objective Pascal)을 어렵지 않게 습득할 수 있다. 비슷하게 자바에 정통한 사람 역시 C#, 오브젝티브 파스칼 등의 언어에 쉽게 접근할 수 있다. 이유는 프로그래밍 언어들의 기저에 깔려 있는 기술·사상·구현이 서로 비슷하기 때문이다.

프로그래밍 언어뿐만 아니라 분산객체 기술 역시 한 가지 기술에 정통하면 나머지 역시 어렵지 않게 접근할 수 있다. 분산 객체의 기본 사상이 서로 비슷하기 때문에 한 가지 기술을 마스터한 사람은 자기가 알고 있는 기술과 배우고자 하는 기술의 차이점 위주로 지식을 습득하기 때문에 시간을 절약할 수 있다.

게다가 한 기술을 마스터 하면서 쌓은 노하우와 경험은 대부분 새로운 기술에도 비슷하게 적용될 수 있기 때문에 빠른 시간에 고수 반열에 오를 수 있는 것이다. CORBA 고급 엔지니어와 COM 고급 엔지니어가 의사 소통하는데 별다른 어려움이 없는 것은 이런 맥락에서 풀어볼 수 있겠다.

필자는 98년부터 지금까지 COM에 대해 공부하고 실제 프로젝트를 수행해 왔다. 이제 COM 컴포넌트나 액티브X 컨트롤을 만드는 일은 C++, VB, 델파이 등의 다양한 언어로 작성할 수 있게 됐고 다양한 분야에 COM 기술을 응용할 수 있게 됐다. 그리고 1년 전에 등장한 새로운 기술인 닷넷으로 이전하는 데는 그다지 긴 시간을 요구하지 않았다. COM이나 닷넷의 뿌리가 비슷했기 때문이다.

현 세대의 IT 기술은 세분화돼 있으며 정말 다양한 분야가 존재한다. 그리고 많은 기술들의 깊이는 수년에 걸쳐 상당히 심화돼 있다. 개인이 이렇게 다양한 분야의 기술을 모두 정통할 수 없을 것임은 너무도 자명하다. 그렇다면 한 가지 기술을 마스터할 정도로 깊숙이 파고드는 것은 중요하다고 볼 수 있다.

물론 모든 것을 다 할 수 있다면 금상첨화겠지만 그렇게 할 수 없기에 한 가지만이라도 깊숙하게 그 기술을 파고들라는 것이다. 남들이 대부분 알고 있는 정도를 내가 알고 있다면 그것은 그 기술을 심화했다고 할 수 없다. 내가 알고 있고 자유 자재로 남들에게 설명할 수 있는 내용이 다른 사람들이 잘 모르고 있다면 그는 어느 정도의 수준에 올랐다고 볼 수 있을 것이다.

한 가지 기술을 파고들어야 한다면 어떤 기술을 파고들어야 할까? 닷넷인가? 자바인가? 아니면 새로운 그 무엇인가? 만일 자바라면 자바에 대한 모든 것을 깊이 파고들 것인가? 아니면 JSP, EJB 등의 세부 분야에 대해 파고들 것인가? 이것이 선택의 갈림길이며 어려운 부분 중에 하나이다. 이 선택은 순전히 독자들의 몫이다. 기술이 지금까지 발전돼 온 방향과 앞으로 발전 방향을 고려하며 자신의 진로 역시 고려해야 할 것이다. 다만 현재 상황으로 C#과 자바 중 어느 것을 선택하더라도 향후 몇 년 동안 후회하지는 않을 것 같다.

원리를 파악하자
마지막으로 독자들에게 권고하고 싶은 사항은 원리를 파악하라는 것이다. 원리를 파악하는 것만큼 중요한 것은 없다. HTTP의 원리나 TCP/IP의 원리를 모르고 ASP나 JSP를 코딩하는 것과 알고 코딩하는 것은 많은 차이를 드러낸다. 원리를 알고 코딩하는 사람은 다양한 응용이 가능하며, 문제가 발생했을 때 그 문제의 원인이 무엇인지 빨리 알아내고 해결책 역시 빨리 찾아낼 가능성이 높다.

반면 원리를 잘 이해하지 못한 사람들은 응용은 둘째치고 문제가 발생하면 문제의 원인조차 파악해 내지 못하는 경우가 많다. 기초를 건실하게 다져가면 새로운 기술들이 등장하더라도 빠르게 대처할 수 있다. 앞서 제시한 한 가지 기술을 깊게 파고드는 것과 비슷한 맥락으로 한 기술을 깊게 파고들면 그 원리를 터득하게 되는 것은 당연한 결과로 볼 수 있겠다.

그렇다고 지금부터 운영체제·컴파일러·TCP/IP 네트워킹 원리를 공부하라는 얘기는 아니다. 자신이 사용하는 기술을 단순히 '사용'하는 방법만 아는데 그치지 말고 '그 원리가 어떤 것일까'라는 호기심을 갖고 알아보라는 얘기다. ASP 개발자라면 HTTP라는 것이 어떤 프로토콜인가 한번 찔러 보고, HTTP가 TCP/IP를 사용한다던데 하면서 TCP/IP도 한번 찔러 보라는 얘기다. 이런 식으로 원리를 파악하려고 자주 시도하고 실제로 원리를 파악해 내는 것이 중요하다. 원리만을 위해서라면 다시 학교로 돌아가야 할 것이다.

지금까지 필자는 경험을 바탕으로 프로그래밍에 대한 몇 가지 이야기를 소개했다. 황당 에피소드라는 제목 하에 정말 황당한 이야기를 재미있게 했어야 하는데 필자의 글발로는 무리가 있었던 것 같다. 아무쪼록 프로그래밍의 고수가 되는 길은 자신의 부단한 노력과 상당한 시간이 필요함에는
이올린에 북마크하기

Posted by Dual

2005/07/31 13:43 2005/07/31 13:43
Response
No Trackback , 5 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/76

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/76

Comments List

  1. 조아 2009/07/14 13:21 # M/D Reply Permalink

    우왕~ 대단한 포스가 느껴지네요.. ㅎㄷㄷ

  2. astraphobia 2011/03/05 15:14 # M/D Reply Permalink

    좋은글 감사합니다.

  3. AmesianX 2011/07/21 02:35 # M/D Reply Permalink

    초보 프로그래머와 전문 프로그래머의 차이는 단, 하나이다..

    초보 프로그래머는 char * 를 쓰고, 중수 프로그래머는

    LPCTSTR 같은 한번 매크로화된 문장을 쓰고 고수 프로그래머는

    CString 을 쓴다.(MS 의 프레임워크를 쓴다는 의미, CString 을
    쓰면 초보처럼 보이고 우스워 보이지만 의미자체로 따지면 일반화
    되었기에 우스워보이는 것일 뿐 첫 MS 의 시도에서는 우스운 개념이
    아니었다는 얘기..)

    고수를 벗어난 이른바 전문가가 된 사람들은 CString 을 쓰지 않고

    CString 을 개조 또는 업그레이드 시켜서 개인용으로 사용한다.

    이것을 템플릿화(C++ 의 템플릿을 말하는게 아님!!) 했다고 말한다.

    자신만의 것으로 정형화 시켰다고 말할 수 있다. 이 자신만의 완벽화

    시킨 템플릿을 직접 만들어서 많이 갖고있는 사람들을 우리는 Guru 라

    칭한다.(중요한 점은 그럴리는 없겠지만 언제라도 필요한 상황이 다시
    온다면 여전히 다시 그 템플릿 이상으로 재작성이 가능한 실력을 동시에
    보유하고 있어야 한다.)

    이러한 템플릿이 많은 사람들을 전문가라 칭한다. 자신이 직접 구현하여

    만든 템플릿을 많이 갖고있는 사람들은 필연적으로 프리랜서를 뛰는

    수순을 밟는 것이 99.9% 라 할 수 있다. 이익을 추구하는 개발전문 회사가

    프리랜서를 고용하는 이유는 단 하나밖에 없는데 프리랜서가 자신들보다

    더 정확하고 뛰어나며 효율적인 프로그래밍 템플릿을 더 많이 보유하고

    있다는 전제가 깔려있기 때문이다. 자신들이 직접 만드는데 수개월이상

    걸리고 안정검증까지 받으려면 그 비용보다 이미 더 많이 들기 때문이다.

    더불어 돈을 많이 들여도 안정성 검증 문제가 발생하여 실패할 가능성

    또한 다분하기에 프리랜서를 고용한다. 이 프리랜서들을 우리는 고수라

    부를수 있다. 이러한 케이스들 중에서는 간혹 이른바 초고수라 부를 수

    있는 Guru 레벨을 넘어가는 사람들이 있는데, 대부분은 이러한 사람들의

    경우 뒷조사를 해보면 해커의 삶을 살아온 사람들이라고 할 수 있겠다.

    본래 해커에는 세가지가 있는데(명시적으로는 위키페디아 기준, 비명시
    적으로는 해커들의 세계관적 개념. 위키페디아는 이 개념으로만 존재하는
    해커의 개념을 명시화시켜놓은 정도임.. 굳이 기준을 명시화 시켜야만하는
    근거를 대라고 하면 전문가들이 직접 작성하는 백과사전인 위키페디아에도
    증명되어 있다는 얘기.)

    1번째가 Subculture Programmer 들이다. 간단히 말하면 GNU Hacker 들을

    칭한다고 할 수 있는데.. 이상적인 개념을 좀 많이 제거시켜서 표현하자면

    한마디로 개발자형(프로그래머형) 해커를 말한다. MIT 에서 태동한 최초의

    해커들이 이 1번째 Subculture Programmer 해커들이다. 오늘날 보안전문가

    내지는 리서쳐로 불리는 전문화된 사람들은 아류가 되어 전문화된 상태라고

    볼 수 있다. 본인이 말하는 것은 위에서 언급한 전문개발자 내지 전문 프로

    그래머들 중에서 그런 레벨을 가진 사람들이 알게모르게 꽤 있다는 말임..

    그런 사람들은 전형적인 해커의 모습이라는 것임. 그리고 그런 사람들의

    경우에 진짜로 전문가라고 불릴 수 있다는 것인데 이런 경우에 특징이 바로

    스스로 만든 템플릿을 어느정도 보유하고 있느냐가 관건이란 얘기가 된다..

    개발자인 사람들은 자신이 만든 프레임워크 or 라이브러리로 짜는가

    아니면 MS 에서 디폴트로 제공한 것으로 짜는가.. 단 두가지로 나뉨.

    전문 프로그래머는 전체를 새로 설계한 자신의 언어를 만들어서 사용하고

    초보 로그래머들 또는 중고수 정도의 실력은 되지만 자신의 것이 없는

    상태에서 MS 가 제공한 상태의 날것을 사용하는 두 부류로 나눠진다.

    그럼 무슨 차이점이 존재하는가?

    두가지 상황이 생긴다..

    자신의 템플릿을 갖고 있는 전문프로그래머는 엔진을 갖고있기 마련인데,

    이 엔진이라는 것은 프레임워크까지 만든 경우가 있고 프레임워크까지는

    가지 못하지만 라이브러리까지는 가는 경우가 있다.

    이 말이 전나 어렵게 들릴수 있으므로 재해석적으로 말해준다면..

    MFC 나 볼랜드의 MFC 격인 OWC(맞나? 기억이 안남)나 또는 QT 나

    기타등등을 우리는 프레임워크라고 부르지 라이브러리고 부르지 않는다.

    비슷하게는 라이브러리안에 이러한 프레임구조가 들어있는 경우도 있다.

    그럼 프레임이란 무엇인가?

    추상적인건 집어치우고 프레임을 좀 더 조잡하게 설명하여 이해를 돕고자

    한다면, C 언어의 경우에는 함수포인터를 배열안에 다 집어넣은 상태에서

    배열자체가 함수포인터이므로 이 배열을 돌려가면서 함수를 호출하는 구조

    자체를 짜는 경우에 우리는 프레임을 만들려고 한다는 표현을 쓸 수 있다.

    좀 더 고급스러운 말을 쓴다면 간접기교를 얼마나 부릴수 있는가가 바로

    프레임의 관건이거던..?

    C++ 의 경우에는 컨스트럭터와 디스트럭터가 있다. 그래서 인스턴스를

    만들면 컨스트럭터가 호출되는 것은 자동(프레임)이며 인스턴스가 사용

    종료가 될 때는 디스트럽터가 호출된다.(프레임) 이런 경우에 클래스의

    컨스트럭터에 init 라는 초기화 작업을 삽입하고 디스트럭터에 close 를

    삽입할 수 있다. 즉, 인스턴스를 생성만 해서 사용해도 init 작업과 close

    종료작업은 자동화되어 일어난다. 이런 가장 단순한 작업을 우리는 프레임을

    만드는 작업이라고 말할 수 있다. 여기에 좀 더 고급의 설계작업을 넣는다면

    C++ 의 컨스트럭터와 디스트럭터외에 직접 호출할 수 있는 멤버함수인

    Process 라는 메써드(함수)와 OnAction 메써드(함수)를 두는 것이다.

    Process 라는 메써드인데 그 안에 프로그래밍 내용은 어떤 작업을 뺑뺑이

    (루프)를 도는 상태이다. 그리고 뺑뺑이 루틴안에는 pObject->OnAction(arg)

    라고 되어있다. 이 말은 뭔가?

    만약 ABC 라는 어떤 클래스의 실체인 a 라는 인스턴스를 생성하였다면

    컨스트럭터와 디스트럭터는 기본으로 준비되고 a.Process 라는 형태로

    메서드를 호출하면 뺑뺑이를 돌면서 무언가를 처리하기 시작할 것이라는

    말이다. 그런데, Process 라는 메서드가 뺑뺑이가 돌면서 무언가 특정

    조건이 발생하면 pObject->OnAction 을 호출하는 구조라는 얘기이다.

    이때 pObject 는 p 라는 접두사에서 보는 것처럼 포인터이다.

    그리고 pObject 는 ABC *pObject 였다. 방금 말한 클래스안에 자기자신이

    또 들어있는 경우라고 생각할 수 있다. Process 메서드는 클래스가 초기화

    될때 Init 의 처리에 의하여 이미 pObject 가 ABC 클래스의 포인터를 받게

    할 수 있다. 즉, pObject->OnAction 에서 OnAction 함수는 가상함수가

    되어야 한다는 것이다. 그렇게 되면 ABC 라는 클래스를 상속받은 ABCD

    라는 클래스를 사용자가 만들면 ABCD 클래스의 인스턴스 b.OnAction 만

    새로 정의(버추얼함수이므로 오버라이딩할 수 있게되니까..) 한다면

    본래의 ABC 클래스가 뭔가를 열심히 하다가 OnAction 이라는 메서드를

    호출하는 격이므로 이벤트가 발생하였다라는 표현을 쓸수가 있게된다..

    C 언어에서는 이것을 콜백함수라고 말하지만 C++ 에서는 콜백이라는

    용어보다는 이벤트 드라이븐 방식의 코딩이라고 할 수 있겠다..

    MFC 라는 프레임도 이런식으로 구현되어져 있다고 할 수 있겠다..

    단지 C 와 C++ 만 갖고 설명을 하였다. 그런데 C 언어는 어셈블리로

    설명이 가능하다.. C 가 스택을 쓰거나 힙을 쓰거나 C++ 까지 확장했을때

    익셉션을 설정하는 것까지 모두 어셈블리단으로 표현이 된다..

    그럼 한가지로 정의가 될 수 있겠다..

    프레임이란 무엇인가?

    "컴퓨터의 근원작동 모습인 메모리 간접주소 지정방식을 구조화 시켜서
    형성시킨 아키텍처 모델"

    이라는 말과 동일하다..

    컴퓨터 언어에서 간접 주소지정방식이라는 것은 어마어마한 능력을 부여

    하는데 이러한 간접 주소지정방식이라는 아주아주 기계적이고 단순한

    특징을 구조화시켜서 나온 언어가 C 언어이고 C++ 언어이다. 그리고

    어셈블리같은 매우 저수준 단계의 힘든 작업을 좀 더 쉽게 C 와 C++ 언어를

    사용하여 좀 더 고수준의 간접지정방식을 만들어서 나온 프레임들을 갖고

    나오는 언어들이 자바나 C# 이나 오브젝트 C 나 COM 이나 오브젝트

    파스칼 같은 부류들이 된다.. 전체를 하나로 뭉뜽그려서 설명하라고 한다면,

    "간접주소지정방식의 장난이 불러일으킨 화근 덩어리들"

    이라고 말할 수 있다.. 화근덩어리라고 표현한 이유는 이러한 내용을 전혀

    인식하지 못하고 언어를 사용하는 사람들이 "간접주소지정방식" 의 위대함에

    되려 도전장을 내밀고 말쌀하려고 역으로 주장해오는 어처구니 없는 일들이

    발생하고 있기 때문일 것이다.. "호로자식들도 아니고 부모도 몰라보나..?"

    라는 질문을 안할 수 없다는 것이다..

    전문프로그래머들은 이러한 프레임을 직접 설계해서 사용할 수 있는 프로

    그래머들을 말한다. 즉, 자신이 주력하는 언어를 이용하여(그것이 어떤언어
    이건간에)

    간접주소지정 방식의 혜택을 활용할 수 있는 사람이 바로 전문프로그래머

    이고 이들이 장차 아키텍트가 되는 것이다.

    깨달음을 얻은 어떤 프로그래머 분은 이런말을 하기도 한다.

    진정한 프로그래머가 되면 Virtual 만 열심히 정의한다라고..

    이 말은 경험이 없는 프로그래머들이(초중급 프로그래머들 + 일부 고수라고
    착각하는 프로그래머들)

    듣게 되면 굉장히 우습게 생각할 수도 있다. 하지만, 진정으로 깨달음을

    얻은 프로그래머들은 Virtual 을 제대로 정의할 수 있는 능력이야 말로

    프로그래머의 궁극레벨이라는 것을 알고 있다..

    이 말을 바꿔서 말하면 "간접주소지정방식을 제대로 쓸 수 있는 즉, 활용

    하는 수준을 넘어 절묘하게 재조합해서 맞물려들어가는 설계수준" 을

    열심히 해야한다는 말이기 때문이다. 간단하게 극과 극으로 설명을 해주

    겠다. 어셈블리로 C++ 언어로 짜고 컴파일했을때 생성되는 버추얼펑션

    테이블을 직접 만들수 있다. 일반적인 C++ 도 가능하고 COM 도 가능하다.

    버추얼펑션테이블은 말 그대로 인덱스테이블이다. 그런 가상함수 테이블에

    어셈블리로 주소를 덮어 씌우면 오버라이딩이다. 이것은 어셈블리를 좀

    하는 사람이 리버싱쪽 공부 조그만 하면 중고딩도 다 이해할 수 있는 내용

    이다. 그런데, 이 오버라이딩 구조만 볼 뿐 어셈블리 자체에서 지정하는

    간접주소지정방식의 한계가 없다는 것은 알려고도 하지 않는다..

    이 글을 읽는 사람은 한번, 시중에 오브젝티브 C 2.0 어쩌구 저쩌구라는

    하얀색과 빨간색이 뒤섞인 책이 있는데 그 책을 보길 바란다.. 저자는

    이미 다 바닥까지 꿰뚫고 책을 썼는데 그 사람 역시 언급하는 말이

    간접주소지정방식이다.. 오브젝티브C 라는 매우 고급화된 언어에서 간접

    주소지정방식을 논하다니.. 왠말인가..?

    오브젝티브 C 언어에서 자랑하는 특징중에서 함수를 구현하지 않아도

    통합이되는 막강한 기능이라고 설명되는 부분이 있다. 이것을 이해하려면

    저레벨의 작동구조를 모르면 절대로 이해하기 힘들 것이다. 포인터는 인덱스

    자체이며 증가시킨다면 계속해서 증가시킬수 있다. 1 과 2 와 3이 있는데

    4가 없다고 하더라도 포인터만 증가시키면 4 를 지정한 것처럼 만들 수 있다.

    그 기능은 원래 아주아주 저레벨인 어셈블리에서만 가능하지만 고수준의

    언어에서 이 제한을 풀어버렸다는 얘기이다. 오브젝티브C 에서는 실체가

    없는 메서드도 지정을 할 수 있다는 식의 설명이 나온다. 그것이 막강하다고,

    본인은 오브젝티브 C 를 하지 않지만 무슨설명인지는 알 수 있었다. 이미

    COM 프로그래밍에서도 그런 비슷한 부분이 나오기도 한다..



    최초에

    아주아주 저레벨의 기계언어라고 부르는 어셈블리가 있었다.. 이 어셈블리

    언어를 설계한 개발자들은 이 언어에 무한한 확장성 한가지를 주어서 좀더

    편하려고 하였다. 그런데, 그 확장성은 기계라는 특징때문에 어쩔수 없이

    부가할 수 밖에 없었던 것이었다. 그래서 그 기계에 시계침 같은 바늘을

    하나 주었다. 그 바늘은 메모리를 가리킬 수 있었다. 단지 가릴킬 수만 있

    었다. 그것을 우리는 오늘날 포인터라고 부른다. 이 포인터라는 것은 C

    언어라는 고급언어로 왔어도 그 특징이 사라지지 않았다. 그리고 C++ 이란

    언어에 와서도 사라지지 않았다. 심지어 자바나 C# 이나 자바스크립트나

    PHP 나 뭐나 그 어떤 언어에서 조차도 전혀 사라지지 않았다. 아니, 사라질

    수 조차 없다. 최초의 기계가 그걸 필요로 했다. 아니, 인간 자체가 그걸

    필요로 했다. 포인터를 말하면 C 만 생각하고 C++ 만 생각한다. 포인터의

    의미는 간접주소지정방식이다.. 이 포인터는 우리가 말하는 인덱스를 단지

    좀 더 첨예하게 표현하는 것에 불과하다.. 포인터는 즉, 인데스로 대체되어서

    표현이 되어도 똑같은 말이 된다. 실제로 스크립트 언어나 기타 고급화된

    언어들(컴모넌트 기반 언어들) 모두 포인터를 인덱스화해서 대체하여서

    구현한 것에 불과하다. 이 것을 특징으로 생각해야 한다. 로우레벨처럼 생각

    해서는 안된다.. 이 인덱싱특징을 생각해야 한다. 간접주소지정방식이라는

    기계적인 특징을 생각해서는 안된다는 말이다..

    그 "방식" 을 깨달아야 한다는 얘기이다..

    전문프로그래머는 이 방식을 알고 있어야 한다. 다시 설명하면 이 방식은

    "지정자" 를 사용하여 지정법을 이용하여 구조화 시킬 수 있다는 것이고

    구조화라는 것은 일종의 모델링 기법이다..

    우리가 흔히 알고있는 디자인 패턴에서의 싱글톤 구조라던지 기타등등도

    결국, 구체적인 간접주소지정법이 언어마다 다를수는 있어도 방식은 동일

    하게 갈 수 있다.


    어떠한 언어분야에 있다손 치더라도 전문프로그래머라면 이러한 특징을

    (간접주소방식) 기반으로 설계하여 만들어낸 자기만의 프레임을 가지고

    있어야 한다는 말이다.


    현실적으로는 C/C++ 의 분야에서 대부분 전문프로그래머로써 실력이

    출중한 사람일 경우에 처음부터 다 재설계를 한다. MFC 를 사용하지

    않고 API 레벨로 MFC 처럼 구조골격을 만들어내서 사용하는 프로그래머

    들이 있다. 일종의 직접 엔진을 만들어서 사용한다고 봐도 과언은 아닐

    것이다.. 실제로 대부분의 게임엔진 같은 경우에 리소스 관리부터 시작

    하여 스트링함수나 자잘한 STL 관련함수까지 모두 다 직접구현해서

    사용하고 있다. API 만 OS 에 의존적일 뿐 윈도우와 리눅스 양 사이를

    오간다고 해도 거의 두군데에서 크로스 플랫폼처럼 다 작동될 수 있는

    수준의 독립화 상태로 직접구현한 프레임워크(엔진)를 갖고 있다는 말이다.

    실제로 우리는 인터넷에서 자주 목격한다. 이런 프레임들에서 가장 흔하고

    대표적인 예가 QT 나 WX 위젯 라이브러리나(위젯은 라이브러리라고
    부를수 밖에는 없지만, 프로그래밍의 골격을 상당히 바꿔버리므로 거의
    프레임수위까지 갔다고 봐야한다..)

    기타등등 있겠지만, 뒤지다 보면 아주 간단간단한 프로젝트들인데도 이런

    프레임 요소를 갖춘 녀석들이 보일 것이다..

    다시한번 언급하지만.. 프레임은 간접주소방식을 응용한 모델링기법으로

    탄생한 작동체(작동가능한 구조를 지니고 확장성을 지닌 몸체)일 뿐이다..

    이걸 직접 만들어보고, 갖고있으며 언제라도 뭔가를 만들어야 한다고 하면

    이것을 십분 활용하여 소스를 짜낼 수 있을때 우리는 전문프로그래머라고

    부른다..

    그리고 이들이 짠 소스는 떳떳하게 공개할 때 절대 쪽팔리지 않게된다...

    만약, 당신이 자신이 만든 프로그램의 소스를 어딘가에 공개해보고 싶은데

    쪽팔려서 못하겠다는 생각을 해본 적이 있다면 적어도 로우레벨 고수는

    되었다는 얘기이다.. 만약, 로우레벨의 고수를 벗어나서 진정으로 해커다운

    해커가(1번 부류의 Subculture Programmer 레벨) 되고 싶다면 어디에나

    소스를 공개해도 절대 쪽팔리지 않는 코드라고 스스로 자부할 수 있을 때에

    가능해질 것이다.. 그 정도로 완벽한 코드를 창조하려면 어셈블리만 파지

    말고 어셈블리의 특징인 간접주소지정 "방식!!" 이 상위레벨로 올라오기까지

    그 특징을 잃지않고 존재하는 본질을 보는 눈을 보유할 수 있어야 할 것이다.

    주변에 프로그래머로써 자존심을 걸고 굉장히 이쁜 코드를 짜려고 노력하는

    사람과 하드코딩에 목숨을 메는 사람이 있다면 미래의 모습은 뻔할 것이다..

    하드코딩에 목숨을 메는 사람은 그 수준의 코드수준만 평생 짜고 세상을

    마무리 할 것이고 가치에 해당하는 "돈" 도 그 수준에서 그칠 것이다..

    하지만, 이쁜 코드를 짜려고 노력하며 아키텍트가 되고자 노력한 프로그래머

    라면 적어도 사업체 하나쯤은 운영하고 있을 것이고, 더 나아가 구글이나

    MS 에도 도전장을 내밀 수 있는 거대한 꿈을 가진 해커로써 삶을 누리고

    있을 것이다..



    당신은 정말 해커가 될 것인가?

    아니면..

    엔지니어로 머물 것인가?

    1번 해커(Subculture Programmer)가 될 것인가?

    아니면

    2번 해커(Security Researcher)가 될 것인가?

    아니면

    1번과 2번을 합친 제 4번 해커(Hybrid Programmer)가 될 것인가?

    (참고: 3번 해커는 하드웨어 해커임..)

    오늘날

    세계를 이끄는 선두주자에 서있는 해커들은 2번이 직업이지만 1번을

    표방하고 있다.. 즉, 4번 해커부류에 서있는 해커들이 오늘날 앞서나가는

    진정한 해커로 거듭나고 있다. 쉽게 말하면, 코드를 짜고 이쁘게 만들려는

    노력을 하는 것은 취미중에 가장 고상한 취미로 가져가야 하고 그 고상한

    코드를 짜는 취미를 방해하는 장벽이 생기면 뚫어서 넘을 줄 알아야 한다.

    만약, 아이폰에 무언가 고상한 코드를 짜서 넣고 싶다면 더러운 하드코드를

    먼저 짜서 장벽을 넘고 그 다음에 그 안에 고상한 코드를 짜서 넣는다는

    개념으로 설명한다면 이해하기 편할 것이다..

    오늘날에 진정한 해커들은 이런식으로 간다..

    이들을

    다른 말로 말하면..

    진정한 전문 프로그래머들이다..



    너무 길었나..?



    P.S: 외국애들(미국, 유럽, 일본)은 이렇게 간다.. 그래서 외국애들이
    대단해 보이는 것이다.. 우리나라는 이정도까지 시야를 갖고 볼
    사람도 없겠지만 본다고 해도 시도자체를 하지 않는다..
    몇몇 있는 사람들 마져도 해커와는 동떨어진 그냥 프로그래머계통
    사람들이 주도하고 있고, 오히려 해커라고 부를 수 있는 사람들보다
    정통 프로그래머로써의 길을 걸어온 사람들이 더 해커같다..
    이것이 본인이 쪽팔려서 뒤로 자꾸 숨는 이유이기도 하고..
    누군가는 이걸 깨주었으면 좋겠다..
    이왕이면 정통 프로그래머 출신들이 깨주지 말고..
    내가 이름을 들어보고 닉네임을 들어본 정통 해커출신들이라고
    할 수 있는 기라성 같은 해커들이 좀 해줬으면 좋겠다..
    그랬으면 좋겠다..
    이게 내가 죽기전에 보고 싶은 것들이다..

  4. Air Jordans 2011/08/29 17:43 # M/D Reply Permalink

    555clf1
    thanjks for you

  5. Nike Air Max for Sal 2011/08/29 17:43 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment

Dev-C++ 간단 튜토리얼

뭐 여차 여차 어쩌다 보니 =_=;;

VC님이 고장나셨다(고장 나셨다 <== 이말을 3번 정도 고쳐썼다 왤까? :p)

뭐... 원하는 기능을 얻기위해 Linker를 다른것으로 교체하는것이 문제였다.

ㅠㅠ... 링커님이 재대로 작동을 안하신다. ㅠㅠ

그래서 뭐 여차 여차 하다보니 GNU인 Dev C++이 마음에 끌렸다.

나름대로 이놈만큼 쓸만한것도 없는거 같다. 헷헷

-------------------------------

Dev-C++ 간단 튜토리얼
작성: gpgiki ( http://gpgstudy.com/gpgiki/ 또는 http://gpgstudy.coco.st/gpgiki/ )



Dev-C++ 이란?
Dev-C++은 GCC를 Win32 플랫폼으로 이식한 컴파일러 패키지인 MinGW에 대한 GUI 통합 개발 환경으로,(헥헥...-.-;). 오픈 소스 기반 자유 소프트웨어이자 무료입니다(영어에서는 자유와 무료 모두 free라서 항상 자유와 무료의 차이를 강조하지만, 한글에서는 그런 염려가 없습니다... 어쨌든 Dev-C++은 가격 면에서도 free(무료)입니다..).


GCC는 GNU 시스템(현실적으로 말하면 리눅스 시스템)에서 사용하는 C++ 컴파일러 집합이구요. MinGW는 GCC를 비롯해서 GNU Binary Utilities, GNU 디버거(GDB), GNU make를 포함한 여러 필수적인 도구&유틸리티들을 Win32 애플리케이션 개발 용으로 Win32 플랫폼에 맞게 이식한 '도구 모음'입니다.


GCC의 또다른 Win32 이식으로는 Cygnus사의 CygWin? 있으며, MS-DOS용으로는 DJGPP가 있습니다. CygWin?도 좋은 도구이나, CygWin?으로 작성한 애플리케이션을 배포할 때에는 반드시 CygWIn.dll이라는 DLL을 함께 배포해야 한다는 단점이 있습니다. 반면 MinGW로 만든 프로그램은 MSVCRT.DLL만 있으면 되구요. MSVCRT는 초창기 Win95 버전 이후의 모든 Win32 OS들에 기본적으로 깔려 있으므로 별 문제가 되지 않습니다.


앞의 두 가지와 MinGW 모두 기본적으로 명령행 기반이므로 중급 이하의 개발자들은 접근하기가 힘들다는 단점이 있는데요. MinGW를 좀 더 편하게 사용할 수 있도록 하는 것이 Dev-C++입니다. 즉 Dev-C++은 컴파일러가 아니고 MinGW를 위한 통합 개발 환경(IDE)입니다. 또한 Dev-C++을 !Cygwin을 위한 통합 환경으로 사용할 수도 있으며, Dev-C++ 자체의 소스 코드가 공개되어 있으므로, 공개된 BC++5.5 컴파일러를 사용하게 만들 수도 있을 거라고 생각합니다...


통합 개발 환경이므로 Dev-C++ 안에서 소스 작성, 컴파일, 링크, 빌드, 리소스 편집까지 할 수 있으며, 디버깅 역시 거의 통합되어 있습니다. 또한 코드 편집기도 상당히 편리합니다. 문법 강조(키워드, 문자열 등등을 다른 색깔로 표시하는 것)를 지원하며, 제한적이나마 코드 자동 완성도 지원합니다. VC++의 인텔리센스 수준은 아니고, 일종의 상용구 기능이라고 볼 수 있습니다.


GUI의 수준으로 치면... 물론 VC++보다는 불편하지만, 예전의 BC++3.1 for Win 보다는 훨씬 낫구요. VC++의 인텔리센스 기능을 그리 사용하지 않는 개발자라면 별로 불편없이(또는 아주 편하게) 사용할 수 있습니다.


결정적인 단점은 문서화입니다... 사용법에 대한 간단한 도움말밖에 들어있지 않구요. Win32 API에 대한 레퍼런스가 없다는 점이 큰 문제인데, 책이나 웹 상의 MSDN을 이용하는 수밖에... 어쨌든 코드 편집기 안에서 F1을 눌러서 정보를 찾는 식은 통하지 않습니다..


MFC는 당연히 사용하지 못하지만, 큰 단점이 되지는 않을 것 같구요. 무엇보다도 중요한 것은 GCC, MinGW, Dev-C++ 모두 오픈 소스 프로젝트이며, 많은 사람들이 자발적으로 자신의 시간과 노력을 투자해서 좀 더 좋은 소프트웨어 개발 환경으로 개선시키고 있다는 점입니다. 예를 들어서.. 누군가가 Dev-C++용 DX8 정적 라이브러리 및 헤더 파일를 만들어서 공개한 덕분에 Dev-C++로도 DX 프로그래밍을 할 수 있게 되었습니다(재미있는 것은... 옛날 옛적의 BGI용 프로그램을 그대로 컴파일할 수 있게 해주는 라이브러리도 있더군요... BGI 기억하세요?).


또한... 많은 오픈 소스 라이브러리들이 Dev-C++(본질적으로는 MinGW)를 지원합니다. 대표적으로는 SDL 같은 것들... 특히 플랫폼 독립적인 라이브러리 또는 프로젝트들은 MinGW를 지원하는 경우가 많습니다.


어쨌든... VC++를 구입할만한 여건이 안 되는 분들이라면.. 불법 복제를 고려하기 전에 Dev-C++을 먼저 생각해 보시구요. 터보 C나 BC보다는 좋은 선택인 것은 당연하구요..


다음은 Dev-C++의 스크린샷입니다.





관련 링크들:

Dev-C++: http://www.bloodshed.net/devcpp.html
MinGW : http://www.mingw.org/
GCC : http://www.gnu.org/software/gcc/gcc.html
Cygwin : http://sourceware.cygnus.com/cygwin


설치 및 설정
2001.05.07 현재 Dev-C++의 최신 버전은 4.01이고, 위에 나온 Bloodshed 홈에서 다운받을 수 있습니다. 다운받을 파일은 devcpp4.zip과 devcpp401.zip입니다. 4.0 풀패키지를 설치한 후 4.01 업그레이드 패치를 덮어씌우면 되구요. 풀 패키지 안에는 MinGW가 포함되어 있으므로 Dev-C++만 깔면 기본적인 준비가 끝납니다. 추가적으로, 콘솔 기반 디버거인 GDB 대신 Cygnus의 Insight Visual Debugger를 사용할 수도 있습니다.



설치:

설치 방법은 매우 간단합니다. 4.0 풀 패키지(devcpp4.zip)를 아무 디렉토리나 풀어놓고 Setup.exe를 실행하면 됩니다. 흔히 보는 InstallShield? 설치 프로그램이므로 그냥 클릭만 몇 번 하면 됩니다. 특별히 선택할 것도 없구요... 기본 디렉토리는 C:Dev-C++이고, 이 글에서도 그 디렉토리를 기준으로 이야기하겠습니다.


4.0 풀 패키지를 설치한 후에는 4.01 패치(devcpp401.zip)를 설치해야 하는데요. 그냥 압축 파일을 설치 메인 디렉토리에 풀면 끝입니다. 4.01은 MinGW 부분은 업데이트하지 않고, 그냥 Dev-C++ IDE만 갱신하는 것입니다.

추가적으로 Insight5 비쥬얼 디버거를 설치할 수도 있는데요, 이건 디버깅 부분에서 이야기하겠습니다.



설정:
설치 후 컴퓨터를 다시 시동할 필요는 없구요. 또 Autoexe.bat 같은 것을 건드릴 필요도 없습니다. Dev-C++를 처음 실행하면 .dev 파일과 .c, .cpp, .h 파일을 탐색기와 연결시킬 것인가를 묻는데, 둘 다 연결시키면 되구요. 그 아래의 Gnome과 Default는 GUI의 아이콘 스타일인데, Gnome을 선택하면 리눅스 기분을 느낄 수 있습니다... 기능과는 상관없습니다.

이것으로 기본적인 설치와 설정은 모두 끝난 것입니다. 이 상태에서 Win32 콘솔 프로그램이나 Win32 API 프로그램을 작성할 수 있으며, OpenGL 프로그램도 작성할 수 있습니다.


확인을 위해, 메뉴의 Options - Compiler Options를 선택하고, Directories 탭에 나열되어 있는 디렉토리들이 제대로 되어 있는지 점검해 보세요...



디버깅
디버깅는 두 가지 방식이 가능한데, 하나는 패키지 자체에 포함되어 있는 GDB를 이용하는 것이고, 또 하나는 Cygnus의 Insight5 Visual Debugger를 사용하는 것입니다. Insight5가 더 편합니다... GUI로 중단점(breakpoint)를 설정하고, 단계별로 코드를 실행시키면서 툴팁으로 변수의 값을 보는 등 VC++ 디버거에서 할 수 있는 것들을 거의 다 할 수 있습니다.


Insight5는 위의 bloodshed 홈에서 다운받을 수 있습니다. 파일 이름은 insight5_win32.zip입니다. 압축 파일을 Dev-C++ 메인 디렉토리에 풀면 됩니다(서브디렉토리까지 함께 풀어야 합니다.. 예를 들어서 윈집의 경우 use folder name을 체크해야 합니다. 뭐 윈집을 별다른 설정 변경 없이 사용하는 분은 압축 풀 때 그냥 메인 디렉토리만 제대로 지정하면 될 겁니다). 그러면 서브 디렉토리 bin에 몇 개의 파일들이 추가되며, 또한 원래 있던 gdb.exe가 덮어씌워집니다. 또한 share라는 서브 디렉토리에 파일들이 추가됩니다.


한 가지 주의할 점: Dev-C++에는 빌드 모드(디버그 모드, 릴리즈 모드 등)라는 것이 없습니다. Dev-C++에서 디버깅 모드로 전환한다는 것은 Option - Compiler Option 메뉴의 Linker 탭에서 Generate debugging information을 체크한다는 것을 의미합니다. 사실 VC++의 '모드'라는 것도 서로 다른 설정들을 하나의 세트로 묶은 것인데요... Dev-C++의 이후 버전에서는 빌드 모드라는 개념이 추가되길 바랍니다...


어쨌든.. 디버깅을 하려면 위에 나온 대로 Generate debugging information이 체크된 상태에서 실행 파일을 만들어야 합니다. 일단 실행 파일이 제대로 만들어지고 나면, 메인 메뉴 Execute - Debug로 디버깅 창을 띄울 수 있습니다(사실 Dev-C++과는 독립적인 프로그램입니다..).


그 다음부터는 VC++의 디버거와 거의 동일한 방식으로 디버깅을 할 수 있습니다...


다음은 Insigth의 스크린 샷입니다(앗.. 오른쪽 상단에 윈앰프 모서리가.. 요즘 산타나를 듣고 있습니다^^).. 마우스 툴팁으로 변수 값을 볼 수 있구요.. 위쪽 아이콘들을 보면 다양한 방식의 단계별 실행을 지원한다는 점을 알 수 있을 것입니다. 어쨌든 원래 들어 있던 명령행 기반 GDB보다는 이게 더 편할 것 같네요.




Dev-C++을 이용한 DirectX 8.0 프로그래밍(예~ 가능합니다!)
DX 임포트 라이브러리 및 헤더 설치, 설정
우선 필요한 것은 DX에 대한 호출들을 DX DLL들과 연결해주는 임포트 라이브러리들을 구해서 설치하는 것입니다. DX SDK에 있는 것들은 사용할 수 없구요. MinGW에 맞게 포팅한 라이브러리들이 필요합니다. 여러 가지 것들이 있겠지만, 제가 시험해 본 것은 GameCoding? UK 2000( http://www.gamecoding.co.uk/ )에서 받은 것입니다.


http://members.xoom.com/pauljgerf/newsitefiles/Directx8%20For%20Dev-c.zip


여기에는 임포트 라이브러리들과 헤더들이 모두 들어 있습니다. 이걸 적당한 디렉토리에 풀면 여러 서브디렉토리들이 생깁니다. Libs에는 라이브러리들이, Includes에는 헤더 파일들이 들어 있구요. 라이브러리 파일은 VC++와는 달리 확장자가 .a입니다..(유닉스에서 기원한 것이라서.. 참고로 목적 파일(.obj)는 확장자가 .o입니다)


이제 필요한 것은 컴파일러와 링커에게 그 디렉토리들을 알려주는 것인데요. 그냥 Libs와 Includes의 내용을 각각 Dev-C++ 메인의 lib와 include에 복사해 버려도 되지만, 나중에 관리가 번거로울 수 있습니다..


그 임포트 라이브러리 작성자의 제안에 따라, Libs의 것들은 메인의 lib에 함께 집어 넣고, Includes의 헤더들은 메인의 include 아래에 DX8이라는 서브디렉토리를 만들어서 거기에 집어넣기로 하죠.. 그러나 꼭 그렇게 해야 하는 것은 아닙니다.. 편한 대로 하면 되구요. 아래에 설명하는 것을 참고해서 디렉토리 설정만 제대로 해주면 됩니다.


디렉토리 설정은 두 가지 방법이 있습니다. 하나는 Options | Compiler Options의 Directories 탭에서 설정하는 것이고, 또 하나는 Project | Project Options에서 설정하는 것입니다. Options 메뉴에서 설정한 것은 모든 프로젝트들에 적용되고, Project 메뉴에서 설정한 것은 해당 프로젝트에만 설정됩니다(설정 내용은 프로젝트 파일 .prj에 저장되구요).


만일 DX 프로그래밍을 주로 한다면 Options에서 설정하고, OpenGL이나 다른 프로그래밍도 많이 한다면 프로젝트 단위로 설정하면 됩니다. 그러나 프로젝트마다 매번 설정을 하는 불편을 피하기 위해서는 프로젝트 템플릿을 만드는 것도 좋겠죠.. 프로젝트 템플릿은 잠시 후에...


어쨌든, 라이브러리 파일들은 메인의 lib 디렉토리에 넣었으니 따로 설정할 필요가 없구요. 헤더 파일들의 위치만 Options | Compiler Options | Directories의 C include files:와 C++ includes files:나 Project | Project Options의 Extra include directories 에 지정해 주면 됩니다. 라이브러리 파일들을 다른 곳에 넣었다면 Options | Compiler Options | Directories의 Libraries directories에 지정해 줘야 하겠죠. 단 프로젝트 옵션에는 라이브러리 디렉토리를 지정하는 곳이 없습니다... 대신 개별 라이브러리 파일들의 경로를 지정해 줄 수는 있습니다.


새 프로젝트 만들기
이것으로 기본적인 준비가 끝났구요.. DX 프로그램을 만들려면 새 프로젝트를 선택할 때 Windows Application을 선택해야 합니다.. Console Application이 아니라는 점을 주의해야 합니다.


프로젝트 이름 정하고 프로젝트 파일을 저장하면 이름 없는 소스 코드 파일 하나만 생깁니다. 그 파일을 제거하거나, 그 파일의 내용을 지우고 일반적인 방식대로 소스 코드를 작성하면 됩니다(..만 VC++에서 하던 것과는 약간의 문법적인 차이가 있을 수 있는데.. 이 부분은 나중에...).


빌드
소스 코드가 끝났다고 치고.. 컴파일과 빌드를 하려면, 프로젝트 옵션에서 링크할 라이브러리 파일 또는 목적 파일들을 지정해야 합니다. 라이브러리 파일들은 Project | Project Options의 Further object... 라고 되어 있는 텍스트 상자 안에 지정해야 합니다.


파일들을 지정하는 방식은 두 가지입니다. 하나는 Load object files 버튼을 클릭해서 직접 지정하는 것이고, 또 하나는 -l 지시자를 이용해서 지정하는 것입니다. -l은 라이브러리 파일들의 위치가 컴파일러 옵션 대화상자에서 지정되어 있을 경우만 가능합니다. lib 디렉토리에 파일들을 넣었다면, lib 디렉토리가 컴파일러 옵션에 지정되어 있으므로 -l 옵션을 사용해도 됩니다...


-l 다음에 라이브러리 이름을 붙이면 되는데요. 라이브러리 이름은 라이브러리 파일 제일 처음의 lib와 제일 끝의 .a를 뺀 것입니다. 예를 들어서 DX8의 Direct Input을 사용하려면.. 원래 DX SDK에서는 dinput8.lib를 링크해야 하는데, Dev-C++에서는 libdinput8.a(GameCoding? UK에서 받은 임포트 라이브러리를 사용한다고 했을 때)를 링크해야 하겠죠. libdinput8.a를 링크하려면 Further object.. 부분에 -ldinput이라고 지정하는 식입니다...


여기서 한 가지 주목할 것은... 원래의 DX SDK의 라이브러리 이름과 Dev-C++에서의 라이브러리 이름, 그리고 -l로 지정하는 라이브러리 이름의 관계입니다. SDK 이름에서 앞에 lib를 붙이고 확장자를 .a로 바꾸면 Dev-C++ 라이브러리 이름이 되고, 거기서 다시 lib를 빼고 .a를 빼면 -l 라이브러리 이름이 됩니다(예: d3d8.lib => libd3d8.a => -ld3d8).


언제 뭘 사용해야 하는지 일일이 고민하기 싫으면.. 그냥 다 지정해놓으면 됩니다... 아래 부분을 복사해서 Further object .. 에 넣으면 됩니다.


-lgdi32 -ld3dim -ld3drm -ld3dx8d -ld3dxof -lddraw -ldinput -ldinput8 -ldlcapi -ldplayx -ldpnaddr -ldpnet -ldpnlobby -ldpvoice -ldsetup -ldsound -ldxguid -ld3d8

다음으로 중요한 것은 COM을 위한 추가적인 컴파일러 옵션을 지정하는 것입니다. 컴파일러 옵션은 Project | Project Options의 Extra comiler options에서 지정합니다. DX에 필요한 옵션은 -fvtable-thunks 입니다..

그 외에 디버그 모드로 빌드하려면 디버깅 섹션에서 말했던 것처럼 디버그 정보를 포함시키도록 설정해야 하구요..



Dev-C++을 이용한 OpenGL 프로그래밍
이 부분은 별로 할 얘기가 없네요. 이미 OpenGL에 대한 지원이 포함되어 있거든요. 그냥 새 프로젝트 만들 때 OpenGL 프로젝트를 선택하면 됩니다(File - New - Project - MultiMedia? - OpenGL Template). 그러면 픽셀 포맷 설정, OpenGL 창 생성, 윈도우 프로시저, 메시지 루프 등등 잡다한 부분에 대한 뼈대 코드가 만들어집니다.... 거기서부터 출발하면 되구요.


Glut의 경우에는 프로젝트 옵션에서 추가적인 라이브러리 부분에 -lglut32 을 추가해주면 됩니다.


두경우다 glu함수들을 쓰신다면 -lglu32도 추가해주셔야합니다.


이제 일정한 패턴이 보이시죠.. 기본적인 윈도우즈 API 라이브러리가 아닌 어떤 특정한 라이브러리를 사용할 때에는, 헤더 경로 지정해주고, -l 로 라이브러리 파일 지정해 주는 과정이 필요한 것입니다.. 뭐 이건 VC++도 마찬가지죠... 현재 많은 오픈 소스 프로젝트들이 Dev-C++(본질적으로는 Mingw)를 지원합니다. 프로젝트 자체가 Mingw을 지원하는 경우도 있고, VC++용 소스를 Mingw에 맞게 이식하는 경우도 있구요. 이식의 경우 일단은 sourceforge.net의 Mingw package repository를 참고하는 것이 좋을 것 같구요. (zlib, libpng 같은 것들이 있네요.). 그 외에도 독자적으로 이식 작업을 하는 사람들도 있구요(위의 DX 라이브러리 등등).
이올린에 북마크하기

Posted by Dual

2005/07/31 13:34 2005/07/31 13:34
Response
2 Trackbacks , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/68

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/68

Trackbacks List

  1. boing 787

    Tracked from boing 787 2009/10/01 05:53 Delete

    dn angel images <a href="http://dn-angel-images.gscoiqrqnvq.com/">dn angel images</a> leggs pantyhose <a href="http://leggs-pantyhose.gscoiqrqnvq.com/">leggs pantyhose</a>

  2. Geargrinder (pc/2009) Multi 5 Full

    Tracked from Geargrinder (pc/2009) Multi 5 Full 2009/12/15 20:40 Delete

    Geargrinder (pc/2009) Multi 5 Full <a href="http://rspost.blogetery.com/games/geargrinder-pc2009-multi-5-full.html">Geargrinder (pc/2009) Multi 5 Full</a>

Comments List

  1. Air Jordans 2011/08/29 17:47 # M/D Reply Permalink

    555clf1
    thanjks for you

  2. Nike Air Max for Sal 2011/08/29 17:48 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment

Win32 서브클래싱 클래스

출처:Devpia


 


WIN32 서브클래싱 클래스


 


 


서브클래싱은 윈도우 프로그래밍에 있어서 가장 강력하고 재미있는 기법 중의 하나입니다. 서브클래싱을 이용하면 주어진 윈도우의 특성을 일부 변경하거나 혹은 완전히 새로운 윈도우로 재작성하는 것이 가능합니다. MFC, ATL 등의 라이브러리들은 각각 CWnd::SubclassWindow() 또는 CWindow::SubclassWindow() 와 같은 멤버 함수들을 통하여 서브클래싱의 기법을 제공합니다. 이러한 멤버 함수들이 서브클래싱 되는 HWND를 래핑하고 있는 CWnd 또는 CWindow 의 클래스에 소속되는 것이 OOP 관점에서는 당연하지만 이는 곧 프로그래머가 작성한 서브클래싱 코드가 특정 라이브러리의 특정 클래스에 종속되어야 하는 태생적 한계를 가지게 된다는 것을 의미합니다. 특히 특정 클래스에 코드가 종속되어야 하는 문제는 프로그래머가 작성한 서브클래싱 코드를 통해 변경되는 윈도의 특성을 또 다른 CWnd 또는 CWindow의 상속 클래스에 똑같이 적용하고자 할 때마다 똑같은 서브클래싱 코드를 새로이 복사-붙이기 과정을 거쳐야 한다는 것을 의미합니다. ( Pluggable Event Handler By William E. Kempf )


 


여기서는 순수한 WIN32 API만을 이용하여 아주 가볍고 작은 크기(32 바이트)의 클래스(CMessageHook)를 제공합니다. 최소한의 서브클래싱 함수만을 통하여 필수 기능만을 제공하고 가상 함수의 사용하지 않고 대신 템플릿을 이용하는 등등 제가 아는 한도 내에서 최대한 최적화(!)를 하였으며 특히 ATL에서 사용하는 어셈블리 썽크(Assembly Thunk) 기법의 차용은 이러한 최적화의 핵심적인 역할을 수행할 뿐만 아니라 쓰레드 세이프(Thread Safe)를 보장해주기 때문에 멀티 쓰레드 환경에서도 CMessageHook 클래스를 쉽게 사용할 수 있습니다. ( Thunking WndProcs in ATL By Fritz Onion ) 단, 어셈블리 썽크를 사용함으로써 CMessageHook 클래스는 WIN32 X86 플랫폼으로 한정됩니다. 즉 X86 계열이라면 MFC, ATL 관계 없이 사용할 수 있습니다.


 



 


서브클래싱 기법은 원래 윈도우 프로시져(Window Procedure)의 주소를 캐시하고 새로운 윈도우 프로시져의 주소를 제공함으로써(::SetWindowLong(hwnd, GWL_WNDPROC, ...) API를 이용) 윈도우 메세지의 전달 경로를 한단계 우회시키는 것이 기본입니다. 즉 윈도우 메세지는 서브클래싱을 통하여 제공되는 새로운 윈도우 프로시져로 우선적으로 전달되고 프로그래머의 서브클래싱 코드에 따라서 이 윈도우 메세지는 소멸되거나 혹은 원래 상위 윈도우 프로시져(Super Window Procedure)로 재전달 되어질지가 결정됩니다.


 


이 클래스에서 제공하는 멤버함수는 다음과 같습니다.


 


CMessageHook(BOOL bAutoDelete = FALSE);


- 서브클래싱 C++ 객체 생성


 


HWND GetHwndHooked() const;


- 서브클래스된 윈도우의 핸들(HWND) 리턴


 


BOOL IsHookedByMe() const;


- 서브클래싱이 이 서브클래싱 C++ 객체에 의해서 수행 되었는지 체크


 


BOOL Hook(HWND hWnd);


- 입력으로 주어진 윈도우(HWND)를 서브클래싱 (Subclass)


 


HWND Unhook();


- 서브클래싱된 윈도우를 서브클래싱 해제 (Unsubclass)


 


void SafeDelete();


- 힙 메모리에 생성된 서브클래싱 C++ 객체를 메모리로부터 안전하게 삭제


 


LRESULT SuperWindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam);


- 원래 상위 윈도우 프로시져로 윈도우 메세지 전달


 


이 클래스는 네 가지 방법으로 사용할 수 있습니다.


 


1) 클래스 상속(단일상속 또는 다중상속)을 통하여 사용하기


2) 클래스 멤버 변수로 사용하기 (Containment)


3) 힙 메모리(Heap Memory)에 생성하여 사용하기


4) 세 가지 방법 혼합


 


1) 클래스 상속(단일상속 또는 다중상속)을 통하여 사용하기


 


템플릿이 아닌 virtual 가상함수를 이용하여 작성하였던 이전 버전의 CMessageHook 에서는 다중상속을 이용하는 경우 각각의 서브클래싱 베이스 클래스에 속하는 ProcessWindowMessage() 를 구별할 수 없는 문제가 있었는데 이 문제는 템플릿 기법과 수동 다운캐스팅(downcasting)을 이용하여 해결할 수 있었습니다. 아래의 예제에서 보는 것과 같이 CMessageHook을 직접 상속하거나 여러개의 CMessageHook-상속 클래스를 다중 상속할 수 있습니다.


 


#include "http://pds4.devpia.com/vc_lec/8000/7024/MessageHook.h"


 


class CRButtonClicked : public CMessageHook<CRButtonClicked>


{


public:


  BOOL ProcessWindowMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult)


  {


    BOOL bHandled = FALSE;


    if(WM_RBUTTONDOWN == uMsg)


    {


      ::MessageBox(GetHwndHooked(), "Right Button Clicked", NULL, MB_OK);


    }


    return bHandled;


  }


};


 


class CMyWnd : public CWnd, public CMessageHook<CMyWnd>, public CRButtonClicked


{


  typedef CMessageHook<CMyWnd> baseHookClass;


  typedef CRButtonClicked baseHookClass2;


 


  ...


 


public:


  BOOL ProcessWindowMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult)


  {


    BOOL bHandled = FALSE;


    if(WM_LBUTTONDOWN == uMsg)


    {


      ::MessageBox(GetHwndHooked(), "Left Button Clicked", NULL, MB_OK);


    }


    return bHandled;


  }


 


  // WM_CREATE handler


  int OnCreate(LPCREATESTRUCT lpCreateStruct)


  {


    if(CWnd::OnCreate() == -1)


      return -1;


 


    baseHookClass::Hook(GetSafeHwnd());


    baseHookClass2::Hook(GetSafeHwnd());


  }


 


  // WM_DESTROY handler


  void OnDestroy()


  {


    CWnd::OnDestroy();


 


    baseHookClass2::Unhook();


    baseHookClass::Unhook();


  }


};


 


2) 클래스 멤버 변수로 사용하기 (Containment)


 


#include "http://pds4.devpia.com/vc_lec/8000/7024/MessageHook.h"


 


class CRButtonClicked : public CMessageHook<CRButtonClicked>


{


public:


  BOOL ProcessWindowMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult)


  {


    BOOL bHandled = FALSE;


    if(WM_RBUTTONDOWN == uMsg)


    {


      ::MessageBox(GetHwndHooked(), "Right Button Clicked", NULL, MB_OK);


    }


    return bHandled;


  }


};


 


class CMyWnd : public CWnd


{


  ...


 


  // WM_CREATE handler


  int OnCreate(LPCREATESTRUCT lpCreateStruct)


  {


    if(CWnd::OnCreate() == -1)


      return -1;


 


    m_hookRButtonClicked.Hook(GetSafeHwnd());


  }


 


  // WM_DESTROY handler


  void OnDestroy()


  {


    CWnd::OnDestroy();


 


    m_hookRButtonClicked.Unhook();


  }


 


private:


  CRButtonClicked m_hookRButtonClicked;


};


 


3) 힙 메모리(Heap Memory)에 생성하여 사용하기


 


힙 메모리에 생성하는 경우 자동 삭제(Auto Delete) 플래그를 설정합니다. 자동 삭제가 설정되면 힙에 생성된 CMessageHook 객체는 윈도우(HWND)에는 기생하기 시작하며 WM_NCDESTROY 메세지를 전달받는 순간 스스로 자신을


삭제합니다. 대부분의 경우 위의 시나리오가 적합하겠지만 프로그래머가 CMessageHook 객체를 삭제하는 시점을 조절하고 싶은 경우 SafeDelete()를 사용합니다. delete 연산자는 직접 사용을 할 수 없도록 되어 있는데 그 이


유는 뒤에서 다시 설명합니다.


 


#include "http://pds4.devpia.com/vc_lec/8000/7024/MessageHook.h"


 


class CMButtonClicked : public CMessageHook<CMButtonClicked>


{


  typedef CMessageHook<CMButtonClicked> baseHookClass;


public:


  // c'tor


  CMButtonClicked(BOOL bAutoDelete = FALSE) : baseHookClass(bAutoDelete) { }


 


  BOOL ProcessWindowMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult)


  {


    BOOL bHandled = FALSE;


    if(WM_MBUTTONDOWN == uMsg)


    {


      ::MessageBox(GetHwndHooked(), "Middle Button Clicked", NULL, MB_OK);


    }


    return bHandled;


  }


};


 


class CMyWnd : public CWnd


{


  ...


 


  // WM_CREATE handler


  int OnCreate(LPCREATESTRUCT lpCreateStruct)


  {


    if(CWnd::OnCreate() == -1)


      return -1;


 


    CMButtonClicked *pHook = new CMButtonClicked(TRUE); // set auto delete flag


    pHook->Hook(GetSafeHwnd());


  }


};


 


4) 세 가지 방법 혼합


 


#include "http://pds4.devpia.com/vc_lec/8000/7024/MessageHook.h"


 


class CRButtonClicked : ... { ... };


class CMButtonClicked : ... { ... };


 


class CMyWnd : public CWnd, public CMessageHook<CMyWnd>


{


  typedef CMessageHook<CMyWnd> baseHookClass;


 


  ...


 


public:


  BOOL ProcessWindowMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult)


  {


    BOOL bHandled = FALSE;


    if(WM_LBUTTONDOWN == uMsg)


    {


      ::MessageBox(GetHwndHooked(), "Left Button Clicked", NULL, MB_OK);


    }


    return bHandled;


  }


 


  // WM_CREATE handler


  int OnCreate(LPCREATESTRUCT lpCreateStruct)


  {


    if(CWnd::OnCreate() == -1)


      return -1;


 


    CMButtonClicked *pHook = new CMButtonClicked(TRUE); // set auto delete flag


    pHook->Hook(GetSafeHwnd());


 


    baseHookClass::Hook(GetSafeHwnd());


    m_hookRButtonClicked.Hook(GetSafeHwnd());


  }


 


  // WM_DESTROY handler


  void OnDestroy()


  {


    CWnd::OnDestroy();


 


    m_hookRButtonClicked.Unhook();


    baseHookClass::Unhook();


  }


 


private:


  CRButtonClicked m_hookRButtonClicked;


};


 


서브클래싱에는 크개 글로벌 서브클래싱(global subclassing)과 인스턴스 서브클래싱(instance subclassing)이 있습니다. 위에서 말하는 서브클래싱은 모두 이 중에서도 인스턴스 서브클래싱에 해당합니다. 인스턴스 서브클래싱은 WIN32 환경(MFC, ATL, pure WIN32 관계 없이)에서 알게 모르게 굉장히 많이 사용되고 있습니다. CMessageHook은 기존의 어떠한 인스턴스 서브클래싱 기법과도 같이 혼합하여서 사용되어질 수 있습니다. 여기서 반드시 기억해야 할 중요한 점은 인스턴스 서브클래싱은 서브클래싱이 수행(hook)되는 순서의 반대로 서브클래싱이 해제(unhook)되어야 한다는 것입니다. 이 규칙을 따르지 않고 서브클래싱을 해제하는 경우 어떠한 재앙이 닥칠지는 아무도 예측할 수 없습니다. CMessageHook 클래스에서는 이러한 상황을 최대한 염두에 두고 작성하였고 그 결과물 중의 하나가 Unhook(), SafeDelete(), IsHookedByMe() 멤버함수 구현입니다. IsHookedByMe()는 CMessageHook 클래스가 서브클래싱한 윈도우가 그 이후에 다른 서브클래싱 메카니즘에 의해서 서브클래싱 되어있는지를 체크합니다. 이러한 결과에 근거해서 Unhook()은 실재 슈퍼 윈도우 프로시져를 복구할지 안할지를 결정하며 SafeDelete()는 CMessageHook 클래스 객체를 삭제할 지 자동으로 삭제되게 설정할 지를 결정합니다. 이 때문에 CMessageHook 클래스는 소멸자를 protected 로 설정함으로써 힙 메모리에 생성된 객체를 delete 연산자를 직접 사용하여 삭제하는 것을 금지시킵니다.


 


만약 힙 메모리에 생성된 CMessageHook 클래스 객체를 서브클래싱 수행후 서브클래싱을 해제하고 객체에 할당된 메모릴 해제하고자 한다면 다음과 같은 코드를 사용하면 됩니다.


 


CMButtonClicked *pHook = new CMButtonClicked(TRUE);


pHook->Hook(GetSafeHwnd());


 


...


 


pHook->Unhook();


// delete pHook;          // 컴파일 에러 발생!


pHook->SafeDelete();  // 객체 생성시 자동 삭제 플래그가 설정되었었는지 않았었는지는 중요하지 않습니다.


pHook = NULL;


 


서브클래싱된 윈도우(HWND)의 모든 윈도우 메세지들은 우선적으로 CMessageHook 클래스의 ProcessWindowMessage()로 전달 됩니다. 이렇게 전달된 메세지는 ProcessWindowMessage()의 리턴값에 따라서 그대로 소멸되거나 혹은 원래의 상위 윈도우 프로시져 (Super Window Procedure)로 전달되기도 합니다. 경우에 따라서는 상위 윈도우 프로시져에서 전달된 윈도우 메세지가 처리된 후에 메세지를 처리해야 하는 경우도 있습니다. 이 경우 SuperWindowProc()를 사용하면 됩니다. 혹은 상위 윈도우 프로시져로 전달되는 입력 파라미터의 값을 조작하고자 하는 경우도 SuperWindowProc()를 사용하면 됩니다.


 


BOOL ProcessWindowMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT &lResult)


{


  BOOL bHandled = FALSE;


  switch(uMsg)


  {


    case WM_LBUTTONDOWN:


      bHandled = TRUE;                                                  // 상위 윈도우 프로시져로 메세지 전달하지 않음


 


      ...                                                                         // 원하는 서브클래싱 작업 수행


 


      break;


 


    case WM_MBUTTONDOWN:


      bHandled = FALSE;                                                 // 상위 윈도우 프로시져로 메세지 전달함


 


      ...                                                                         // 원하는 서브클래싱 작업 수행


 


      break;


 


    case WM_RBUTTONDOWN:


      bHandled = TRUE;                                                   // 상위 윈도우 프로시져로 메세지 전달하지 않음 (두 번 호출하지 않기 위해서)


 


      // wParam = ...;                                                      // 메세지 입력 파라미터 조작


 


      lResult = SuperWindowProc(uMsg, wParam, lParam); // 상위 윈도우 프로시져 먼저 수동으로 호출


 


      ...                                                                          // 원하는 서브 클래싱 작업 수행


 


      break;


 


    default:


      break;


  }


  return bHandled;


}


 


예제 프로젝트


 


첨부된 예제 프로젝트에서는 CMessageHook 을 상속한 CPersistentSize 라는 클래스를 구현합니다. CPersistentSize는 서브클래싱(hook)할 때 설정된 특정 레지스트리 위치에서 윈도우의 위치 정보를 읽어들인 후 새로운 위치로 대상 윈도우를 이동시킵니다. 또한 대상 윈도우의 WM_DESTROY 메세지를 가로채면서 이 때에 설정된 레지스트리 위치에 새로운 윈도우 위치 정보를 저장합니다. 특정한 라이브러리나 클래스에 종속되지 않는 CMessageHook 클래스의 특징과 CPersistentSize 내부 구현에서도 WIN32 API만을 사용했기 때문에 CPersistentSize 클래스를 위에서 설명한 네 가지 방식 중 한가지 형태로 사용하여 어떠한 윈도우(CWnd, CView, CDialog, CWindow 등등)에  Pesistent Size 특성을 아주 간단하게 적용할 수 있습니다.


 


(추가 ) 예제에 윈도우를 데스크탑 모서리에 스내핑 시키는 CSnapping 클래스를 추가했습니다. 역시 CMessageHook 으로부터 상속하였으며 WIN32 API만 사용하였기 때문에 CSnapping 클래스 역시 모든 WIN32 환경에서 쉽게 적용할 수 있습니다.


 


BOOL CTestPersistentSizeDlg::OnInitDialog()


{


  CDialog::OnInitDialog();


 


  ...


 


  // "HKEY_CURRENT_USERSoftwareLocal AppWizard-Generated Applications estPersistentSizePersistentSize"


  CPersistentSize *pPSHook = new CPersistentSize(_T("Local AppWizard-Generated Applications"), _T("testPersistentSize"), _T("PersistentSize"), TRUE);


  pPSHook->Hook(GetSafeHwnd());


 


  // 20 snap pixels


  CSnapping *pSHook = new CSnapping(20, TRUE);


  pSHook->Hook(GetSafeHwnd());


    


  return TRUE;  // return TRUE  unless you set the focus to a control


}


 


다른 프로젝트에 사용하기 위해서는 http://pds4.devpia.com/vc_lec/8000/7024/MessageHook.h, PersistentSize.h, Snapping.h 를 복사한 후에 위와 같은 코드(또는 위에 설명한 방법들 중에 하나)를 사용하면 Persistent Size나 Snapping Window 특성을 바로 적용할 수 있습니다. (Pluggable Event Handler의 개념)


 


추가 예제


다음은 CMessageHook 클래스를 이용하여 기존의 윈도우 컨트롤에 새로운 기능을 추가(서브클래싱)한 WTL 예제 들입니다. 단 이 링크들에 포함된 CMessageHook 클래스는 이전에 작성한 CMessageHook 클래스를 사용해서 여기에서 제시된 CMessageHook 클래스랑 아주 약간 다릅니다.


 


TitleTips support for Edit, ListBox and ComboBox control


WTL Icon Edit


Dev-studio like EditListBox Control


 


 


레퍼런스:


1) Thunking WndProcs in ATL By Fritz Onion (http://www.pluralsight.com/fritz/Articles/cpprep0399.htm)


2) A freeware MFC class to support MFC subclassing By PJ Naughter (http://www.naughter.com/hookwnd.html)


3) Pluggable Event Handler By William E. Kempf (http://www.codeproject.com/miscctrl/subclasswnd.asp)

이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/07/31 13:33 2005/07/31 13:33
Response
No Trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/67

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/67

Comments List

  1. Nike Air Max for Sal 2011/08/29 17:50 # M/D Reply Permalink

    555clf4
    very gpod

  2. Air Jordans 2011/08/29 17:52 # M/D Reply Permalink

    555clf1
    thanjks for you

Leave a comment
How to retrieve text under the cursor (mouse pointer)
Microsoft Active Accessibilty is the technology that exposes information about objects on the screen to accessibility aids such as screen readers. But that doesn''t mean that only screen readers can use it.

Here''s a program that illustrates the use of Active Accessibility at the most rudimentary level: Reading text. There''s much more to Active Accessibility than this. You can navigate the objects on the screen, read various properties, even invoke commands on them, all programmatically.

Start with our scratch program and change these two functions:

BOOL
OnCreate(HWND hwnd, LPCREATESTRUCT lpcs)
{
SetTimer(hwnd, 1, 1000, RecalcText);
return TRUE;
}

void
PaintContent(HWND hwnd, PAINTSTRUCT *pps)
{
if (g_pszText) {
RECT rc;
GetClientRect(hwnd, &rc);
DrawText(pps->hdc, g_pszText, lstrlen(g_pszText),
&rc, DT_NOPREFIX | DT_WORDBREAK);
}
}

Of course, the fun part is the function RecalcText, which retrieves the text from beneath the cursor:

#include

POINT g_pt;
LPTSTR g_pszText;

void CALLBACK RecalcText(HWND hwnd, UINT, UINT_PTR, DWORD)
{
POINT pt;
if (GetCursorPos(&pt) &&
(pt.x != g_pt.x || pt.y != g_pt.y)) {
g_pt = pt;
IAccessible *pacc;
VARIANT vtChild;
if (SUCCEEDED(AccessibleObjectFromPoint(pt, &pacc, &vtChild))) {
BSTR bsName = NULL;
BSTR bsValue = NULL;
pacc->get_accName(vtChild, &bsName);
pacc->get_accValue(vtChild, &bsValue);
LPTSTR pszResult;
DWORD_PTR args[2] = { (DWORD_PTR)(bsName ? bsName : L""),
(DWORD_PTR)(bsValue ? bsValue : L"") };
if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_STRING |
FORMAT_MESSAGE_ARGUMENT_ARRAY,
TEXT("Name: %1!ws!

Value: %2!ws!"),
0, 0, (LPTSTR)&pszResult, 0, (va_list*)args)) {
LocalFree(g_pszText);
g_pszText = pszResult;
InvalidateRect(hwnd, NULL, TRUE);
}

SysFreeString(bsName);
SysFreeString(bsValue);
VariantClear(&vtChild);
pacc->Release();
}
}
}

Let''s take a look at this function. We start by grabbing the cursor position and seeing if it changed since the last time we checked. If so, then we ask AccessibleObjectFromPoint to identify the object at those coordinates and give us an IAccessible pointer plus a child identifier. These two pieces of information together represent the object under the cursor.

Now it''s a simple matter of asking for the name (get_accName) and value (get_accValue) of the object and format it nicely.

Note that we handled the NULL case of the BSTR in accordance with Eric''s Complete Guide to BSTR Semantics.

For more information about accessibility, check out Sara Ford''s WebLog, in particular the bit titled What is Assistive Technology Compatibility.

posted on Friday, April 23, 2004 6:59 AM

Feedback
# re: How to retrieve text under the cursor (mouse pointer) 4/23/2004 9:51 AM Cooney
That''s pretty cool. Two questions:
1: How heavy is that parsing and traversal?
2: could you defer the calculation until needed and just cache the current mouse position?

# re: How to retrieve text under the cursor (mouse pointer) 4/23/2004 10:09 AM Raymond Chen
1. It''s up to the implementation of IAccessible.
2. Certainly. This was just a Q&D program.

# re: How to retrieve text under the cursor (mouse pointer) 4/23/2004 8:12 PM Peter Torr
(About to look clueless -- hey, I''m a PM!)

Aren''t you freeing an invalid g_pszText the first time round?

And wouldn''t you want to VariantInit(&vtChild) to begin with?

(OK, back to making coffee for the devs...)


# re: How to retrieve text under the cursor (mouse pointer) 4/24/2004 12:16 AM Raymond Chen
1. LocalFree is documented to do nothing when passed NULL.

2. The pvarChild parameter to AccessibleObjectFromPoint is an [out] parameter, so you don''t need to initialize the value on the way in.

# re: How to retrieve text under the cursor (mouse pointer) 4/25/2004 11:29 AM Michael
But, g_pszText is never initialized to NULL though, therefore the first call to LocalFree is called on a random pointer.

# re: How to retrieve text under the cursor (mouse pointer) 4/25/2004 11:55 AM Raymond Chen
Global pointer variables are initialized to NULL by default.

# How to Retrieve Text under the Mouse Pointer using MSAA 4/28/2004 1:51 AM Sara Ford''s WebLog

# re: How to retrieve text under the cursor (mouse pointer) 5/25/2004 6:11 PM TomTom
I did as the instruction says and I got the following error.

(''accessibility'' is the name of the project.)

accessibility error LNK2019: unresolved external symbol _AccessibleObjectFromPoint@16 referenced in function "void __stdcall RecalcText(struct HWND__ *,unsigned int,unsigned int,unsigned long)" (?RecalcText@@YGXPAUHWND__@@IIK@Z)

I use VC7.1. Did anyone have this error?

# re: How to retrieve text under the cursor (mouse pointer) 5/25/2004 6:16 PM Raymond Chen
The documentation for AccessibleObjectFromPoint says

Library: Use Oleacc.lib.

# re: How to retrieve text under the cursor (mouse pointer) 5/25/2004 9:35 PM TomTom
Thanks! I was able to compile and link.

# re: How to retrieve text under the cursor (mouse pointer) 5/25/2004 10:18 PM TomTom
Hi, this is me again.

I followed the example by creating a Win32 project. Because Win32 applications do not look cool these days, I am wondering if this can be done from a managed code. If there is a tip to do it, can you please let me know?

Your help is very much appreciated. Thank you.

# re: How to retrieve text under the cursor (mouse pointer) 5/25/2004 10:55 PM Raymond Chen
"not actually a .NET blog"

# re: How to retrieve text under the cursor (mouse pointer) 5/30/2004 7:55 AM TomTom
I managed to find a way to call the function from a C# program using pinvoke. It took me so long, but I am glad that it can be done.

So, here is my problem. :-). It looks like your code cannot display non-ASCII characters. Do you have a plan to make the code globalized using Unicode? If not, can you suggest me how I can do it?

Thanks!

# re: How to retrieve text under the cursor (mouse pointer) 5/30/2004 9:30 AM Raymond Chen
Um, you need to remember to #define UNICODE and then select an appropriate font into the DC. I had hoped it wasn''t necessary to mention that. I left it out because that wasn''t the point of the article. My articles aren''t complete solutions; they are highlights of specific technology.

# re: How to retrieve text under the cursor (mouse pointer) 6/7/2004 4:27 PM Ray
This program grabs the whole sentence under the cursor. Is there any way that it could just get the individual word under the cursor?

# re: How to retrieve text under the cursor (mouse pointer) 6/7/2004 4:34 PM Raymond Chen
I don''t know. The point here was to get people to notice IAccessible. I leave you to explore it more on your own.

# re: How to retrieve text under the cursor (mouse pointer) 6/9/2004 12:30 AM Mayu
How about in visual basic 6.0?

I''m currently developing code to press a button on a particular program window.
If you have any advice on this, that would be great.

pls email: s4008460@student.uq.edu.au

thnks

# re: How to retrieve text under the cursor (mouse pointer) 6/9/2004 7:55 AM Raymond Chen
I''m assuming my readers are smart enough to translate programs from one language to another. In fact, IAccessible itself is dispatch-based so it is even easier to use from a scripting language than from C++.





--------------------------------------------------------------------------------


Sometimes you can''t read the text under the cursor
I had previously written on how you can retrieve the text under the cursor, and you may have noticed that it produces mixed results. It works great with some programs but not with others.

It depends on the program in question. Some programs were written with greater attention to supporting screen readers than others. Internet Explorer, for example, has excellent support for ActiveAccessibility because browsing the web is a great way for people with disabilities to get involved in the world around them.

Other programs don''t do quite as good a job. For example, the program we developed to demonstrate various scrollbar techniques does not handle the WM_GETOBJECT message and is not accessible.

So whether ActiveAccessibility works for any particular program depends heavily on how much the author of that program had accessibility in mind when they wrote it.

[Raymond is currently on vacation; this message was pre-recorded.]

posted on Wednesday, October 27, 2004 6:37 AM

Feedback
# re: Sometimes you can''t read the text under the cursor 10/27/2004 7:22 AM quaid
Quick, somebody burgle his house.

# re: Sometimes you can''t read the text under the cursor 10/27/2004 8:06 AM Hamburgler
or at least HAMburgle it

robble robble

# Hamburgling 10/27/2004 10:05 AM Vorn
Considering that he''s not htere, there won''t be any hamburgers, unless he keeps the White Castle kind in his freezer - and Hamburgler appears to far prefer McDonald''s burgers. :)

I imagine that he may have ground beef - but, then, if you''re going to be breaking into somebody''s house, why on earth would you want to cook supper while you''re there?

Vorn

# re: Sometimes you can''t read the text under the cursor 10/27/2004 10:07 AM Vorn
And while I''m at it, I wonder if Windows has a built in text-speaking thing. Mac OS X does; I use it a lot when I have a headache, because it''s easier to listen to Stephen Hawking than stare at a screen.

Vorn

# re: Sometimes you can''t read the text under the cursor 10/27/2004 10:43 AM Simon Cooke [exMSFT]
If you''re running XP, hit Windows key + U.

The Narrator is the text-to-speech app.

This may also work on other versions of Windows, but I''ve not tried it on others :)

# re: Sometimes you can''t read the text under the cursor 10/27/2004 12:43 PM Splintor
Narrator and Windows+U work on Windows 2000 as well.

# re: Sometimes you can''t read the text under the cursor 10/27/2004 2:49 PM David Candy
The speech SDK has stuff like this in it. And it was on some 98 (or maybe 95) disks. The Windows Sound System (for 3.1) also had toys like this.

# re: Sometimes you can''t read the text under the cursor 10/27/2004 10:35 PM Brian Friesen
I hate to say it, but what incentive is there for developers to add ActiveAccessibility support to their product? If I had to venture a guess I''d say less than 1 percent of computer users use that feature, probably a lot less than 1 percent. So in the ever tight development cycle if the choice is between things like more features, fixing bugs, or adding ActiveAccessibility, I think the latter is going to get axed every time. In an ideal world with unlimited development time, most developers would probably add support for ActiveAccessibility.

# re: Sometimes you can''t read the text under the cursor 10/28/2004 12:23 AM Raymond Chen
My understanding is that software sold to the US government must be accessible (via Americans with Disabilities Act). That''s at least one piece of incentive.

# re: Sometimes you can''t read the text under the cursor 10/28/2004 12:29 AM Mat Hall
I hope third party screen-reader apps are better than the one supplied with Windows -- in one of my legendary fits of boredom I tried turning my monitor off and using the PC just by listening to the screen reader, but the output it gave was pretty much meaningless. (More precisely, it gives too much information about the physical layout of windows but almost no useful context -- even when it reads out the content of the narrator window it lists the four checkboxes and buttons but makes no mention of the accelerator keys for any of them.)

# re: Sometimes you can''t read the text under the cursor 10/28/2004 12:35 AM Raymond Chen
Yes, thirdparty screenreaders kick Narrator''s butt.

# Damned if you do, damned if you don''t 10/28/2004 1:53 AM Mike Edwards
But then, if Narrator was excellent, all the companies that produce screen readers would tumble out of the woodwork shouting "anti-competitive practices" to all and sundry.

# re: Sometimes you can''t read the text under the cursor 10/28/2004 11:10 AM Saurabh Jain
Also, active accessibility is not just about screen readers, it is about making your program more usable and accessible. It is about making it usable without assuming the presence of mouse, a speaker (and may be a color monitor). Also, most of the times, you get it from free if you are using standard controls.

Aaron goes in detail on this at "Accessiblity is not a feature" (http://blogs.msdn.com/aaronbrethorst/archive/2004/04/03/107193.aspx).

Sara Ford''s blog is a good resource on accessiblity (http://blogs.msdn.com/saraford/
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/07/31 13:30 2005/07/31 13:30
Response
No Trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/63

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/63

Comments List

  1. Vibram FiveFingers 2011/08/29 17:40 # M/D Reply Permalink

    555clf5
    good

  2. Nike Air Max for Sal 2011/08/29 17:44 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment

listen 함수 설명

listen 함수는 외부로부터 들어오는 접속을 감지하기 위해 특정 소켓이 사용될 것임을 윈도우즈 소켓에게 알리는 함수입니다.

int listen (
SOCKET s,
int backlog
);



Parameters

s
[입력] 리슨 하기위해 사용될 소켓의 기술자(descriptor)를 명시합니다.

backlog
[입력] 대기하는 접속을 위한 큐의 최대 길이를 명시합니다. 이 값이 SOMAXCONN 일 경우, 기본 서비스 프로바이더가 적절한 최대 큐의 길이를 설정하는 일을 담당하게 됩니다.

Remarks

접속을 허용하기 위해서 소켓은 우선 socket 함수를 이용해서 소켓을 생성합니다. 그런다음 bind 함수를 이용해서 로컬 어드레스를 바인드하죠. 마지막으로 accept 함수로 접속을 허용합니다. 들어오는 접속요청을 임시저장 하기 위한 큐의 길이는 listen 함수의 backlog 매개변수에 의해서 명시됩니다. listen 함수는 접속 지향형(connection oriented)소켓(예:SOCK_STREAM) 의 경우에만 사용된다는 점 명심합시다.

일반적으로 listen 함수는 한번에 하나 이상의 접속 요구를 가질 수 있는 서버에 사용됩니다. 만약 접속요청이 들어오고, 큐가 가득 차있으면, 프로그램은 WSAECONNREFUSED 라는 에러코드를 일으키며 실패를 할 것입니다.

어플리케이션은 같은 소켓에 대해서 한번이상의 listen 함수를 호출 할 수 있습니다. 이렇게 함으로써 리슨 소켓에 대한 현재의 큐의 최대크기(backlog)를 업데이트 할 수 있습니다. 새로 설정된 큐의 크기보다 더 많은 접속을 하려고 하는 요구가 있을 경우 초과되는 접속요청은 리셋되고, 버려집니다.

Compatibility

backlog 매개변수는 기본 서비스 프로바이더에 의해서 결정되는 적절한 값으로 제한됩니다. 범위를 넘어서거나 잘못된 값을 설정하는 경우 서비스 프로바이더는 적절한 가장 가까운 값으로 이 값을 대체시킵니다. 사실상 실제적인 backlog 값을 알아 낼 수 있는 표준 규정 같은건 없습니다. 그저 일반적으로 SOMAXCONN으로 설정하는 방법이 일반적입니다.

Return Values

에러가 발생하지 않은 경우 listen 함수는 0을 반환 합니다. 에러가 발생한 경우는 SOCKET_ERROR를 반환하고 WSAGetLastError 함수를 이용해서 특정 에러코드를 얻어낼 수 있습니다.

Error Codes

WSANOTINITIALISED 이 함수를 사용하기 전에 성공적인 WSAStartup 함수의 호출이 없었습니다.

WSAENETDOWN 네트웍 서브 시스템에 에러가 발생했습니다.
WSAEADDRINUSE 소켓이 SO_REUSEADDR 옵션으로 마크되어 있지 않은 상태에서 소켓의 로컬 주소가 이미 사용 중입니다.
WSAEINPROGRESS 블럭킹 윈속 v1.1 이 현재 진행 중이거나, 서비스 프로바이더가 콜백 함수를 여전히 처리하고 있습니다.

WSAEINVAL 소켓이 bind 함수를 사용하여 바인드 되지 않았습니다.
WSAEISCONN 리슨소켓으로 사용하려고 하는 소켓이 접속된 상태의 소켓입니다.
WSAEMFILE 사용가능한 소켓 기술자(descriptor)가 남아있지 않습니다.
WSAENOBUFS 사용가능한 버퍼 공간이 남아있지 않습니다.
WSAENOTSOCK 기술자(descriptor)가 소켓 기술자가 아닙니다.
WSAEOPNOTSUPP socket s 매개변수로 넘긴 소켓이 리슨 연산을 지원하기에 적절한 형태의 소켓이 아닙니다.

QuickInfo

Windows NT : 사용가능
Windows : 사용가능
Windows CE : 버젼 1.0 그리고 그이후의 버젼에서 사용가능
Header :
Win16/32 : winsock.h
Win32-II : winsock2.h
Import Library :
Win16 : winsock.lib
Win32 : wsock32.lib
Win32-II : ws2_32.lib

See Also

overview, accept, connect, socket
이올린에 북마크하기

Posted by Dual

2005/07/31 13:29 2005/07/31 13:29
Response
2 Trackbacks , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/62

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/62

Trackbacks List

  1. renee zelwegger bikini

    Tracked from renee zelwegger bikini 2009/08/27 16:59 Delete

    joely fisher nude <a href="http://www.kaboodle.com/joely_fisher_nude_25">joely fisher nude </a>

  2. hydro morph contin

    Tracked from hydro morph contin 2009/10/01 05:33 Delete

    moonlight serenade <a href="http://moonlight-serenade.gscoiqrqnvq.com/">moonlight serenade</a> frugle <a href="http://frugle.gscoiqrqnvq.com/">frugle</a>

Comments List

  1. Nike Air Max for Sal 2011/08/29 17:51 # M/D Reply Permalink

    555clf4
    very gpod

  2. Air Jordans 2011/08/29 17:52 # M/D Reply Permalink

    555clf1
    thanjks for you

Leave a comment
1.요약

윈도우가 리사이즈될때 다시 그려야 하는 영역을 구하는 방법에 대해서 알아 보기로 합니다.


2.본문

MFC 프로그램을 만들때, 프로그램의 성능을 최적화 하기 위해서 화면의 전체를 그리지 않고, 그려야 하는 부분만 계산하여 다시 그리도록 하는 방법을 사용하고 있습니다. 이경우 일반적으로 CView 클래스의 OnDraw() 함수안에서 GetClipBox() 함수를 사용하는데, 아시는지 모르겠지만, GetClipBox() 는 항상 윈도우의 전체 영역을 리턴하도록 되어 있습니다.

왜냐하면 MFC로 만들어진 SDI의 경우 CView와 CFrameWnd가 CS_VREDRAW 와 CS_HREDRAW 속성을 가지고 있는 윈도우 클래스를 사용하기 때문입니다. 따라서, 윈도우가 리사이징 될때마다 항상 자신의 영역 전체를 다시 그리도록 되어 있는 것입니다. 따라서, 이 문제점을 해결하기 위해서는 CS_VREDRAW 와 CS_HREDRAW 속성을 가지고 있는 않는 윈도우 클래스를 정의하여야 합니다.

방법은 다음과 같이 InitApplication() 함수안에서 새로운 클래스를 등록하고 PreCreateWindow() 함수에서 클래스의 이름을 사용하시면 됩니다.



3.예제

class CTestApp : public CWinApp
{
public:
CString m_strMyClassName;
...
}


BOOL CTestApp::InitApplication()
{
// Register our own class with the same attributes as AfxFrameOrView"
// refer to MFC Tech Note 1: Window Class Registration for more
// information.
m_strMyClassName = AfxRegisterWndClass (0, ::LoadCursor (NULL,
IDC_ARROW), (HBRUSH)(COLOR_WINDOW+1),
LoadIcon(AFX_IDI_STD_FRAME));

return CWinApp::InitApplication();
}



BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
CTestApp* pApp = (CTestApp*)AfxGetApp ();
// Change the class name to our own name.
cs.lpszClass = (const char *)(pApp->m_strMyClassName);

return CFrameWnd::PreCreateWindow(cs);
}


BOOL CTestView::PreCreateWindow(CREATESTRUCT& cs)
{
CTestApp* pApp = (CTestApp*)AfxGetApp ();
// Change the class name to our own name.
cs.lpszClass = (const char *)(pApp->m_strMyClassName);

return CView::PreCreateWindow(cs);
}




4.참고

KB - Q177352

* 툴바나, 윈도우 View 쪽에서 깜빡이는게 많이 사라졌습니다.

- 2001.08.19 Smile Seo -
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/07/31 13:29 2005/07/31 13:29
Response
No Trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/61

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/61

Comments List

  1. Air Jordans 2011/08/29 17:41 # M/D Reply Permalink

    555clf1
    thanjks for you

  2. Nike Air Max for Sal 2011/08/29 17:44 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment
1.요약

실행 파일의 헤더안에 저장되어 있는 정보를 읽는 것은 심볼릭 정보나 실행 파일에 대한 더 자세한 것을 얻을 수 있는 방법입니다.


2.본문

다음의 예제는 실행 파일의 헤더(바이너리 정보)로부터 파일의 이름을 얻어오는 루틴입니다. 이 예제는 Debug 시에 실행 파일이 읽어 들이는 모듈의 내용을 확인할 때에 사용될 수 있습니다.


3.예제


// ************************************************************************

// FUNCTION : GetModuleFileNameFromHeader( HANDLE, HANDLE, DWORD, LPTSTR, DWORD )

// PURPOSE : Retrieves the DLL module name for a given file handle of a

// the module. Reads the module name from the EXE header.

// COMMENTS :

// Retrieves only the module name and not the pathname. Returns the

// number of characters copies to the buffer, else returns 0.

// ************************************************************************

DWORD

GetModuleFileNameFromHeader( HANDLE hProcess, HANDLE hFile, DWORD BaseOfDll,

LPTSTR lpszPath, DWORD cchPath )

{

#define IMAGE_SECOND_HEADER_OFFSET (15 * sizeof(ULONG)) // relative to file beginning

#define IMAGE_BASE_OFFSET (13 * sizeof(DWORD)) // relative to PE header base

#define IMAGE_EXPORT_TABLE_RVA_OFFSET (30 * sizeof(DWORD)) // relative to PE header base

#define IMAGE_NAME_RVA_OFFSET offsetof(IMAGE_EXPORT_DIRECTORY, Name)



WORD DosSignature;

DWORD NtSignature;

DWORD dwNumberOfBytesRead = 0;

DWORD PeHeader, ImageBase, ExportTableRVA, NameRVA;



//-- verify that the handle is not NULL

if( !hFile ) {

lstrcpy( lpszPath, "Invalid File Handle" );

return( 0 );

}



//-- verify that the handle is for a disk file

if( GetFileType(hFile) != FILE_TYPE_DISK ) {

lstrcpy( lpszPath, "Invalid File Type" );

return( 0 );

}



//-- Extract the filename from the EXE header

SetFilePointer( hFile, 0L, NULL, FILE_BEGIN );

ReadFile( hFile, &DosSignature, sizeof(DosSignature), &dwNumberOfBytesRead,

(LPOVERLAPPED) NULL);



//-- verify DOS signature found

if( DosSignature != IMAGE_DOS_SIGNATURE ) {

wsprintf( lpszPath, TEXT( "Bad MZ Signature: 0x%x" ), DosSignature );

return( 0 );

}



SetFilePointer( hFile, IMAGE_SECOND_HEADER_OFFSET, (LPLONG) NULL,

FILE_BEGIN );

ReadFile( hFile, &PeHeader, sizeof(PeHeader), &dwNumberOfBytesRead,

(LPOVERLAPPED) NULL );

SetFilePointer( hFile, PeHeader, (LPLONG) NULL, FILE_BEGIN );

ReadFile( hFile, &NtSignature, sizeof(NtSignature), &dwNumberOfBytesRead,

(LPOVERLAPPED) NULL);



//-- verify Windows NT (PE) signature found

if( NtSignature != IMAGE_NT_SIGNATURE ) {

wsprintf( lpszPath, TEXT( "Bad PE Signature: 0x%x" ), DosSignature );

return( 0 );

}



SetFilePointer( hFile, PeHeader + IMAGE_BASE_OFFSET, (LPLONG) NULL,

FILE_BEGIN );

ReadFile( hFile, &ImageBase, sizeof(ImageBase), &dwNumberOfBytesRead,

(LPOVERLAPPED) NULL);

SetFilePointer( hFile, PeHeader + IMAGE_EXPORT_TABLE_RVA_OFFSET,

(LPLONG) NULL, FILE_BEGIN );

ReadFile( hFile, &ExportTableRVA, sizeof(ExportTableRVA),

&dwNumberOfBytesRead, (LPOVERLAPPED) NULL);



//-- now read from the virtual address space in the process

ReadProcessMemory( hProcess,

(LPVOID) (BaseOfDll + ExportTableRVA + IMAGE_NAME_RVA_OFFSET),

&NameRVA, sizeof(NameRVA), &dwNumberOfBytesRead );

lstrcpy( lpszPath, "Empty!" );

if( !ReadProcessMemory( hProcess,

(LPVOID) (BaseOfDll + NameRVA),

lpszPath, cchPath, &dwNumberOfBytesRead ) )

lstrcpy( lpszPath, "Access Denied!" );



return( dwNumberOfBytesRead );

}



4.참고

Platform SDK - Debug Event Browser!



- 2001.08.19 Smile Seo -
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/07/31 13:28 2005/07/31 13:28
Response
No Trackback , 4 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/60

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/60

Comments List

  1. coach bags 2010/12/27 23:07 # M/D Reply Permalink

    http://www.suprashoesaleonline.com/ supra shoes
    http://www.suprashoesaleonline.com/ cheap supra shoes
    http://www.suprashoesaleonline.com/ supra shoes on sale
    http://www.suprashoesaleonline.com/ buy supra shoes
    http://www.suprashoesaleonline.com/ supra shoes online
    http://www.suprashoesaleonline.com/ supra on sale
    http://www.mbtshoesaleonline.com/ mbt outlet
    http://www.mbtshoesaleonline.com/ mbt shoes
    http://www.mbtshoesaleonline.com/ mbt shoes on sale
    http://www.mbtshoesaleonline.com/ mbt shoes online
    http://www.mbtshoesaleonline.com/ cheap mbt shoes
    http://www.coach-bags-outlet.com/ coach bags outlet
    http://www.coach-bags-outlet.com/ coach bags
    http://www.coach-bags-outlet.com/ coach outlet
    http://www.coach-bags-outlet.com/ coach outlet online
    http://www.coach-bags-outlet.com/ coach outlet store online

  2. Coach Wristlets 2011/03/16 17:07 # M/D Reply Permalink

    <p><strong>[url=http://www.christianlouboutinschuhesale.com/]Christian Louboutin Sale[/url]</strong> is a page dedicated to
    the best online sale links on Christian Louboutin merchandise. <strong>Christian Louboutin</strong> is a French shoe designer
    whose signature red-soled shoes have been worn by several celebrities including Angelina Jolie and Britney Spears. While
    <strong>[url=http://www.themanoloblahnik.com/discount-christian-louboutin-c-6]Christian Louboutin[/url]'</strong>s extremely
    high-heeled shoes generally retail for approximately $500 (or more) diligent shoppers can often find them discounted online.
    <br>Many people believe that buy <strong>[url=http://www.themanoloblahnik.com/christian-louboutin-pumps-c-6_2]Cheap Christian
    Louboutin Shoes[/url]</strong> can be a wise decision for you and the have proper reason behind that as well. <strong><a
    href="http://www.christianlouboutinschuhesale.com/]Christian Louboutin Manolo Blahnik[/url] </strong>has create a good image in
    the market today and most of the people want to have one of these in the collection today. People are very happy with the
    quality and design of the <strong>[url=http://www.themanoloblahnik.com/]zapatos manolo blahnik[/url]</strong> as it is very
    important when you decide to buy a shoe.<br>
    However,<strong>[url=http://www.coachwiki.net/coach-crossbody-bags]Coach Bags[/url]</strong> has always stressed the
    practicality of <strong>[url=http://www.coachwiki.net/]Coach Outlet Store[/url]</strong> leather, adhering to high-quality
    hand-made raw materials. For better result, you can compare it with other black handbags from top name brands. You can compare
    the materials, designs, quality and price. I am sure, you will go back to black coach handbags.</p>
    <p><strong>[url=http://www.timberlandoutlet.org/]Timberland Outlet[/url]</strong> has been standing in the international market for over 30 years, and become the industry's leading listed companies. Today, Timberland each of the footwear, apparel and outdoor equipment products, remain to fine craft careful manufacture,The products of <strong>[url=http://www.timberlandoutlet.org/timberland-womens-boots-c-26.html]Discount Timberland Boots[/url]</strong> allow people to enjoy the show personal style, so users get the rest of the world's undisputed: American pop singer Mariah Carey and Whitney Houston a great affection for Timberland brands.</p>

  3. Air Jordans 2011/08/29 17:41 # M/D Reply Permalink

    555clf1
    thanjks for you

  4. Nike Air Max for Sal 2011/08/29 17:44 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment

대용량의 파일 순식간에 읽기

1.요약

10M 이상이 되는 파일을 빠르게 읽는 방법을 알아보기로 합니다.


2.본문

<대용량 파일 읽기 (빠르게...)>
v 파일 읽기는 자주 사용하실 것인데.. CFile::Read를 사용하면.. 10MB정도 되는 파일을 읽으면 무진장 오래 걸려서.. 메모리 맵 파일을 이용한 파일 읽기 방법을 올려 들립니다..

많은 예제가 나온것으로 알지만.. 혹시... 도 몰라서..



BOOL OpenFiles(LPCSTR lpszPathName)

{

DWORD dwFileSize;

HANDLE hFile, hFileMap;

LPVOID lpvFile;



hFile = ::CreateFile(lpszPathName, GENERIC_READ , 0, NULL

OPEN_EXISTING, FILE_ATTRIBUTTE_NORMAL, NULL);

if(hFile == INVALID_HANDLE_VALUE) {

//여기에서 에러 메세지 처리..

}

dwFileSize = ::GetFileSize(hFile, NULL);



hFileMap = CreateFileMapping(hFile, NULL, PAGE_WRITECOPY, 0,

dwFileSize, NULL);



if(hFileMap == NULL) {

CloseHandle(hFile);

//여기에서 에러 메세지 처리..

}



lpFile = MapViewOfFile(hFileMap, FILE_MAP_COPY, 0,0,0);



if(lpFile == NULL) {

CloseHandle(hFile);

CloseHandle(hFileMap);

//여기에서 에러 처리

}

}


이렇게 하면.. 대용량의 파일을 빠르게 읽을 수 있습니다..

제가 시간을 한번 제어 봤는데.. 4초 안에 끊나더군요..

흠.. 그리고 여기에 나온 함수는 Help에서 정확한 내용을 보세요.

.
<대용량 파일 빠르게 읽기 2>

메모리 맵파일을 이용한 방법외에 간단한 방법이 있어서 말씀드려볼까 합니다.

어려운 루틴은 아니고요, 그냥 도스용 시절에 사용했던 fread함수를 사용한 것입니다.

물론 fread대신 다른 파일 읽기 함수를 사용해도 됩니다.

다만 사용자 편의를 위해서 추가로 만들어진 파일함수들은(파일함수뿐만 아니라 다른 것들도 마찬가지...) 사용하긴 편하겠지만, 속도가 무척 느린 문제가 있습니다.


char *ReadFile( char *FileName )

{

FILE *fp;

int FileSize;

char *buffer;



try {

fp = fopen( FileName, "rb" );

if( !fp ) throw "File Not Found!";



FileSize = filelength( fileno(fp) );

buffer = new char [FileSize+1];

fread( buffer, FileSize, 1, fp );

*(buffer + FileSize) = 0;

fclose( fp );

return buffer;

}

catch( char *msg ) {

printf( msg );

return NULL;

}

}


위의 try ~ catch구분은 중요한것은 아니고요, 대부분의 프로그래머분들이 예외처리를 함에 있어서 일반적인 C스타일로 일일히 에러메시지를 코딩하더군요.

그래서 혹시나 도움이 될까 해서 try ~ catch구분을 사용해보았습니다. 어려운건 아니니깐 try ~ catch를 사용하면 코딩이 훨씬 간단해질꺼예요. ^^

그리고 위의 파일읽기 함수를 fopen/fread등을 사용했는데, 이건 C를 시작하는 분들 께 조금이나마 이해가 쉽도록 도스에서 사용하던 함수를 사용했습니다. 물론 이 함수들은 윈도우즈에서도 그대로 사용할수 있습니다.

원래 도스에서 fread는 한블럭최대크기가 64k로 제한됩니다.

따라서 64k씩 나누어서 파일을 읽어들여야 하는데, 윈도우즈에서는 그냥 한번에 읽을 수 있더군요. ^^

10메가 정도 읽어들이는데 있어서, 펜133의 컴에서 약 3초미만으로 걸리는 것 같습니다.



- 2001.08.13 Smile Seo -
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/07/31 13:28 2005/07/31 13:28
Response
No Trackback , 3 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/59

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/59

Comments List

  1. Vibram FiveFingers 2011/08/29 17:38 # M/D Reply Permalink

    555clf5
    <p>You may appear <h1><a href="http://www.fivefingersvibramsales.com"><strong>Vibram FiveFingers Shoes</strong></a></h1> foolish whilst saying that putting on footwear raises the danger of injury and numerous pains but it's truly genuine in accordance with most recent medical studies <strong><a href="http://www.fivefingersvibramsales.com">Vibram FiveFingers</a></strong>. These costly athletic footwear that state to supply one of the best help for your foot is truly growing leg injuries,<strong><a href="http://www.fivefingersvibramsales.com">Five Fingers 2011</a></strong> muscle strains and worry fractures whereas operating barefoot strengthens your stabilising muscle tissue and minimizes odds of sprained ankles along with other
    <h1><strong><a href="http://www.fivefingersvibramsales.com">Cheap Five Fingers Sale</a></strong></h1>
    <p>injuries. We should be considering when the current natural environment is appropriate for walking or operating barefoot with all of the dirt and dangerous elements around the roads <strong><a href="http://www.fivefingersvibramsales.com">Five Fingers Shoes</a></strong> but an choice has become derived by 1 company, Vibram in type of footwear known as Vibram 5 fingers each and every of your toes into its <strong><a href="http://www.fivefingersvibramsales.com">Cheap Vibram Five Fingers</a></strong> personal compartment which permit your ft to <a href="http://www.fivefingersvibramsales.com/vibram-fivefingers-kso-trek-c-93.html"><strong>Vibram FiveFingers KSO Trek</strong></a> adapt to its organic posture around the surface.Apart from your sensation of walking barefoot, you can really feel the lone security which permits you to definitely really feel every little thing under your <strong><a href="http://www.fivefingersvibramsales.com">Discount Vibram Five Fingers</a></strong> whilst guarding your foot from ingredients like glass, dirt along with other issues that you just definitely don't wish to your ft to action on. A typical perception is the simple fact that a shoe absorbs shock and will cushion the blow of the tough surface area but people today are unaware that our entire body is equipped with one of the best shock absorbers; the only issue needed would be to give a possibility <strong><a href="http://www.fivefingersvibramsales.com/vibram-fivefingers-speed-c-104.html">Vibram FiveFingers Speed</a></strong> to shock absorbers of your entire body to display up their performance.<a href="http://www.fivefingersvibramsales.com/vibram-fivefingers-bikila-c-102.html"><strong>Cheap Five Fingers Bikila</strong></a> and Nike totally free collection of footwear would be the fundamental equipments for barefoot runners that permits the runner additional independence within their pace not merely inside beach front or in locations using a gentle composite observe but <a href="http://www.fivefingersvibramsales.com/vibram-fivefingers-classic-c-91.html"><strong>Mens Five Fingers Classic </strong></a>additionally on asphalt and concrete street races. No doubt barefoot operating tries its very best to shield <strong><a href="http://www.fivefingersvibramsales.com/vibram-fivefingers-sprint-c-89.html">Vibram FiveFingers Sprint</a></strong> from injuries however it is advisable for people today with earlier foot surgery, clubfoot, injury to tendons or diabetic people today that end result inside of a numbness within the ft ought to be very cautious whilst attempting <strong><a href="http://www.fivefingersvibramsales.com/vibram-fivefingers-kso-c-90.html">Vibram FiveFingers KSO</a></strong> running.</p>

  2. Vibram FiveFingers 2011/08/29 17:39 # M/D Reply Permalink

    555clf5
    You may appear [url=http://www.fivefingersvibramsales.com][b]Vibram FiveFingers Shoes[/b][/url] foolish whilst saying that putting on footwear raises the danger of injury and numerous pains but it's truly genuine in accordance with most recent medical studies [b][url=http://www.fivefingersvibramsales.com]Vibram FiveFingers[/url][/b]. These costly athletic footwear that state to supply one of the best help for your foot is truly growing leg injuries,[b][url=http://www.fivefingersvibramsales.com]Five Fingers 2011[/url][/b] muscle strains and worry fractures whereas operating barefoot strengthens your stabilising muscle tissue and minimizes odds of sprained ankles along with other
    [b][url=http://www.fivefingersvibramsales.com]Cheap Five Fingers Sale[/url][/b]
    injuries. We should be considering when the current natural environment is appropriate for walking or operating barefoot with all of the dirt and dangerous elements around the roads [b][url=http://www.fivefingersvibramsales.com]Five Fingers Shoes[/url][/b] but an choice has become derived by 1 company, Vibram in type of footwear known as Vibram 5 fingers each and every of your toes into its [b][url=http://www.fivefingersvibramsales.com]Cheap Vibram Five Fingers[/url][/b] personal compartment which permit your ft to [url=http://www.fivefingersvibramsales.com/vibram-fivefingers-kso-trek-c-93.html][b]Vibram FiveFingers KSO Trek[/b][/url] adapt to its organic posture around the surface.Apart from your sensation of walking barefoot, you can really feel the lone security which permits you to definitely really feel every little thing under your [b][url=http://www.fivefingersvibramsales.com]Discount Vibram Five Fingers[/url][/b] whilst guarding your foot from ingredients like glass, dirt along with other issues that you just definitely don't wish to your ft to action on. A typical perception is the simple fact that a shoe absorbs shock and will cushion the blow of the tough surface area but people today are unaware that our entire body is equipped with one of the best shock absorbers; the only issue needed would be to give a possibility [b][url=http://www.fivefingersvibramsales.com/vibram-fivefingers-speed-c-104.html]Vibram FiveFingers Speed[/url][/b] to shock absorbers of your entire body to display up their performance.[url=http://www.fivefingersvibramsales.com/vibram-fivefingers-bikila-c-102.html][b]Cheap Five Fingers Bikila[/b][/url] and Nike totally free collection of footwear would be the fundamental equipments for barefoot runners that permits the runner additional independence within their pace not merely inside beach front or in locations using a gentle composite observe but [url=http://www.fivefingersvibramsales.com/vibram-fivefingers-classic-c-91.html][b]Mens Five Fingers Classic [/b][/url]additionally on asphalt and concrete street races. No doubt barefoot operating tries its very best to shield [b][url=http://www.fivefingersvibramsales.com/vibram-fivefingers-sprint-c-89.html]Vibram FiveFingers Sprint[/url][/b] from injuries however it is advisable for people today with earlier foot surgery, clubfoot, injury to tendons or diabetic people today that end result inside of a numbness within the ft ought to be very cautious whilst attempting [b][url=http://www.fivefingersvibramsales.com/vibram-fivefingers-kso-c-90.html]Vibram FiveFingers KSO[/url][/b] running.

  3. Vibram FiveFingers 2011/08/29 17:39 # M/D Reply Permalink

    555clf5
    You may appear

    Vibram FiveFingers Shoes
    foolish whilst saying that putting on footwear raises the danger of injury and numerous pains but it's truly genuine in accordance with most recent medical studies Vibram FiveFingers. These costly athletic footwear that state to supply one of the best help for your foot is truly growing leg injuries,Five Fingers 2011 muscle strains and worry fractures whereas operating barefoot strengthens your stabilising muscle tissue and minimizes odds of sprained ankles along with other
    Cheap Five Fingers Sale
    injuries. We should be considering when the current natural environment is appropriate for walking or operating barefoot with all of the dirt and dangerous elements around the roads Five Fingers Shoes but an choice has become derived by 1 company, Vibram in type of footwear known as Vibram 5 fingers each and every of your toes into its Cheap Vibram Five Fingers personal compartment which permit your ft to Vibram FiveFingers KSO Trek adapt to its organic posture around the surface.Apart from your sensation of walking barefoot, you can really feel the lone security which permits you to definitely really feel every little thing under your Discount Vibram Five Fingers whilst guarding your foot from ingredients like glass, dirt along with other issues that you just definitely don't wish to your ft to action on. A typical perception is the simple fact that a shoe absorbs shock and will cushion the blow of the tough surface area but people today are unaware that our entire body is equipped with one of the best shock absorbers; the only issue needed would be to give a possibility Vibram FiveFingers Speed to shock absorbers of your entire body to display up their performance.Cheap Five Fingers Bikila and Nike totally free collection of footwear would be the fundamental equipments for barefoot runners that permits the runner additional independence within their pace not merely inside beach front or in locations using a gentle composite observe but Mens Five Fingers Classic additionally on asphalt and concrete street races. No doubt barefoot operating tries its very best to shield Vibram FiveFingers Sprint from injuries however it is advisable for people today with earlier foot surgery, clubfoot, injury to tendons or diabetic people today that end result inside of a numbness within the ft ought to be very cautious whilst attempting Vibram FiveFingers KSO running.

Leave a comment

프로그램 한번만 실행하기

1.요약

프로그램이 중복 실행되는 것을 방지하는 코드를 살펴봅시다.


2.본문

프로그램의 중복 실행을 막는 방법에는 여러가지가 있겠지만, 공유 Data segment 를 사용하는 방법을 살펴보겠습니다.


3.예제


//아래 부분은 메소드 안에 쓰는게 아닙니다.

//그냥 cpp file상단에 넣어 주세요.

#pragma data_seg("Shared") // 데이타 세그먼트를 생성하는데 Shared란 섹션을 만들어라.

long m_lUsageCnt=0; // Shared란 데이타 세그먼트 섹션에 들어가는 변수.

// 반드시 초기화를 해주어야합니다. 이유는 초기화를 안할시 우리가 원하는 섹션으로

// 가는것이 아니라 bbs섹션으로 들어가기 때문입니다.

#pragma data_seg()



#pragma comment(linker, "test /section:Shared,rws") //여기서 test는 exe화일 이름입니다.

// 링커에게 이섹션은 쓰기, 읽기, 공유로 링크함을 알림



이렇게 써주면 m_lUsageCnt변수는 공유를 하게됩니다.

이것을 이용해서 우리의 어플리케이션이 몇개가 실행중인지를 알수있습니다.



initinstance에서 m_IUsageCnt를 하나 증가 시키고 1크면 return FALSE; 하면 됩니다.



m_IUsageCnt++;

if(m_IUsageCnt > 1)

return FALSE;




- 2001.08.13 Smile Seo -
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/07/31 13:28 2005/07/31 13:28
Response
No Trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/58

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/58

Comments List

  1. Air Jordans 2011/08/29 17:46 # M/D Reply Permalink

    555clf1
    thanjks for you

  2. Nike Air Max for Sal 2011/08/29 17:47 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment
1.요약

VC++ 의 Project Wizard 에서 생성한 Console 프로젝트를 Windows Application 프로젝트로 바꾸는 방법에 대해서 알아봅니다.


2.본문

VC++ 을 가지고 프로젝트를 만들다 보면, 처음에 쉽게 실수할수 있는 부분이 바로 Windows Application 과 Console 프로젝트를 구분하지 못한채 프로젝트를 만든다는 것입니다. 이런 상황은 자주 일어나며, 초보자들은 이런 상황을 만났을때 상당히 혼란스러워 합니다. Windows Application 을 위한 Project를 만들었지만, 실제로 Console 프로젝트를 만들려고 한다면, 아래와 같은 Link 에러를 만날수 있습니다.


LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16

Debug/Console.exe : fatal error LNK1120: 1 unresolved externals
그럼 Windows Application 프로젝트를 어떻게 Console 프로젝트를 바꿀 수 있을까요? 실제로 두 프로젝트 셋팅의 차이점은 아래의 두가지에서 나타납니다.

[Project Settings..]
+--> [C/C++] --> Preprocessor definitions : _WINDOWS or _CONSOLE
+--> [Link] --> Projects Options : /subsystem:windows or /subsystem:console
따라서 위의 설정을 Console 과 Windows 에 맞게 설정해 주시면 되겠습니다.

만일 Windows Application 으로 만든경우라면, 위의 두가지 경우에서 _CONSOLE 과 /subsystem:console 로 변경하면 되겠죠..



- 2001.08.13 Smile Seo -
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/07/31 13:27 2005/07/31 13:27
Response
No Trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/57

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/57

Comments List

  1. Air Jordans 2011/08/29 17:47 # M/D Reply Permalink

    555clf1
    thanjks for you

  2. Nike Air Max for Sal 2011/08/29 17:48 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment

Break Pointer 는 INT 3 으로 통한다!!

1.요약

INT 3 이라는 어셈블리 코드를 사용하여 사용자가 임의로 break pointer 를 추가해 보도록 하겠습니다.


2.본문

break pointer 는 특정 부분을 디버깅할때 사용하는 아주 유용한 툴(?)입니다. 그런데 디버깅을 단순히 사용하는데에 그치지 않고 break pointer 를 디버거가 어떻게 구현하는지 알아보기로 하겠습니다. 우선 디버거가 break pointer 를 구현할때에는 해당 라인에 INT 3 이라는 값을 넣어 둡니다. 그러면 INT 3 이라는 값이 이미 CPU 에서 break pointer 라고 정의되어 있기 때문에 디버거에 메세지가 날라와서 디버거가 그 메세지를 가지고 사용자에게 상태값들을 보여줄 수 있는 것이지요. 그럼 INT 3 이라는 값을 사용하여 맘대로 break pointer 를 걸어둘수는 없을까요? 네. 실제로 간단합니다.

그럼 구체적으로 살펴보기 위해서 우선 간단한 Console project 를 만들어 보시기 바랍니다.

그리고 나서 아래의 코드와 같이 입력하시고


int main(int argc, char* argv[])

{

int a;



a = 10; // 이곳에 Break pointer 를 걸어둡니다. (F9 키)



printf("Hello World!
");

return 0;

}


자... 그리고 프로그램을 실행해보세요.

그럼 프로그램이 a = 10; 에서 멈추겠지요?

그런데 이 부분을 아래와 같이 고쳐보기로 합시다.


int main(int argc, char* argv[])

{

int a;



// a 의 값을 알고 싶기 때문에

// 여기에 break pointer 를 넣고 싶습니다.



__asm

{

INT 3

}



a = 10;





printf("Hello World!
");

return 0;

}


자 그럼 어떻게 될까요? a = 10; 앞에 assembly 코드로 INT 3 이라는 값을 넣었죠? 그럼 디버거는 사용자가 임의로 break pointer 를 걸어놓았다는 메세지와 함께 해당 프로세스를 멈춥니다..

실제로 해보세요.. 참고로 위에서 __asm {} 은 어셈블리 코드를 사용하겠다는 의미입니다.

그럼 여기에 머물지 말고 위의 코드를 보다 더 다양하게 사용하기 위한 방법을 알아볼까요?

위의 Break pointer 를 define 상수로 표현하면 훨씬 더 효과적이겠네요.^^.


#ifdef USER_DEBUG



// BREAK_POINTER 로 정의합니다.

#define BREAK_POINTER __asm

{

INT 3

}



#endif





int main(int argc, char* argv[])

{

int a;



// a 의 값을 알고 싶기 때문에

// 여기에 break pointer 를 넣고 싶습니다.



#ifdef USER_DEBUG

BREAK_POINTER

#endif



a = 10;





printf("Hello World!
");

return 0;

}




위의 코드를 입력하고 실행하면 어떻게 될까요? 네 물론 break pointer 가 걸리지 않습니다. 이유는 USER_DEBUG 라는 상수가 정의 되어 있지 않기 때문인데요.

#include "stdafx.h" 밑에


#define USER_DEBUG

라고 입력하시고 프로그램을 실행해 보세요..

그럼 어떻게 되죠? 네.. 그렇습니다. user break pointer 가 걸립니다.

재밌죠?

이제 여러분은 디버깅을 하기 위해서 특정 부분에 위의 함수를 넣어두고, USER_DEBUG 를 선언하거나 선언하지 않음으로써 break pointer 를 막을 수 있게 되었습니다.


3.예제


// 전체 소스

// Break.cpp : Defines the entry point for the console application.

//



#include "stdafx.h"



#define USER_DEBUG



#ifdef USER_DEBUG

// BREAK_POINTER 로 정의합니다.

#define BREAK_POINTER __asm

{

INT 3

}



#endif



inline void BreakPointer()

{

#ifdef USER_DEBUG

BREAK_POINTER

#endif

}





int main(int argc, char* argv[])

{

int a;



// a 의 값을 알고 싶기 때문에

// 여기에 break pointer 를 넣고 싶습니다.



BreakPointer();



a = 10;





printf("Hello World!
");

return 0;

}




- 2001.08.13 Smile Seo -






-----------------------------------------------------

Dual Comment *

하지만 말이죠. DebugBreak() 라는 함수를 통해서 저위의 int 03은

대체 가능합니다. :p
이올린에 북마크하기

Posted by Dual

2005/07/31 13:27 2005/07/31 13:27
Response
No Trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/56

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/56

Comments List

  1. Air Jordans 2011/08/29 17:46 # M/D Reply Permalink

    555clf1
    thanjks for you

  2. Nike Air Max for Sal 2011/08/29 17:47 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment
1.요약

타이틀 바가 없는 프로그램을 만들 경우 태스크 바에는 프로그램 이름만 나오고 아이콘은 나오지 않습니다. 이런 경우 아이콘을 나오게 하는 방법입니다.


2.본문

아이콘이 나오지 않는 이유는 시스템 메뉴 속성이 빠져있기 때문인데 시스템 메뉴는 타이틀 바가 있어야지만 만들어 집니다. 리소스 에디터에서는 아무리 속성을 조작해봐도 타이틀바 없이 시스템 메뉴를 추가 할 수가 없기 때문에 태스크 바에 아이콘이 나오지 않는 것입니다.

해결 방법은 너무 간단합니다.

아래 코드 한줄을 프로그램 생성 부(OnCreate or OnInitDialog)에 넣어주면 문제는 간단히 해결됩니다.


ModifyStyle(NULL, WS_SYSMENU);



3.예제



4.참고


- 2001.08.06 Smile Seo -
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/07/31 13:26 2005/07/31 13:26
Response
No Trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/55

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/55

Comments List

  1. Air Jordans 2011/08/29 17:46 # M/D Reply Permalink

    555clf1
    thanjks for you

  2. Nike Air Max for Sal 2011/08/29 17:47 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment

Give Me a Handle, and I'll Show You an Object

Ruediger Asche
Microsoft Developer Network Technology Group


Created: July 15, 1993


Abstract


This article discusses objects and handles under Microsoft® Windows™ version 3.1 and Windows NT™. The terms objects and handles have different meanings in each operating system and imply a variety of relationships between objects and their corresponding handles. This article elaborates on the differences between the way components of Windows NT treat objects as opposed to the way Windows 3.1 treats them, with particular emphasis on shareability issues.


Introduction


You got a smile so bright,
You know you could have been a candle.
I'm holding you so tight,
You know you could have been a handle.


Smokey Robinson, "The Way You Do the Things You Do"


One of the masterpieces of contemporary American literature, Webster's New World Dictionary (Paperback Edition), defines a handle as "that part of a tool, etc., by which it is held or lifted." Now, is this a precise definition or what? What on earth is etc.? By intuitive knowledge, we know that etc. can cover anything from toothbrushes to tennis rackets to cookware. While I leave it up to the imagination of the reader to figure out what Smokey Robinson wanted to hold or lift, I will tell you right away what we will be handling in this article: objects.


Object is one of the major buzzwords of today's computer reality. You find objects everywhere, from object-oriented languages to object linking and embedding. Microsoft® Windows™ has used the term object for a long time to describe several very different things. To further confuse the issue, things that are not explicitly labeled as objects behave the same way as some objects do.


Windows NT™ is essentially an object-centered operating system and has a very definite notion of what an object is. Unfortunately, Windows NT's idea of an object is not related at all to the concept that 16-bit Windows has of an object; as a result, when writing a Win32®-based application for Windows NT, you will need to deal with even more "object types," which will make the confusion about objects potentially even greater. This article untangles the different meanings of the term object and the related term handle, and makes you aware of potential incompatibilities between applications written for Windows version 3.1 and for Win32.


We display the entire object and handle layout of Windows NT in the Appendix at the end of this article. Please refer to it as necessary as you read this article.


One more note: For the sake of this discussion, we will entirely leave out C++ and Microsoft Foundation Class Library objects. Although some Foundation class objects are directly mapped to objects provided by the operating system, the way Foundation class objects are referenced, maintained, and protected is exclusively a compiler issue. In this article we will focus on objects that are provided and maintained on the operating system level.


This article is not meant to be a supplement to the documentation of Windows NT. All that is described herein applies to version 3.1 of Windows NT and may change in future versions of the operating system. Please be aware that applications written for the Win32 API are meant to be portable between all platforms that support this API, and any assumptions about a particular implementation (such as the relationships between handles and objects as described in this article) will break applications that operate under such assumptions.


Objects in 16-Bit Windows


The idea of an object that Windows 3.1 introduced was roughly "something that is accessed through a handle." In Windows 3.1, you create the object—a process that returns a magic cookie called a handle—and subsequently use the handle to access the object. This ensures that the actual implementation of the object can be changed without affecting the application.


If you have used objects and handles exactly like this, you are well off, and you will find that you will need to change almost nothing when porting your application from Windows 3.1 to 32-bit Windows NT. However, many developers for Windows 3.1 made assumptions about the relationship between handles and their objects—sometimes they had to because application programming interfaces (APIs) were missing for certain operations. Such assumptions will break applications under Windows NT.


Maybe you have used GlobalHandle to retrieve the handle of any given address and subsequently use the handle to reallocate the object? Works like a charm under 16-bit Windows. Maybe you have extracted the HIWORD of a given pointer and converted it into a handle, or peeked into memory without doing a GlobalLock using that handle? Maybe you were bold, retrieving the base of the local descriptor table and looking at descriptors by using the handle as an offset into the table? Beware, it's these kinds of things that will leave you with major redesign work when you try to port your application.


Such things used to work under 16-bit Windows, mainly due to two widely known facts:


  • First, objects under 16-bit Windows generally fall into two categories: objects that are stored in GDI's and USER's local heaps, and objects that are allocated from the global heap (that is, Windows internally calls GlobalAlloc to allocate memory for that object).
  • Second, the handles that belong to global heap objects are, in fact, selectors to those global memory segments, which implies an immediate relationship between the handle and its memory location.

For example, there is no API under Windows 3.1 that returns the size of a resource, given its handle. No problem; because resources are allocated from the global heap, you can eventually use all of the global heap functions to party on the resources. You can call GlobalPageLock if, for whatever reason, you wish to permanently lock the resource; you can call GlobalSize to figure out its current size; you can GlobalRealloc it if you wish to dynamically change its size; and you can even GlobalLock it to write to or read from the resource data directly.


The entities that are explicitly labeled as objects under Windows 3.1 are GDI and USER objects. GDI objects are brushes, pens, bitmaps, fonts, palettes, and regions; USER objects are window classes, atoms, menus, and windows. Handles for those objects are, in fact, pointers into the default data segments of the GDI and USER modules, respectively. A relationship between the handles and the objects is implied in that the handles, when converted to pointers into USER's and GDI's default data segment, point to data structures that describe the objects internally.


Unfortunately, the API sets that treat those objects are fairly inconsistent. Although the Createxxx and corresponding DeleteObject APIs were originally designed to provide a uniform Create/Use/Delete sandwich for all GDI object types, not even palettes could be incorporated into the paradigm when they were introduced with Windows 3.0; SelectObject will not work on them. On the other hand, walking GDI's local heap will reveal that palettes are stored in there the same way as brushes, pens, bitmaps, fonts, device contexts, and regions are; thus, although they are stored internally the same way, they have different operations that work on them.


One of the corollaries of the design of Windows 3.1 is that all objects are globally accessible. Because only one local descriptor table (LDT) is being used for all Windows-based applications, all global handles (that is, selectors) can be used by all applications and DLLs; and because all GDI and USER objects are references into the globally accessible GDI and USER default data segments, they can be seen and used by all applications as well.


This implementation detail is widely used by many applications, be it explicitly (for example, in order to share memory) or implicitly (for example, in order to enumerate windows or fonts). One of the unfortunate consequences of this design is that any application can (deliberately or inadvertently) modify or possibly destroy objects that belong to other applications. There is no protection mechanism against these kinds of practices. ("The Way We Used to Do the Things We Did.")


Object Management Under Windows NT


Windows NT has a rather precise and orthogonal idea of what an object is. Windows NT has an API set that works on all kinds of objects; handles are maintained by the executive via a consistent mechanism that allows for secure access to objects, supports synchronization, and rejects attempts to delete objects that are still in use.


The objects that Windows NT knows about are processes, threads, files (including devices that look like files, such as communication devices, mail slots, or pipes), file mappings (or sections, as they are labeled on the executive level), events, semaphores, and mutexes. All of those object types have certain properties in common that we will elaborate on a bit later.


You can see that none of the things that Windows 3.1 calls objects (hereafter called "old objects") are covered by the term objects in Windows NT. The equivalents of Windows 3.1 "old objects" are not implemented on the executive level under Windows NT, so next we'll look a little bit more closely at how the Win32 subsystem implements "old objects." In other words, a window or a brush or a pen does not have anything to do with a Windows NT object, and the Windows NT executive would be totally clueless if it were passed a handle to one of those objects.


How the Subsystem Realizes Windows GDI Objects


Let us begin with GDI objects. Under Windows 3.1, GDI objects are stored in GDI's default data segment. They are designed to be global; that is, one application can create an object and pass it on to another application. There is no ownership of GDI objects in 16-bit Windows; thus, one application can destroy a GDI object that you created in another application.


Under Windows NT, GDI objects are stored in the client part of the Win32 subsystem's GDI module. That means that any GDI object is valid only in the context of the application that created it. However, consider this: Create an object and pass its handle to another application. Let this other application call SelectObject on that newly created object, and the call may succeed! However, nothing might happen; or instead of a brush, a pen might be selected into the device context! What is happening?


Well, what happens here is that handles to GDI objects are internally implemented as offsets into a handle table that resides on the client side of the Win32 subsystem. (Remember that the Win32 client is a DLL that resides in a Win32-based application's address space and is called by the application.) In other words, handle tables are kept on a per-process basis, but they are not process-tagged. That means that a handle to an object that belongs to process A might coincidentally look like a valid handle in process B's context. Thus, a call to SelectObject from B might succeed, but B will actually have selected a totally different object into its device context—or worse, the right one. Selecting the right object may be worse because the objects might coincidentally be the same, so you think it works, but the application will behave weirdly later on. So, do not pass handles to GDI objects between applications; they have totally different meanings in different processes.


Actually, the picture is even more complex than that. Because all applications share the same physical output device, maintaining a device context cannot be left up to the client alone. Any output call will eventually end up in the server, and thus, the server has to know about its clients' device contexts as well as their GDI objects. The subsystem divides the representation of the GDI object (including the device context) between the client and the server. For efficiency's sake, as much work as possible is done by the client—in most cases, for example, a call to SelectObject will not make it to the server; the client will simply update an internal data structure. As soon as the server does the drawing, it knows how to retrieve and realize the objects on the client's side.


The GDI part of the Win32 subsystem has a handle manager of its own through which all accesses to GDI objects go. This is also true for USER, as we will see later. A handle to a GDI object is, in fact, made up of two components: One part encodes the offset into an object table that resides in the client part of the subsystem, and one part is a uniqueness identifier. This identifier changes—as the name implies—whenever a handle is recycled and is stored both as part of the object and as part of the handle.


Validating an object involves, among other things, matching the unique part of the handle against the value in the object. If a handle is recycled, the new handle returned is different from the one that belonged to the destroyed object with the same table index. This mechanism is used to make sure that stray pointers or previously deleted object handles that are passed into a function that works on an object do not reference wrong objects. If the validation fails, an error 6, INVALID_HANDLE, is generated.


In future versions of Windows NT, it may well be that this implementation detail changes. Although a handle will most likely still be composed of two 16-bit components for compatibility reasons, the interpretation of the "uniqueness" part may change due to performance considerations.


You might wonder now why you don't see the INVALID_HANDLE error when you pass a GDI object handle between applications in error. The reason is that initially the "uniqueness" value is the same for all handles in all address spaces; objects become unique only after the handle is recycled. Thus, two valid objects in different processes may very well have the same "uniqueness" value. "The Way We Do the Things We Do?" You betcha.


The downside of this implementation is that it cuts down on the number of available handles. A handle has the size of a DWORD—that is, it's 32 bits. Thus, a maximum of 232 or 4 GB of objects can be theoretically addressed by a handle. Currently, the two components of the handle—the table index and the uniqueness identifier—take up 16 bits of the handle each, such that theoretically a maximum of 64K (216) of GDI objects could be accessed per process, but the maximum size of the client's handle table is currently hardcoded to 16K of entries.


And Now for Something Completely Different: USER Objects


The story of USER objects is different from GDI's story. Under Windows 3.1, the definition of object covers both objects internal to USER's default data segment (windows, window classes, menus, and so on) and resources that are actually allocated from the global heap. Windows NT still maintains both object types in the USER module, but because there is no global heap anymore as there was in Windows 3.1, resources behave a little bit differently.


One of the main goals in the implementation of the USER part of Windows NT's Win32 subsystem was compatibility. Under Windows 3.1, an application has a high degree of control over USER-maintained objects. For example, through the EnumWindows function, an application for Windows 3.1 can get access to all top-level windows in the system; with the window handle, the menu of an application can be modified, messages can be monitored, device contexts obtained, and so on. In order for Windows NT to maintain this degree of control, USER objects are maintained on the server side of the Win32 subsystem, and the functions that access the objects (such as DrawIcon) need to do more work. For example, if the object were located on the client side, accessing it would mainly be a task of translating the handle into a pointer, but in the USER implementation, memory in the server process must be referenced.


Just like its GDI counterpart, the Windows NT USER component keeps a handle manager that works pretty much like the one described in the GDI discussion, but the object tables are maintained on the server side of the subsystem, and therefore the object limit is global. Currently, it is 64K entries.


Resources


The good news is that under Windows NT, resources are not handled differently from the other USER objects at all. Under Windows 3.x, the local heaps of USER and GDI turned out to be severe system bottlenecks for object-intensive applications. If you have worked with 16-bit Windows intensively, chances are that at more than one point you have seen the free system resources decreasing severely when you worked with large menus or many windows. Windows 3.1 somewhat widened that bottleneck by making menus resources instead of objects within USER's default data segment. Windows NT implements all USER objects orthogonally.


From the user's point of view, the major differences between resources and other objects is that at times resources need to be accessed directly, without using the API functions that operate on them. (This holds especially true for user-defined "raw" resources.)


There are actually two different ways to access resources under Windows NT—one in which the resource resides in the server process and one in which it resides in the client. To exemplify the first case, let's assume your application calls LoadIcon and passes the returned handle on to application B, which then calls DrawIcon on that handle. Guess what? Works fine. Just like under Windows 3.1. This seems to be strange at first glance because the two applications have disjoint address spaces, so how can the target application see something that the source application loaded?


Note that you cannot do much more with that handle. In particular, you cannot get your hands on the memory that describes the icon because the handle has no meaning whatsoever to either your application or application B. It is a handle local to the server part of the Win32 subsystem. DrawIcon eventually executes in the server part as well, and thus it knows how to interpret the handle. In this case, the icon is a real object in the strict sense of the word: The handle is a true magic cookie without any meaning to anyone except for the operations that are allowed on it (such as DrawIcon).


As a side effect of this modular approach, using this technique to access resources is fairly limited. You cannot modify the resource or look at its memory. (We will look at ways to work around this in a second.) Also, there is no way for the subsystem to determine if the object is in use by anybody but the process that owns it. In our example, the subsystem cannot know if somebody is using the icon, so as soon as your application terminates, the icon is gone from the server subsystem address space, and a subsequent attempt to call DrawIcon on it will return with an error code of ERROR_INVALID_CURSOR_HANDLE. Do not be confused about "CURSOR" in that error message—as far as USER32 is concerned, icons and cursors are basically the same; internally, they are represented as the same data structures.


So how does one share resources among processes? Well, the bad news is that there is no easy way for applications to share resources dynamically at run time so that a change in the resource that one application makes appears in the other application. Aside from using the CopyIcon, CopyAcceleratorTable, and CopyCursor functions, which are especially designed to create local copies of resources, the best one can do about this is to have one application map an image of the other application's executable into its own memory space, locate the resource in the image, and party on it. To aid this process, the LoadResource API family has been modified for Windows NT.


If application HAND wants to access a resource in application FOOT, it needs to use the LoadLibrary, FindResource, and LoadResource APIs as described in the Win32 API Help file under the documentation for FindResource. If you want to permanently change resources in the target executable file, you should use the UpdateResource, BeginUpdateResource, and EndUpdateResource APIs.


The trick here is that LoadLibrary will map the executable file into the address space of the process that calls it and return a pointer to that image. All that FindResource and LoadResource do is examine the executable header in that image, figure out where within the image the resource is located, and return a pointer to the resource image.


The part that will probably confuse you here is that LoadLibrary also works on .EXE files. Under Windows 3.1, if you load an executable file, it will execute right away, whereas a DLL will linger in memory until it is called. LoadLibrary, LoadModule, and WinExec are very closely interrelated under Windows 3.1, but they are totally different under Windows NT, where LoadLibrary basically maps the executable file into the process's address space. LoadLibrary also executes the DLL entry point routine when a library is loaded, but it does not execute anything when an application is loaded. The return value from WinExec, which is a stripped-down version of CreateProcess, is a handle to a Windows NT executive object, whereas an instance handle, the value returned from LoadLibrary, is a virtual pointer.


Win32 Kernel Objects


The preceding discussion on virtual pointers leads us right into the remaining category of objects in the Win32 subsystem—kernel objects. Now, here we run into a terminology problem: Under Windows 3.1, the component that is responsible for memory management and system services is called the "kernel." Unfortunately, the same term is used for the component in Windows NT that executes in privileged mode at the lowest level. Windows NT renames the part of the Win32 subsystem that corresponds to the kernel in Windows 3.1 as the "base." Thus, this section does not really deal with kernel objects, but with base objects. Most of the objects that you access through the base are, in fact, native Windows NT objects, which we will discuss in the following section.


The only entity that the kernel component of Windows 3.1 dubs an object is a memory object from which a number of other object types derive, such as modules or instances; in the rest of this section, we will look at these in more detail and see how those are implemented in Windows NT.


Let us elaborate on the last statement of the preceding section a little bit more. Windows 3.1 knows instance handles, task handles, and module handles. Instance handles are, in fact, selectors of the default data segments of the application instance. (This fact is sometimes used to change the data segment so that an operation can work on the default data segment of a different application—an ugly practice, but it works.) The task handle is the selector of a global memory block that contains task-specific parameters (such as the input queue that is associated with the task). The module handle is the selector of a global memory block that contains a modified version of the executable header associated with the module. (This memory block is also known as the module database.)


For applications in Windows 3.1, there is only one module database in the system for all instances of the application, whereas both the task database and the default data segment exist separately for each instance of the application. The GetModuleHandle API returns the handle (selector) of the module database, whereas a call to GetWindowWord with GWW_HINSTANCE passed as the second parameter returns the instance handle, and the GetCurrentTask API returns the task database handle. For other applications, the TaskFirst/TaskNext Toolhelp API functions can be employed to retrieve the task database handles.


For more information on modules, tasks, and instances under Windows 3.1, please consult the Knowledge Base articles Q76676, "Differences Between Task Handles and Instance Handles," and Q78327, "HANDLEs Returned by GetModuleHandle and LoadLibrary," as well as Bob Gunderson's technical article "Modules, Instances, and Tasks."!Alink(Knowledge Base, MSDN™ Library)


Windows NT does not use task databases or module databases anymore, and the default data segment is built on top of an application's virtual address space. The hInstance value that is being passed to an application upon startup is basically the same as the value returned from LoadLibrary: a virtual address in the application's address space that contains the memory-mapped image of the executable file. Incidentally, GetModuleHandle(NULL) returns the same value. It is fairly easy to confuse this value with a process handle, which is something totally different (namely, a native Windows NT object) and cannot be used interchangeably with those virtual pointers.


The remaining kernel object type is the heap object type, which we'll look at now. As Randy Kath's technical article "Managing Heap Memory in Win32" outlines, the Windows NT heap memory manager resides on top of the virtual memory manager; that is, a heap is essentially a chunk of virtual memory that consists of the heap itself and some administrative information that is used to maintain it. The handle returned from the HeapCreate API is essentially the virtual address of this memory chunk, and a call to HeapAlloc will look into the administration header and return a pointer to the memory chunk. You should never attempt to write to a memory location that belongs to the heap header because it would seriously confuse the heap manager. Also, due to the very nature of disjoint address spaces, one application's local heap is of no relevance to other applications.


Because heap handles are virtual pointers, and no record is kept of the local heaps allocated by the base part of the Win32 subsystem, there is really no limit on the number of heaps you can theoretically allocate, except for the limits that the executive imposes on the number of virtual memory chunks that an application can use. For details on virtual memory management, please refer to Randy Kath's technical articles "The Virtual-Memory Manager in Windows NT" and "Managing Virtual Memory in Win32." It is worthwhile mentioning here, however, that you cannot allocate more than 32K of virtual memory blocks in any process because the virtual address space of a process is limited to 2 GB, and the minimum size for each allocation is 64K; thus, the maximum number of allocations that can be made is 2G/64K, or 32K of virtual memory blocks.


Note that this is different from the number of allocations that can be drawn from heaps. Because heaps themselves are virtual memory blocks, you cannot create more than 32K-worth of heaps per application, but from a given heap, you can allocate as many memory blocks as you want to.


Native Windows NT Objects


We will now look at native objects in Windows NT. As Helen Custer describes in depth in Inside Windows NT (Microsoft Press, 1993), the object manager is an integral and central part of Windows NT. It is responsible for accepting and processing requests to create, access, and destroy objects—both from a process and from the executive. Some of the objects that Windows NT knows about are not directly visible to applications, such as driver objects or symbolic link objects, but internally they work in exactly the same way as the aforementioned objects. In Inside Windows NT, these invisible objects are called kernel objects, as opposed to executive objects.


We have already enumerated the native Windows NT objects that are visible to Win32 applications: processes, threads, files, file mappings, events, semaphores, and mutexes. We will not elaborate too much on these here because Chapter Three of Inside Windows NT already gives a comprehensive overview of these objects and how to use them. The worthwhile aspects to mention about them are the following:


  • They can attain a signaled state so that you can call WaitForSingleObject or WaitForMultipleObjects on them.
  • You can use DuplicateHandle to access the object from inside other processes. (Some restrictions apply! Refer to the Win32 API Help file for details.)
  • The Windows NT executive keeps a reference count for each object and removes the object only after the last handle is closed.
  • Access to the objects is monitored by the security subsystem. (I will cover "security and how you can make use of it" in a future article.)
  • Most objects can be optionally named so that other processes can access them by name if security allows.

Handles to executive objects are always associated with a particular process—this statement does not always hold true for kernel objects; for example, objects that describe the drivers for bootable hard drives must exist before the system has started up. The association of handles to processes is the reason you cannot use an existing handle to access an object from another process; you need to either obtain another handle using DuplicateHandle to create a handle table entry for the same object in another process or open an object by name in the other process.


Unlike the handles that are maintained by the Win32 USER and GDI subsystem components, handles to native objects under Windows NT are not unique; that is, upon destruction of an object, the corresponding handle may be recycled and will look exactly like the handle to the destroyed object. There is one unintuitive consequence of this implementation: Process IDs under Windows NT are actually handles into a dummy system table—that is, a table that does not associate its handles with any objects. If you create a process and store its ID away, then after termination of the process, the ID may be recycled for other types of global objects. You therefore cannot use process IDs to uniquely identify processes.


Finally, there is no hardcoded limit on the number of entries a handle table can have. A handle table maintained by the executive may grow dynamically if necessary; thus, the number of handles that can be allocated per process depends only on the memory available on your machine. (Note that Windows NT may further limit this number on a per-user basis by reducing the user's quota on nonpageable memory.)


Conclusion


We have discussed several types of objects and their handles under Windows NT, and how they relate to corresponding object types under Windows 3.1. The most important result from this discussion is that any assumption about the implementation of objects and the meaning of handles is very likely to break code compatibility between platforms and should, therefore, be avoided. Another important point to mention is that the shareability of an object between processes is a matter of the implementation of the operating system and varies from object type to object type and from operating system to operating system. The table below lists the object types discussed in this article, as well as their locations and their shareability.


From the point of view of implementation, a handle under Windows NT is always realized in one of two categories:


  • An offset into a table that is being maintained by either the executive or a subsystem component.
  • A virtual address in the address space of a process.

    The concept that makes this implementation possible is the memory-mapped file (or section object). Whereas Windows 3.1 needs to copy data from an executable file into main memory to build code segments or load resources, Windows NT only needs to create a memory-mapped file object that is backed by the executable file instead of the system pagefile. Thus, a resource can be retrieved by calculating a pointer into the memory-mapped file object that represents the executable. The USER part of the Win32 subsystem uses this technique to implement both methods of resource access: A call to LoadIcon, for example, will map the executable into the server's address space so that a subsequent call to DrawIcon will retrieve the icon data from the memory-mapped image, whereas LoadLibrary maps the executable into the client's address space so that FindResource and LoadResource will retrieve the data from there (which is why resources retrieved this way will not have any meaning to other processes).


Also, it is important to emphasize the disjoint API sets that are available for the different types of objects. You cannot call DeleteObject on a resource or an executive object; conversely, CloseHandle will fail on GDI objects and resources. A good way to look at it is to classify each type of object as a member of something one could call an "object type class," a category of objects that are roughly characterized by being maintained by the same component of Windows NT. Following this approach, there are the following object type classes in Windows NT:


  • Executive objects (processes, threads, sections, file objects, events, semaphores, and mutexes)
  • Win32 GDI objects (pens, brushes, fonts, palettes, regions, device contexts, bitmap headers)
  • Win32 USER objects

    • WIN32 resources (accelerator tables, bitmap resources, dialog box templates, font resources, menu resources, raw data resources, string table entries, message table entries, cursors/icons)
    • Other USER objects (windows, menus)

  • Win32 base objects (heaps)

Summary of Object Properties



























  Executive objects Win32 base objects Win32 GDI objects Win32 USER objects
Shareable Via APIs (DuplicateHandle or Openxxx) No No Yes
Validated Yes No Yes, by uniqueness Yes, by uniqueness
Limit Only by physical memory 32K of heaps 16K per process 64K systemwide (including resources and internal types

Note   Shareable indicates whether an object of that type can be accessed by several processes. Validated indicates whether the handle protects the object against invalid access to it, possibly due to an invalid handle.

Appendix


In this diagram, three processes are running in a particular Windows NT session—the Win32 subsystem server process and two clients (that is, Win32-based applications). Note that by design of Windows NT, all processes' virtual addresses over 2 GB are mapped globally (that is, are mapped to the same physical addresses in all processes).



Use these notes to interpret the numbers in the diagram:


  1. An instance handle is a pointer to the image of an executable file in a client process.
  2. A resource handle as obtained by FindResource and LoadResource is a pointer to that process within the image.
  3. A handle returned from VirtualAlloc or HeapCreate is a pointer to the beginning of the memory block in the client's address space.
  4. A handle returned from HeapAlloc is a pointer into the chunk of memory allocated by 3.
  5. A GDI handle is a relative offset into a table located in the client's address space.
  6. A USER handle is a relative offset into a table located in the server's address space.
  7. A handle to a native Windows NT object is a relative offset into a table located in system space. There are several of those tables—one per process and a few tables maintained by the system.
  8. A USER object itself is located in the server's address space.
  9. In the case of resources, 8 still holds true, but just as in 2, the resource is referenced through a memory-mapped image of the file that holds the executable, only the image resides in the server's address space this time. This is the scenario you encounter, for example, when calling LoadIcon.
  10. The data structures that describe native Windows NT objects reside in system address space. Depending on the object type, part of the object may also be located in a process's address space. (This holds true, for example, for section objects.)
  11. The data that describes a GDI object resides in the client's address space. Please also observe the restriction mentioned earlier in this article under "How the Subsystem Realizes Window GDI Objects."
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/07/31 13:22 2005/07/31 13:22
Response
No Trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/52

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/52

Comments List

  1. Nike Air Max for Sal 2011/08/29 17:49 # M/D Reply Permalink

    555clf4
    very gpod

  2. Air Jordans 2011/08/29 17:51 # M/D Reply Permalink

    555clf1
    thanjks for you

Leave a comment
기술 자료 ID : 600743
마지막으로 검토한 날짜 : 2004년 9월 21일 화요일
수정 : 1.0

이 문서는 이전에 다음 ID로 출판되었음: KR600743
이 페이지
요약
추가 정보
참조

요약
영문 윈도우 95나 윈도우 NT에서 Language Pack을 설치하고 한글 폰트를 이용, 한글 코드값을 TextOut하면 한글이 보여진다. 다음은 그 방법을 설명한다.
추가 정보
IE 3.0 Multilanguage Support for Windows 95 & NT 4.0 - Korean Version을 설치하면, 프로그래밍적으로 한글 디스플레이가 가능하다.
다음은 단계적인 프로그래밍 방법이다. 1. 먼저 마이크로소프트 웹사이트에 있는 IE 3.0 Multilanguage Support for Windows 95 & NT 4.0 - Korean Version을 다운로드 받아 영문 윈95나 영문 윈도우 NT 4.0이상 버전에 설치한다. URL 주소가 계속 변경되므로, 검색시 "ie3lpkko"로 URL을 검색하고, 해당 URL에서 ie3lpkko.exe를 다운받는다.
2. 다음은 WIN32 SDK Sample중 Generic Sample에서 WM_PAINT 부분의 코드를 변경하여 한글 "가"를 디스플레이하는 코드이다.
case WM_PAINT:
{
char UStr[20];
LOGFONT lf;
HFONT hfont;
hdc = BeginPaint (hWnd, &ps);

memset(&lf,0,sizeof(lf)); // LOGFONT 구조체 Clear

lf.lfCharSet = 0x81; // 한글의 charset을 지정.
strcpy(lf.lfFaceName,"Gulim"); // 폰트명을 굴림으로 지정
hfont = CreateFontIndirect(&lf); // 폰트 핸들을 얻어온다

SelectObject(hdc,hfont);
// 굴림폰트핸들로 현재 폰트를 지정.

UStr[0] = 0xB0;
UStr[1] = 0xA1;
UStr[2]=0;
// '가'의 코드 값 "B0A1"을 변수에 지정


TextOut(hdc,10,10, UStr,strlen(UStr)); // "가"를 디스플레이
EndPaint (hWnd, &ps); //
break;
}



참조
Win 32 SDK Reference
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/07/31 13:21 2005/07/31 13:21
Response
No Trackback , 2 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/51

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/51

Comments List

  1. Air Jordans 2011/08/29 17:41 # M/D Reply Permalink

    555clf1
    thanjks for you

  2. Nike Air Max for Sal 2011/08/29 17:44 # M/D Reply Permalink

    555clf4
    very gpod

Leave a comment

Capturing Video to a Windows Media File(WMV)

--from  http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/htm/displayvfwcapturedialogs.asp


 


Capturing Video to a Windows Media File


To capture video and encode it to a Windows Media Video (WMV) file, connect the capture pin to the WM ASF Writer filter:


Windows Media Capture Graph


The easiest way to build this graph is by specifing MEDIASUBTYPE_Asf in the ICaptureGraphBuilder2::SetOutputFileName method:

IBaseFilter* pASFWriter = 0;
hr = pBuild->SetOutputFileName(
&MEDIASUBTYPE_Asf, // Create a Windows Media file.
L"C:VidCap.wmv", // File name.
&pASFWriter, // Receives a pointer to the filter.
NULL); // Receives an IFileSinkFilter interface pointer (optional).

The value MEDIASUBTYPE_Asf tells the Capture Graph Builder to use the WM ASF Writer filter as the file sink. The Capture Graph Builder creates the filter, adds it to the graph, and calls IFileSinkFilter::SetFileName to set the name of the output file. It returns a pointer to the filter as an outgoing parameter (pASFWriter in the previous example).


Use the IConfigAsfWriter interface on the WM ASF Writer to set the Windows Media profile. You must do this before you connect any pins on the WM ASF Writer.

IConfigAsfWriter *pConfig = 0;
hr = pASFWriter->QueryInterface(IID_IConfigAsfWriter, (void**)&pConfig);
if (SUCCEEDED(hr))
{
// Configure the ASF Writer filter.
pConfig->Release();
}

For more information about setting the profile, see Creating ASF Files in DirectShow.


Call ICaptureGraphBuilder2::RenderStream to connect the capture filter to the ASF Writer:

hr = pBuild->RenderStream(
&PIN_CATEGORY_CAPTURE, // Capture pin.
&MEDIATYPE_Video, // Video. Use MEDIATYPE_Audio for audio.
pCap, // Pointer to the capture filter.
0,
pASFWriter); // Pointer to the sink filter (ASF Writer).

Each input pin on the WM ASF Writer filter corresponds to a stream in the Windows Media profile. You must connect every pin, so that the file content matches the profile.

이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/07/31 13:18 2005/07/31 13:18
Response
371 Trackbacks , a comment
RSS :
http://dual5651.hacktizen.com/tc/rss/response/49

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/49

Trackbacks List

  1. erotic porn

    Tracked from erotic porn 2009/04/08 16:07 Delete

    erica durance nude <a href="http://ixo3282008.blogspot.com/">erica durance nude</a>

  2. naked celbrities

    Tracked from naked celbrities 2009/04/10 17:13 Delete

    tracy arm fjord <a href="http://obyxi9122008.blogspot.com/">tracy arm fjord</a>

  3. parr-az-underwear

    Tracked from parr-az-underwear 2009/04/10 21:21 Delete

    <a href="http://digimonporn67.forumotion.net/your-first-forum-f1/vasectomy-reversal-germany-t6.htm">vasectomy-reversal-germany</a> vasectomy-reversal-germany <a href="http://latinporn66.forumotion.net/">tennessee-titans-cheerleaders</a> tennessee-t...

  4. porn-fourm

    Tracked from porn-fourm 2009/04/10 22:00 Delete

    <a href="http://fuckthebabysitter48.forumotion.net/your-first-forum-f1/presto-fry-daddy-t9.htm">presto-fry-daddy</a> presto-fry-daddy <a href="http://uniquebabygirlnames48.forumotion.net/">women-wearing-rht-stockings</a> women-wearing-rht-stockings

  5. dennis-rodman-sex-tape

    Tracked from dennis-rodman-sex-tape 2009/04/13 00:07 Delete

    <a href="http://www.maclife.com/user/49332/">miley-cyruss-boobs</a> miley-cyruss-boobs <a href="http://www.maclife.com/user/49437/">cuckholding-submissive</a> cuckholding-submissive

  6. wolverine-brass-faucets

    Tracked from wolverine-brass-faucets 2009/04/13 01:16 Delete

    <a href="http://www.maclife.com/user/49504/">chanty-nude</a> chanty-nude <a href="http://www.maclife.com/user/48409/">kathia-pornstar</a> kathia-pornstar

  7. jesse-messick

    Tracked from jesse-messick 2009/04/13 01:54 Delete

    <a href="http://www.maclife.com/user/48779/">cindarella-chica</a> cindarella-chica <a href="http://www.maclife.com/user/48600/">88square-bbs</a> 88square-bbs

  8. free gay chat

    Tracked from free gay chat 2009/04/14 15:04 Delete

    dog sex videos <a href="http://uxoz4232008.blogspot.com/">dog sex videos</a>

  9. 100-free-porn

    Tracked from 100-free-porn 2009/04/14 15:51 Delete

    true-sex-stories <a href="http://www.maclife.com/user/51668/">true-sex-stories</a> adriana-lima-sex-tape <a href="http://www.maclife.com/user/51906/">adriana-lima-sex-tape</a>

  10. girls-pee-in-shower

    Tracked from girls-pee-in-shower 2009/04/14 16:55 Delete

    teen-chat-sites <a href="http://www.maclife.com/user/51592/">teen-chat-sites</a> adrianne-curry-nude <a href="http://www.maclife.com/user/52024/">adrianne-curry-nude</a>

  11. free-hard-core-porn

    Tracked from free-hard-core-porn 2009/04/14 17:32 Delete

    teen-gay-porn <a href="http://www.maclife.com/user/51387/">teen-gay-porn</a> home-fuck-fest <a href="http://www.maclife.com/user/52218/">home-fuck-fest</a>

  12. gay-boy-pics

    Tracked from gay-boy-pics 2009/04/14 18:28 Delete

    free-teen-sex-video <a href="http://www.maclife.com/user/51932/">free-teen-sex-video</a> nude-young-teens <a href="http://www.maclife.com/user/51475/">nude-young-teens</a>

  13. dog-sex-videos

    Tracked from dog-sex-videos 2009/04/14 19:07 Delete

    interracial-sex-stories <a href="http://www.maclife.com/user/52149/">interracial-sex-stories</a> web-cam-girls <a href="http://www.maclife.com/user/51290/">web-cam-girls</a>

  14. Black Gay Porn

    Tracked from Black Gay Porn 2009/04/16 23:57 Delete

    Free Nude Babes <a href="http://bet2052008.blogspot.com/">Free Nude Babes</a>

  15. High-School-Musical

    Tracked from High-School-Musical 2009/04/17 01:01 Delete

    Adult-Furry-Art <a href="http://www.videocodezone.com/users/Adult-Furry-Art/">Adult-Furry-Art</a> Chelsea-Handler-Nud <a href="http://www.videocodezone.com/users/Chelsea-Handler-Nud/">Chelsea-Handler-Nud</a>

  16. Biker-Party-Girls

    Tracked from Biker-Party-Girls 2009/04/17 01:38 Delete

    Free-Anime-Sex <a href="http://www.videocodezone.com/users/Free-Anime-Sex/">Free-Anime-Sex</a> Free-Nude-Gallery <a href="http://www.videocodezone.com/users/Free-Nude-Gallery/">Free-Nude-Gallery</a>

  17. Teen-Anal-Sex

    Tracked from Teen-Anal-Sex 2009/04/17 02:20 Delete

    Free-Anime-Sex-Game <a href="http://www.videocodezone.com/users/Free-Anime-Sex-Game/">Free-Anime-Sex-Game</a> Young-Porn-Movies <a href="http://www.videocodezone.com/users/Young-Porn-Movies/">Young-Porn-Movies</a>

  18. Eva-Green-Nude

    Tracked from Eva-Green-Nude 2009/04/17 03:50 Delete

    Underage-Sex-Storie <a href="http://www.videocodezone.com/users/Underage-Sex-Storie/">Underage-Sex-Storie</a> Gay-Glory-Holes <a href="http://www.videocodezone.com/users/Gay-Glory-Holes/">Gay-Glory-Holes</a>

  19. Flavor-Of-Love-Girl

    Tracked from Flavor-Of-Love-Girl 2009/04/17 04:24 Delete

    Asian-Sex-Videos <a href="http://www.videocodezone.com/users/Asian-Sex-Videos/">Asian-Sex-Videos</a> Little-Girls-In-Pan <a href="http://www.videocodezone.com/users/Little-Girls-In-Pan/">Little-Girls-In-Pan</a>

  20. 9inch cock pictures

    Tracked from 9inch cock pictures 2009/04/20 22:12 Delete

    petite tighties <a href="http://orub8822008.blogspot.com/">petite tighties</a>

  21. sissy station assignments

    Tracked from sissy station assignments 2009/04/22 21:47 Delete

    hymen estrogen imperforate <a href="http://bysurap7562008.blogspot.com/">hymen estrogen imperforate</a>

  22. will-chlorine-kill-sperm

    Tracked from will-chlorine-kill-sperm 2009/04/22 22:16 Delete

    buy-precision-xtra-strips <a href="http://www.maclife.com/user/63078/">buy-precision-xtra-strips</a> 69-gto-clone <a href="http://www.maclife.com/user/62977/">69-gto-clone</a>

  23. pornstar-aqua-hazel

    Tracked from pornstar-aqua-hazel 2009/04/22 22:36 Delete

    rubber-cord-permabond <a href="http://www.maclife.com/user/63399/">rubber-cord-permabond</a> hilery-duff-topless <a href="http://www.maclife.com/user/62501/">hilery-duff-topless</a>

  24. amateur-1byday

    Tracked from amateur-1byday 2009/04/22 22:57 Delete

    dominique-swain-nude-free <a href="http://www.maclife.com/user/63073/">dominique-swain-nude-free</a> tamed-teens-margarete <a href="http://www.maclife.com/user/62576/">tamed-teens-margarete</a>

  25. darering-blowjob

    Tracked from darering-blowjob 2009/04/22 23:24 Delete

    bedspread-nude-bound-wrists <a href="http://www.maclife.com/user/62452/">bedspread-nude-bound-wrists</a> treena-busty-amateur-russian <a href="http://www.maclife.com/user/63250/">treena-busty-amateur-russian</a>

  26. acl-graft-slip-screw

    Tracked from acl-graft-slip-screw 2009/04/23 00:05 Delete

    morman-underwear <a href="http://www.maclife.com/user/63017/">morman-underwear</a> kinsey-homosexual-tendencies <a href="http://www.maclife.com/user/62465/">kinsey-homosexual-tendencies</a>

  27. will chlorine kill sperm

    Tracked from will chlorine kill sperm 2009/04/23 00:30 Delete

    guisel naked <a href="http://isuzydije7842008.blogspot.com/">guisel naked</a>

  28. cindy-crawford-nude

    Tracked from cindy-crawford-nude 2009/04/23 01:48 Delete

    alley-baggett-nude <a href="http://www.world66.com/member/alley_baggett_nude">alley-baggett-nude</a> free-mature-movies <a href="http://www.world66.com/member/free_mature_movies">free-mature-movies</a>

  29. free-adult-porn-pics

    Tracked from free-adult-porn-pics 2009/04/23 02:15 Delete

    nude-young-art <a href="http://www.world66.com/member/nude_young_art_54">nude-young-art</a> nude-black-girls <a href="http://www.world66.com/member/nude_black_girls_2">nude-black-girls</a>

  30. anne-heche-nude

    Tracked from anne-heche-nude 2009/04/23 02:33 Delete

    adult-story-archive <a href="http://www.world66.com/member/adult_story_archiv">adult-story-archive</a> lesbian-ass-licking <a href="http://www.world66.com/member/lesbian_ass_lickin">lesbian-ass-licking</a>

  31. april-scott-nude

    Tracked from april-scott-nude 2009/04/23 03:04 Delete

    free-taboo-sex-stories <a href="http://www.world66.com/member/free_taboo_sex_sto">free-taboo-sex-stories</a> twin-sister-sex <a href="http://www.world66.com/member/twin_sister_sex_38">twin-sister-sex</a>

  32. kelly ripa nude

    Tracked from kelly ripa nude 2009/04/23 15:52 Delete

    incredimail adult letters <a href="http://olaredohu5632008.blogspot.com/">incredimail adult letters</a>

  33. laguna-beach-breast-enlargement

    Tracked from laguna-beach-breast-enlargement 2009/04/23 16:28 Delete

    brittanys-bod-pussy <a href="http://www.world66.com/member/brittanys_bod_puss">brittanys-bod-pussy</a> teens-totally-free-condoms <a href="http://www.world66.com/member/teens_totally_free">teens-totally-free-condoms</a>

  34. tila-tequilla-naked

    Tracked from tila-tequilla-naked 2009/04/23 16:48 Delete

    latino-art-calendar-imprint <a href="http://www.world66.com/member/latino_art_calenda">latino-art-calendar-imprint</a> hyman-virginity <a href="http://www.world66.com/member/hyman_virginity_48">hyman-virginity</a>

  35. lindy-booth-nude

    Tracked from lindy-booth-nude 2009/04/23 17:18 Delete

    kelly-jaye-escort <a href="http://www.world66.com/member/kelly_jaye_escort">kelly-jaye-escort</a> erectial-dysfunction <a href="http://www.world66.com/member/erectial_dysfuncti">erectial-dysfunction</a>

  36. waxed-vagina

    Tracked from waxed-vagina 2009/04/23 17:43 Delete

    svens-place-bbs <a href="http://www.world66.com/member/svens_place_bbs_32">svens-place-bbs</a> sex-chat-rooms <a href="http://www.world66.com/member/sex_chat_rooms_58">sex-chat-rooms</a>

  37. 72-cultured-pearl-necklace

    Tracked from 72-cultured-pearl-necklace 2009/04/23 18:23 Delete

    cardiac-asthma-naturist-medicine <a href="http://www.world66.com/member/cardiac_asthma_nat">cardiac-asthma-naturist-medicine</a> megapage-celeb <a href="http://www.world66.com/member/megapage_celeb_65">megapage-celeb</a>

  38. boner bulge

    Tracked from boner bulge 2009/04/23 19:16 Delete

    judy landers nude <a href="http://kukevitamunywu6422008.blogspot.com/">judy landers nude</a>

  39. vintage-paper-mache-halloween

    Tracked from vintage-paper-mache-halloween 2009/04/23 19:40 Delete

    jesse-samsel <a href="http://www.maclife.com/user/65192/">jesse-samsel</a> chicks-sporting-goods <a href="http://www.maclife.com/user/64783/">chicks-sporting-goods</a>

  40. heraeus-tanning-bulbs

    Tracked from heraeus-tanning-bulbs 2009/04/23 20:12 Delete

    taurus-model-80-revolver <a href="http://www.maclife.com/user/65419/">taurus-model-80-revolver</a> ryan-sheckler-shirtless <a href="http://www.maclife.com/user/64821/">ryan-sheckler-shirtless</a>

  41. orgy-xxx-sir-rodney

    Tracked from orgy-xxx-sir-rodney 2009/04/23 20:37 Delete

    panda-porn-movies <a href="http://www.maclife.com/user/65130/">panda-porn-movies</a> kym-marsh-topless <a href="http://www.maclife.com/user/65305/">kym-marsh-topless</a>

  42. first-time-girls

    Tracked from first-time-girls 2009/04/23 21:00 Delete

    cumberland-implant-dentistry <a href="http://www.maclife.com/user/64483/">cumberland-implant-dentistry</a> sexy-nude-girls <a href="http://www.maclife.com/user/64739/">sexy-nude-girls</a>

  43. white-bubble-butts

    Tracked from white-bubble-butts 2009/04/23 21:17 Delete

    aversion-therapy-for-exhibitionist <a href="http://www.maclife.com/user/64341/">aversion-therapy-for-exhibitionist</a> kellie-martin-nude <a href="http://www.maclife.com/user/64746/">kellie-martin-nude</a>

  44. free adult movie clips

    Tracked from free adult movie clips 2009/04/27 17:30 Delete

    free nude movies <a href="%url">free nude movies</a>

  45. free adult search engines

    Tracked from free adult search engines 2009/04/27 17:52 Delete

    porn addiction <a href="%url">porn addiction</a>

  46. free adult sex videos

    Tracked from free adult sex videos 2009/04/27 18:15 Delete

    free sex web cam <a href="%url">free sex web cam</a>

  47. 100 free kathy bates nude pictures

    Tracked from 100 free kathy bates nude pictures 2009/04/27 20:47 Delete

    sex repository <a href="http://adunesexobaputy7912008.blogspot.com/">sex repository</a>

  48. 1000 bikinis

    Tracked from 1000 bikinis 2009/04/27 21:49 Delete

    pigtailed teens <a href="http://ugevukekifosa4412008.blogspot.com/">pigtailed teens</a>

  49. 13-19 teen chat rooms

    Tracked from 13-19 teen chat rooms 2009/04/27 23:42 Delete

    teen nubile <a href="http://alyfahymeu6862008.blogspot.com/">teen nubile</a>

  50. 181st nude celebrity

    Tracked from 181st nude celebrity 2009/04/28 00:12 Delete

    shit porn <a href="http://exauurecaho5852008.blogspot.com/">shit porn</a>

  51. 1960 bikini style

    Tracked from 1960 bikini style 2009/04/28 00:40 Delete

    tiniest bikini <a href="http://fywuf7362008.blogspot.com/">tiniest bikini</a>

  52. 2 girls 1cup

    Tracked from 2 girls 1cup 2009/04/28 01:00 Delete

    sex offender websites <a href="http://ehanywere8782008.blogspot.com/">sex offender websites</a>

  53. 2005 baldwin kansas girls track

    Tracked from 2005 baldwin kansas girls track 2009/04/28 01:25 Delete

    adult mononucleosis <a href="http://jofucucuqe4772008.blogspot.com/">adult mononucleosis</a>

  54. 2flash adult games

    Tracked from 2flash adult games 2009/04/28 01:50 Delete

    samantha mathis nude <a href="http://okosubetova6982008.blogspot.com/">samantha mathis nude</a>

  55. 321 gay teen chat

    Tracked from 321 gay teen chat 2009/04/28 02:13 Delete

    lea walker sex tape <a href="http://dunomeuami3132008.blogspot.com/">lea walker sex tape</a>

  56. 3d porn games

    Tracked from 3d porn games 2009/04/28 03:11 Delete

    teen pageant <a href="http://jajufuveuuc9602008.blogspot.com/">teen pageant</a>

  57. yoruichi-nude

    Tracked from yoruichi-nude 2009/04/28 13:36 Delete

    madchen-amick-nude <a href="http://www.world66.com/member/exahixek295937">madchen-amick-nude</a> morgados-bbs <a href="http://www.world66.com/member/opulos178176">morgados-bbs</a>

  58. free-rape-porn

    Tracked from free-rape-porn 2009/04/28 14:03 Delete

    sewing-machines-west-sussex <a href="http://www.world66.com/member/gamiwucy390260">sewing-machines-west-sussex</a> mkii-bridge-erection-boat <a href="http://www.world66.com/member/anauyhu778061">mkii-bridge-erection-boat</a>

  59. autoerotic-asphyxiation

    Tracked from autoerotic-asphyxiation 2009/04/28 14:19 Delete

    big-breasted-miosotis <a href="http://www.world66.com/member/opani348417">big-breasted-miosotis</a> gravee-porn <a href="http://www.world66.com/member/aduxufyb769745">gravee-porn</a>

  60. wow-diva-bead

    Tracked from wow-diva-bead 2009/04/28 14:44 Delete

    flashy-babes-anabelle <a href="http://www.world66.com/member/egafom80013">flashy-babes-anabelle</a> vida-sadora <a href="http://www.world66.com/member/fugocif94633">vida-sadora</a>

  61. hetero-handjob-fanclub

    Tracked from hetero-handjob-fanclub 2009/04/28 15:08 Delete

    tivia-porn-site <a href="http://www.world66.com/member/odijou425717">tivia-porn-site</a> bbs-1oku-max-2 <a href="http://www.world66.com/member/vaxih467683">bbs-1oku-max-2</a>

  62. kristine lefebvre nude pics

    Tracked from kristine lefebvre nude pics 2009/04/28 15:31 Delete

    pearl necklace of spunk <a href="http://fagau3762009.blogspot.com/">pearl necklace of spunk</a>

  63. pthc-ranchi-board-bbs

    Tracked from pthc-ranchi-board-bbs 2009/04/28 15:54 Delete

    big-vietnamese-tits <a href="http://www.maclife.com/user/67089/">big-vietnamese-tits</a> girls-having-sex <a href="http://www.maclife.com/user/68883/">girls-having-sex</a>

  64. nipple-piercing-videos

    Tracked from nipple-piercing-videos 2009/04/28 16:18 Delete

    sex-potions <a href="http://www.maclife.com/user/68019/">sex-potions</a> ben10-hentai <a href="http://www.maclife.com/user/70281/">ben10-hentai</a>

  65. banging-brunettes-onehumor

    Tracked from banging-brunettes-onehumor 2009/04/28 16:41 Delete

    pubescent-girls-breasts <a href="http://www.maclife.com/user/66642/">pubescent-girls-breasts</a> Katey Sagal Breasts38 <a href="http://www.maclife.com/user/71439/">Katey Sagal Breasts38</a>

  66. Free Anal Sex Videos27

    Tracked from Free Anal Sex Videos27 2009/04/28 17:03 Delete

    teens-in-pantys <a href="http://www.maclife.com/user/69154/">teens-in-pantys</a> nastyalien-tgp <a href="http://www.maclife.com/user/69643/">nastyalien-tgp</a>

  67. boys-like-girls

    Tracked from boys-like-girls 2009/04/28 18:45 Delete

    apollonia-kotero-nude <a href="http://www.maclife.com/user/69078/">apollonia-kotero-nude</a> angelswife-lovers <a href="http://www.maclife.com/user/66182/">angelswife-lovers</a>

  68. Axel Roxas Yaoi80

    Tracked from Axel Roxas Yaoi80 2009/04/28 22:33 Delete

    Jennifer Luv Hewitt Sex96 <a href="http://nirudec6292009.blogspot.com/">Jennifer Luv Hewitt Sex96</a>

  69. Zoey 101 Naked87

    Tracked from Zoey 101 Naked87 2009/04/28 23:02 Delete

    Donna Hairdresser Pa23 <a href="http://www.maclife.com/user/73350/">Donna Hairdresser Pa23</a> Shampoo Bottle In Anus26 <a href="http://www.maclife.com/user/73351/">Shampoo Bottle In Anus26</a>

  70. Becki Newton Nude7

    Tracked from Becki Newton Nude7 2009/04/28 23:34 Delete

    Subjugation Sarah Fem Dom7 <a href="http://www.maclife.com/user/73558/">Subjugation Sarah Fem Dom7</a> Violent Offenders Male Statistics90 <a href="http://www.maclife.com/user/73562/">Violent Offenders Male Statistics90</a>

  71. Iraq Sex Solders97

    Tracked from Iraq Sex Solders97 2009/04/29 00:33 Delete

    Tara Ried Nipple25 <a href="http://www.maclife.com/user/73799/">Tara Ried Nipple25</a> Nifty Lesbian Seduction64 <a href="http://www.maclife.com/user/73800/">Nifty Lesbian Seduction64</a>

  72. Braided Rope Bracelet25

    Tracked from Braided Rope Bracelet25 2009/04/29 01:38 Delete

    Brendon Urie Naked70 <a href="http://www.maclife.com/user/74086/">Brendon Urie Naked70</a> Naruto Shippuden Mugen Download45 <a href="http://www.maclife.com/user/74087/">Naruto Shippuden Mugen Download45</a>

  73. Divini Aria Lace2

    Tracked from Divini Aria Lace2 2009/04/29 02:03 Delete

    Mt Rushmore Webcam52 <a href="http://www.maclife.com/user/74599/">Mt Rushmore Webcam52</a> Morgan Fairchild Free Nudes74 <a href="http://www.maclife.com/user/74600/">Morgan Fairchild Free Nudes74</a>

  74. vecyjou

    Tracked from vecyjou 2009/05/04 02:16 Delete

    oliny m ige kep <a href="http://efizuk7622009.blogspot.com/">oliny m ige kep</a>

  75. vintage-whirlygigs

    Tracked from vintage-whirlygigs 2009/05/04 03:32 Delete

    euro-junior-thong-minimodels <a href="http://www.world66.com/member/osawy678">euro-junior-thong-minimodels</a> hogtied-bondage-movie-tivia <a href="http://www.world66.com/member/cabalomu7227">hogtied-bondage-movie-tivia</a>

  76. fantasyone-nude-models-directory

    Tracked from fantasyone-nude-models-directory 2009/05/04 03:49 Delete

    lovely-alazai <a href="http://www.world66.com/member/yxifewe3054">lovely-alazai</a> cock-sukers <a href="http://www.world66.com/member/ikivepul5265">cock-sukers</a>

  77. st-samuels-twink-academy

    Tracked from st-samuels-twink-academy 2009/05/04 04:38 Delete

    allergy-to-semen <a href="http://www.world66.com/member/idoby7106">allergy-to-semen</a> nude-collage-jock <a href="http://www.world66.com/member/aviciq2191">nude-collage-jock</a>

  78. swelled-vagina

    Tracked from swelled-vagina 2009/05/04 04:56 Delete

    yoko-sakata-model <a href="http://www.world66.com/member/yligi5556">yoko-sakata-model</a> anime-nude-lisa-simpson <a href="http://www.world66.com/member/ekozovo4017">anime-nude-lisa-simpson</a>

  79. nude-robin-meade

    Tracked from nude-robin-meade 2009/05/04 05:28 Delete

    sexy-ali-carter <a href="http://www.world66.com/member/xotemeg8300">sexy-ali-carter</a> supermodel-lyrics <a href="http://www.world66.com/member/gykovebo5018">supermodel-lyrics</a>

  80. adult video universe

    Tracked from adult video universe 2009/05/05 14:59 Delete

    ebony movies xxx <a href="http://ycakagyjiz4252009.blogspot.com/">ebony movies xxx</a>

  81. gay nude men

    Tracked from gay nude men 2009/05/05 16:00 Delete

    female model young teens <a href="http://nogovagimeuolor3312009.blogspot.com/">female model young teens</a>

  82. teen hitch hikers

    Tracked from teen hitch hikers 2009/05/05 16:05 Delete

    american idol nude pictures <a href="http://auinicyde2352009.blogspot.com/">american idol nude pictures</a>

  83. adult-clips-free

    Tracked from adult-clips-free 2009/05/05 16:29 Delete

    free-porn-previews <a href="http://vanawhitenude29.forumotion.net/your-first-forum-f1/free-porn-previews-t9.htm">free-porn-previews</a> adult-freind-finder <a href="http://anitamarkstit54.forumotion.net/your-first-forum-f1/adult-freind-finder-t9.htm">a...

  84. gay-blow-jobs

    Tracked from gay-blow-jobs 2009/05/05 16:59 Delete

    free-nude-gallery <a href="http://sexyelders25.forumotion.net/your-first-forum-f1/free-nude-gallery-t13.htm">free-nude-gallery</a> free-celeb-nude-pics <a href="http://renezellwegernaked49.forumotion.net/your-first-forum-f1/free-celeb-nude-pics-t13.htm...

  85. emily-procter-nude

    Tracked from emily-procter-nude 2009/05/05 17:56 Delete

    young-naked-teens <a href="http://ogoplexropes70.forumotion.net/your-first-forum-f1/young-naked-teens-t29.htm">young-naked-teens</a> brother-sister-sex <a href="http://firstundressbbs20.forumotion.net/your-first-forum-f1/brother-sister-sex-t29.htm">bro...

  86. wicked-weasel-bikini

    Tracked from wicked-weasel-bikini 2009/05/05 17:59 Delete

    sister-brother-sex <a href="http://pamalaandersonstits72.forumotion.net/">sister-brother-sex</a> keira-knightly-nude <a href="http://stackdispersionmodel54.forumotion.net/">keira-knightly-nude</a>

  87. free-celebrity-nudes

    Tracked from free-celebrity-nudes 2009/05/05 18:24 Delete

    free-online-porn-games <a href="http://danicapatrickfhm51.forumotion.net/your-first-forum-f1/free-online-porn-games-t33.htm">free-online-porn-games</a> mother-and-son-sex <a href="http://castrationeunuchstories15.forumotion.net/">mother-and-son-sex</a>

  88. sex with my dog

    Tracked from sex with my dog 2009/05/05 18:59 Delete

    nude female photos <a href="http://azeuorarakupohyz8032009.blogspot.com/">nude female photos</a>

  89. gay nude men

    Tracked from gay nude men 2009/05/05 19:51 Delete

    girls without bras <a href="http://cufememiuibik5132009.blogspot.com/">girls without bras</a>

  90. nude-child-models

    Tracked from nude-child-models 2009/05/05 22:14 Delete

    private-school-girls <a href="http://www.world66.com/member/qiqyqe2050">private-school-girls</a> your-porn-tube <a href="http://www.world66.com/member/pejupyry4767">your-porn-tube</a>

  91. free celeb porn

    Tracked from free celeb porn 2009/05/06 14:30 Delete

    gay video clips <a href="http://firabaco1082009.blogspot.com/">gay video clips</a>

  92. free virtual sex games

    Tracked from free virtual sex games 2009/05/06 15:01 Delete

    flash sex games <a href="http://emukofawonum9542009.blogspot.com/">flash sex games</a>

  93. hidden-camera-sex

    Tracked from hidden-camera-sex 2009/05/06 15:19 Delete

    free-adult-chat-rooms <a href="http://www.world66.com/member/ubaripeh5200">free-adult-chat-rooms</a> hilary-duff-nude <a href="http://www.world66.com/member/weciquko5224">hilary-duff-nude</a>

  94. free-vintage-porn-galleries

    Tracked from free-vintage-porn-galleries 2009/05/06 17:09 Delete

    teens-in-micro-bikini <a href="http://www.world66.com/member/aqoda1814">teens-in-micro-bikini</a> male-porn-stars <a href="http://www.world66.com/member/iceravu4115">male-porn-stars</a>

  95. free-gay-webcam

    Tracked from free-gay-webcam 2009/05/06 17:30 Delete

    teens-in-pantyhose <a href="http://www.world66.com/member/luvuwu3343">teens-in-pantyhose</a> teens-in-stockings <a href="http://www.world66.com/member/yhypyq8425">teens-in-stockings</a>

  96. leelee-sobieski-nude

    Tracked from leelee-sobieski-nude 2009/05/06 17:51 Delete

    d-cup-girls <a href="http://www.world66.com/member/idunodeu1122">d-cup-girls</a> free-anime-sex <a href="http://www.world66.com/member/ocikydeu3874">free-anime-sex</a>

  97. female-teen-models

    Tracked from female-teen-models 2009/05/06 18:16 Delete

    free-hardcore-fucking <a href="http://www.world66.com/member/neholo5684">free-hardcore-fucking</a> tila-tequila-porn <a href="http://www.world66.com/member/uniuycic1735">tila-tequila-porn</a>

  98. free porn clips 89

    Tracked from free porn clips 89 2009/05/06 18:46 Delete

    homemade sex machines <a href="http://miuoriu1492009.blogspot.com/">homemade sex machines</a>

  99. Kate Winslet Nude56

    Tracked from Kate Winslet Nude56 2009/05/06 19:02 Delete

    Lesbian Sex Tips38 <a href="http://www.maclife.com/user/Lesbian_Sex_Tips38/">Lesbian Sex Tips38</a> Little Girls Nude70 <a href="http://www.maclife.com/user/Little_Girls_Nude70/">Little Girls Nude70</a>

  100. Heather Graham Nude87

    Tracked from Heather Graham Nude87 2009/05/06 19:31 Delete

    First Time Gay Sex71 <a href="http://www.maclife.com/user/First_Time_Gay_Sex71/">First Time Gay Sex71</a> Celebrity Nude Pictures17 <a href="http://www.maclife.com/user/Celebrity_Nude_Pictures17/">Celebrity Nude Pictures17</a>

  101. ladyboy lusi

    Tracked from ladyboy lusi 2009/05/07 16:26 Delete

    mrs silks forced feminization <a href="http://ohiwauyhouate7612009.blogspot.com/">mrs silks forced feminization</a>

  102. jessi-model

    Tracked from jessi-model 2009/05/07 17:05 Delete

    yara-international-fuckers <a href="http://www.world66.com/member/enivu4656">yara-international-fuckers</a> naked-fratmen <a href="http://www.world66.com/member/suxehi927">naked-fratmen</a>

  103. vintage-cabinet-hinges

    Tracked from vintage-cabinet-hinges 2009/05/07 17:34 Delete

    gfe-indianapolis <a href="http://www.world66.com/member/pupeliz2143">gfe-indianapolis</a> mimi-rogers-nude <a href="http://www.world66.com/member/uevadyt2398">mimi-rogers-nude</a>

  104. melanies-swingers-350000

    Tracked from melanies-swingers-350000 2009/05/07 19:13 Delete

    essex-pub-orgy <a href="http://www.world66.com/member/qabyuy9245">essex-pub-orgy</a> adult-furry-art-galleries <a href="http://www.world66.com/member/igyjaj7367">adult-furry-art-galleries</a>

  105. inuyasha-kagome-lemon-fanfics

    Tracked from inuyasha-kagome-lemon-fanfics 2009/05/07 20:00 Delete

    kriegsmarine-uniform <a href="http://www.world66.com/member/yqebuk519">kriegsmarine-uniform</a> kansas-reverse-vasectomy-specialist <a href="http://www.world66.com/member/ewuzuny7641">kansas-reverse-vasectomy-specialist</a>

  106. erotic-greeting-cards

    Tracked from erotic-greeting-cards 2009/05/07 20:28 Delete

    adult-frend-finder <a href="http://www.world66.com/member/uidop1328">adult-frend-finder</a> landing-strip-romulus <a href="http://www.world66.com/member/urimyfeu6097">landing-strip-romulus</a>

  107. hawaii watersports jetski

    Tracked from hawaii watersports jetski 2009/05/07 21:59 Delete

    nigella lawson nude <a href="http://wuzebynagahece2342009.blogspot.com/">nigella lawson nude</a>

  108. Eva Longoria Sex Tape57

    Tracked from Eva Longoria Sex Tape57 2009/05/08 00:33 Delete

    Free Xxx Video93 <a href="http://www.maclife.com/user/Free_Xxx_Video93/">Free Xxx Video93</a> Vintage Midget Race Car51 <a href="http://www.maclife.com/user/Vintage_Midget_Race_Car51/">Vintage Midget Race Car51</a>

  109. Model Rujukan Osi29

    Tracked from Model Rujukan Osi29 2009/05/08 00:58 Delete

    Blonde Vs Brunette Experiment19 <a href="http://www.maclife.com/user/Blonde_Vs_Brunette_Experiment19/">Blonde Vs Brunette Experiment19</a> Different Sex Positions48 <a href="http://www.maclife.com/user/Different_Sex_Positions48/">Different Sex Position...

  110. Pheobe Cates Nude47

    Tracked from Pheobe Cates Nude47 2009/05/08 01:01 Delete

    Futuba Bbs87 <a href="http://www.maclife.com/user/Futuba_Bbs87/">Futuba Bbs87</a> Adult 2bchat53 <a href="http://www.maclife.com/user/Adult_2bchat53/">Adult 2bchat53</a>

  111. Sissy Captions70

    Tracked from Sissy Captions70 2009/05/08 01:01 Delete

    Chloe Agnew30 <a href="http://www.maclife.com/user/Chloe_Agnew30/">Chloe Agnew30</a> Jesse Kooker22 <a href="http://www.maclife.com/user/Jesse_Kooker22/">Jesse Kooker22</a>

  112. Kendra Wilkinson Playboy Pictorial60

    Tracked from Kendra Wilkinson Playboy Pictorial60 2009/05/08 01:23 Delete

    Gay Jackoff Videos94 <a href="http://www.maclife.com/user/Gay_Jackoff_Videos94/">Gay Jackoff Videos94</a> Gabby Logan Upskirt44 <a href="http://www.maclife.com/user/Gabby_Logan_Upskirt44/">Gabby Logan Upskirt44</a>

  113. List Of Sex Offenders59

    Tracked from List Of Sex Offenders59 2009/05/08 01:49 Delete

    Free Sample Porn20 <a href="http://www.maclife.com/user/Free_Sample_Porn20/">Free Sample Porn20</a> Castrate Cbt94 <a href="http://www.maclife.com/user/Castrate_Cbt94/">Castrate Cbt94</a>

  114. Hairy Vag92

    Tracked from Hairy Vag92 2009/05/08 02:13 Delete

    Laura Vandervoort Nude54 <a href="http://www.maclife.com/user/Laura_Vandervoort_Nude54/">Laura Vandervoort Nude54</a> Buttobi Cpu Hentai39 <a href="http://www.maclife.com/user/Buttobi_Cpu_Hentai39/">Buttobi Cpu Hentai39</a>

  115. moms fucking sons

    Tracked from moms fucking sons 2009/05/09 06:54 Delete

    girls in bras <a href="http://cocufouugula5202009.blogspot.com/">girls in bras</a>

  116. college-girls-naked

    Tracked from college-girls-naked 2009/05/09 07:17 Delete

    free-soft-porn <a href="http://www.world66.com/member/onouut2172">free-soft-porn</a> free-black-porn-movies <a href="http://www.world66.com/member/jahokysa803">free-black-porn-movies</a>

  117. underage-teen-russian-schoolgirl

    Tracked from underage-teen-russian-schoolgirl 2009/05/09 07:42 Delete

    free-amatuer-sex-videos <a href="http://www.world66.com/member/ukawe1697">free-amatuer-sex-videos</a> picture-hunter-porn <a href="http://www.world66.com/member/hylowyn7282">picture-hunter-porn</a>

  118. keeley-hazell-nude

    Tracked from keeley-hazell-nude 2009/05/09 08:01 Delete

    twin-sisters-fucking <a href="http://www.world66.com/member/ypejuriq1515">twin-sisters-fucking</a> adult-web-cam <a href="http://www.world66.com/member/isyji8991">adult-web-cam</a>

  119. sex-pro-adventures

    Tracked from sex-pro-adventures 2009/05/09 08:28 Delete

    big-girls-in-diapers <a href="http://www.world66.com/member/awiso3234">big-girls-in-diapers</a> girls-in-bras <a href="http://www.world66.com/member/auopi9150">girls-in-bras</a>

  120. joebobs-teen-forum

    Tracked from joebobs-teen-forum 2009/05/09 08:50 Delete

    nude-pregnant-women <a href="http://www.world66.com/member/utudeto1380">nude-pregnant-women</a> amy-fisher-sex-tape <a href="http://www.world66.com/member/ucaza870">amy-fisher-sex-tape</a>

  121. erotic-doctor-visits

    Tracked from erotic-doctor-visits 2009/07/03 20:06 Delete

    anime-tentacle-sex <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1420446">anime-tentacle-sex</a> latex-gloves-manufacturer <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1420711">latex-gloves-manufacturer</a>

  122. sunbathing-teen

    Tracked from sunbathing-teen 2009/07/04 06:54 Delete

    <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1424321">allanah-starr-movies</a> allanah-starr-movies <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1426082">daily-amateur-chix</a> daily-amateur-chix

  123. latex-female-mask

    Tracked from latex-female-mask 2009/07/04 10:09 Delete

    <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1424285">vintage-fountain-pens</a> vintage-fountain-pens <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1421094">phat-black-asses</a> phat-black-asses

  124. vintage-tablecloths

    Tracked from vintage-tablecloths 2009/07/04 12:41 Delete

    <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1423069">ddf-busty</a> ddf-busty <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1426035">tavia-sex-galleries</a> tavia-sex-galleries

  125. olderseries-granny

    Tracked from olderseries-granny 2009/07/04 15:29 Delete

    <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1425505">unfaithful-cheating-wife-signs</a> unfaithful-cheating-wife-signs <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1422142">zero-turn-riding-mowers</a> zero-turn-riding-mowers

  126. broken-capillaries-swollen-ankles

    Tracked from broken-capillaries-swollen-ankles 2009/07/04 18:45 Delete

    <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1421423">vintage-easter-decorations</a> vintage-easter-decorations <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1423144">xxxx-asslicking-bizarre-perverted</a> xxxx-asslicking-bizarre-perverted

  127. free-lesbian-porn-movies

    Tracked from free-lesbian-porn-movies 2009/07/04 18:45 Delete

    <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1424519">free-adult-homemade-videos</a> free-adult-homemade-videos <a href="http://www.jguru.com/guru/viewbio.jsp?EID=1424655">gay-mensroom</a> gay-mensroom

  128. big sexy ass tits

    Tracked from big sexy ass tits 2009/07/07 23:17 Delete

    latinas in booty shorts <a href="http://blogpachino.blogspot.com/">latinas in booty shorts</a>

  129. mtd riding mower diagram

    Tracked from mtd riding mower diagram 2009/07/08 06:01 Delete

    hentai catgirls <a href="http://fifty-fifty-50.blogspot.com/">hentai catgirls</a>

  130. closeout scrub uniforms

    Tracked from closeout scrub uniforms 2009/07/08 11:58 Delete

    vintage schwinn tandem bicycle <a href="http://obruch-bobruch.blogspot.com/">vintage schwinn tandem bicycle</a>

  131. xxx showoffs

    Tracked from xxx showoffs 2009/07/24 15:25 Delete

    sheer tights for men <a href="http://sexfantasies45.5gighost.com/sheer-tights-for-men.html">sheer tights for men</a> megamans hentai site <a href="http://sexfilms19.5gighost.com/megamans-hentai-site.html">megamans hentai site</a>

  132. russian nudist camps

    Tracked from russian nudist camps 2009/07/24 21:51 Delete

    the hustler oscar nominee <a href="http://sexfinder33.5gighost.com/the-hustler-oscar-nominee.html">the hustler oscar nominee</a> donna ewin galleries <a href="http://sexfacts31.5gighost.com/donna-ewin-galleries.html">donna ewin galleries</a>

  133. hiromi oshima nude

    Tracked from hiromi oshima nude 2009/07/25 00:25 Delete

    home sex movies <a href="http://sexfinder33.5gighost.com/home-sex-movies.html">home sex movies</a> free teen chat <a href="http://sexfilms19.5gighost.com/free-teen-chat.html">free teen chat</a>

  134. grandma fucks grandson

    Tracked from grandma fucks grandson 2009/07/25 05:26 Delete

    large clitorises <a href="http://sexmummy22.5gighost.com/large-clitorises.html">large clitorises</a> adult dating service <a href="http://sexmpegs7.5gighost.com/adult-dating-service.html">adult dating service</a>

  135. mfm threesome

    Tracked from mfm threesome 2009/07/25 07:55 Delete

    vanessahudgens nude <a href="http://sexoasis74.5gighost.com/vanessahudgens-nude.html">vanessahudgens nude</a> teen model factory <a href="http://sexocean78.5gighost.com/teen-model-factory.html">teen model factory</a>

  136. free celeb nude pics

    Tracked from free celeb nude pics 2009/07/25 10:17 Delete

    hermoine model <a href="http://sexmoviesfree74.5gighost.com/hermoine-model.html">hermoine model</a> torri wilson nude <a href="http://sexoasis74.5gighost.com/torri-wilson-nude.html">torri wilson nude</a>

  137. renate buccone lingerie

    Tracked from renate buccone lingerie 2009/07/25 12:40 Delete

    durham facial rejuvenation <a href="http://sexocean78.5gighost.com/durham-facial-rejuvenation.html">durham facial rejuvenation</a> jerry springer show uncensored <a href="http://sexmummy22.5gighost.com/jerry-springer-show-uncensored.html">jerry springe...

  138. jilling wives

    Tracked from jilling wives 2009/07/25 15:03 Delete

    diva silke <a href="http://sexmoviesfree74.5gighost.com/diva-silke.html">diva silke</a> pikes peak webcam <a href="http://sexmoviesfree74.5gighost.com/pikes-peak-webcam.html">pikes peak webcam</a>

  139. vanessa hudgins nude

    Tracked from vanessa hudgins nude 2009/07/28 00:05 Delete

    arron carter nude <a href="http://sexocean78.5gighost.com/arron-carter-nude.html">arron carter nude</a>

  140. zeps guide

    Tracked from zeps guide 2009/07/29 15:25 Delete

    tawas phone system <a href="http://maifunemae.wordpress.com/">tawas phone system</a>

  141. zero turn lawn mowers

    Tracked from zero turn lawn mowers 2009/07/29 16:12 Delete

    tawas voip phone systems <a href="http://mapman69.wordpress.com/">tawas voip phone systems</a>

  142. Margot Kidder Nude

    Tracked from Margot Kidder Nude 2009/08/18 01:50 Delete

    Margot Kidder Nude <a href="http://www.kaboodle.com/margot_kidder_nude_52">Margot Kidder Nude</a> Photos and Video. jgr1uig98d

  143. uk gay cottaging

    Tracked from uk gay cottaging 2009/08/27 16:36 Delete

    teen pageant dresses <a href="http://www.kaboodle.com/teen_pageant_dresses_23">teen pageant dresses </a>

  144. melfort

    Tracked from melfort 2009/10/01 05:05 Delete

    anal expander <a href="http://anal-expander.gscoiqrqnvq.com/">anal expander</a> wetbabes <a href="http://wetbabes.gscoiqrqnvq.com/">wetbabes</a>

  145. Operation Flashpoint-dragon Raising 1gb

    Tracked from Operation Flashpoint-dragon Raising 1gb 2009/12/15 20:31 Delete

    Operation Flashpoint-dragon Raising 1gb <a href="http://rspost.blogetery.com/games/operation-flashpoint-dragon-raising-1gb.html">Operation Flashpoint-dragon Raising 1gb</a>

  146. Percocet 7.5.

    Tracked from Half-life of percocet. 2010/12/11 11:05 Delete

    Percocet. Percocet side effects. Percocet addiction. Percocet 15.

  147. Meridia.

    Tracked from Generic meridia. 2010/12/12 05:02 Delete

    Meridia.

  148. Tramadol hydrochloride.

    Tracked from Tramadol. 2011/04/07 10:43 Delete

    Tramadol.

  149. Cialis.

    Tracked from Cialis. 2011/04/09 06:56 Delete

    Discount cialis.

  150. Discount ambien.

    Tracked from Generic ambien. 2011/04/09 07:51 Delete

    Ambien side effects. Ambien sleeping pill. Ambien overnight. Ambien.

  151. Viagra vs cialis.

    Tracked from Cialis free sample. 2011/04/11 06:52 Delete

    Cialis cheap. Buy viagra online uk cialis levitra. Cialis. Free sample cialis.

  152. Generic meridia.

    Tracked from Discount meridia. 2011/04/12 06:47 Delete

    Buy meridia. Meridia side effects. Meridia. Does meridia work. Meridia effectiveness. Generic meridia.

  153. Buy tramadol.

    Tracked from Tramadol. 2011/04/13 07:23 Delete

    Discount tramadol.

  154. Tramadol.

    Tracked from Cheap tramadol. 2011/04/15 07:18 Delete

    Tramadol online. Cheap tramadol. Tramadol dosage. No prescription tramadol. Cheap tramadol without prescription. Tramadol.

  155. Pictures of xanax.

    Tracked from Xanax. 2011/04/16 07:14 Delete

    Buy xanax. Xanax withdrawal symptoms. Xanax online.

  156. Buy xanax.

    Tracked from Xanax. 2011/04/17 06:58 Delete

    Buy xanax. Xanax abuse. Mixing cocaine and xanax. Mixing xanax alcohol. Xanax without prescription. Buy xanax online.

  157. Cheap ambien.

    Tracked from Ambien. 2011/04/19 07:19 Delete

    Ambien.

  158. Finasteride.

    Tracked from Topical finasteride. 2011/04/20 07:29 Delete

    Finasteride. Tren finasteride hairloss bad. Finasteride research chemical. Finasteride and dutasteride.

  159. Xanax.

    Tracked from Buy xanax. 2011/04/22 07:12 Delete

    Xanax online without prescription. Buy xanax. Xanax. Snorting xanax.

  160. Finasteride half-life.

    Tracked from Finasteride generic. 2011/04/23 06:50 Delete

    Finasteride. Finasteride macular. Generic finasteride identification. 5mg finasteride.

  161. Xanax online.

    Tracked from Buy xanax online. 2011/04/24 13:12 Delete

    Buy xanax no prescription. Xanax online. 2mg xanax no prescribtion. Smoking xanax. Xanax addiction. Order xanax 2mg.

  162. Meridia.

    Tracked from Online doctors perscibe meridia. 2011/04/25 06:24 Delete

    Discount meridia. Meridia side effects. Meridia. Ptsd and meridia. Meridia cheap.

  163. Cialis.

    Tracked from Cialis vs viagra. 2011/04/25 07:15 Delete

    Cialis.

  164. Ambien online.

    Tracked from Does ambien cause fetal birth defect. 2011/04/26 07:13 Delete

    Generic ambien. Ambien without a prescription. Ambien cr. Ambien online.

  165. Ambien cr.

    Tracked from Ambien cr. 2011/04/27 07:28 Delete

    Ambien next day delivery where us. Generic ambien. Ambien empty stomach. Ambien next day delivery us. Ambien. Ambien addiction. Internet-rx.com ambien. Ambien next day delivery canada.

  166. Finasteride.

    Tracked from Finasteride. 2011/04/28 08:18 Delete

    Finasteride. Finasteride 1mg. Side effects of propecia finasteride mg.

  167. Ativan no prescription.

    Tracked from Ativan withdrawal. 2011/04/29 07:41 Delete

    Ativan without a prescription. Ativan side effects. First generation of ativan. Ativan.

  168. Codeine.

    Tracked from Codeine facts. 2011/04/30 06:54 Delete

    What states allow otc codeine. Codeine. Tylenol with codeine.

  169. Ativan.

    Tracked from Ativan side effects. 2011/05/01 06:54 Delete

    Ativan information. No prescription ativan. Ativan side effects. Ativan. Ativan drug.

  170. Buy codeine online without a prescription.

    Tracked from Acetaminophen w codeine 3. 2011/05/02 06:48 Delete

    Acetaminophen codeine. Chemical structure of codeine. Codeine. Fiorinal with codeine. Codeine online.

  171. Klonopin.

    Tracked from Klonopin. 2011/05/03 08:07 Delete

    Klonopin pill. Klonopin online. Klonopin smoking. Klonopin side effects. Klonopin.

  172. Ativan.

    Tracked from Ativan. 2011/05/04 07:28 Delete

    Buy ativan online no credit card. Ativan stay in urine. Ativan half life. Ativan lorazepam. Lorapam ativan sleeping insomnia.

  173. Cephalexin.

    Tracked from Cephalexin. 2011/07/01 03:30 Delete

    Cephalexin cold symptoms. Cephalexin. Canine cephalexin dosage.

  174. Side effects of doxycycline.

    Tracked from Doxycycline. 2011/07/01 07:45 Delete

    Doxycycline cat reaction. Doxycycline calcium. Doxycycline hyclate uses. Doxycycline. Can you take doxycycline for throat infection.

  175. Soma.

    Tracked from Soma without rx. 2011/07/01 18:48 Delete

    Psyche and soma operate as a duality. Soma in san diego. Soma. Soma sen arizona. Drug soma. Chevelle soma. Soma without rx.

  176. Celebrex.

    Tracked from Celebrex 200mg side effects. 2011/07/02 01:11 Delete

    Celebrex.

  177. Clindamycin and bactrim.

    Tracked from Bactrim. 2011/07/02 23:01 Delete

    Bactrim uses. Bactrim celebrex drug interactions. Bactrim ds. Bactrim. Bactrim side effects. Bactrim forte. Bactrim no prescription.

  178. Paxil side effects.

    Tracked from Paxil alcohol. 2011/07/03 09:52 Delete

    Paxil. Paxil and joint pain. Getting off paxil. Paxil side effects.

  179. Singulair.

    Tracked from Norweco singulair aerator. 2011/07/03 09:52 Delete

    Singulair for asthma. Singulair. Singulair adverse side effects. Comparions of singulair uniphyl. Generic singulair.

  180. Naproxen.

    Tracked from Naproxen. 2011/07/03 19:14 Delete

    Naproxen sodium breastfeeding. 220 naproxen dosage aleve.

  181. Clonidine.

    Tracked from Clonidine. 2011/07/03 19:23 Delete

    Clonidine side effects. Clonidine.

  182. Acyclovir.

    Tracked from Acyclovir. 2011/07/04 12:18 Delete

    Usage of acyclovir for ramsay hunt syndrome. Acyclovir seizures. Acyclovir information for patients. Acyclovir.

  183. Side effects of prozac.

    Tracked from Zoloft vs prozac. 2011/07/04 23:10 Delete

    Daytime drowsiness and prozac. Potatoes not prozac. Zoloft verse prozac. Side effects of prozac. Christina ricci prozac nation.

  184. Buy zyrtec online.

    Tracked from Zyrtec side effects. 2011/07/05 10:29 Delete

    Zyrtec side effects zoloft. Zyrtec dosing. Buy zyrtec online. Zyrtec.

  185. Side effects of amoxicillin and clavulanate.

    Tracked from Side effects from amoxicillin 500mg. 2011/07/05 19:25 Delete

    Side effects of amoxicillin and clavulanate. Can you mix amoxicillin with milk. Dental antibiotic amoxicillin. Non prescription amoxicillin for cats.

  186. Metformin weight loss.

    Tracked from Metformin hcl. 2011/07/06 05:30 Delete

    Metformin. Metformin side effects.

  187. Bactrim.

    Tracked from What is bactrim. 2011/07/06 12:12 Delete

    Bactrim antibiotic. Bactrim. Bactrim side effects. Side effects of bactrim.

  188. Metronidazole alcohol.

    Tracked from Metronidazole. 2011/07/06 13:17 Delete

    Metronidazole.

  189. Buy tadalafil.

    Tracked from Tadalafil. 2011/07/06 14:15 Delete

    Stamina rx tadalafil. Tadalafil. Buy tadalafil 20mg.

  190. Atenolol side effects.

    Tracked from Atenolol chlor. 2011/07/06 22:12 Delete

    Atenolol. Reaction to atenolol. Adverse drug reaction persantine and atenolol.

  191. Vytorin.

    Tracked from Vytorin. 2011/07/07 09:37 Delete

    Any problems with vytorin. Lipitor vytorin heart attack. Vytorin.

  192. Cheap tramadol.

    Tracked from Tramadol. 2011/07/07 12:38 Delete

    Cheap tramadol. Cheap tramadol without prescription. Tramadol.

  193. Aciphex.

    Tracked from Aciphex side effects. 2011/07/07 19:23 Delete

    Aciphex discounted. Aciphex. Aciphex weight gain.

  194. Celexa.

    Tracked from Dangerous side effects celexa. 2011/07/07 22:50 Delete

    Abdominal pain with celexa. Celexa.

  195. Omeprazole.

    Tracked from Omeprazole. 2011/07/08 08:37 Delete

    Omeprazole for infants. Omeprazole. Mart omeprazole mgcapsuledr.

  196. Singulair.

    Tracked from Singulair. 2011/07/08 20:00 Delete

    Singulair. Singulair grapefruit. Singulair sideaffects.

  197. Neurontin.

    Tracked from Neurontin and migrains. 2011/07/08 21:10 Delete

    Neurontin.

  198. Acyclovir.

    Tracked from Acyclovir. 2011/07/09 06:59 Delete

    Acyclovir 400 mg tablets. Acyclovir.

  199. Viagra.

    Tracked from Buy cheap viagra online uk. 2011/07/09 08:50 Delete

    Story comparison viagra. Cheap viagra. Buy viagra. Viagra side effects. Cialis with viagra. Viagra.

  200. Levitra better than viagra.

    Tracked from Levitra testimonials. 2011/07/09 19:20 Delete

    Levitra.

  201. Metformin.

    Tracked from Side effects of metformin. 2011/07/09 19:56 Delete

    Metformin. Metformin and breastfeeding. Metformin during pregnancy. Metformin weight loss. Ivf metformin. Metformin side effects.

  202. What is levaquin.

    Tracked from Drug levaquin. 2011/07/10 08:59 Delete

    Bacillus cereus and levaquin. What is levaquin. Metallic taste from levaquin. What is levaquin antibiotic. Toothache levaquin moxifloxacin. Mrsa and levaquin. Will levaquin cure strep. Side effects of levaquin.

  203. Clomid and injection.

    Tracked from Natural clomid. 2011/07/10 17:13 Delete

    Clomid missing a dosage.

  204. Cymbalta.

    Tracked from Cymbalta. 2011/07/10 19:20 Delete

    Cymbalta arthritis. Cymbalta.

  205. Amitriptyline zoloft interaction.

    Tracked from Amitriptyline. 2011/07/11 02:57 Delete

    Amitriptyline tablets. Amitriptyline hci. Amitriptyline hcl cat. Amitriptyline hcl. Amitriptyline.

  206. Zyrtec.

    Tracked from Zyrtec. 2011/07/11 10:41 Delete

    Generic zyrtec. Zyrtec.

  207. Actos.

    Tracked from Actos. 2011/07/11 23:55 Delete

    Lantus actos. Sitagliptin and actos. Mechanism of action of actos. Actos. Anemia and actos.

  208. Viagra.

    Tracked from Viagra. 2011/07/12 00:24 Delete

    Viagra prescription price. Side effects of viagra. Viagra hgh. Viagra.

  209. Free viagra.

    Tracked from Free viagra samples. 2011/07/12 06:27 Delete

    Free viagra.

  210. Simvastatin and methyl 3.

    Tracked from Simvastatin. 2011/07/12 07:27 Delete

    Simvastatin 80 mg.

  211. Mobic.

    Tracked from Mobic imprints identifier. 2011/07/13 00:54 Delete

    Mobic.

  212. Cheap soma.

    Tracked from Soma without rx. 2011/07/13 06:16 Delete

    Soma. Best online pricing for soma. Soma to florida. Soma long term effects.

  213. Vytorin.

    Tracked from Vytorin heart attack prevention. 2011/07/13 06:41 Delete

    Vytorin.

  214. Nexium.

    Tracked from Nexium. 2011/07/13 07:55 Delete

    Nexium iv drug interaction. Nexium.

  215. Orlistat.

    Tracked from Buy orlistat no prescription. 2011/07/13 13:51 Delete

    Orlistat.

  216. Risperdal consta.

    Tracked from Risperdal works how. 2011/07/14 02:57 Delete

    Risperdal.

  217. Effexor withdrawal.

    Tracked from Effexor xr. 2011/07/14 03:00 Delete

    Effexor. Effexor hypomania. Effexor xr withdrawal.

  218. Levitra.

    Tracked from Levitra. 2011/07/14 11:56 Delete

    Cialis and levitra. Levitra preguntas frecuentes. Levitra.

  219. Diabetes drug metformin.

    Tracked from Metformin hcl 500mg. 2011/07/14 13:29 Delete

    Metformin for pcos. Metformin weight loss. Generic metformin for diabetes drug information.

  220. Azithromycin florida.

    Tracked from Azithromycin overdose. 2011/07/14 22:39 Delete

    Drug interaction levoflaxin azithromycin. Azithromycin side effects. Side effects azithromycin. Azithromycin.

  221. Does lipitor cause insomnia.

    Tracked from Side effects from lipitor. 2011/07/15 00:45 Delete

    Lipitor side effects.

  222. Protonix used for.

    Tracked from Protonix. 2011/07/15 09:25 Delete

    Protonix 40mg. Protonix side effects. Protonix 40mg tablets. Protonix.

  223. Cymbalta.

    Tracked from Cymbalta. 2011/07/15 09:59 Delete

    Paxil vs cymbalta. Discount cymbalta. Cymbalta.

  224. Lipitor.

    Tracked from Lipitor. 2011/07/16 12:31 Delete

    Lipitor lawsuit. Lipitor grapefruit juice. Lipitor. Generic version of lipitor. Lipitor unusual side effect. Lipitor died. Heart skipping lipitor.

  225. Protonix.

    Tracked from Protonix. 2011/07/16 20:56 Delete

    Protonix.

  226. Free viagra.

    Tracked from Free viagra. 2011/07/16 22:55 Delete

    Free viagra. Free sample viagra. Viagra 6 free samples. Free viagra samples.

  227. Lamictal while pregnant.

    Tracked from Lamictal while pregnant. 2011/07/16 23:03 Delete

    Celexa lamictal abilify. Lamictal elevated alkaline phosphatase. Lamictal. Drug side effect lamictal.

  228. Metronidazole.

    Tracked from Metronidazole alcohol. 2011/07/17 15:01 Delete

    Metronidazole. Metronidazole doses for kittens. Metronidazole in pregnant dogs.

  229. Plavix.

    Tracked from Plavix and dosage. 2011/07/17 17:17 Delete

    Plavix.

  230. Zoloft.

    Tracked from Zoloft side effects. 2011/07/18 03:32 Delete

    Zoloft indications. Zoloft still depressed. Sweating zoloft. Zoloft. Zoloft sexual. Zoloft side effects. Zoloft and night eating syndrome.

  231. Orlistat safety.

    Tracked from Orlistat otc. 2011/07/18 03:40 Delete

    Orlistat 60mg. Otc orlistat. Orlistat otc. Orlistat. Orlistat nausea.

  232. Seroquel.

    Tracked from Seroquel. 2011/07/18 13:59 Delete

    Seroquel.

  233. Buy levitra.

    Tracked from Cheap levitra. 2011/07/18 15:14 Delete

    Buy levitra.

  234. Orlistat.

    Tracked from When will orlistat be available over the counter. 2011/07/19 00:19 Delete

    When will orlistat be available over the counter. Orlistat.

  235. Metformin side effects.

    Tracked from Metformin conversion to insulin. 2011/07/19 00:25 Delete

    Side effects of metformin. Side effects from taking metformin. Metformin.

  236. Meloxicam.

    Tracked from Apo meloxicam. 2011/07/19 09:35 Delete

    What is meloxicam. Meloxicam. Meloxicam 7.5 m.

  237. Cephalexin.

    Tracked from Cephalexin. 2011/07/19 15:51 Delete

    Cephalexin for cats. Microbiological assay of cephalexin. Cephalexin.

  238. Sertraline hcl.

    Tracked from Sertraline hcl. 2011/07/19 18:03 Delete

    Sertraline fun. Sertraline. Seizure sertraline. Sertraline hydrocloride.

  239. Zoloft.

    Tracked from Zoloft. 2011/07/20 00:20 Delete

    Overdose by celexa and zoloft. Zoloft.

  240. Ibuprofen.

    Tracked from Ibuprofen. 2011/07/20 02:42 Delete

    Continual use of ibuprofen. Can dogs take ibuprofen. Ibuprofen. Dogs ibuprofen safety. Stool tested with blood ibuprofen 800mg. Ibuprofen crystal stucture. Company that first made ibuprofen. Pancreatitis ibuprofen aspirin.

  241. Buy lortab online no prescription.

    Tracked from No prescription lortab. 2011/07/20 16:18 Delete

    Buy lortab online no prescription. Lortab no prescription. Lortab no prescriptions no doctor.

  242. Buy terbinafine .

    Tracked from Buy terbinafine . 2011/07/20 18:42 Delete

    Buy terbinafine .

  243. Ephedrine.

    Tracked from Hydroxycut ephedra ephedrine. 2011/07/21 00:41 Delete

    Ephedrine weightloss drops. Someone who used ephedrine. Ephedrine. Ephedrine side effects. Ephedrine plus danger of ephedrine. Interactions between elavil and ephedrine.

  244. Benefits side effects of the drug singulair.

    Tracked from Singulair and weight gain. 2011/07/21 03:42 Delete

    Singulair reduce allergic reactions. Will singulair treat allergic response. Singulair canada.

  245. Zolpidem no prescription federal express.

    Tracked from Zolpidem no prescription federal express. 2011/07/21 16:19 Delete

    Zolpidem no prescription. Buy online zolpidem no prescription india. Zolpidem tartrate no prescription.

  246. Xanax.

    Tracked from Pharmacy order generic xanax. 2011/07/21 18:43 Delete

    2mg xanax order. Order xanax online. Xanax. Xanax 2mg no prescription.

  247. Buy carisoprodol.

    Tracked from Buy carisoprodol online lowest price guarantee. 2011/07/22 01:19 Delete

    Buy carisoprodol online lowest price guarantee. Carisoprodol buy cheap carisoprodol order online.

  248. Buy esomeprazole.

    Tracked from Buy esomeprazole. 2011/07/22 03:42 Delete

    Buy esomeprazole.

  249. Tramadol.

    Tracked from What is tramadol 93. 2011/07/22 12:12 Delete

    Tramadol cheap no rx. Tramadol. Best price for tramadol. Canine tramadol. Tramadol hcl. Tramadol 180 electronic check.

  250. Buy doxycycline online.

    Tracked from Buy doxycycline online. 2011/07/22 17:44 Delete

    Buy doxycycline without prescription. Buy doxycycline. Buy doxycycline online.

  251. Adderall no prescription.

    Tracked from No prescription adderall. 2011/07/23 02:45 Delete

    Pharmacies no prescription adderall. Buy adderall no prescription. Buy adderall online with no prescription. No prescription adderall. Adderall no prescription. Buy generic adderall no prescription.

  252. Diazepam dmt.

    Tracked from Diazepam. 2011/07/23 04:44 Delete

    Diazepam. Diazepam benefits. Interresults diazepam. Buy diazepam online doctor consultations. Duration of diazepam.

  253. Buy carisoprodol.

    Tracked from Buy carisoprodol. 2011/07/23 13:41 Delete

    Buy carisoprodol. Buy carisoprodol online lowest price guarantee.

  254. Buy ativan online.

    Tracked from Buy ativan online. 2011/07/23 17:46 Delete

    Buy ativan online. Buy ativan.

  255. Buy soma.

    Tracked from Buy soma cod. 2011/07/24 03:43 Delete

    Buy soma online. Buy soma online without rx.

  256. Buy elavil.

    Tracked from Buy elavil. 2011/07/24 05:56 Delete

    Buy elavil.

  257. Cheap tramadol without prescription.

    Tracked from Overnight tramadol. 2011/07/24 13:41 Delete

    Cheap tramadol. Tramadol hcl.

  258. Buy clonazepam online no prescription.

    Tracked from Buy clonazepam online no prescription. 2011/07/24 17:44 Delete

    Buy clonazepam online no prescription. Buy clonazepam online. Buy clonazepam on-line.

  259. Lortab.

    Tracked from Lortab. 2011/07/24 23:44 Delete

    Sort lortab. Half-life of lortab in urine. Lortab. Hydrocodone lortab no prescription.

  260. Buy ativan.

    Tracked from Buy ativan fed ex no prescription us pharmacies. 2011/07/25 06:51 Delete

    Buy ativan online order ativan online. Ativan -buy -buying -online -cheap. Buy ativan online no credit card. Buy ativan fed ex no prescription. Buy ativan. Buy ativan online free usa dr consultation.

  261. Oxycodone.

    Tracked from Oxycodone addiction. 2011/07/25 13:41 Delete

    Oxycodone addiction. Buy oxycodone online. Symptoms of abuse of oxycodone. Order oxycodone.

  262. Esomeprazole.

    Tracked from Esomeprazole. 2011/07/25 17:45 Delete

    Esomeprazole. Nexium esomeprazole magnesium. Esomeprazole at walgreens.

  263. Buy adderall no prescription.

    Tracked from Buy online adderall without prescription. 2011/07/26 00:42 Delete

    Buy adderall. Top foreign pharmacy to buy adderall.

  264. Buy codeine.

    Tracked from Buy 222 codeine. 2011/07/26 02:43 Delete

    Buy codeine online. Canidian buy codeine on line. Buy codeine.

  265. Getting off hydrocodone while pregnant.

    Tracked from Hydrocodone addiction. 2011/07/26 14:42 Delete

    Hydrocodone. How to make hydrocodone. Purchase hydrocodone without a prescription. Is oxycodone or hydrocodone stronger. Buy hydrocodone without a prescription. Online prescription for hydrocodone.

  266. Buy carisoprodol online no prescription required.

    Tracked from Buy carisoprodol. 2011/07/26 17:44 Delete

    Buy carisoprodol. Buy carisoprodol online lowest price guarantee. Buy carisoprodol best prices limited time offer.

  267. Valtrex.

    Tracked from Valtrex. 2011/07/27 01:42 Delete

    Valtrex 500. Valtrex. Buy valtrex.

  268. Zolpidem generic.

    Tracked from Zolpidem. 2011/07/27 02:42 Delete

    Zolpidem.

  269. Buy nolvadex.

    Tracked from Buy nolvadex. 2011/07/27 15:42 Delete

    Buy nolvadex.

  270. Buy azithromycin.

    Tracked from Buy azithromycin. 2011/07/27 16:46 Delete

    Buy azithromycin.

  271. Azithromycin buy.

    Tracked from Buy azithromycin. 2011/07/28 02:42 Delete

    Buy azithromycin. Buy azithromycin doxycycline. Azithromycin buy.

  272. Buy butalbital weblog.

    Tracked from Buy butalbital. 2011/07/28 02:45 Delete

    Buying butalbital cod. Butalbital buy overnight. Buy butalbital pharmacy online. Buy butalbital weblog. Buying butalbital. Where to buy butalbital online.

  273. Codeine.

    Tracked from Codeine. 2011/07/28 11:41 Delete

    Fioricet with codeine.

  274. Buy valium.

    Tracked from Buy valium. 2011/07/28 14:43 Delete

    Buy valium.

  275. Buy adipex.

    Tracked from Buy adipex. 2011/07/29 01:45 Delete

    Buy adipex.

  276. Phentermine no prescription.

    Tracked from Phentermine no prescription. 2011/07/29 03:44 Delete

    Phentermine no prescription.

  277. Side effects of adderall xr.

    Tracked from Pregnancy and adderall. 2011/07/29 12:43 Delete

    Adderall side effects.

  278. Esomeprazole.

    Tracked from Esomeprazole. 2011/07/29 15:42 Delete

    Esomeprazole.

  279. Tadalafil.

    Tracked from Buy large quantities of tadalafil online. 2011/07/30 01:52 Delete

    Tadalafil powder. Tadalafil. Tadalafil 20mg. Make tadalafil analogs. Generic tadalafil.

  280. Elavil.

    Tracked from Elavil. 2011/07/30 03:44 Delete

    Elavil.

  281. Duromine.

    Tracked from Duromine. 2011/07/30 12:14 Delete

    40mg 3m duromine. Duromine.

  282. Buy lexapro.

    Tracked from Buy lexapro. 2011/07/30 15:43 Delete

    Buy lexapro.

  283. Terbinafine.

    Tracked from Terbinafine. 2011/07/31 02:42 Delete

    Terbinafine.

  284. Codeine.

    Tracked from Codeine. 2011/07/31 04:43 Delete

    Codeine.

  285. Buy nolvadex.

    Tracked from Buy nolvadex. 2011/07/31 13:41 Delete

    Buy nolvadex without a prescription. Online nolvadex buy. Buy nolvadex.

  286. Buy lorazepam.

    Tracked from Buy lorazepam. 2011/07/31 17:47 Delete

    Buy lorazepam.

  287. Buy valtrex.

    Tracked from Buy valtrex. 2011/08/01 01:46 Delete

    Buy valtrex.

  288. Buy esomeprazole.

    Tracked from Buy esomeprazole. 2011/08/01 02:14 Delete

    Buy esomeprazole.

  289. Butalbital buy cheap prescription.

    Tracked from Butalbital buy cheap prescription. 2011/08/01 12:45 Delete

    Buy butalbital. Buying butalbital online. Buy butalbital weblog.

  290. Buy ativan online no prescription required.

    Tracked from No prescription ativan. 2011/08/01 16:52 Delete

    Buy ativan online no prescription required. Ativan no prescription. No prescription ativan. Ativan non prescription.

  291. Nolvadex.

    Tracked from Nolvadex. 2011/08/02 01:55 Delete

    Nolvadex.

  292. Valium no prescription.

    Tracked from Valium no prescription. 2011/08/02 04:54 Delete

    Valium no prescription.

  293. Buy adderall without a prescription.

    Tracked from Buy adderall online. 2011/08/02 15:26 Delete

    Buy adderall online. Buy adderall. Buying adderall online. Buy fda adderall no presription. Buying adderall over internet.

  294. Lorazepam.

    Tracked from Lorazepam. 2011/08/02 19:01 Delete

    Lorazepam.

  295. Hydrocodone no prescription.

    Tracked from Hydrocodone to buy no prescription. 2011/08/03 02:38 Delete

    No prescription necessary hydrocodone. Hydrocodone no prescription.

  296. Oxycodone.

    Tracked from Oxycodone. 2011/08/03 06:55 Delete

    Oxycodone.

  297. Oxycontin addiction.

    Tracked from Oxycontin dose. 2011/08/03 15:29 Delete

    Oxycontin crush. Oxycontin for sale. Order oxycontin online without a prescription. Oxycontin without prescription. Buy oxycontin online. Oxycontin mail order without prescription mexican. Oxycontin.

  298. Tramadol.

    Tracked from Tramadol. 2011/08/03 18:06 Delete

    Tramadol.

  299. Duromine iop.

    Tracked from Duromine online international pharmacy. 2011/08/04 03:08 Delete

    Duromine side effects. 40mg 3m duromine. Buy 40mg duromine. Duromine buy on line no prescription. Duromine. Buy duromine no script. Duromine pharmacies.

  300. Tramadol.

    Tracked from Tramadol. 2011/08/04 03:57 Delete

    Tramadol.

  301. Hydrocodone no prescription.

    Tracked from Hydrocodone to buy no prescription. 2011/08/04 04:57 Delete

    Hydrocodone no prescription. No prescription hydrocodone.

  302. Xanax no prescription.

    Tracked from Xanax no prescription. 2011/08/04 10:38 Delete

    Xanax no prescription.

  303. Buy fioricet.

    Tracked from Buy fioricet. 2011/08/04 15:56 Delete

    Buy fioricet.

  304. Lexapro.

    Tracked from Lexapro. 2011/08/04 21:53 Delete

    Lexapro.

  305. Fioricet.

    Tracked from Fioricet. 2011/08/05 03:54 Delete

    Fioricet.

  306. Soma no prescription.

    Tracked from Soma no prescription. 2011/08/05 06:30 Delete

    Soma no prescription.

  307. Fioricet no prescription.

    Tracked from Fioricet no prescription. 2011/08/05 17:05 Delete

    Fioricet no prescription.

  308. Buy azithromycin dihydrate.

    Tracked from Buy azithromycin. 2011/08/05 18:21 Delete

    Buy azithromycin or doxycylcine. Buy azithromycin online. Buy azithromycin.

  309. Buy tramadol.

    Tracked from Buy tramadol. 2011/08/06 05:01 Delete

    Buy tramadol.

  310. Xanax.

    Tracked from Xanax. 2011/08/06 06:29 Delete

    Xanax.

  311. Butalbital.

    Tracked from Butalbital. 2011/08/06 21:01 Delete

    Butalbital.

  312. Buy hydrocodone.

    Tracked from Buy hydrocodone. 2011/08/07 00:36 Delete

    Buy hydrocodone.

  313. Ephedrine.

    Tracked from Ephedrine. 2011/08/07 03:33 Delete

    Ephedrine.

  314. Adderall.

    Tracked from Adderall. 2011/08/07 08:40 Delete

    Adderall.

  315. Ambien.

    Tracked from Ambien. 2011/08/07 14:52 Delete

    Ambien.

  316. Duromine.

    Tracked from Duromine. 2011/08/07 19:51 Delete

    Duromine.

  317. Buy esomeprazole.

    Tracked from Buy esomeprazole. 2011/08/08 01:52 Delete

    Buy esomeprazole.

  318. Butalbital.

    Tracked from Butalbital. 2011/08/08 07:49 Delete

    Butalbital cheap cod.

  319. Hydrocodone.

    Tracked from Hydrocodone. 2011/08/08 10:52 Delete

    Hydrocodone.

  320. Buy phentermine.

    Tracked from Buy phentermine. 2011/08/08 20:51 Delete

    Buy phentermine.

  321. Buy valium no prescription.

    Tracked from Valium with no prescription. 2011/08/09 01:54 Delete

    Cheap valium no prescription. Valium no prescription needed. Pharmacy no prescription valium. Buy valium no prescription.

  322. Buy oxycontin.

    Tracked from Buy oxycontin. 2011/08/09 08:48 Delete

    Buy oxycontin.

  323. Lexapro.

    Tracked from Lexapro. 2011/08/09 10:54 Delete

    Lexapro.

  324. Hydrocodone online.

    Tracked from Forums hydrocodone adderall need reliable site. 2011/08/09 19:55 Delete

    Norco hydrocodone. Hydrocodone. Hydrocodone w apap.

  325. Cheap tadalafil.

    Tracked from Tadalafil. 2011/08/10 12:22 Delete

    Tadalafil. Cheapest tadalafil.

  326. Buy nolvadex without a prescription.

    Tracked from Buy nolvadex. 2011/08/10 12:59 Delete

    Buy cheap nolvadex.

  327. Buy carisoprodol online cod.

    Tracked from Buy carisoprodol. 2011/08/10 21:59 Delete

    Buy carisoprodol online lowest price guarantee. Buy carisoprodol. Add buy carisoprodol.

  328. Gabapentin.

    Tracked from Gabapentin. 2011/08/10 22:05 Delete

    Gabapentin.

  329. Alprazolam.

    Tracked from Alprazolam. 2011/08/11 06:25 Delete

    Alprazolam.

  330. Buy ephedrine.

    Tracked from Buy ephedrine. 2011/08/11 11:57 Delete

    Buy ephedrine.

  331. Azithromycin.

    Tracked from Azithromycin. 2011/08/11 21:57 Delete

    Azithromycin.

  332. Cheap tramadol without prescription.

    Tracked from Tramadol prescription. 2011/08/11 22:21 Delete

    Tramadol cod. Tramadol prescription. Tramadol without prescription. Cheap tramadol. Cheap tramadol without prescription. Tramadol.

  333. Elavil.

    Tracked from Seroquel and elavil. 2011/08/12 06:54 Delete

    Elavil withdrawal. Elavil drug test. Elavil. Elavil headache. Elavil cats.

  334. Phentermine no prescription needed.

    Tracked from Phentermine diet pills no prescription. 2011/08/12 07:16 Delete

    Phentermine no prescription. Buy phentermine online no prescription.

  335. Fluoxetine.

    Tracked from Fluoxetine. 2011/08/12 20:57 Delete

    Fluoxetine.

  336. Buy butalbital.

    Tracked from Buy butalbital. 2011/08/12 21:57 Delete

    Buy butalbital.

  337. Buying fioricet online with no prescription.

    Tracked from Order fioricet no prescription. 2011/08/13 07:00 Delete

    No prescription fioricet. Fioricet no prescription.

  338. Lorazepam.

    Tracked from Lorazepam side effects. 2011/08/13 08:59 Delete

    Dangers of wellbutrin and lorazepam. What is lorazepam. Lorazepam.

  339. Oxycodone.

    Tracked from Oxycodone. 2011/08/13 20:57 Delete

    Oxycodone.

  340. Phentermine.

    Tracked from Phentermine. 2011/08/13 22:56 Delete

    Phentermine.

  341. Abilify.

    Tracked from Abilify. 2011/08/13 23:07 Delete

    Abilify.

  342. Buy vicodin.

    Tracked from Buy vicodin. 2011/08/14 12:57 Delete

    Buy vicodin.

  343. Alprazolam.

    Tracked from Alprazolam. 2011/08/14 14:57 Delete

    Alprazolam.

  344. Buy lortab.

    Tracked from Buy lortab. 2011/08/15 01:58 Delete

    Buy lortab.

  345. No prescription fioricet.

    Tracked from Fioricet no prescription. 2011/08/15 06:00 Delete

    No prescription fioricet. Buying fioricet online with no prescription. Fioricet no prescription. Fioricet codeine no prescription. Order fioricet no prescription 120 qty.

  346. Phentermine.

    Tracked from Order phentermine online. 2011/08/15 18:55 Delete

    Phentermine no prescription. Buy cheap phentermine online. Phentermine online consultation. Phentermine cheap no prescription. Phentermine prescription. Discount phentermine.

  347. Buy valtrex.

    Tracked from Buy valtrex. 2011/08/15 22:20 Delete

    Buy valtrex.

  348. Cheap tramadol.

    Tracked from Tramadol. 2011/08/16 10:55 Delete

    Tramadol prescription. Cheap tramadol. Tramadol. Tramadol 377. Tramadol 50mg.

  349. Butalbital no prescription.

    Tracked from Butalbital no prescription. 2011/08/16 14:54 Delete

    Butalbital no prescription.

  350. Ativan.

    Tracked from Ativan. 2011/08/17 02:54 Delete

    Ativan.

  351. Buy fioricet.

    Tracked from Buy fioricet. 2011/08/17 06:06 Delete

    Fioricet buy fioricet bloghoster. Buying fioricet online with no prescription. Buy cheap fioricet. Buy fioricet.

  352. Gabapentin.

    Tracked from Gabapentin. 2011/08/17 15:25 Delete

    Gabapentin.

  353. Soma no prescription.

    Tracked from Soma no prescription. 2011/08/17 19:19 Delete

    Soma no prescription.

  354. Buy lortab.

    Tracked from Buy lortab. 2011/08/18 03:53 Delete

    Buy lortab.

  355. Duromine no perscription.

    Tracked from Does duromine 30 work fast. 2011/08/18 07:54 Delete

    Does duromine 30 work fast. Duromine tablets. Buy duromine online. Duromine online international. Buy duromine. Duromine.

  356. Adderall.

    Tracked from Adderall. 2011/08/18 19:18 Delete

    Adderall.

  357. Adderall online buying.

    Tracked from Buy offshore medication adderall. 2011/08/18 23:54 Delete

    Buy adderall. Buy adderall without a prescription. Buy adderall no prescription. Buying adderall online pharmacy.

  358. Terbinafine.

    Tracked from Terbinafine. 2011/08/19 03:20 Delete

    Terbinafine.

  359. Alprazolam.

    Tracked from Alprazolam. 2011/08/19 15:55 Delete

    Alprazolam.

  360. Lithium.

    Tracked from Lithium. 2011/08/19 19:22 Delete

    Lithium.

  361. What is synthroid made of.

    Tracked from Synthroid overdose. 2011/08/20 07:57 Delete

    Synthroid. Synthroid side effects. Synthroid medication. Synthroid dosages.

  362. Butalbital.

    Tracked from Butalbital. 2011/08/20 11:20 Delete

    Butalbital.

  363. Butalbital no prescription.

    Tracked from Butalbital no prescription. 2011/08/20 19:50 Delete

    Butalbital no prescription.

  364. Buy azithromycin.

    Tracked from Buy azithromycin. 2011/08/21 04:21 Delete

    Buy azithromycin.

  365. Adderall.

    Tracked from Adderall. 2011/08/21 11:35 Delete

    No prescription adderall. Adderall xr.

  366. Ambiencr buy ambien generic zolpidem.

    Tracked from Buy generic zolpidem. 2011/08/21 15:26 Delete

    Buy zolpidem.

  367. Alprazolam.

    Tracked from Alprazolam. 2011/08/22 03:55 Delete

    Alprazolam.

  368. Lorazepam.

    Tracked from Lorazepam. 2011/08/22 07:26 Delete

    Lorazepam.

  369. Buy soma online.

    Tracked from Buy soma no rx. 2011/08/22 23:22 Delete

    Buy soma.

  370. Buy cheap tadalafil uk.

    Tracked from Generic tadalafil. 2011/08/23 07:32 Delete

    Buy tadalafil. Tadalafil. Cheapest tadalafil.

  371. Omeprazole bowel movements.

    Tracked from Omeprazole. 2011/08/23 15:54 Delete

    Omeprazole.

Comments List

  1. Air Jordans 2011/08/29 17:47 # M/D Reply Permalink

    555clf1
    thanjks for you

Leave a comment

Capturing Video to an AVI File

--from http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/htm/displayvfwcapturedialogs.asp


 


Capturing Video to an AVI File


The following illustration shows the simplest possible graph for capturing video to an AVI file.


AVI Video Capture Graph


The AVI Mux filter takes the video stream from the capture pin and packages it into an AVI stream. An audio stream could also be connected to the AVI Mux filter, in which case the mux would interleave the two streams. The File Writer filter writes the AVI stream to disk.


To build the graph, start by calling the ICaptureGraphBuilder2::SetOutputFileName method, as follows:

IBaseFilter *pMux;
hr = pBuild->SetOutputFileName(
&MEDIASUBTYPE_Avi, // Specifies AVI for the target file.
L"C:Example.avi", // File name.
&pMux, // Receives a pointer to the mux.
NULL); // (Optional) Receives a pointer to the file sink.

The first parameter specifies the file type — in this case, AVI. The second parameter gives the file name. For AVI, the SetOutputFileName method cocreates the AVI Mux filter and the File Writer filter and adds them to the graph. It also sets the file name on the File Writer filter, by calling the IFileSinkFilter::SetFileName method, and connects the two filters. The method returns a pointer to the AVI Mux in the third parameter. Optionally, it returns a pointer to the IFileSinkFilter interface in the fourth parameter. If you don't need this interface, you can set this parameter to NULL, as shown in the previous example.


Next, call the ICaptureGraphBuilder2::RenderStream method to connect the capture filter to the AVI Mux, as follows:

hr = pBuild->RenderStream(
&PIN_CATEGORY_CAPTURE, // Pin category.
&MEDIATYPE_Video, // Media type.
pCap, // Capture filter.
NULL, // Intermediate filter (optional).
pMux); // Mux or file sink filter.

// Release the mux filter.
pMux->Release();

The first parameter gives the pin category, which is PIN_CATEGORY_CAPTURE for capture. The second parameter gives the media type. The third parameter is a pointer to the capture filter's IBaseFilter interface. The fourth parameter is optional; it lets you route the video stream through an intermediate filter, such as an encoder, before passing it to the mux filter. Otherwise, set this parameter to NULL, as shown in the previous example. The fifth parameter is the pointer to the mux filter. This pointer is obtained by calling the SetOutputFileName method.


To capture audio, call RenderStream with the media type MEDIATYPE_Audio. If you are capturing audio and video from two separate devices, it is a good idea to make the audio stream the master stream. This helps to prevent drift between the two streams, because the AVI Mux filter adjust the playback rate on the video stream to match the audio stream. To set the master stream, call the IConfigAviMux::SetMasterStream method on the AVI Mux filter:

IConfigAviMux *pConfigMux = NULL;
hr = pMux->QueryInterface(IID_IConfigAviMux, (void**)&pConfigMux);
if (SUCCEEDED(hr))
{
pConfigMux->SetMasterStream(1);
pConfigMux->Release();
}

The parameter to SetMasterStream is the stream number, which is determined by the order in which you call RenderStream. For example, if you call RenderStream first for video and then for audio, the video is stream 0 and the audio is stream 1.


You may also want to set how the AVI Mux filter interleaves the audio and video streams, by calling the IConfigInterleaving::put_Mode method.

IConfigInterleaving *pInterleave = NULL;
hr = pMux->QueryInterface(IID_IConfigInterleaving, (void**)&pInterleave);
if (SUCCEEDED(hr))
{
pInterleave->put_Mode(INTERLEAVE_CAPTURE);
pInterleave->Release();
}

With the INTERLEAVE_CAPTURE flag, the AVI Mux performs interleaving at a rate that is suitable for video capture. You can also use INTERLEAVE_NONE, which means no interleaving — the AVI Mux will simply write the data in the order that it arrives. The INTERLEAVE_FULL flag means the AVI Mux performs full interleaving; however, this mode is less suitable for video capture because it requires the most overheard.


Encoding the Video Stream


You can encode the video stream by inserting an encoder filter between the capture filter and the AVI Mux filter. Use the System Device Enumerator or the Filter Mapper to select an encoder filter. (For more information, see Enumerating Devices and Filters.)


Specify the encoder filter as the fourth parameter to RenderStream, shown in bold in the following example:

IBaseFilter *pEncoder;
/* Create the encoder filter (not shown). */
// Add it to the filter graph.
pGraph->AddFilter(pEncoder, L"Encoder);

/* Call SetOutputFileName as shown previously. */

// Render the stream.
hr = pBuild->RenderStream(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video,
pCap, pEncoder, pMux);
pEncoder->Release();

The encoder filter might support IAMVideoCompression or other interfaces for setting the encoding parameters. For a list of possible interfaces, see File Encoding and Decoding Interfaces.

이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by Dual

2005/07/31 13:18 2005/07/31 13:18
Response
269 Trackbacks , 4 Comments
RSS :
http://dual5651.hacktizen.com/tc/rss/response/48

Trackback URL : http://dual5651.hacktizen.com/tc/trackback/48

Trackbacks List

  1. Corporate trust

    Tracked from Corporate valuation 2008/08/05 20:46 Delete

    Corporate trust

  2. Corporate valuation

    Tracked from Corporate venues conference 2008/08/05 21:00 Delete

    Corporate trust

  3. Couple caught in public

    Tracked from Couple counseling spiritual san francisco 2008/08/05 23:43 Delete

    Couple beach love

  4. Couple caught in public

    Tracked from Couple beach love 2008/08/05 23:44 Delete

    Couple beach love

  5. Christian in k maryland pre school

    Tracked from Microsoft sasser worm removal tool 2008/08/27 00:13 Delete

    Moissanite solitaire earrings

  6. Hexagonal close packed

    Tracked from Hurrican rita com 2008/08/27 00:14 Delete

    Hurrican rita com

  7. Leukotriene antagonists

    Tracked from Mohair yarn uk 2008/08/27 00:18 Delete

    Moissanite solitaire earrings

  8. Cattini

    Tracked from Hurrican rita com 2008/08/27 00:22 Delete

    Hurrican rita com

  9. Bar stools orange county

    Tracked from Frederique le calvez 2008/08/27 18:22 Delete

    Window print prn file

  10. Skyhawks soccer

    Tracked from Box mart 2008/08/27 18:43 Delete

    Window print prn file

  11. World war 1 pictures of weapons

    Tracked from Places to visit with kids 2008/08/27 22:14 Delete

    Groundwater overdraft

  12. 1996 ford windstar gl

    Tracked from Minimum wage essay 2008/09/06 10:11 Delete

    Minimum wage essay

  13. What is dvi connector

    Tracked from Civil war plantation life 2008/09/06 10:12 Delete

    Minimum wage essay

  14. Aig insurance careers

    Tracked from Co giao xuan 2008/09/06 15:49 Delete

    Papers research style writing

  15. Australia gay singleton

    Tracked from Playing card was called calamity jane 2008/09/06 16:03 Delete

    Make the perfect cv

  16. Burger recipe delia

    Tracked from Olympique lyonnais official 2008/09/06 17:51 Delete

    Burger recipe delia

  17. Rate nude people com

    Tracked from Direction easy hair style 2008/09/06 18:07 Delete

    Rate nude people com

  18. Lion king tickets broadway ny

    Tracked from Terrafix geosynthetics inc 2008/09/06 20:01 Delete

    F factor plasmid

  19. Lion king tickets broadway ny

    Tracked from Dos command shutdown 2008/09/06 20:11 Delete

    F factor plasmid

  20. Ground beef tamales recipes

    Tracked from Famous daves bbq chandler 2008/09/06 22:35 Delete

    92 nissan maxima engine

  21. 2 entry japanese storytelling

    Tracked from Spca west vancouver 2008/09/07 01:08 Delete

    annot delete file in

  22. Arab celebrites

    Tracked from Auto dialer kits 2008/09/07 02:28 Delete

    Book coloring page spring

  23. 100 c

    Tracked from Arab celebrites 2008/09/07 02:33 Delete

    Book coloring page spring

  24. Dancing with the stars stacy

    Tracked from Dancing without pants 2008/09/07 04:30 Delete

    Dancing with the stars series

  25. Dancing with the stars stacy

    Tracked from Dancing with the stars series 2 2008/09/07 04:37 Delete

    Dancing with the stars series

  26. David boston espn magazine

    Tracked from David boreanaz as angel 2008/09/07 06:17 Delete

    David boreanaz as angel

  27. Lewis clark biography

    Tracked from Pocket scale reviews 2008/09/29 20:38 Delete

    Ropella and associates

  28. Phone company tennessee

    Tracked from Alma lodge stockport 2008/09/30 02:41 Delete

    Nvcpl daemon

  29. Would affect

    Tracked from Phone company tennessee 2008/09/30 02:50 Delete

    Nvcpl daemon

  30. Thegame by motorhead

    Tracked from Honda motorcycles india website 2008/09/30 08:27 Delete

    Honda motorcycles india website

  31. Banjo kel kroydon

    Tracked from Golf handicap calculator 2008/09/30 10:44 Delete

    Banjo kel kroydon

  32. Golf handicap calculator

    Tracked from Banjo kel kroydon 2008/09/30 10:49 Delete

    Banjo kel kroydon

  33. Jordy birch

    Tracked from Oversized flatbed scanner 2008/09/30 14:18 Delete

    Bootygood doctor

  34. Oversized flatbed scanner

    Tracked from Bootygood doctor 2008/09/30 14:23 Delete

    Bootygood doctor

  35. Healthy body fat

    Tracked from Sanford son tees 2008/09/30 16:22 Delete

    Movie star from the 1950s

  36. Barbie magic fairy tale

    Tracked from Massachusetts poison control 2008/09/30 19:55 Delete

    Barbie magic fairy tale

  37. Cresent and the cross

    Tracked from Invert colors in photoshop 2008/10/01 00:29 Delete

    Cresent and the cross

  38. White box linux review

    Tracked from Lincoln road mall stores 2008/10/01 02:15 Delete

    White box linux review

  39. Legislative government canada

    Tracked from Lincoln road mall stores 2008/10/01 02:23 Delete

    White box linux review

  40. Wwoofer australia

    Tracked from Five eight band 2008/10/01 04:23 Delete

    Free cheats for neopets

  41. Antimatter reactor

    Tracked from Tournament of roses com 2008/10/01 11:12 Delete

    Antimatter reactor

  42. New woman magzine

    Tracked from Scaryfast powernow 2008/10/26 03:21 Delete

    Gm 4 3 liter engine

  43. New woman magzine

    Tracked from Gm 4 3 liter engine 2008/10/26 03:29 Delete

    Gm 4 3 liter engine

  44. 1984 schwarzenegger

    Tracked from Compaa cura curvas de la los por spline 2008/10/26 06:22 Delete

    25 digimon later years

  45. Us to cdn currency

    Tracked from Agnes carlsson 2008/10/26 08:09 Delete

    Balloch castle country

  46. Family forum wayne

    Tracked from Back school ecard 2008/10/26 08:18 Delete

    Balloch castle country

  47. Bedroom ensemble

    Tracked from Bathochromic definition 2008/10/26 09:49 Delete

    Government wisconsins

  48. Mauricio fraga

    Tracked from Cassiopeia pa 2400u 2008/10/26 23:35 Delete

    Ssk numara

  49. The town dump

    Tracked from Daisies flowers oxford 2008/10/27 04:57 Delete

    Agave atrovirens

  50. Fetish inserting into large medical object penis

    Tracked from Circumcision loose 2008/10/27 05:00 Delete

    Agave atrovirens

  51. Del norte pumas

    Tracked from Sheer white shirt 2008/10/31 02:35 Delete

    Del norte pumas

  52. Experiential kolb learning

    Tracked from Carieras italian restaurant 2008/10/31 02:38 Delete

    National weather

  53. Inclusive jamaica negril resort

    Tracked from Bristol city council education 2008/10/31 06:23 Delete

    Castelldefells

  54. Kristin johnson msnbc

    Tracked from During fasting lent 2008/10/31 18:16 Delete

    Kristin johnson msnbc

  55. Disguise water well

    Tracked from Holler if ya hear me 2008/10/31 21:30 Delete

    Disguise water well

  56. Halloway natalee video

    Tracked from Mimi o sumaseba 2008/11/01 04:28 Delete

    Revers mortgages

  57. Buesing bulk transport

    Tracked from Mertle beach golf packages 2008/11/06 02:52 Delete

    Insomnia club atl

  58. Kataifi recipe

    Tracked from Phyllis schlafly 2008/11/06 06:29 Delete

    Kataifi recipe

  59. Marine radio frequincys

    Tracked from Woi tv 5 des moines 2008/11/06 09:52 Delete

    Marine radio frequincys

  60. 2007 bmw m3 new

    Tracked from Prevention of binge drinking 2008/11/06 12:58 Delete

    Vagner love transfer

  61. Siemens data suite s55

    Tracked from Bank barclays online uk 2008/11/06 23:04 Delete

    Bank barclays online uk

  62. Dulla

    Tracked from Tasmanian aboriginal 2008/11/07 15:28 Delete

    Calorie count recipes

  63. Arbys franchise

    Tracked from Lcci bookkeeping 2008/11/07 18:25 Delete

    Php framework pear

  64. Am ex

    Tracked from Tcs john huxley 2008/11/07 18:28 Delete

    Tcs john huxley

  65. General electric air conditioners

    Tracked from Arbys franchise 2008/11/07 18:33 Delete

    Php framework pear

  66. Dance flexibility

    Tracked from Aiu cum laude online summa 2008/11/07 23:36 Delete

    Dance flexibility

  67. Bikini riot password

    Tracked from Bne texas lvn and peer review 2008/11/09 07:16 Delete

    Lehigh valley miata club

  68. Duke womens health associate

    Tracked from Riad kniza 2008/11/09 07:51 Delete

    Duke womens health

  69. Sciogli lingua

    Tracked from Darkbot 2008/11/09 16:44 Delete

    Sciogli lingua

  70. Computer comtech service

    Tracked from Arklow bay leisure centre 2008/11/10 06:59 Delete

    Back dont here hold over party

  71. Dynamique clio

    Tracked from International tiller 2008/11/10 15:36 Delete

    Cambrex biosciences

  72. American school foundation of guadalajara

    Tracked from Heston school website 2008/11/10 17:12 Delete

    Drive jump lexar

  73. Lloyd banks album track listings

    Tracked from Leki uk 2008/11/10 17:33 Delete

    Pass by reference in c

  74. Lafarge

    Tracked from Medomak valley basketball 2008/11/10 20:02 Delete

    Space race timelines

  75. Hotel antin trinite paris france

    Tracked from Lafarge 2008/11/10 20:14 Delete

    Space race timelines

  76. Menzies hotel sydney

    Tracked from Devil may cry 2 weapons 2008/11/11 01:58 Delete

    Devil may cry 2 weapons

  77. El papa verde

    Tracked from Water recourses 2008/11/11 02:13 Delete

    Devil may cry 2 weapons

  78. Asian countries population

    Tracked from Pictureframe com 2008/11/11 06:56 Delete

    Asian countries population

  79. Among the betrayed characters

    Tracked from Good times dj seattle 2008/11/20 16:56 Delete

    Stuart wilson fans

  80. Dani ash

    Tracked from Cparc 2008/11/20 19:10 Delete

    Newyorkcitysearch com

  81. India and pakistan and dispute and kashmir

    Tracked from Heidi fleiss com 2008/11/21 09:30 Delete

    India and pakistan

  82. Abssinthe

    Tracked from Topsail island map 2008/11/21 13:09 Delete

    Abnormal cervical

  83. Raeding games

    Tracked from Suse boot disk 2008/11/21 15:01 Delete

    Comforter set star war

  84. Every young mans batle

    Tracked from Gun pa tanner 2008/11/21 18:16 Delete

    Flow lyric sade

  85. Free love spells voodoo

    Tracked from Gun pa tanner 2008/11/21 18:17 Delete

    Flow lyric sade

  86. Garter leg porn stocking

    Tracked from Open mics seattle 2008/11/21 21:26 Delete

    Nike dunk sb for sale

  87. Sony com span

    Tracked from Picknsave 2008/11/21 23:31 Delete

    Mindmanager viewer

  88. Unrenovative

    Tracked from Accucut cut die ellision 2008/11/22 05:26 Delete

    Its your fault

  89. Dashboard warning light symbols

    Tracked from Muskier teen tours 2008/11/22 06:57 Delete

    Dashboard warning light symbols

  90. Dashboard warning light symbols

    Tracked from Gay teen girl 2008/11/22 06:59 Delete

    Dashboard warning light symbols

  91. Kiker elementary austin texas

    Tracked from Legal malpractice and illiois lawyer 2008/11/22 20:52 Delete

    Town homes in tampa florida

  92. Nervous stomach nausea

    Tracked from Honner harmonica 2008/11/23 00:54 Delete

    Nervous stomach nausea

  93. Panty poopers bbs

    Tracked from Hawaiin themed invitations 2008/11/23 00:54 Delete

    Nervous stomach nausea

  94. Fm mini transmitter

    Tracked from Kbrowa halliburton com 2008/11/23 02:37 Delete

    Lingerie newcastle

  95. Sipps cracks

    Tracked from Win32 bagle bo 2008/11/23 06:22 Delete

    Maric college modesto

  96. Les parisiennes katsumi

    Tracked from Azn cutie 2008/11/23 11:31 Delete

    Airplane rides michigan

  97. Airplane rides michigan

    Tracked from Azn cutie 2008/11/23 11:33 Delete

    Airplane rides michigan

  98. Benji madden fan fictions

    Tracked from Access runtime 2008/11/23 13:11 Delete

    Urban clothing for toddler

  99. 25 de gestacion semanas

    Tracked from Stoneybrook country club 2008/11/23 16:27 Delete

    Westwego

  100. Kyoto scottsdale

    Tracked from Ds80c400 2008/11/23 20:15 Delete

    Raiders of the lost arc quotes

  101. Raiders of the lost arc quotes

    Tracked from Huntsville penitentiary 2008/11/23 20:22 Delete

    Raiders of the lost arc quotes

  102. 15gb mp3 player

    Tracked from Honda eb3000 generator 2008/11/23 22:02 Delete

    Tory lane free videos

  103. Define migrant worker

    Tracked from Aol ims 2008/11/24 14:01 Delete

    Define migrant worker

  104. Bulk first aid kit

    Tracked from 2b cancer iv mortality prostate state 2008/11/25 09:32 Delete

    The exchange spokane

  105. Babette bardot pictures

    Tracked from Tyskie beer 2008/11/25 15:40 Delete

    Adventure pharoah

  106. Aero industry jobs

    Tracked from Emperor list roman 2008/11/25 17:46 Delete

    Rest of my life lyrics

  107. St josephs health centre

    Tracked from No no bird feeder 2008/11/25 19:13 Delete

    St josephs health centre

  108. Ossa parts

    Tracked from Woohu 2008/11/25 20:53 Delete

    Turkey human rights abuses

  109. Frederick weisman documentary

    Tracked from Uncleaned roman coins for sale 2008/11/25 22:29 Delete

    Uncleaned roman coins for sale

  110. Fat quarters quilting fabric

    Tracked from Trafford park hotel manchester 2008/11/26 00:34 Delete

    Plhttp wyszukaj

  111. Wwwhotmail com

    Tracked from Bed and breakfast inn and massachusetts 2008/11/26 05:49 Delete

    Relieve recover rebuild tsunami

  112. Conroys flower laguna hills ca

    Tracked from Hippo noodle 2008/11/26 07:27 Delete

    Hotels in clearwater florida area

  113. Lisa wells jpg

    Tracked from Five heaven in meet people review 2008/11/26 16:05 Delete

    Existential song lyrics

  114. 40 body building man over

    Tracked from Parent finders new brunswick 2008/11/26 16:15 Delete

    Bmw 325 compact

  115. Googlear home msn

    Tracked from Dixiecuties karol 04 2008/11/26 19:45 Delete

    Tenerife sur reina sofia tf

  116. Positive sign of a pregnancy

    Tracked from Dixiecuties karol 04 2008/11/26 19:57 Delete

    Tenerife sur reina sofia tf

  117. Mary archer jeffrey

    Tracked from Organized living king of prussia 2008/11/26 23:17 Delete

    Euler sine cosine

  118. Ice dreams

    Tracked from Melissa hall fitness 2008/11/27 02:59 Delete

    Program analyst job

  119. Kodai resort hotel

    Tracked from 70s fad 2008/11/27 20:18 Delete

    Pho shizzle vietnamese noodle

  120. Rhd civic

    Tracked from Pride mobility products corporation 2008/12/02 23:32 Delete

    Cream lyrics wutang

  121. Cooking group large recipe use when

    Tracked from Beach florida hotel palm south 2008/12/07 02:44 Delete

    Wino forever dep

  122. Enterteinment television

    Tracked from Resale home mississauga 2008/12/07 04:34 Delete

    Resale home mississauga

  123. Japanese bathing stool

    Tracked from Cooking group large recipe use when 2008/12/07 04:47 Delete

    Cancer of thyroid

  124. Michelangelo biograpgy

    Tracked from Weatherstripping casement window 2008/12/07 06:44 Delete

    isk board game strategy tips

  125. Form a310

    Tracked from Eye of round steak recipe 2008/12/07 06:44 Delete

    isk board game strategy tips

  126. Pratunam market map

    Tracked from Oenology courses 2008/12/07 08:06 Delete

    Incubus drive tabs guitar

  127. How do i download msn messenger beta

    Tracked from Free hardware learn scan window 2008/12/07 09:59 Delete

    Whitehurst harkness

  128. Refreshingly

    Tracked from Free make up sample for teen 2008/12/07 11:43 Delete

    Free make up sample for teen

  129. Sunysb edu

    Tracked from Fellows mouse pen 2008/12/07 11:52 Delete

    Pituitary gland prolactin

  130. Fellows mouse pen

    Tracked from 10 mac os 2008/12/07 12:06 Delete

    Pituitary gland prolactin

  131. Bracelet sex

    Tracked from Law oregon section 2008/12/07 13:28 Delete

    Law oregon section

  132. Cool toys 2005

    Tracked from Alcoholic beverage summer 2008/12/07 13:35 Delete

    Cool toys 2005

  133. Pressel

    Tracked from Everything on a waffle the book 2008/12/07 15:21 Delete

    12pt card off printing scratch

  134. Internet on your mobile

    Tracked from New york weekend vacation 2008/12/07 15:34 Delete

    Center goodyear service

  135. To god be the glory great things

    Tracked from Little britain pictuers 2008/12/07 17:08 Delete

    Yukmouth picture

  136. Campuskisss

    Tracked from Bmw club vlaanderen 2008/12/07 17:11 Delete

    Bmw club vlaanderen

  137. Haque nida ul

    Tracked from Kissing picture 2008/12/07 17:13 Delete

    Yukmouth picture

  138. Advanced email verifier warez

    Tracked from Xda 2 screen size 2008/12/07 20:30 Delete

    Advanced email verifier warez

  139. Daily freeman ny

    Tracked from High court of justice uk 2008/12/07 21:06 Delete

    Responder script

  140. Danielly palomino

    Tracked from Basic chart military pay 2008/12/07 22:28 Delete

    Raymond miu production

  141. Mosquito citronella

    Tracked from Oil and gas jobs in norway 2008/12/08 00:11 Delete

    Key biscayne newspapers

  142. Fun things to do in miami beach florida

    Tracked from Rostered 2008/12/08 00:12 Delete

    Fun things to do in miami beach

  143. Twilight wars

    Tracked from Boni montgomery 2008/12/08 03:32 Delete

    Diamond graphite

  144. Kat rgba romreactor net

    Tracked from Lasersailing 2008/12/08 03:41 Delete

    Kat rgba romreactor net

  145. Lasersailing

    Tracked from Kat rgba romreactor net 2008/12/08 03:51 Delete

    Kat rgba romreactor net

  146. Disaister

    Tracked from Pkgrm force 2008/12/08 05:19 Delete

    Pkgrm forc

  147. History of stanley cup playoffs

    Tracked from The bald eagles 2008/12/08 05:27 Delete

    History of stanley cup playoffs

  148. Jean charet

    Tracked from The bald eagles 2008/12/08 05:37 Delete

    History of stanley cup playoffs

  149. Mortal danger

    Tracked from Hikayeler porn sesli 2008/12/08 07:03 Delete

    Hikayeler porn sesli

  150. Coffee allergy

    Tracked from Cable remote programming time warner 2008/12/08 08:43 Delete

    King shamon

  151. Used cadillac california

    Tracked from Vega sicilia unico 1970 2008/12/08 08:51 Delete

    Used cadillac california

  152. Cingular pink razr

    Tracked from Article betrayal love 2008/12/08 08:58 Delete

    Used cadillac california

  153. Coastal bancorp

    Tracked from Fema nancy pelosi 2008/12/08 10:30 Delete

    Fema nancy pelosi

  154. Gadelica

    Tracked from Mcclendons seattle 2008/12/08 13:51 Delete

    The stroke drum tab

  155. Scania 113m

    Tracked from Gv site myspace com 2008/12/08 15:35 Delete

    Scania 113m

  156. Earl anthonys dublin bowling

    Tracked from Ball game paint pc 2008/12/08 17:08 Delete

    I keano review

  157. Chris masterson laura prepon

    Tracked from Professional trainings 2008/12/08 20:55 Delete

    Chris masterson laura prepon

  158. Arizona mountain land for sale

    Tracked from Blue parrot inn playa del carmen mexico 2008/12/08 22:18 Delete

    Blue parrot inn playa

  159. Gorman i jeweler

    Tracked from Wells somerset tourist information 2008/12/08 23:57 Delete

    Redline bmx racing bikes

  160. Consequences of deer overpopulation

    Tracked from Northern walking stick 2008/12/09 01:52 Delete

    The wine cellar restaurant florida

  161. Girl dollz maker

    Tracked from Php iterate array 2008/12/09 03:36 Delete

    Girl dollz maker

  162. Maxs toy

    Tracked from Code music show tune 2008/12/09 05:26 Delete

    Baby jacket leather phat

  163. Centrino wireless technology

    Tracked from Da caccia 2008/12/09 11:10 Delete

    Da caccia

  164. Bacteria urine culture

    Tracked from Da caccia 2008/12/09 11:11 Delete

    Da caccia

  165. Department of homeland defense jobs

    Tracked from Black and white lion head studios 2008/12/09 12:37 Delete

    Antique pmi paintball guns

  166. Cuningham group

    Tracked from Commonwealth of pa dui law 2008/12/09 14:28 Delete

    Cuningham group

  167. Unique wedding gifts ideas

    Tracked from Acer al1912s lcd 2008/12/09 14:36 Delete

    Cuningham group

  168. Statistics on home improvement project

    Tracked from Basketball fantasy free 2008/12/09 16:15 Delete

    Estelle warren bio

  169. Wishes fairy castle

    Tracked from Kaanapali hotel 2008/12/09 18:02 Delete

    Tax return uk 2004

  170. Sustainability index dow jones

    Tracked from Midori olympic 2008/12/09 20:09 Delete

    Kangaroo pet pump

  171. Jefferies co inc

    Tracked from Writing songs lyrics 2008/12/12 06:58 Delete

    Writing songs lyric

  172. Espo engineering corp

    Tracked from Pininis 2008/12/12 10:36 Delete

    A3 mustek scanexpress

  173. Canada customs borders

    Tracked from Free xxx cream pie video 2008/12/12 12:38 Delete

    Canada customs borders

  174. Canada apartment listing

    Tracked from Communication skill course new york 2008/12/12 22:47 Delete

    Boy golf indiana news

  175. Trinity episcopal church portland

    Tracked from Clarendon house ramsgate 2008/12/13 00:46 Delete

    Lyude fan fiction

  176. 128 bit download

    Tracked from Bolt jewling 2008/12/13 02:35 Delete

    Dragonball gt episode list

  177. Cy27 notebook

    Tracked from 4 oldsmobile part speed 2008/12/13 02:50 Delete

    4 oldsmobile part speed

  178. 4 oldsmobile part speed

    Tracked from Roseville restaurant guide 2008/12/13 02:59 Delete

    4 oldsmobile part speed

  179. Neo aristotelian

    Tracked from Polluted fish 2008/12/13 17:00 Delete

    Bbc radio one playlist

  180. Puri clear

    Tracked from Neo aristotelian 2008/12/13 17:10 Delete

    Bbc radio one playlist

  181. Chocolate dipped banana

    Tracked from Mail stuffer 2008/12/13 18:37 Delete

    12ghosts shredder

  182. Northenden college

    Tracked from Discovery isaac newton sir 2008/12/18 13:40 Delete

    Discovery isaac newton sir

  183. Utah scouting

    Tracked from Limousine nj stretch 2008/12/18 23:24 Delete

    Need cash today

  184. Le marais restaurant

    Tracked from Endstage renal failure 2008/12/19 05:45 Delete

    Who sung what becomes

  185. Napalm death official

    Tracked from Scary advert 2008/12/19 05:45 Delete

    Crossmax disc lefty mavic sl

  186. Predicate to

    Tracked from All in one inventory wow ui 2008/12/19 05:46 Delete

    Crossmax disc lefty mavic sl

  187. Le marais restaurant

    Tracked from Dcglu trinity infor nutech 2008/12/19 05:54 Delete

    Who sung what becomes

  188. 6th cranial nerve

    Tracked from Second spin denver co 2008/12/19 07:25 Delete

    Second spin denver co

  189. Grammar fragments

    Tracked from North edison shamrocks 2008/12/19 12:43 Delete

    North edison shamrocks

  190. Chico baby toys

    Tracked from Chris bain cafod 2008/12/20 01:13 Delete

    Chris bain cafod

  191. Symptoms of fungal infections

    Tracked from Joey deacon died 2008/12/20 01:22 Delete

    Chris bain cafod

  192. American language sign tutorial

    Tracked from Norton systemworks 2005 premier 2008/12/20 04:46 Delete

    Data industry travel warehousing

  193. Magazine matra

    Tracked from Barbie games for 2008/12/20 06:40 Delete

    Charleston grill hominy sc

  194. 26cfr medical savings accounts

    Tracked from Jay and silent bob wav files 2008/12/20 08:36 Delete

    C m homes

  195. Jay and silent bob wav files

    Tracked from Mz etz 125 2008/12/20 08:46 Delete

    C m homes

  196. The varsity theatre minneapolis

    Tracked from Custom solarium 2008/12/20 10:21 Delete

    Games for nec e616

  197. Rush hour trainer

    Tracked from German in puppy sale shepherd texas 2008/12/25 01:35 Delete

    Php mysql image gallery

  198. Cornstalks

    Tracked from Battle cassidy freeway vs 2008/12/25 17:41 Delete

    Battle cassidy freeway vs

  199. Type of vd

    Tracked from Enland fc 2008/12/25 17:52 Delete

    Battle cassidy freeway vs

  200. Table rock sc

    Tracked from Recipe for italian cookies 2008/12/25 21:02 Delete

    Strike me down lyrics

  201. Resistor in parallel calculator

    Tracked from Check verizon email online 2008/12/25 21:17 Delete

    Strike me down lyrics

  202. Chapelle dave

    Tracked from Tectum acoustic 2008/12/25 22:42 Delete

    Tectum acoustic

  203. South africa health care system

    Tracked from Mess with msn messanger 2008/12/26 02:06 Delete

    Mess with msn messanger

  204. Carling cup english

    Tracked from Us states map test 2008/12/26 07:15 Delete

    Carling cup english

  205. Horizons health leisure health club

    Tracked from Wacoal slimline 2008/12/26 07:20 Delete

    Carling cup english

  206. Free runescape stat changer download

    Tracked from Advpack dll microsoft 2008/12/26 15:47 Delete

    John stewart bill o reilly

  207. Free runescape stat changer download

    Tracked from Southern california financial 2008/12/26 15:52 Delete

    John stewart bill o reilly

  208. Dodge hemi superchargers

    Tracked from Camas homes 2008/12/26 17:29 Delete

    Elvisarama museum

  209. Remington wet 2 dry hair straightener

    Tracked from Belly custom ring 2008/12/27 00:33 Delete

    Bitmap fonts in opengl

  210. kid marks

    Tracked from Anna judith spermswap 2008/12/27 03:46 Delete

    Radison orlando

  211. Activist san diego

    Tracked from Pittsburgh steelers cap 2008/12/27 05:39 Delete

    Pittsburgh steelers cap

  212. Karen pearl planned parenthood

    Tracked from Avscan exe 2008/12/27 05:39 Delete

    Louis vuitton cheap replicas

  213. Www lichfield

    Tracked from Snowshoe inn frisco co 2008/12/27 05:52 Delete

    Louis vuitton cheap replicas

  214. Cheryl tiegs posters

    Tracked from Matazza 2008/12/27 09:21 Delete

    Matazza

  215. Matazza

    Tracked from Car cushion 2008/12/27 09:21 Delete

    Matazza

  216. Lutherans violence

    Tracked from Duncan live wire 2008/12/27 10:50 Delete

    Lilith eve adam

  217. Esupport knowledge

    Tracked from Rfp for architect 2008/12/27 10:57 Delete

    Lilith eve adam

  218. Thimerosal in vaccines

    Tracked from Athalon 64 computers 2008/12/27 15:46 Delete

    Thimerosal in vaccines

  219. Australia holiday in visa working

    Tracked from Athalon 64 computers 2008/12/27 15:51 Delete

    Thimerosal in vaccines

  220. Here and now cbc news

    Tracked from Charlie parker pic 2008/12/27 17:34 Delete

    Here and now cbc news

  221. Centro de alto rendimiento de remo y piraguismo

    Tracked from Bike trails florida keys 2008/12/31 19:33 Delete

    Mabolo flowers

  222. Business design logo services

    Tracked from Club sports springs steamboat winter 2008/12/31 23:04 Delete

    Spacekraft co uk

  223. Functional status index

    Tracked from Ashlee simpson football booed video 2009/01/01 07:52 Delete

    All looney toons characters

  224. Dubai massage service

    Tracked from Color assortment of paper grocery bags 2009/01/01 07:58 Delete

    Top antioxidant food

  225. Estero florida home sale

    Tracked from That 70s show script 2009/01/01 08:11 Delete

    Top antioxidant food

  226. Persuasive report ideas

    Tracked from Free online thai tv 2009/01/02 01:14 Delete

    Persuasive report ideas

  227. Free online thai tv

    Tracked from Head price tag ya 2009/01/02 01:26 Delete

    Persuasive report ideas

  228. Body cost houston lift lower

    Tracked from Washington dc birth injury lawyers 2009/01/02 09:58 Delete

    Brown pride records

  229. Highest grossing movie 2004

    Tracked from State of arizona labor board 2009/01/12 05:20 Delete

    Ate cheese who

  230. Rio negro hotel reservation

    Tracked from Small business ethics 2009/01/12 10:50 Delete

    Cat name popular

  231. Yogisha night train movie

    Tracked from Cat name popular 2009/01/12 11:00 Delete

    Cat name popular

  232. Windweb 2 0

    Tracked from Draft horse suffolk 2009/01/12 16:19 Delete

    South wind motor inn

  233. Ole miss col reb

    Tracked from Atkhairy password xxx 2009/01/12 20:44 Delete

    Cannon xls

  234. Paper jewelry boxes wholesale

    Tracked from Gaerne polar mtb 2009/01/12 22:39 Delete

    Toed in

  235. Thomas edison state

    Tracked from Renault safrane manual 2009/01/13 04:33 Delete

    Thomas edison state

  236. Art beer bottle

    Tracked from Projected gdp growth 2009/01/13 04:49 Delete

    Thomas edison state

  237. Glow manufacturer stick

    Tracked from Weierd stuff 2009/01/13 13:40 Delete

    Dx50divx

  238. Chief commander hiatus in

    Tracked from Md circuit court 2009/01/13 19:32 Delete

    Md circuit court

  239. Training plan template

    Tracked from Cd burner software free 2009/01/13 19:39 Delete

    Md circuit court

  240. Port carling hotels

    Tracked from Tv lifts 2009/01/13 21:12 Delete

    Ten years after now

  241. Curved space

    Tracked from Columbia beauty day spa 2009/01/14 01:13 Delete

    Duracell chargers

  242. Clemson cheerleading uniform

    Tracked from 3 dining piece room set 2009/01/14 09:23 Delete

    I couldnt tell you avril

  243. Radio advertisers

    Tracked from David bowi 2009/01/14 16:54 Delete

    Huntington beach nppl 2005

  244. Aeaster

    Tracked from Aficio fx 10 printer driver download 2009/01/14 17:06 Delete

    Huntington beach nppl 2005

  245. Paul wall platinum grill

    Tracked from Male body shaper 2009/01/15 00:41 Delete

    Yale university housing

  246. 2004 federal tax rates

    Tracked from Your contry needs you 2009/01/15 00:43 Delete

    Your contry needs you

  247. Afefilters

    Tracked from Arri laser film recorder 2009/01/15 04:31 Delete

    As bread that

  248. Seksen

    Tracked from E hostile lawyer mail 2009/01/15 08:32 Delete

    Seksen

  249. Century early twentieth

    Tracked from Numa numa ozone download 2009/01/15 10:10 Delete

    Numa numa ozone download

  250. 1900 canadian coin gold

    Tracked from Charlotte nc home page 2009/01/15 13:41 Delete

    Chicago in line party

  251. Periodic inspection report

    Tracked from Popularity of barbie dolls 2009/01/15 13:52 Delete

    Popularity of barbie dolls

  252. Aston martin dealer london

    Tracked from Tl video support 2009/01/15 15:51 Delete

    Cum farters

  253. Black cashmere cardigan

    Tracked from Tl video support 2009/01/15 15:51 Delete

    Cum farters

  254. Glass leaded project stained

    Tracked from Diet for diabetic dogs 2009/01/16 01:30 Delete

    Glass leaded project stained

  255. Alldogsgotoheaven

    Tracked from Active nonmetals located 2009/01/24 02:47 Delete

    Hershberger face place

  256. Transposing a matrix

    Tracked from Ameican girl dolls 2009/01/24 12:57 Delete

    A heart dont forget lyrics

  257. Ameican girl dolls

    Tracked from Transposing a matrix 2009/01/24 13:04 Delete

    A heart dont forget lyrics

  258. Lyric mark antony

    Tracked from Fat pink pussy 2009/02/03 08:00 Delete

    Lyric mark anton

  259. Daily bangla news bangladesh

    Tracked from Hootie and the blow fish tab 2009/02/03 09:54 Delete

    Daily bangla news bangladesh

  260. Circuit closed cooling tower

    Tracked from Benns international school 2009/02/03 14:08 Delete

    Circuit closed cooling tower

  261. Handsets india nokia price

    Tracked from Conservation ltd resource uk 2009/02/03 14:12 Delete

    Circuit closed cooling tower

  262. Frederick md post office

    Tracked from Boston club ma paradise rock 2009/02/03 19:21 Delete

    Limited credit history credit cards

  263. Map of winchester virginia

    Tracked from The alaskan bull moose 2009/02/03 23:57 Delete

    The alaskan bull moose

  264. And shes not

    Tracked from Map of winchester virginia 2009/02/03 23:58 Delete

    The alaskan bull moose

  265. Newborn belly button care

    Tracked from 19 monitor plana tela 2009/02/04 01:59 Delete

    Newborn belly button care

  266. 19 monitor plana tela

    Tracked from Tropical theme party idea 2009/02/04 02:02 Delete

    Newborn belly button care

  267. Current susquehanna river level

    Tracked from For the love of animals 2009/02/04 06:41 Delete

    Webfx tabpane

  268. Disney world tickets at par

    Tracked from Pruning mesquite tree 2009/02/04 11:03 Delete

    Power sonic batterys

  269. Privatizing health care in canada

    Tracked from Wittek hose clamps 2009/02/04 16:54 Delete

    Spaz stix chrome paint

Comments List

  1. christian louboutin 2011/04/15 10:49 # M/D Reply Permalink

    http://www.fashionchristianlouboutinshoes.com/
    christian louboutin is the symbol of women.
    It is said that a woman without christian louboutin sales knows nothing about fashion.
    That is right.If you want to be fashionable.Please christian louboutin shoes.

  2. Air Jordans 2011/08/29 17:46 # M/D Reply Permalink

    555clf1
    thanjks for you

  3. Nike Air Max for Sal 2011/08/29 17:48 # M/D Reply Permalink

    555clf4
    very gpod

  4. ベルスタッフ アウトレット 2011/10/27 12:16 # M/D Reply Permalink

    cc<p ><a href="http://www.モンクレールダウン.jp/"><strong>モンクレール</strong></a>のダウンジャケットの最大の特徴は、<a href="http://www.モンクレールダウン.jp/"><strong>モンクレール&nbsp;アウトレット</strong></a>フランス規格協会から最高品質の証、<strong><a href="http://www.burberrymuffler.jp/">バーバリー アウトレット</a></strong>「4Flocons」が与えられているグースの産毛を使用しているという点です。ですから、<a href="http://www.moncleroutlets.jp/"><strong>モンクレール&nbsp;激安</strong></a>保温性能に非常に優れ、軽さ、肌ざわりでも他のジャケットとは比べ物になりません。<a href="http://www.coachbag.jp/"><strong>コーチ アウトレット</strong></a>モンクレールは製造から半世紀以上たっているため、<a href="http://www.coachbag.jp/コーチ-バッグ-c-128.html"><strong>コーチ バッグ</strong></a>長年のモノ作りの経験で、<a href="http://www.belstaffjacket.jp/"><strong>ベルスタッフ アウトレット</strong></a>ダウンウェアの各部位に最適な産毛の量<a href="http://www.coachbag.jp/"><strong>COACH</strong></a>が1g単位で決められているそうです。<a href="http://www.モンクレールダウン.jp/"><strong>モンクレール ダウン</strong></a>ジャケットは、職人の技によって軽やかで温かく、<a href="http://www.coachbag.jp/"><strong>coach アウトレット</strong></a>包み込まれるような着心地だからこそ、<a href="http://www.coachbag.jp/コーチ-財布-c-136.html"><strong>コーチ 財布</strong></a>半世紀以上もプレミアム<a href="http://www.belstaffjacket.jp/"><strong>ベルスタッフ ジャケット</strong></a>ダウンジャケットの代名詞として君臨し続けている<a href="http://www.burberrymuffler.jp/バーバリー-バッグ-c-2.html"><strong>バーバリー バッグ</strong></a>のでしょうね。 国王室御用達としても知られる世界有数のブランド「<a href="http://www.burberrycoat.jp/"><strong>バーバリー</strong></a>」。バーバリーは若者から年配の方まで、<a href="http://www.toryburch123.com/トリーバーチ-フラットシューズ-c-11.html"><strong>トリーバーチ フラットシューズ</strong></a>また男女を問わずファンが多いのが特徴ですが、<a href="http://www.toryburch123.com/トリーバーチ-バッグ-c-10.html"><strong>トリーバーチ バッグ</strong></a>センスの良い気品さと、実用的な機能性を兼ね揃えているところが<strong><a href="http://www.burberrycoat.jp/">バーバリー アウトレット</a></strong>人気の秘密のようです。バーバリーの流行にながされる<a href="http://www.belstaffjacket.jp/"><strong>ベルスタッフ</strong></a>ことのない確固としたポリシーこそが、まさしくブランドとして「バーバリーが<a href="http://www.burberrycoat.jp/バーバリー-バッグ-c-2.html"><strong>バーバリー バッグ</strong></a>たる」由縁であり、<a href="http://www.toryburch123.com/"><strong>トリーバーチ アウトレット</strong></a>が私たちのこころをつかんで離さない最大の魅力<a href="http://www.moncleroutlets.jp/"><strong>モンクレール アウトレット</strong></a>ではないでしょうか・・・ </p>

Leave a comment
« Previous : 1 : 2 : Next »

블로그 이미지

슬픔 메아리쳐, 난 너무도 약했어..

- Dual

Tag Cloud

Notices

Archives

Categories

Authors

  1. Dual

Recent Posts

  1. Anti Game hacking 프로그램... (86)
  2. CAIN을 이용한 SSL 스니핑 방법. (113)
  3. File CRC Check 검사기법 우... (3)
  4. 루트킷 한글판 등장
  5. -_- 웹파일 업로드 취약점에...
  6. POC 2007 사진들?ㅎㅎ (2)
  7. CRC(Cyclic Redundancy Check... (3)
  8. 이번년도 참가예정 국내 보안...
  9. .net Application 공략 하기
  10. Windows Anti-Debug Reference (2)

Recent Comments

  1. Beats By Dre is cheap. Beats by dre 02/03
  2. Beats By Dre is cheap. Beats by dre 02/03
  3. Beats By Dre is cheap. Beats by dre 02/03
  4. バーバリー アウトレット【BU... バーバリー マフラー 01/03
  5. document.writeln("1941年、... コーチ バッグ アウトレット 2011
  6. フェラガモ 靴 (Ferragamo)は... ferragamo バッグ 2011
  7. document.writeln("1941年、... コーチ バッグ アウトレット 2011
  8. ccモンクレールのダウンジャ... ベルスタッフ アウトレット 2011
  9. ccモンクレールのダウンジャ... ベルスタッフ アウトレット 2011
  10. document.writeln("ccモンク... ベルスタッフ アウトレット 2011

Recent Trackbacks

  1. Signature White Save The Da... Signature White Save The Da... 02/07
  2. Cincinnati Bearcats Youth W... Cincinnati Bearcats Youth W... 02/06
  3. Perris All Purpose Ribbon S... Perris All Purpose Ribbon S... 02/06
  4. Sam Houston State Bearkats... Sam Houston State Bearkats... 02/05
  5. Siwy Valentine Cargo Pants... Siwy Valentine Cargo Pants... 02/04

Calendar

«   2012/02   »
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

Site Stats

Total hits:
81819
Today:
48
Yesterday:
142
Subscribe to RSS articles Subscribe to RSS responses Subscribe to ATOM articles Subscribe to ATOM responses