「已注销」
码龄9年
关注
提问 私信
  • 博客:19,612
    社区:1,751
    21,363
    总访问量
  • 23
    原创
  • 暂无
    排名
  • 4
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2015-10-09
博客简介:

qianmengfusheng的博客

查看详细资料
个人成就
  • 获得6次点赞
  • 内容获得0次评论
  • 获得14次收藏
创作历程
  • 14篇
    2020年
  • 1篇
    2019年
  • 2篇
    2017年
  • 1篇
    2016年
  • 5篇
    2015年
成就勋章
TA的专栏
  • C++
    3篇
  • 底层
    8篇
  • re
    3篇
  • 栈
    2篇
  • 微机基础
    1篇
  • ctf
    1篇
  • 数学
    2篇
  • 杭电
    3篇
  • 二叉树
    1篇
  • 红黑树,doing
    1篇
  • QT 操作系统
    1篇
  • 网络基础
    1篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C++ 语法时,编译器做了什么(1) new delete malloc free

直接看反汇编,手动翻译一下NEW31: Person* p = new Person();0040105D push 40040105F call operator new (004012b0)00401064 add esp,400401067 mov dword ptr [ebp-18h],eax0040106A mov dword ptr [ebp-4],000401071 cmp dword ptr [ebp-18h],000401075 je main+54h
原创
发布博客 2020.05.25 ·
255 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

NULL--print()

按我的理解是不能运行的//错误理解struct Person { int x ; void Fn_1() { printf("Person:Fn_1()
"); } void Fn_2() { x = 10; printf("Person:Fn_2()%x
"); } }; ...
原创
发布博客 2020.05.21 ·
236 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

wdb ctf re

