C#基本窗体程序;

进入反汇编查看;

看一下把字符串赋给文本框的这段反汇编;

大体的阅读一下,以略懂汇编的人来看,基本含义:

ebp寄存器的值减去一个值,取出此偏移地址的值,赋给eax;
    eax寄存器的值,加上一个值,取出此偏移地址的dword,赋给ecx;
    取数据段某处的一个值,放入edx;
    取出以ecx寄存器的值为偏移处的dword,放入eax;
    eax寄存器的值,再加上一个值,取出此偏移处的dword,又放入eax;
    调用以eax的值为偏移处的函数;

看上去很绕,最后eax寄存器的值是啥我也不知道;

字符串是放在栈(ebp所指),或是数据段(ds),汇编不熟悉不了解;

最后调用的地址处,莫非是Win32的SetDlgItemText类似函数,文本框句柄在哪里?这些都是问题;

复习一下32位寄存器的基本用法;

esp是栈指针,ebp只是存取某时刻的esp;
    EAX 是"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器。
    EBX 是"基地址"(base)寄存器, 在内存寻址时存放基地址。
    ECX 是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器。
    EDX 则总是被用来放整数除法产生的余数。
    加方括号 [ ] 表示一种间接的取操作数方式,有点类似于C语言中的指针概念;

ECX在这里应该也没有做为计数寄存器使用;

这段代码和手写的Win32汇编设置文本框值完全不同;

自己写Win32汇编设置文本框值的程序在,

Win32汇编获取和设置文本框的内容_bcbobo21cn的专栏-CSDN博客_win32设置文本框内容

总之这段反汇编看上去比花指令还花; 肯定是微软为了防止人跟踪进入dNet虚拟机的内部、了解到其设计机制,而搞了一些东西;

初步的看一下C#窗体程序的直接反汇编代码相关推荐

  1. 数据库实验 图书管理系统(使用SQLsever,附C#窗体程序源码)

    写一个可以登录注册包括管理员身份.读者身份在内的,可以管理(增删改查)图书.借阅信息,可以借书还书的图书管理系统 使用数据库:SQL sever 使用语言:C# 使用IDE:Visual Studio ...

  2. C#窗体程序随电脑分辨率自动调整大小

    添加类方法,代码如下: public static void setTag(Control cons){foreach (Control con in cons.Controls){con.Tag = ...

  3. java窗体中添加图片_在java窗体程序中添加图片的方法

    在java窗体程序中添加图片的方法 发布时间:2020-06-16 11:24:13 来源:亿速云 阅读:148 作者:Leah 这篇文章主要为大家详细介绍了在java窗体程序中添加图片的方法,图文详 ...

  4. java swing开发窗体程序开发(一)GUI编程

    Java SWing就是java提供的一个类库专门用于开发窗体程序的,相对于C#的winform,java swing的开发要比C#更加麻烦,他不像C#拥有可视化的界面编辑工具 而是需要像QT一样纯代 ...

  5. 如何快速看懂一个大型程序

    为什么以及要有的态度: 不要消极的去阅读别人的代码,而是带着挖掘宝藏的精神去寻找别人的代码中精华的部分,找出其中好的架构为我所用. 大体思路: (1)忽略细节,先前不要关注分支(支线).不重要的功能, ...

  6. C++ Windows 窗体程序入门 - 1.你的第亿个窗体程序

    〇.前言-------------------- + 学Windows窗体已经有一段时日了,奈何没有什么浅显易懂(&便宜!!)的书籍 , 就想来 , 算是记笔记吧 , 顺便还能给你们总结一些经 ...

  7. VS2010 win32项目windows窗体程序 向导生成代码解析

    目录: 1.Win32项目的windows窗体程序的向导生成了如下代码 2.手工生成代码如下 3.当消息队列中没有消息需要处理,我们可以利用这段时间处理我们自己的任务 1.Win32项目的window ...

  8. VS C#窗体程序未能找到Form1.resx文件解决方法

            新建另一C#窗体程序,在窗体上任意添加一个控件,在解决方案视图下可以看到多了一个"Form1.resx"文件,在工程文件目录中找到它,复制到缺失Form1.resx ...

  9. c语言写贪吃蛇什么水平_学了一些C语言,也不知道自己学到什么程度,自己想写个贪吃蛇但是写不出来,想看懂下面这个程序,求解释...

    已结贴√ 问题点数:20 回复次数:3 学了一些C语言,也不知道自己学到什么程度,自己想写个贪吃蛇但是写不出来,想看懂下面这个程序,求解释 #include//基本库 #include//系统库 #i ...

最新文章

  1. leetcode算法题--二叉搜索树的最近公共祖先
  2. PostgreSQL 客户端乱码问题
  3. leetcode 73 矩阵置零 C++ 两种解法
  4. 教你在Ubuntu上体验Mac风格
  5. 并发编程---ConcurrentHashMap源码解析
  6. html中如何多列布局,CSS3 多列布局
  7. 课堂练习 组合数据练习
  8. 深入理解Scala 标识符,命名和域
  9. 前端基础知识体系之项目经验篇
  10. 黑苹果以太网网卡已安装 无法上网
  11. 安卓客户端使用矢量图
  12. java 修改pdf文档的页面的大小
  13. 4kvideodownloader视频下载工具
  14. 批处理命令更改Windows鼠标滑轮滚动方向
  15. Python爬虫包 BeautifulSoup 递归抓取
  16. Python练手项目:玩转魔方
  17. C语言 | getchar()、getche()、getch()的区别?
  18. Bonobo.Git.Server 简单使用
  19. 什么是数据结构,都有哪些数据结构
  20. 设计模式(十)----策略模式

热门文章

  1. Java正则表达式基础案例和语法
  2. Python 图像处理篇-利用opencv库和numpy库读取包含中文路径下的本地图片实例演示
  3. Mac 技术篇-多个python版本环境下Geany编辑器指定python版本运行
  4. 智能车声标定位相关算法优化
  5. 判断是否是2的N次方
  6. 模拟电路技术之基础知识(一)
  7. 【Ex_BSGSBSGS算法模板】poj2417 poj3243
  8. 十进制中正整数N中1的个数
  9. 学习OpenCV——SVM
  10. Laplacian函数