
底层研究
文章平均质量分 84
leng_que
---
展开
-
两个C/C++与汇编进行混合编程的小例子
//第一个例子:汇编语句实现子函数#include short addasm(short a,short b,short c){ short sum; __asm { mov ax,a; add ax,b; add ax,c; mov sum,ax; } return sum;}void main(){ sho原创 2009-06-27 21:24:00 · 740 阅读 · 0 评论 -
show出机器码
#include //很简单的一个函数,功能是实现两个整型数的相加。 int add(int x,int y) { int z; z = x+y; return z; } typedef int (* PF)(int,int); int main(void) { int result=0; unsigned char *ps=(u原创 2009-06-27 21:30:00 · 743 阅读 · 0 评论 -
C/C++与汇编混编时的内嵌汇编调用C/C++写的函数的演示
#include int my_add(int a){ return (++a);}void main(void){ int a=8; int b=0; printf("a=%d /r/n",a); __asm { //压入参数 push a; //调用函数 call my_add; //原创 2009-06-30 17:51:00 · 1067 阅读 · 0 评论 -
如何在C语言中直接执行机器码
/* * 作者: 冷却 * 时间: 2009年2月21日 * E-mail: leng_que@yahoo.com.cn * 描述: 演示三种用C语言来执行机器码的方式 */#include //一段机器码,功能为:对传入的整型参数进行加一操作,然后返回结果。unsigned char machineCode[] ="/xe9/x07/x00/x原创 2009-09-21 15:52:00 · 5045 阅读 · 3 评论 -
演示几种用C语言来执行shellcode(其实也就是机器码)的方式
/* * 作者: 冷却 * 时间: 2009年2月21日 * E-mail: leng_que@yahoo.com.cn * 描述: 演示几种用C语言来执行shellcode(其实也就是机器码)的方式 * 备注:在WindowsXP SP3下测试成功 *///一段打开Windows计算器(calc.exe)的shellcodeunsig原创 2009-09-21 16:05:00 · 3790 阅读 · 0 评论 -
这算是VC6.0编译器的一个Bug么?
#include int bug(){ int a=3,b; b=(++a)+(++a)+(++a); return b;}void main(){ int b = bug(); printf("%d", b);} 首先看看上面这段C代码,按照C语言的运算符优先级规则,这个程序的运行结果应该是18(首先执行完小括号里的三个++a,这时a就原创 2009-09-29 12:46:00 · 1555 阅读 · 4 评论 -
ZwQuerySystemInformation函数的用法
/* * Author: Leng_que * Date: 2010年1月26日23:44:28 * E-mail: leng_que@yahoo.com.cn * Description: 演示了如何通过ZwQuerySystemInformation这个函数获取系统的相关信息 */#include #include typedef LONG NT原创 2010-01-25 23:02:00 · 4151 阅读 · 4 评论 -
C/C++中调用直接用汇编写的函数
C/C++中调用直接用汇编写的函数原创 2011-05-14 20:31:00 · 945 阅读 · 0 评论