开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 5579|回复: 13
收起左侧

字节集转十六进制()汇编版本

[复制链接]
发表于 2018-1-30 22:44:13 | 显示全部楼层 |阅读模式   江西省上饶市
分享源码
界面截图: -
是否带模块: -
备注说明: -
  
子程序名返回值类型公开备 注
字节集到十六进制文本型 汇编版By fjqisba,将字节集转换成OD里的十六进制形式
参数名类 型参考可空数组备 注
字节集字节集
变量名类 型静态数组备 注
返回结果文本型 
返回结果 = 取空白文本 (取字节集长度 (字节集) × 2)
置入代码 ({ 51, 210, 139, 93, 8, 139, 11, 139, 73, 4, 59, 209, 115, 63, 54, 139, 11, 131, 193, 8, 3, 202, 139, 9, 129, 225, 240, 0, 0, 0, 193, 233, 4, 131, 249, 10, 124, 3, 131, 193, 7, 131, 193, 48, 137, 8, 64, 54, 139, 11, 131, 193, 8, 3, 202, 139, 9, 131, 225, 15, 131, 249, 10, 124, 3, 131, 193, 7, 131, 193, 48, 137, 8, 64, 66, 235, 181, 139, 69, 252, 139, 229, 93, 194, 4, 0 })
返回 (返回结果)

既然是汇编版本,那么肯定是要追求速度了,我尽量使用最快的算法
源码可能存在BUG,如有发现可以反馈给我


发表于 2019-2-3 20:03:43 | 显示全部楼层   浙江省台州市
支持精益论坛
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)
发表于 2018-3-4 22:32:05 | 显示全部楼层   广西壮族自治区南宁市
cated 发表于 2018-2-9 02:00
xor edx,edx
Label4:
mov ebx,[ebp+08h]

其实可以改成这样
xor edx,edx

Label4:
mov ebx,[ebp+08h]
mov ecx,[ebx]
mov ecx,[ecx+04h]
cmp edx,ecx
jnc Label1
mov ecx,[ebx]
add ecx,08h
add ecx,edx
mov ecx,[ecx]
and ecx,000000F0h
shr ecx,04h
cmp ecx,0Ah
jl Label2
add ecx,07h

Label2:
add ecx,30h
mov [eax],ecx
inc eax
mov ecx,[ebx]
add ecx,08h
add ecx,edx
mov ecx,[ecx]
and ecx,0Fh
cmp ecx,0Ah
jl Label3
add ecx,07h

Label3:
add ecx,30h
mov [eax],ecx
inc eax
inc edx
jmp Label4

Label1:
mov eax,[ebp-04h]
leave
ret 4

;mov esp,ebp
;pop ebp
;retn 0004h
;mov esp,ebp
;pop ebp

效果一样
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)
发表于 2018-3-4 22:27:02 | 显示全部楼层   广西壮族自治区南宁市
cated 发表于 2018-2-9 02:00
xor edx,edx
Label4:
mov ebx,[ebp+08h]

每个子程序一开始就 push ebp 了
后面的pop是为了栈平衡,后面只是恢复esp而已,好像可以用伪指令 leave 代替后面的pop
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-4 13:14:08 | 显示全部楼层   江苏省南京市
lwb1978 发表于 2018-3-4 00:48
楼主我发一个16到字节集互转的代码,我一直在用的,我也是网上找的,因为我本身不懂asm,你帮看看有什么问 ...

这个算法比我的要快一点额,这是牺牲空间换取时间貌似是,我的计算算法就显得有些慢了,你就用这个子程序吧
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2018-3-4 00:50:51 | 显示全部楼层   广西壮族自治区南宁市
晕,发了两次了,第一次发失败再发一次就变两帖了
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2018-3-4 00:48:59 | 显示全部楼层   广西壮族自治区南宁市
楼主我发一个16到字节集互转的代码,我一直在用的,我也是网上找的,因为我本身不懂asm,你帮看看有什么问题吗?
  
