请教汇编源代码代码的含义

请问有人懂得用汇编调用API函数吗。_汇编吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:28,558贴子:
请问有人懂得用汇编调用API函数吗。收藏
我用的是masn编译器,请问怎样调用MessageBox这个API函数。教我写代码好吗。谢谢你们。
福利不只是穿多穿少,还要有迷人的微笑!
.386.model flat,stdcalloption casemap:none;include 文件定义include
windows.incinclude
user32.incincludelib
user32.libinclude
kernel32.incincludelib
kernel32.lib.dataszApp
db"The First One",0szTextdb"Hello World",0.codestart:
invoke MessageBox,NULL,offset szText,offset szApp,MB_OK
invoke ExitProcess,NULLend start
我画了个图
win 是多任务,个任务之间多有键盘输入,所以就形成了系统信息列队,这样的键盘操作多以系统信息列队为中心,这时的in和out 没有用,in和out 已经在系统信息列队处理程序中存在使用了
现代的操作系统大都不能直接操作硬件罢 或多或少有一定的限制对了 是masm 不是masn突然发现我排名好靠前啊 虽然不经常来。。。
用伪指令invoke调用就行
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或【求助】一个中年新人。请教几个汇编代码,请指教 [文字模式]
- 看雪安全论坛
查看完整版本 :
oldK才学习汇编。好不容易跟到算法里面。又点看不懂
MOV EAX,DWORD PTR SS:[ESP+4]
入ax=aaaaaaaaaa
JNZ SHORT widi_unp.006BD2D1
/MOV EDX,DWORD PTR DS:[EAX]
|ADD EAX,4
|MOV ECX,EDX
|SUB EDX,1010101
|JE SHORT widi_unp.006BD2A4
|AND EDX,ECX
\JE SHORT widi_unp.006BD2A4
TEST DL,DL
JNZ SHORT widi_unp.006BD2EB
TEST DH,DH
JNZ SHORT widi_unp.006BD2EC
F7C2 0000FF00 TEST EDX,0FF0000
JNZ SHORT widi_unp.006BD2ED
JMP SHORT widi_unp.006BD2EE
F640 FC FF
TEST BYTE PTR DS:[EAX-4],0FF
JE SHORT widi_unp.006BD2EB
F640 FD FF
TEST BYTE PTR DS:[EAX-3],0FF
JE SHORT widi_unp.006BD2EC
F640 FE FF
TEST BYTE PTR DS:[EAX-2],0FF
JE SHORT widi_unp.006BD2ED
AND AL,0FC
JMP SHORT widi_unp.006BD2A4
MOV ECX,DWORD PTR SS:[ESP+4]
SUB EAX,ECX
请高手帮忙注释下。在下愚昧ADD EAX,4 都没搞懂为何变成了aaaaaa,其他下面的就更糊涂了。第一次又点上不了手
笨笨雄EAX的内容刚好是一个合法的内存地址,而该内存位置保存的信息就是aaaaaa
soshort在这里EAX是一个指向字符串的指针
EAX&=&OFFSET&&aaaaaaaaaa&
&&&&&&&&&&&&&&^EAX现在指向这里
ADD&EAX,&4
就是说指针向后移动4个字节也就是32位,那么现在EAX的情况就是:
EAX&=&OFFSET&&aaaaaaaaaa&
&&&&&&&&&&&&&&&&&&^EAX现在指向这里,那么现在EAX指向的字符串就少了4个A
推荐LZ好好看一下关于指针的部分。
再给你推荐一本好书《Pointers&On&C》,中文译名是《C和指针》
然后再详细看看CISRG&7all写的&How&to&study&C&ASM&CODE&系列文档,相信读懂这些之后会对今后的学习有很大的帮助。
要学会编同楼主一起学习了.
谢谢版主和soshort :3:
魔欲风流中年人来学习 精神可嘉啊 我们年轻人要更加努力了 不像我爸天天做在电脑前面只知道斗地主 哎
oldK好的,谢谢几位朋友的指导。
bgcelite有幸一起学习,我深感谢意关于汇编代码,想请教。 - 看雪安全论坛
悬赏金: 20 &nbsp 状态:
注册日期: Apr 2011
现金: 7 Kx
获感谢文章数:1获会员感谢数:1
结帖率:100%
, 22:03:25
关于汇编代码,想请教。
入行3年了。最近终于有放弃的想法了。太累。。但是还是不甘心,所以特此来请教一些问题。希望能得到大牛的解答。
1,请问大牛,你们是怎么看反汇编代码的?或者说,你们看反汇编代码能到了什么程度?给出一段代码,从上往下读就能在脑海中映射出C语言的样子?还是你们已经不看反汇编代码了?直接拖到IDA里面F5?在这真心佩服那些能完整逆向一个程序或者一部分程序的人。
我也看过C++&反汇编与逆向分析技术揭秘&&,也不算菜鸟吧,但是我感觉现在反汇编一段程序还是很吃力。
今天躺在床上睡不着,心想还得把C++反汇编这本书在重头看一遍。也许能有更深入的体会。
希望大牛能回答我上面的问题。
注册日期: Aug 2011
现金: 22 Kx
获感谢文章数:0获会员感谢数:0
, 22:46:29
C++反汇编那本书。。。
真是好想吐槽。。。
加减乘数说了一大堆。。。
有用的也就&if&else&while&for&那一段。。。
没什么好看几遍的、把书读薄、再把书读厚。。。
逆向工程重点是逆向的速度和不是逆向的成功率。。。
所以说多找例子练习就ok了。。。
注册日期: Aug 2009
现金: 53 Kx
获感谢文章数:0获会员感谢数:0
, 22:51:20
多看书不如多练手,,一段东西见多就熟悉了...
逆向本来就是一个艰辛的技术+体力活...比的就是技术和经验...最重要是耐心。
一次不理解就看两次
两次不理解就背起来
三次还不理解就狠狠地抄
熟则能生巧,天道酬勤!
带着的理解去练习,以练习来证实你的理解是否有误!
被 jksjian 最后编辑
原因: 没打完
注册日期: Jul 2013
现金: 544 Kx
获感谢文章数:2获会员感谢数:112
&&&&&(+10)
, 08:43:46
那本我也看完了,还阔以
注册日期: Apr 2010
现金: 110 Kx
致谢数: 13
获感谢文章数:3获会员感谢数:7
, 08:48:29
做了一年的逆向,体力活,果断转驱动去,逆逆逆,没意思啊。要有很大的耐心,即使这个指令完全不知道,在跟中的时候改变了什么值,然后猜它的作用。多练练吧,从自己写的程序开始逆向,这样知道流程逆的快
注册日期: Dec 2008
现金: 134 Kx
获感谢文章数:0获会员感谢数:0
, 10:03:51
c++反汇编&这本书还可以。只是看除法那一段&确实把我郁闷了很久,数学功底差,看得难受。后来就好了。
注册日期: Apr 2011
现金: 36 Kx
获感谢文章数:0获会员感谢数:0
, 13:03:16
反正我把汇编代码用C还原特别慢。
注册日期: Sep 2013
现金: 36 Kx
获感谢文章数:0获会员感谢数:0
, 22:10:34
额....刚入汇编的门,本意是想调整下车载ECU的程序,反汇编出来时81万行代码,看得有些头疼,目前还是云里雾里不知所以。
进来吸吸大家的经验,继续努力ing
注册日期: Apr 2010
现金: 55 Kx
获感谢文章数:1获会员感谢数:1
&&&&&(+10)
, 22:52:15
如果你能轻松看大量汇编那还要源码做什么。一般不会去细读的,根据程序的各种特征,调用模式,api断点等
找到关键的部分,针对关键部分再逆。
c++的反汇编嘛,我觉得最主要的是类的概念,类在汇编中的形式,毕竟现在去写个程序不可能不用类,还在面向过程
注册日期: Sep 2013
现金: 35 Kx
获感谢文章数:0获会员感谢数:0
, 02:59:40
尽可能的把代码转换机器语言才是最经济的。我学习汇编都是先看汇编有不明白的地方再查.如果先看书后学习汇编,所谓的循序渐进,不是什么效率的学习方法。我的习惯是带着疑问找答案。
注册日期: Dec 2011
现金: 29 Kx
获感谢文章数:0获会员感谢数:0
, 22:24:11
刚刚开始的时候也特别迷茫。但是我发现就像前排说的只要有耐心,去除浮躁的心态。一次不行,两次;两次不行三次。总会有行的时候。加油
注册日期: Feb 2012
现金: 43 Kx
获感谢文章数:0获会员感谢数:0
, 00:27:01
看汇编除了指令熟悉,脑子里还必须装有所有寄存器
注册日期: Nov 2013
现金: 0 Kx
获感谢文章数:0获会员感谢数:0
, 08:56:04
大家只看到牛人了,有些人注定是当不了牛人的。牛人有几个?大部分是普通人,逆向本来就是犯法的,形不成产业规模,所以当不了牛人,赚不到钱的。所有,要是没这爱好,还是不要搞。程序员已经够苦了。逆向更苦。。。。
注册日期: Apr 2006
现金: 10 Kx
获感谢文章数:13获会员感谢数:49
, 10:20:52
看内存所有流程一目了然,寄存器神马都是浮云,数据在内存中怎么跑的,流程就全部出来了。
注册日期: Dec 2013
现金: 35 Kx
获感谢文章数:0获会员感谢数:0
, 17:40:21
新注册的ID是不是都不能回复啊
您不可以发表主题
您不可以回复帖子
您不可以上传附件
您不可以编辑自己的帖子
论坛论坛启用
用户控制面板
会员在线状态
『看雪众测/众包』
初学者园地
『求助问答』
『经典问答』
『资料导航』
『Android 安全』
『Android 开发』
『iOS安全』
『软件调试逆向』
『密码学』
『编程技术』
『C32Asm』
『MDebug』
『安全工具开发』
『加壳与脱壳』
『CrackMe&ReverseMe』
『资源下载』
『WEB安全』
『漏洞分析』
『外文翻译』
『招聘专区』
『职业生涯』
『15PB培训』
『麦洛克菲培训』
『茶余饭后』
『安全资讯』
『论坛活动』
6)PEDIY Crackme竞赛2009
7)看雪十周年专版
8)腾讯公司2010软件安全竞赛
9)2011 Exploit Me竞赛
『图书项目版』
《加密与解密(第三版)》
《C++反汇编与逆向分析技术揭秘》
《Android软件安全与逆向分析》
『论坛版务』
所有时间均为北京时间, 现在的时间是 .
&&& 看雪学院()
| 提供带宽资源
|&微信公众帐号:
& 手机客户端:请问汇编程序, 解释程序, 编译程序分别指?_百度知道
请问汇编程序, 解释程序, 编译程序分别指?
译程序: 汇编程序(为低级服务)是将汇编语言书写的源程序翻译成由机器指令和其他信息组成的目标程序。 其区别主要为,前者产生的目标代码的执行速度比解释程序的执行速度要快、解释程序,翻译一句,适于初学者使用;此外,执行一句、汇编程序是3种语言处理程序,一般是读一句源程序。用COBOL。编译程序(为高级服务)是将高级语言书写的源程序翻译成与之等价的低级语言的目标程序;后者人机交互好,不产生目标代码,如BASIC解释程序、FORTRAN等语言编写的程序考虑到执行速度一般都是编译执行。编译程序与解释程序最大的区别之一在于前者生成目标代码,而后者不生成。解释程序(为高级服务)直接执行源程序或源程序的内部形式
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁21ic官方微信
后使用快捷导航没有帐号?
查看: 1321|回复: 3
请问用汇编如何将常量定义到程序存储器中的指定地址
&&已结帖(0)
主题帖子积分
助理工程师, 积分 1410, 距离下一级还需 590 积分
助理工程师, 积分 1410, 距离下一级还需 590 积分
主题帖子积分
专家等级:结帖率:89%
主题帖子积分
助理工程师, 积分 1410, 距离下一级还需 590 积分
助理工程师, 积分 1410, 距离下一级还需 590 积分
不是自己编程序写程序存储器,是用伪指令定义。
, , , , , , , ,
主题帖子积分
助理工程师, 积分 1410, 距离下一级还需 590 积分
助理工程师, 积分 1410, 距离下一级还需 590 积分
主题帖子积分
专家等级:结帖率:89%
主题帖子积分
助理工程师, 积分 1410, 距离下一级还需 590 积分
助理工程师, 积分 1410, 距离下一级还需 590 积分
自己搞定。
主题帖子积分
中级工程师, 积分 3210, 距离下一级还需 1790 积分
中级工程师, 积分 3210, 距离下一级还需 1790 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 3210, 距离下一级还需 1790 积分
中级工程师, 积分 3210, 距离下一级还需 1790 积分
主题帖子积分
技术总监, 积分 39590, 距离下一级还需 10410 积分
技术总监, 积分 39590, 距离下一级还需 10410 积分
主题帖子积分
专家等级:结帖率:3%
主题帖子积分
技术总监, 积分 39590, 距离下一级还需 10410 积分
技术总监, 积分 39590, 距离下一级还需 10410 积分
一般用 at...
技术新星奖章
人才类勋章
社区建设奖章
等级类勋章
时间类勋章
涓涓之细流
发帖类勋章
精华达人奖章
等级类勋章
湍急之河流
发帖类勋章
时间类勋章
技术导师奖章
人才类勋章
荣誉元老奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章
热门推荐 /6

我要回帖

更多关于 汇编源代码 的文章

 

随机推荐