摘要: 待分析Demo代码:int add(int a,int b){ return a+b;}int main(){ int a=0xaa; int b=0xbb; printf("a+b=%d",add(a,b));} 编译,不优化这里参数0xBB,0xAA压栈 push eax,push ecx说明这里默认的调用约定是__stdcall然后去调用函数int add(int,int)Ollydbg F7执行进add函数调用前两个参数0xBB,0xAA已经入栈这里前两行,ebp即esp,是栈顶。ebp+8 是 0xAAebp+C 是 0xBB做加法后返回,retn自动恢复堆栈平衡 阅读全文
posted @ 2011-06-29 22:00 OYJJ 阅读(382) 评论(0) 推荐(0) 编辑
摘要: wchar_t wstr[100]=L"wstr";char str[100];wcstombs(str,wstr,100);//宽字符转多字节mbstowcs(wstr,str,100);//多字节转宽字符 也可以使用:MultiByteToWideChar和WideCharToMultiByte参考:http://blog.csdn.net/iamoyjj/archive/2011/05/06/6400877.aspx 阅读全文
posted @ 2011-06-29 20:34 OYJJ 阅读(458) 评论(0) 推荐(0) 编辑