子程序名返回值类型公开备 注
ASM_字节集到16进制文本文本型 优化
参数名类 型参考可空数组备 注
原文字节集
变量名类 型静态数组备 注
原文长度整数型 
结果文本型 
置入代码 ({ 139, 93, 8, 139, 27, 137, 93, 244, 131, 125, 244, 0, 15, 132, 116, 2, 0, 0, 139, 91, 4, 137, 93, 248, 209, 101, 248 })
结果 = 取空白文本 (原文长度)
置入代码 ({ 139, 248, 139, 117, 8, 139, 54, 131, 198, 8, 232, 0, 0, 0, 0, 91, 131, 195, 9, 233, 0, 2, 0, 0, 48, 48, 48, 49, 48, 50, 48, 51, 48, 52, 48, 53, 48, 54, 48, 55, 48, 56, 48, 57, 48, 65, 48, 66, 48, 67, 48, 68, 48, 69, 48, 70, 49, 48, 49, 49, 49, 50, 49, 51, 49, 52, 49, 53, 49, 54, 49, 55, 49, 56, 49, 57, 49, 65, 49, 66, 49, 67, 49, 68, 49, 69, 49, 70, 50, 48, 50, 49, 50, 50, 50, 51, 50, 52, 50, 53, 50, 54, 50, 55, 50, 56, 50, 57, 50, 65, 50, 66, 50, 67, 50, 68, 50, 69, 50, 70, 51, 48, 51, 49, 51, 50, 51, 51, 51, 52, 51, 53, 51, 54, 51, 55, 51, 56, 51, 57, 51, 65, 51, 66, 51, 67, 51, 68, 51, 69, 51, 70, 52, 48, 52, 49, 52, 50, 52, 51, 52, 52, 52, 53, 52, 54, 52, 55, 52, 56, 52, 57, 52, 65, 52, 66, 52, 67, 52, 68, 52, 69, 52, 70, 53, 48, 53, 49, 53, 50, 53, 51, 53, 52, 53, 53, 53, 54, 53, 55, 53, 56, 53, 57, 53, 65, 53, 66, 53, 67, 53, 68, 53, 69, 53, 70, 54, 48, 54, 49, 54, 50, 54, 51, 54, 52, 54, 53, 54, 54, 54, 55, 54, 56, 54, 57, 54, 65, 54, 66, 54, 67, 54, 68, 54, 69, 54, 70, 55, 48, 55, 49, 55, 50, 55, 51, 55, 52, 55, 53, 55, 54, 55, 55, 55, 56, 55, 57, 55, 65, 55, 66, 55, 67, 55, 68, 55, 69, 55, 70, 56, 48, 56, 49, 56, 50, 56, 51, 56, 52, 56, 53, 56, 54, 56, 55, 56, 56, 56, 57, 56, 65, 56, 66, 56, 67, 56, 68, 56, 69, 56, 70, 57, 48, 57, 49, 57, 50, 57, 51, 57, 52, 57, 53, 57, 54, 57, 55, 57, 56, 57, 57, 57, 65, 57, 66, 57, 67, 57, 68, 57, 69, 57, 70, 65, 48, 65, 49, 65, 50, 65, 51, 65, 52, 65, 53, 65, 54, 65, 55, 65, 56, 65, 57, 65, 65, 65, 66, 65, 67, 65, 68, 65, 69, 65, 70, 66, 48, 66, 49, 66, 50, 66, 51, 66, 52, 66, 53, 66, 54, 66, 55, 66, 56, 66, 57, 66, 65, 66, 66, 66, 67, 66, 68, 66, 69, 66, 70, 67, 48, 67, 49, 67, 50, 67, 51, 67, 52, 67, 53, 67, 54, 67, 55, 67, 56, 67, 57, 67, 65, 67, 66, 67, 67, 67, 68, 67, 69, 67, 70, 68, 48, 68, 49, 68, 50, 68, 51, 68, 52, 68, 53, 68, 54, 68, 55, 68, 56, 68, 57, 68, 65, 68, 66, 68, 67, 68, 68, 68, 69, 68, 70, 69, 48, 69, 49, 69, 50, 69, 51, 69, 52, 69, 53, 69, 54, 69, 55, 69, 56, 69, 57, 69, 65, 69, 66, 69, 67, 69, 68, 69, 69, 69, 70, 70, 48, 70, 49, 70, 50, 70, 51, 70, 52, 70, 53, 70, 54, 70, 55, 70, 56, 70, 57, 70, 65, 70, 66, 70, 67, 70, 68, 70, 69, 70, 70, 209, 109, 248, 139, 77, 248, 3, 206, 51, 192, 138, 6, 70, 209, 224, 102, 139, 20, 24, 102, 137, 23, 71, 71, 59, 241, 124, 236 })
返回 (结果)
子程序名返回值类型公开备 注
ASM_16进制文本到字节集字节集 优化
参数名类 型参考可空数组备 注
原文文本型
变量名类 型静态数组备 注
原文长度整数型 
结果字节集 
置入代码 ({ 139, 125, 8, 139, 63, 137, 125, 244, 131, 125, 244, 0, 15, 133, 31, 0, 0, 0, 139, 69, 252, 133, 192, 116, 19, 80, 139, 64, 4, 131, 192, 8, 80, 232, 184, 2, 0, 0, 89, 94, 139, 248, 243, 164, 233, 26, 1, 0, 0, 131, 201, 255, 51, 192, 242, 174, 247, 209, 73, 209, 233, 137, 77, 248, 131, 125, 248, 1, 15, 141, 4, 0, 0, 0, 201, 194, 4, 0, 139, 117, 8, 139, 54 })
结果 = 取空白字节集 (原文长度)
置入代码 ({ 131, 192, 8, 139, 248, 209, 101, 248, 139, 77, 248, 232, 0, 0, 0, 0, 91, 131, 195, 6, 235, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 3, 206, 51, 192, 102, 139, 6, 70, 70, 80, 37, 255, 0, 0, 0, 138, 52, 24, 88, 193, 232, 8, 138, 20, 24, 192, 230, 4, 8, 242, 136, 23, 71, 59, 241, 124, 223 })
返回 (结果)

