自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

原创 Win10 Hook 进程创建的研究

Win7甚至在它之前开始,想要hook进程创建已经不能简单的HookCreateProcessInternalW这一个函数了,因为Vista开始引入了UAC机制。如果一个进程想要通过UAC弹窗创建管理员进程,hook这个进程的CreateProcessInternalW已经不起作用,我在几年前的博文《Win7/VistaHook CreateProcess 的特别之处》(http://blog

2016-11-21 19:40:03 8085 5

原创 gdb 无符号情况下强制反汇编

最近开发的编程语言虚拟机使用了LLVM 的老版本JIT引擎,在GDB调试时JIT产生的代码无法通过disas命令反汇编,显示的是no function contains program counter使用这个命令x/i address,将会反汇编address的一条汇编指令使用x/10i address可以反汇编10条汇编指令,以此类推

2016-08-12 18:58:26 1060

原创 petuum在CentOS上安装

Pettum是一个新的分布式机器学习平台,现在写的一篇论文需要与其进行对比,故需安装之官网上给出了在Ubuntu上的安装方法,但是实验室里的环境是CentOS(版本还比较老),我找到了Petuum所有需要的apt包对应的yum包,另外官网安装Instruction中有一句是错的:git clone https://github.com/petuum/third_party.git thir

2016-08-02 14:08:38 564

原创 c/c++ 高位扩展的坑

高位扩展既是从低位数数据(比如int)转换到高位数数据(long long)时发生的。高位数数据的低位就是原来的低位数数据,那么高位呢?原来以为高位统统补0就好了,但是实际上不是这样的。如果低位数数据是有符号数,会按照低位数数据的最高位拓展,比如32位-1(0xFFFFFFFF)会扩展为64位0xFFFFFFFFFFFFFFFF。而如果低位数数据是无符号数,那么直接补0。这次写的程序中

2016-03-23 21:28:04 1122 1

原创 linux + busybox编译以及在qemu中运行

转自我自己的人人#mount -t sysfs none /sys#/sbin/mdev -s/sbin/umount -a/sbin/mount -a/sbin/mount -t ext3 remount rw /EOF chmod 777 ./etc/init.d/rcScd -mkfs.ext3 -m0 /dev/ram1mkdir /mn

2015-11-14 15:16:06 1697

原创 QEMU+busybox 网络和用户配置的几个注意点

busybox需要编译udhcpc, ifconfig(包括他的display选项)qemu启动参数添加-net nic,model=e1000 -net userbusybox的rom添加/home文件夹 和 /etc/network/interfaces文件rom中添加 /etc/passwd文件文件内容为一行语句:root:x:0:0:root:/root:/bi

2015-11-14 15:13:32 1918

原创 llvm GDB调试的几个坑

可以用DIBuilder类辅助建立调试信息,首先createcompileunit。然后要注意了,必须调用module->addModuleFlag(Module::Warning, "Debug Info Version",DEBUG_METADATA_VERSION); 否则把bitcode写入文件再读出来调试信息会被清除。如果要显示行号,可以在大多数llvm的指令里通过setdebugl

2015-10-08 10:59:08 3001

原创 瞎想

今天因为家里的一点小事情很不开心,萎了一晚上……可能最近事情比较多,压在心头。突然想起haha在梁静茹演唱会鱼儿的那段感人的视频时候泪崩停不下来,是不是她那时候也有什么心事呢?关于未来的打算真的好迷茫。迟迟没有下定决心出国,导致到现在连托福都没考。之前报名了7月的,由于自己的懒惰(外加学驾照等等,这也是无法忽视的客观原因),期末时期意外的忙碌,导致只能花500多换到9月。还被春哥吐槽:

2015-06-26 00:33:24 644

原创 终于从百度空间手动搬家过来了

哎,百度空间用了也好几年了,我发布了大概二十几篇文章。目测百度空间这个产品人气太低,竟然说关就关了= =这次搬运过来的是我之前写的所有技术博客。但是心情记录啥的就不搬来了,唉,就让他们烂在百度云里吧……最近几天真的好忙,驾校的考试和学校的考试重叠,真是搞笑,我脸也够黑了。误入Machine Learning这个大坑,好好复习,自求多福吧

2015-06-14 01:00:23 741

原创 llvm MCJIT 的若干陷阱

llvm MCJIT 的若干陷阱搬运自我的百度空间最近把llvm的老版本JIT转型到MCJIT,遇到一些问题首先是如何启动MCJIT,原来调用InitializeNativeTarget();的地方,添加InitializeNativeTargetAsmPrinter();InitializeNativeTarge

2015-06-14 00:51:41 3175

原创 C/C++中问号冒号表达式的陷阱

C/C++中问号冒号表达式的陷阱搬运自我的百度空间在做一个工程,遇到奇怪的bug,问题类似如下int a=1,b=2,c=3,d;d=a*b + c ? 1: 0;问d结果是多少? 设计时,我想结果应该为3 (1*2+1)实际d结果为1因为问号冒号表达式的优先级比较低(三元运算符优先级小于二元运算符

2015-06-14 00:50:23 15770 1

原创 构造Half(L)的NFA

构造Half(L)的NFA搬运自我的百度空间原创文章,转贴请贴出处偶尔来点纯理论问题。这是一道高级算法作业题,L是正则语言,语言B是L中所有字符串对半开的前一半,证明B也是正则的。目的明确,构造B的一台NFA,非确定型有限状态机。要用到“平行NFA”的概念。比如举例另外一个问题:如何判断一个字符串既是正则语言A又是正则语言B?可以

2015-06-14 00:47:14 1330

原创 llvm JIT强制保留frame pointer(栈帧)

llvm JIT强制保留frame pointer(栈帧)搬运自我的百度空间不优化时,在每个函数开头都会把ebp入栈,这样可以方便调试时栈回溯(Stack Trace)等。push ebp的这个动作称为创建栈桢但是llvm默认情况下,如果函数中没有alloca等栈操作,就会把栈桢动作优化掉(因为没有用到esp和ebp),这样调试时无法

2015-06-14 00:44:27 804

原创 VS2010编译LLVM(制作Lib文件)

VS2010编译LLVM(制作Lib文件)搬运自我的百度空间这里编译一个常用由常用LLVM的库组成的Lib文件,提高引用LLVM的程序的编译速度。相比codeblocks简单一些。仍然使用Cmake这个工具。如果没有把python加入环境变量,把python26.exepython26.dll python26.zip拷贝到(源文

2015-06-14 00:15:20 2131

原创 Cmake + CodeBlocks 编译llvm

Cmake + CodeBlocks 编译llvm搬运自我的百度空间1.安装cmake2.Cmake中,source code选择llvm的源文件文件夹,whereto build the binaries任意选择一个目录(一会生成的codeblocks工程文件会保存在这个文件夹)3.(如果环境变量没有设置python路径

2015-06-14 00:09:20 2424

原创 IsWow64Process函数理解的偏差

IsWow64Process函数理解的偏差搬运自我的百度空间IsWow64Process并不像网上很多文章说的那样,可以直接判断进程的位数。其实他的实际含义是某个进程是不是在wow64虚拟环境下。所以说各种可能的情况如下:64-bit process on 64-bit Windows : FALSE32-bit proc

2015-06-13 11:28:05 3890

原创 向低权限(低完整性?)进程注入的问题

向低权限(低完整性?)进程注入的问题搬运自我的百度空间一个让人崩溃的bug:Chrome程序在钩子下运行失败。正常情况下,在HOOK了CreateProcessInternalW后,我的钩子会在新进程插入自己的DLL进行连环钩子。调试了几天不见端倪。在windbg中看到卡住的原因是Chrome一个子进程在创建时Terminate了自己。使

2015-06-13 11:24:21 1342

原创 FishHook钩子库开发日志

FishHook钩子库开发日志搬运自我的百度空间FishHook是我开发了将近两年的Windows API Hook库,支持Win7/XP,支持x86和AMD64架构,如果开发成熟了以后也许会开源发布上来的。最近开发软件工程的大作业项目,用到FishHook,发现各种各样的BUG,这里简单记录下,聊表纪念14-4-15 发现IE运行在Fi

2015-06-13 11:20:31 2546

原创 DLL与Shellcode完全卸载自身

DLL与Shellcode完全卸载自身搬运自我的百度空间原创文章,转载请贴出处远程注入时有一个不痛不痒的问题,DLL与shellcode如何卸载自身,做到无痕清除?由于我的DLL自卸载用到了Shellcode,所以两个问题都需要解决。DLL卸载一般使用FreeLibrary,但是如果DLL自己Free自己,会遇到下一条指令(e

2015-06-13 11:15:18 2213

原创 VC运行时复制函数代码的注意事项

VC运行时复制函数代码的注意事项搬运自我的百度空间 参考了http://www.docin.com/p-472081682.html这篇论文。本文为原创,转载请注明出处。在反破解中可能需要把一段已经在内存中的函数代码拷贝出来,到另一个地方运行。在远程注入中也会遇到拷贝内存中的代码作为shellcode的情况。比如这段代码:long__

2015-06-13 11:07:50 955

原创 Box2d碰撞粘滞的问题(java)

Box2d碰撞粘滞的问题(java)搬运自我的百度百科Box2d中按照默认配置的话,如果一个球以较小的速度撞向墙,即使阻力=0,而且设置了完全弹性碰撞,球仍然会粘在墙上,沿着墙的方向移动.这是由于velocityThreshold这个值的设置造成的当碰撞速度小于velocityThreshold时,Box2d以非弹性碰撞处理这次碰

2015-06-13 11:04:34 757

原创 屏幕坐标向OpenGL坐标转换的问题

屏幕坐标向OpenGL坐标转换的问题搬运自我的百度空间 问题困扰我很久了,网上给出了这样一段代码:voidTranslateGL(intx,inty,GLdouble &posX,GLdouble &posY,GLdouble &posZ){          GLint    viewport[4];        

2015-06-13 11:01:37 2423

原创 定位未导出的函数地址(SHCreateProcess)

定位未导出的函数地址(SHCreateProcess)搬运自我的百度空间,文章基于windows7 64位 我们要Hook shell32.dll的SHCreateProcess这个函数,苦于他没有被导出,也无从知道地址。其实我们还是有办法的。windbg有功能叫做栈回朔技术,可以看到函数的调用者,函数的调用者的调用者,函数的调用

2015-06-13 01:15:48 3239

原创 Win7/Vista Hook CreateProcess 的特别之处

Win7/Vista Hook CreateProcess 的特别之处搬运自我的百度空间,写本文时主流系统为Win7,本文的方法没有在高版本的windows尝试Hook了CreateProcess后发现,每当非管理员进程创建管理员进程,这个Hook被绕过了。 Win7中如果要截取创建新进程,单单Hook 本进程kernel32中的

2015-06-13 01:11:38 4478

原创 __stdcall的故事版解释

__stdcall的故事版解释搬运自我的百度空间还是我发在csdn上的。。。。 一边墙(堆栈)是大家共用的,我把我的几个命令分别写在几张纸条上,一张黏在一张上贴在墙上,并呼叫服务员(函数)这时的纸条栈是-----我的命令a我的命令b-----由于我与服务员约定了命令的个数(比如2个命令/参数),和最

2015-06-13 01:07:27 461

原创 __stdcall与__cdecl的区别

搬运自我的百度空间csdn上回答了别人这个问题,码了好多字,还是放在这里不枉我这些时间吧 http://bbs.csdn.net/topics/390435293?page=1#post-394308806可以这样理解,不同call的方式相当于调用者和函数之间不同的协议,就像tcp与udp协议一样,对于发送端和服务器端的行为做了规定,函数call的"

2015-06-13 01:01:38 2377

原创 windows下llvm的Thread-local-Storage(TLS)的问题

在csdn的第一篇 目前llvm版本(3.6.0)的新JIT引擎MCJIT还不支持的TLS,而且开发组在3.6版本开始把旧jit移除了,所以需要TLS,选择3.4.3版本的旧JIT,用3.6的洗洗睡吧…… windows下,就算使用了3.4版本,MSVC依旧不支持llvm的TLS,所以用VS的洗洗睡吧…… 切换到GCC。注意llvm的

2015-04-18 21:00:57 796

手动回调函数

vb不支持调用函数指针,我自己就做一个吧。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2011-10-07

Freetalk 1.10

自己编的,大家玩玩 谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2010-01-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除