精易论坛

标题: 简单取文本差异 [打印本页]

作者: cf2006a    时间: 2019-6-1 21:56
标题: 简单取文本差异
本帖最后由 cf2006a 于 2019-6-1 22:02 编辑
  
子程序名返回值类型公开备 注
文本_差异文本型 返回  差异化位置文本这里用空格填充  加  相同文本  
参数名类 型参考可空数组备 注
参_文本1文本型做对比用
参_文本2文本型返回的是文本2的填充文本
变量名类 型静态数组备 注
缓冲区文本型 
缓冲区 = 取空白文本 (取文本长度 (参_文本2))
置入代码 ({ 139, 125, 8, 139, 63, 139, 93, 12, 139, 27, 49, 210, 49, 246, 138, 12, 55, 138, 44, 19, 128, 249, 0, 116, 17, 70, 128, 253, 0, 116, 15, 56, 233, 117, 235, 86, 136, 44, 16, 66, 235, 228, 94, 66, 235, 224, 198, 4, 16, 0, 88 })
返回 (缓冲区)



mov edi, dword [ebp+0x08]
mov edi, dword [edi]
mov ebx, dword [ebp+0x0C]
mov ebx, dword [ebx]
xor edx, edx
xor esi, esi
Label3:
mov cl, byte [edi+esi]
mov ch, byte [ebx+edx]
cmp cl, 0x00
je Label1
inc esi
cmp ch, 0x00
je Label2
cmp cl, ch
jne Label3
push esi
mov byte [eax+edx], ch
inc edx
jmp Label3
Label1:
pop esi
inc edx
jmp Label3
Label2:
mov byte [eax+edx], 0x00
pop eax



这里是这样 比较的 如  文本1   12343356       文本2        335  
                                 文本2      3 在这里出现所以匹配    文本2移到第二个3  类推  文本一走到3 就不会往回匹配只能向后匹配
所以算法还无法达到满意的效果  看看大家有什么方法说来听听



作者: atglkm123    时间: 2019-6-1 22:20
汇编大佬就是牛
作者: 全村最帅    时间: 2019-6-1 22:48
大佬的光芒,让我睁不开眼
作者: 10008508    时间: 2019-6-2 11:47
言,将来必成大佬
作者: shituo    时间: 2019-6-2 20:25
让我想起了 字库文本的相似度对比,
作者: sampo    时间: 2019-6-2 20:29
感谢楼主分享经验
作者: wjswzj0    时间: 2019-6-4 15:06
感谢分享,很给力!~
作者: wjswzj0    时间: 2019-6-4 15:06
感谢分享,很给力!~
作者: 一米七五    时间: 2019-6-4 19:42
默默飘过  看看就好了  
作者: xiaoniu1230    时间: 2019-6-6 14:40
支持开源~!感谢分享
作者: young1996    时间: 2019-6-13 15:11
回复回复回复
作者: shituo    时间: 2023-6-22 07:35
可以返回 差异值的数量吗?
作者: 2424544044    时间: 2023-6-22 07:52
        支持开源~!感谢分享




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4