|
几个简单的指令意思
回复后,才看到lnn1123兄已经回答了。 |
|
几个简单的指令意思
本人是做VC开发的,相信语言最好的学习就是结合代码看程序。 汇编指令的书也看过一些。不过研究的不是很深。 以下是看 ;************************************************************* ;* Author: 一块三毛钱 ;* E_mail: crazy_soft@163.net ;* Homepage: http://zhongts.51.net ;************************************************************* ;* Compile: Hutch's Masm32 ;* Create Time: 2002.6.5 ;* Modify: 2002.6.5 ;* Description: 文件分割器 V1.10 ;************************************************************* 程序的时候遇到的一些问题。很简单,不过暂时自己解决不了。 这些指令的意思不是很明白。 invoke lstrcat, addr strIniFilePath, addr strModuleDir mov esi, offset strFileName 主要是不明白它们两个有什么区别,不用管invoke 不用管invoke是什么意思?这里不太清楚你想知道什么。下面随便说一下。 lstrcat是一个字符串连接函数,invoke lstrcat, addr strIniFilePath, addr strModuleDir是将strIniFilePath和strModuleDir里保存的字符连接在一起,连接后的字符串保存在strIniFilePath里。 mov esi, offset strFileName是将strFileName变量的地址传给esi。 其中,addr和offset两个指令都是取变量的地址。他们的差别在于:一、addr只能取前面变量的地址,而offset可以取后面的变量地址,二、addr可以取函数里的局部变量地址,而offset只能取全局变量的地址。 mov esi, lpfile mov al, byte ptr [esi] 主要是byte ptr是何用 Byte ptr 是告诉程序,mov al,byte ptr [esi]只取[esi]中保存的数据以一个Byte字节大小给al。 mov esi, lpfile lea edi, filetitle 这两个语句有什么区别,在我看来,它们应都 是 mov esi, lpfile mov edi, filetitle mov esi, lpfile是取盒子里放着的东西,而lea edi,filetitle是取盒子,他们的意思怎么会是一样呢。 这一小段看得不是很明白 ;计算文件名(包括扩展名) mov esi, lpfile ; 取出lpfile保存着的地址给esi lea edi, filetitle ; 将filetitle的地址给edi invoke StrLen, lpfile ; 获取lpfile保存着的字符串地址保存着的字符串长度 add esi, eax ; 字符串地址加上字符串长度,使esi指向字符串的最后一位字符。 xor ecx, ecx ; ecx清0,准备作计数器为下面的循环操作作准备。 labelTest: cmp BYTE ptr [esi], '' ;比较循环取出[esi]指向的字符串是不是已经结束。 je labelExit ;如果结束则退出循环。 dec esi ;地址减1 inc ecx ;计数加1 jmp labelTest ;跳回labelTest上面继续循环操作。 可以了,有了以上的基础,估计看起来要容易得多了。 |
|
link问题
源码发上来看一看。 |
|
|
|
[求助]如何确定圆心坐标
最初由 phoenix[ne] 发布 前面我说过,ecx是矩形到圆形的间距,程序在取得矩形到圆形的间距再加上圆形的半径,才是矩形的中心点,以矩形的中心点,作为圆心坐标。 给你一个图理解一下: |
|
|
|
8月27日更新:[原创]一个OD插件工具(内存数据格式转换)。
最初由 sanhua 发布 你用的是什么系统?OllyDBG是什么版本的?错误是什么? 我在98系统、2003系统试过,没有问题。 |
|
新手破解时的几个难关,请老师进来指点!
Next的意思是下一次的意思,关于VB的程序Crack,你可以看看下面的资料: http://www.pediy.com/tutorial/chap7/Chap7-2.htm |
|
|
|
新手破解时的几个难关,请老师进来指点!
00405942的call应该是__vbaVarTstNext,所以下面的je应该是一个循环跳,不是关键跳。 |
|
[完成]下面这段代码怎么实现每单位时间就更换图标功能的?
dwCount虽然在不停增加,但eax的值给and eax,1限制在0和1之间了,所以可以实现2个图标之间按时更换。 |
|
新手破解时的几个难关,请老师进来指点!
一般是往下跟。 |
|
新手破解时的几个难关,请老师进来指点!
GetWindowsTextA是在系统Dll里,最好不要去修改他,而且系统里的call也不可能是关键call,一般是没有人会将关键点做到系统dll里面去的,因为修改系统dll会有可能导致系统的不稳定,要修改就必须用Atl+F9返回程序领空去修改代码。 |
|
[求助]装的masm32总是提示这个错误
恭喜进步。 |
|
[求助]寻RadAsm帮助(关于相对路径)
在RadASM(汉化版)的选项->路径里设置。 |
|
[求助]装的masm32总是提示这个错误
你是用什么编辑软件来写代码的?用MASM32自带的QEDITOR?如果是,建议你试试使用其它的编辑软件来写代码,如RadASM、MASMPlus,他们比较智能化。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值