回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2018-3-4 00:48:39 | 显示全部楼层   广西壮族自治区南宁市
楼主我发一个16到字节集互转的代码,我一直在用的,我也是网上找的,因为我本身不懂asm,你帮看看有什么问题吗?
  
子程序名返回值类型公开备 注
ASM_字节集到16进制文本文本型 优化
参数名类 型参考可空数组备 注
原文字节集
变量名类 型静态数组备 注
原文长度整数型 
结果文本型 
置入代码 ({ 139, 93, 8, 139, 27, 137, 93, 244, 131, 125, 244, 0, 15, 132, 116, 2, 0, 0, 139, 91, 4, 137, 93, 248, 209, 101, 248 })
结果 = 取空白文本 (原文长度)
置入代码 ({ 139, 248, 139, 117, 8, 139, 54, 131, 198, 8, 232, 0, 0, 0, 0, 91, 131, 195, 9, 233, 0, 2, 0, 0, 48, 48, 48, 49, 48, 50, 48, 51, 48, 52, 48, 53, 48, 54, 48, 55, 48, 56, 48, 57, 48, 65, 48, 66, 48, 67, 48, 68, 48, 69, 48, 70, 49, 48, 49, 49, 49, 50, 49, 51, 49, 52, 49, 53, 49, 54, 49, 55, 49, 56, 49, 57, 49, 65, 49, 66, 49, 67, 49, 68, 49, 69, 49, 70, 50, 48, 50, 49, 50, 50, 50, 51, 50, 52, 50, 53, 50, 54, 50, 55, 50, 56, 50, 57, 50, 65, 50, 66, 50, 67, 50, 68, 50, 69, 50, 70, 51, 48, 51, 49, 51, 50, 51, 51, 51, 52, 51, 53, 51, 54, 51, 55, 51, 56, 51, 57, 51, 65, 51, 66, 51, 67, 51, 68, 51, 69, 51, 70, 52, 48, 52, 49, 52, 50, 52, 51, 52, 52, 52, 53, 52, 54, 52, 55, 52, 56, 52, 57, 52, 65, 52, 66, 52, 67, 52, 68, 52, 69, 52, 70, 53, 48, 53, 49, 53, 50, 53, 51, 53, 52, 53, 53, 53, 54, 53, 55, 53, 56, 53, 57, 53, 65, 53, 66, 53, 67, 53, 68, 53, 69, 53, 70, 54, 48, 54, 49, 54, 50, 54, 51, 54, 52, 54, 53, 54, 54, 54, 55, 54, 56, 54, 57, 54, 65, 54, 66, 54, 67, 54, 68, 54, 69, 54, 70, 55, 48, 55, 49, 55, 50, 55, 51, 55, 52, 55, 53, 55, 54, 55, 55, 55, 56, 55, 57, 55, 65, 55, 66, 55, 67, 55, 68, 55, 69, 55, 70, 56, 48, 56, 49, 56, 50, 56, 51, 56, 52, 56, 53, 56, 54, 56, 55, 56, 56, 56, 57, 56, 65, 56, 66, 56, 67, 56, 68, 56, 69, 56, 70, 57, 48, 57, 49, 57, 50, 57, 51, 57, 52, 57, 53, 57, 54, 57, 55, 57, 56, 57, 57, 57, 65, 57, 66, 57, 67, 57, 68, 57, 69, 57, 70, 65, 48, 65, 49, 65, 50, 65, 51, 65, 52, 65, 53, 65, 54, 65, 55, 65, 56, 65, 57, 65, 65, 65, 66, 65, 67, 65, 68, 65, 69, 65, 70, 66, 48, 66, 49, 66, 50, 66, 51, 66, 52, 66, 53, 66, 54, 66, 55, 66, 56, 66, 57, 66, 65, 66, 66, 66, 67, 66, 68, 66, 69, 66, 70, 67, 48, 67, 49, 67, 50, 67, 51, 67, 52, 67, 53, 67, 54, 67, 55, 67, 56, 67, 57, 67, 65, 67, 66, 67, 67, 67, 68, 67, 69, 67, 70, 68, 48, 68, 49, 68, 50, 68, 51, 68, 52, 68, 53, 68, 54, 68, 55, 68, 56, 68, 57, 68, 65, 68, 66, 68, 67, 68, 68, 68, 69, 68, 70, 69, 48, 69, 49, 69, 50, 69, 51, 69, 52, 69, 53, 69, 54, 69, 55, 69, 56, 69, 57, 69, 65, 69, 66, 69, 67, 69, 68, 69, 69, 69, 70, 70, 48, 70, 49, 70, 50, 70, 51, 70, 52, 70, 53, 70, 54, 70, 55, 70, 56, 70, 57, 70, 65, 70, 66, 70, 67, 70, 68, 70, 69, 70, 70, 209, 109, 248, 139, 77, 248, 3, 206, 51, 192, 138, 6, 70, 209, 224, 102, 139, 20, 24, 102, 137, 23, 71, 71, 59, 241, 124, 236 })
返回 (结果)
子程序名返回值类型公开备 注
ASM_16进制文本到字节集字节集 优化
参数名类 型参考可空数组备 注
原文文本型
变量名类 型静态数组备 注
原文长度整数型 
结果字节集 
置入代码 ({ 139, 125, 8, 139, 63, 137, 125, 244, 131, 125, 244, 0, 15, 133, 31, 0, 0, 0, 139, 69, 252, 133, 192, 116, 19, 80, 139, 64, 4, 131, 192, 8, 80, 232, 184, 2, 0, 0, 89, 94, 139, 248, 243, 164, 233, 26, 1, 0, 0, 131, 201, 255, 51, 192, 242, 174, 247, 209, 73, 209, 233, 137, 77, 248, 131, 125, 248, 1, 15, 141, 4, 0, 0, 0, 201, 194, 4, 0, 139, 117, 8, 139, 54 })
结果 = 取空白字节集 (原文长度)
置入代码 ({ 131, 192, 8, 139, 248, 209, 101, 248, 139, 77, 248, 232, 0, 0, 0, 0, 91, 131, 195, 6, 235, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 3, 206, 51, 192, 102, 139, 6, 70, 70, 80, 37, 255, 0, 0, 0, 138, 52, 24, 88, 193, 232, 8, 138, 20, 24, 192, 230, 4, 8, 242, 136, 23, 71, 59, 241, 124, 223 })
返回 (结果)

