1.Win32汇编程序开发

原创 2015年07月07日 15:00:19

		.386
		.model flat,stdcall
		option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include		windows.inc
include		user32.inc
includelib	user32.lib
include		kernel32.inc
includelib	kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		.const

Caption	db	'hello',0
Text		db	'你好 is my wife',0

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		.code
start:
		invoke	MessageBox,NULL,offset Text,offset Caption,MB_OK
		;invoke	GetModuleHandle,NULL
		invoke	ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
		end	start

反汇编调试
CPU Disasm
Address   Hex dump          Command                                  Comments
00401000  /.  6A 00         PUSH 0                                   ; Type = MB_OK|MB_DEFBUTTON1|MB_APPLMODAL
00401002  |.  68 10204000   PUSH OFFSET 00402010                     ; Caption = "hello"
00401007  |.  68 16204000   PUSH OFFSET 00402016                     ; Text
0040100C      6A 00         PUSH 0
0040100E      E8 07000000   CALL <JMP.&user32.MessageBoxA>           ; Jump to user32.MessageBoxA
00401013  |.  6A 00         PUSH 0                                   ; /ExitCode = 0
00401015  \.  E8 06000000   CALL <JMP.&kernel32.ExitProcess>         ; \KERNEL32.ExitProcess
0040101A    - FF25 08204000 JMP DWORD PTR DS:[<&user32.MessageBoxA>]
00401020   $- FF25 00204000 JMP DWORD PTR DS:[<&kernel32.ExitProcess
00401026      00            DB 00
00401027      00            DB 00

从start出开始执行,数据压缩堆栈,然后call 调用。若要逆向message中的数据,

CRTL + G 。 定位断点messagebox函数,然后查看堆栈压入的数据即可。

CPU Disasm
Address   Hex dump          Command                                  Comments
75E7EAA5  |.  FF75 14       PUSH DWORD PTR SS:[EBP+14]               ; |Type
75E7EAA8  |.  FF75 10       PUSH DWORD PTR SS:[EBP+10]               ; |Caption
75E7EAAB  |.  FF75 0C       PUSH DWORD PTR SS:[EBP+0C]               ; |Text
75E7EAAE  |.  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hOwner
75E7EAB1  |.  E8 73FFFFFF   CALL MessageBoxExA                       ; \USER32.MessageBoxExA











【汇编】Linux 下汇编程序开发

一,简介        Linux 下用汇编语言编写的代码具有两种不同的形式。        1)完全的汇编代码             指的是整个程序全部用汇编语言编写。尽管是完全的汇编代码,...
  • tianshuai11
  • tianshuai11
  • 2012年08月23日 16:13
  • 1017

CUDA4.0 inline PTX汇编程序开发

内联PTX汇编具有如下形式: asm(“instop”:”type_symbolic”(or):”type_symbolic”(ir),..); asm(“instop”::”type_symboli...
  • zhang_yang_43
  • zhang_yang_43
  • 2017年10月26日 18:52
  • 83

CUDA4.0 inline PTX汇编程序开发( 0 )

内联PTX汇编具有如下形式:asm(“instop”:”type_symbolic”(or):”type_symbolic”(ir),..);asm(“instop”::”type_symbolic”...
  • cyrosly
  • cyrosly
  • 2011年03月05日 12:12
  • 2050

小程序-开发入门

各位好,2017年1月9号,随着小程序上线的序幕,一场由微信挑起的原生APP与小程序的线上撕逼正式拉开了序幕。一时间沸腾的网络文章诸如《原生APP已死》的文章成爆炸之势。作为一名Android的原生开...
  • sfq19881224
  • sfq19881224
  • 2017年01月13日 10:47
  • 634

Linux设备驱动开发——3.点亮LED灯

三、点亮LED灯 通过前面的学习,我们便大致了解了如何操作4412,最直观的方面就是操作开发板来点亮一个LED灯了。 工具文件: E4412_N.bl1.bin:   三星公司提供的,b...
  • a5211059
  • a5211059
  • 2016年03月02日 21:06
  • 370

开发linux设备驱动程序并不是想象的那么难

开发linux设备驱动程序并不是想象的那么难 最近看了好多内核编程和驱动开发的教程,也参考了一些开发板上的例子。总结下来并不是想象的高不可及。开发驱动程序需要对 内核有一定的了解,并不是非要解读的多么...
  • menuconfig
  • menuconfig
  • 2007年08月24日 15:25
  • 604

《精通Linux设备驱动程序开发》——Linux无线设备驱动

Linux无线设备驱动
  • Explorer_day
  • Explorer_day
  • 2015年04月21日 16:29
  • 2128

微信小程序开发详解 5 博客园客户端---新闻资讯类小程序

新闻开始通过精确推荐增强用户使用黏性,最终做到千人千面,完成“读新闻”到“消费内容”的转变。    虽然新闻资讯类的竞争已经白热化,但在各个垂直领域仍大有可为。如,程序员看IT新闻,星座爱好者研究每...
  • QFire
  • QFire
  • 2018年01月20日 17:01
  • 175

微信小程序开发入门篇

本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果。开发准备工作获取微信小程序的 AppID登录 https://mp.weixin.qq.com ,就可以在网站的“设置”...
  • xiangzhihong8
  • xiangzhihong8
  • 2016年12月19日 13:31
  • 11893

《精通Linux设备驱动程序开发》——内核

一、启动过程  1、
  • Explorer_day
  • Explorer_day
  • 2014年10月28日 21:36
  • 1161
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:1.Win32汇编程序开发
举报原因:
原因补充:

(最多只允许输入30个字)