123456

 

2012年8月11日

USER32!__ClientLoadLibrary定位.

摘要: 保护软件一般都直接用新的函数指针替换CallBack表中__ClientLoadLibrary对应的位置对于Ring3的应用程序,fs:[0]的地址指向的是TEB结构,这个结构的开头是一个NT_TIB结构,NT_TIB结构的0x18偏移处是一个Self指针,指向这个结构自身,也就是指向TEB结构的开头。TEB结构的0x30偏移是一个指向PEB的指针。PEB又是一个结构,这个结构的0x2偏移处是一个UChar,名叫BeingDebugged,当进程被调试时,此值为1,未被调试时此值为0因此以下代码逐行执行后的结果:mov eax,dword ptr fs:[18h];eax=TEB的指针mov 阅读全文

posted @ 2012-08-11 10:19 hgy413 阅读(562) 评论(0) 推荐(0) 编辑

argc argv

摘要: argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数argv: 字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数argv[0] 指向程序运行的全路径名argv[1] 指向在DOS命令行中执行程序名后的第一个字符串argv[2] 指向执行程序名后的第二个字符串如:int _tmain(int argc, _TCHAR* argv[]){ printf("%d\n",argc); while (argc) { //不同的编译器不同,如果%s只能打印出第一个字符,那么改成%S printf("%s\n",argv[- 阅读全文

posted @ 2012-08-11 09:53 hgy413 阅读(127) 评论(0) 推荐(0) 编辑

导航