回复 支持 反对

使用道具 举报

结帖率:50% (9/18)
发表于 2018-2-9 02:00:41 | 显示全部楼层   河南省驻马店市
本帖最后由 cated 于 2018-2-9 02:02 编辑

xor edx,edx
Label4:
mov ebx,[ebp+08h]
mov ecx,[ebx]
mov ecx,[ecx+04h]
cmp edx,ecx
jnc Label1
mov ecx,[ebx]
add ecx,08h
add ecx,edx
mov ecx,[ecx]
and ecx,000000F0h
shr ecx,04h
cmp ecx,0Ah
jl Label2
add ecx,07h
Label2:
add ecx,30h
mov [eax],ecx
inc eax
mov ecx,[ebx]
add ecx,08h
add ecx,edx
mov ecx,[ecx]
and ecx,0Fh
cmp ecx,0Ah
jl Label3
add ecx,07h
Label3:
add ecx,30h
mov [eax],ecx
inc eax
inc edx
jmp Label4
Label1:
mov eax,[ebp-04h]
mov esp,ebp
pop ebp
retn 0004h
'说实话 用汇编 我还真的是没想过 也不太懂 但是看了一下具体赋值 我承认我懵比了 返回值 EAX

mov esp,ebp
pop ebp

没压入为什么要弹出? esp 又起到什么作用?我看里面完全没有赋值  esp读取了 ebp 而 ebp-4 +8 一系列都是中间参数以及变量在运算  楼主咋写的
回复 支持 反对

使用道具 举报

发表于 2018-2-6 12:58:25 | 显示全部楼层   广西壮族自治区玉林市
%25%44%31%25%41%37%25%43%46%25%42%30%25%43%31%25%43%42%25%42%30%25%41%31%25%42%30%25%41%31%25%42%41%25%43%37%25%42%41%25%43%37
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表