一共有四道re题,两题apk,两题exeapk本菜鸡完全不会,过了过了然后就是signal这题就是一个 switch用switch把操作分离,然后用一串数据来实现类似指令的效果,从而实现功能首先找到输入字符串char a[] = { 0x0A,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00, 0x03,0x00,0x00,0x00,0x05,0x00,0x00,0x00,...
原创
发布博客 2020.05.11 ·
272 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

boot bios傻傻分不清

bios是加电完成后执行的指令,boot是BIOS执行完成后的指令(算是操作系统内部指令)即BIOS 加电到 选择系统, boot是选择系统之后(装了多个系统的师傅应该了解,开机到一半有个选择操作系统)想去了解系统加电过程,于是安装了一个qemu进行调试不能单步执行,n,s都不行系统停在了0xFFFF FFF0 //可以通过断点知道通过dump 内存 0x0000 0000 - 0x000F FFFF和 0xFFF0 0000 - 0xFFFF FFFF 发现大部分是一致的0x0000 ..
原创
发布博客 2020.05.09 ·
5618 阅读 ·
2 点赞 ·
0 评论 ·
6 收藏

随笔,代码隐藏基础

滴水逆向,2015-3-6随笔将代码段数据放置在全局变量区,使用指针去调用直接上手撸代码,访问出错是DEP保护没关(保证数据区代码不可执行)那就关掉吧,属性->链接器->高级->数据执行保护 选否此时 int (*p)(int); p = (int (*)(int))(&a); int b = (*p)(3); print...
原创
发布博客 2020.05.07 ·
171 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

c++ string 源码分析

菜鸡的我当酱油去了ctf,re的第一题就把我整懵了ida警告Unexpected entries in the PLT stub.The file might have been modified after linking.大致就是PLT 被修改了解决方法我能想到的有二:一:修复PLT表//本菜鸡不会二:直接动调//莽就完事了跟到源码里使用了一堆0x20大小的栈空间//我刚开始以...
原创
发布博客 2020.05.06 ·
4001 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

又是菜鸡的记录日志,局部变量大小,坑人的编译器

其实主要是想说明编译器太坑了(以下都是在32位环境下)刚开始使用的是vs2010,一个int a ,缓冲区都要增大0xC我人都傻了,两个int 增大0x18, char c[12] 增大0x20一个double 直接占用0x10 ,值放在0x4-0xC 形成 4 8 4疯狂的浪费空间,我也不晓得原因,先做个记录帖,以后再翻案吧然后再装一个vc6,就完全符合我的预期局部变量(定义...
原创
发布博客 2020.04.26 ·
197 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

逆向基础,函数多级调用

看到滴水逆向的时候C语言基础于是写了一个int Plus3(int a, int b, int c, int d ,int e){ return Plus2(a,Plus1(b,c),Plus1(d,e));}这样的函数,其实就是加法运算但是跟着汇编一看还是挺好玩的,首先是Plus1(d,e)就正常push(压入参数),call(跳转),add(外平栈)...
原创
发布博客 2020.04.21 ·
270 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

模拟栈时遇到的坑

看滴水逆向的时候,模拟栈不是简单的很,直接上手习题模拟压入五个数,五个DWORD不过瘾啊,皮BYT一下,压入DWORD,DWORD,WORD,BYTE,BYTE炫个技给自己看喽mov ebx,0x6FFB3Cmov edx,ebx//关键来了mov dword ptr ds:[edx],0x11111111sub edx,0x4mov dword ptr ds:[edx...
原创
发布博客 2020.04.12 ·
126 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CPU处理加法的简单理解

在看滴水逆向时,听到了CPU处理加法的过程大致为//为了简单使用四位,便于理解__int4 add(__int4 X,__int4 Y){ while(1) { R = X xor Y; T = X and Y; T = T <<1; if( 0 == T) ...
原创
发布博客 2020.04.10 ·
527 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

buuctf-re-刮开有奖

什么都别说,上来就是直接ida(如果函数不对就是有壳)很快乐,没有壳直接在winMain上F5,DialogBoxParamA(hInstance, (LPCSTR)0x67, 0, DialogFunc, 0);众所周知,对话框的处理函数是自己传进去的也就是 DialogFunc点进去找到了{ MessageBoxA(hDlg, "U g3t 1T!", "@_...
原创
发布博客 2020.03.13 ·
789 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

puuctf-re-不一样的flag

直接上ida 函数都正常,没加壳找到main函数直接f5看了一下代码逻辑拷贝字符串*11110100001010000101111#到esp+17h定义v4 =[esp+30h] ;v5 =[esp+34h]v6为用户输入v4[i] <0 || v4[i] > 4 exitv6<1 ||v6>4 exitv6 =...
原创
发布博客 2020.03.12 ·
384 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

编译器将除变成乘法原理

除法运算运算效率在四种基本运算中最慢,是乘法的20倍左右所以在被除数为固定值时(重要),编译器会把除法优化乘法。设代码 a/b = c b是常量设 b*k = 2^n 2的n次直接用移位运算即可a *2^n/ (b*2 ^n) = ca * b *k/b = c* 2...
原创
发布博客 2020.01.10 ·
1038 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

逆矩为什么能求线性方程(多元一次)的解

单位矩阵//只有主对角线为1的矩阵1 0 00 1 00 0 1特点:任何矩阵乘以标准矩阵还是本身首先利用线性方程写出矩阵A(未知数系数) 矩阵B(值)求逆矩 A-1B * 单位矩阵 = B即 B* A * A-1 = B设...
原创
发布博客 2020.01.09 ·
335 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

逆矩为什么能求线性方程(多元一次)的解.docx

发布资源 2020.01.09 ·
docx

数据包发送全过程

都在图里
原创
发布博客 2019.04.06 ·
1714 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

QT 对于按钮实现的思考

突然想知道按钮是如何被响应的1.在操作系统中假设两个应用窗口重叠了一部分例如:此时我点击后面一个窗体 就会将后面的窗体置前据说是使用射线技术,也就是说 ,以鼠标当前坐标(鼠标中断,传入坐标和按下的按钮(左键,右键,扩展键))然后我猜测是根据一个栈,例如应用程序栈,从栈顶开始搜索,如果当前窗体被点击,即将被点击的窗体移动至栈顶,刷新屏幕,不再往下传递点击事件那
原创
发布博客 2017.10.20 ·
278 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

红黑树剖析

场景:在解决A*寻路算法时,需要一个能支持大量插入和删除(查找)操作的数据结构链表和数组都有缺陷,这时就想到了树,将树设置为左子树小于自身,右子树大于自身,这时查找,插入,删除都比较快捷,但是如果插入数据特例例如递增的数据就会导致效率比链表还差理所当然想到自我平衡的树 AVL树和红黑树(没看到2-3树)然后再思索了一下,发现维护AVL树的代价比较高,感觉到插入的
原创
发布博客 2017.09.22 ·
280 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Last non-zero Digit in N!

先来说说思路: 首先这个数非常之大 所以我先用char 类型的字符数组来存储将其转化为整形大整数数组lctoli  //long char to long int然后大数除小数的模板是网上的之后我们先来看一看数据 假设 输入281 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 的
原创
发布博客 2016.07.22 ·
417 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

1420 (A^B)%C

#includeint Calculate(_int64 a,int b,int c);int main(){ int cycle_index; while(scanf("%d",&cycle_index)!=EOF) { while(cycle_index--) { int a,b,c; scanf("%d%d%d",&a,&b,&c);
原创
发布博客 2015.10.24 ·
285 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多