|
|
12精币
汇编太难了
练习写个判断指针地址处有几个十六进制符,死活不对,运行到没有崩溃,但是返回值是96不知道是什么鬼,有没有汇编大佬指点指点
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 文本 | 文本型 | | | | 文本指针 | 整数型 | | |
文本 = “ffff\ff\fff\ffg”文本指针 = 取变量数据地址 (文本 )调试输出 (文本指针, 指针_取十六进制数量 (文本指针, 4 )) |
| 指针_取十六进制数量 | 整数型 | | |
| pAddr | 整数型 | | | | count | 整数型 | | | | 置入代码 ({ 139, 93, 8, 139, 77, 12, 49, 192, 138, 3, 60, 48, 124, 28, 60, 57, 126, 20, 60, 65, 124, 20, 60, 70, 126, 12, 60, 97, 124, 12, 60, 102, 126, 4, 235, 6, 226, 226, 64, 67, 235, 222, 201, 194, 8, 0 })返回 (0 )
|
最佳答案
查看完整内容
.版本 2
.子程序 指针_取十六进制数量, 整数型, , 从指针地址处开始,循环读取一定数量的字节,遇到非十六进制或一定次数时终止循环,返回遇到的十六进制数量。
.参数 pAddr, 整数型
.参数 count, 整数型, , 欲获取的数量
' __asm{
' mov ebx, dword [ebp+0x08] //指针地址
' mov ecx, dword [ebp+0x0C] //循环次数
' xor eax,eax //用于计数,初始化为0
' check_loop:
' mov dl,byte[ebx]
' cmp dl,'0'
' jl ...
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。 友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。 快捷通道:申请荣誉值 →
|