找回密码
 注册帐号
查看: 2129|回复: 11

[编程问题] 汇编 问题

[复制链接]
发表于 2012-4-10 05:20:08 | 显示全部楼层 |阅读模式
本帖最后由 wosch2 于 2012-4-10 05:21 编辑

.版本 2

pushad ()
push (“3F0”)
push (“64”)
mov_esi_dword_ptr (“01154c74”)

汇编.mov_esi_ptr_esi ()

mov_ecx_esi ()
mov_eax (“007D2700”)
call_eax ()
popad ()
ret ()


这个 是 检物call

很吐血的说 我用清风汇编    这段 汇编.mov_esi_ptr_esi ()    缺失 试过很多 方法 弄不了

最后  用了 魔鬼的 破解模块

现在才 能 检物


你们都是用 什么  汇编模块的

有没有 全面点的   分享下  郁闷死了
 楼主| 发表于 2012-4-10 21:50:04 | 显示全部楼层
.版本 2

.程序集 窗口程序集1
.程序集变量 句柄, 整数型
.程序集变量 进程, 整数型
.程序集变量 机器码, 字节集

.子程序 __启动窗口_创建完毕

句柄 = 窗口取句柄 (“sro_client.exe”)
进程 = 窗口_句柄取进程ID (句柄)


.子程序 _按钮1_被单击
.局部变量 代码, 字节集

置代码 ({  })
pushad ()
push (“3F0”)
push (“64”)
mov_esi_dword_ptr (“01154c74”)
mov_esi_dword_esi ()
mov_ecx_esi ()
mov_eax (“007D2700”)
call_eax ()
popad ()
ret ()
代码 = _取代码 ()
调用汇编代码 (进程, 代码)


.子程序 mov_esi_dword_esi, 字节集, , mov esi[esi]

机器码 = 机器码 + { 139, 54 }
返回 (机器码)




问题解决 了 自己 添加 汇编   mov_esi_ptr_esi ()    子程序  上面的是  捡物call
回复 支持 反对

使用道具 举报

发表于 2012-4-11 18:49:51 | 显示全部楼层
pushad ()
popad ()
我怎么老觉得又压栈又出栈的这个好象没什么意义
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-4-11 20:23:19 | 显示全部楼层
有缘人 发表于 2012-4-11 18:49
pushad ()
popad ()
我怎么老觉得又压栈又出栈的这个好象没什么意义

那个是      这 是 模块的格式....

具体不知道 干嘛的
回复 支持 反对

使用道具 举报

发表于 2012-4-11 20:51:28 | 显示全部楼层
这2个去掉也没什么影响
回复 支持 反对

使用道具 举报

发表于 2012-5-24 14:13:52 | 显示全部楼层
...........都有支持库勒还用模块。支持库直接支持汇编指令的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-24 14:54:05 来自手机 | 显示全部楼层
xiaomeimei 发表于 2012-5-24 14:13
...........都有支持库勒还用模块。支持库直接支持汇编指令的。

_asm("mov eax,[ebp+4]")
_asm("mov [ebp+4],eax")

传出的值是字节集  
传入的是什么
我试过字节集 10位整数  16位文本?
回复 支持 反对

使用道具 举报

发表于 2012-5-24 15:03:29 | 显示全部楼层
.版本 2
.支持库 TianSin

.子程序 写_内存字节, 逻辑型, , 内存指定位置写入字节
.参数 传入地址, 整数型, , ebp+8
.参数 写入内容, 字节集, , ebp+0c
.局部变量 返回内容, 整数型

__asm (“mov eax,dword ptr ss:[ebp+8] | mov cl,byte ptr ss:[ebp+0c]  | mov byte ptr ds:[eax],cl”)
.如果真 (取内存字节数据 (传入地址) = 取字节集数据 (写入内容, #整数型, ))
    返回 (真)
.如果真结束
返回 (假)

回复 支持 反对

使用道具 举报

发表于 2012-5-24 15:07:11 | 显示全部楼层
这是汇编写内存 前提是内存地址可写且在程序领空内否则程序挂掉!

.版本 2
.支持库 TianSin

.子程序 写_内存字节集, 整数型, , 内存指定位置写入字节集成功返回写入长度
.参数 传入地址, 整数型
.参数 写入内容, 字节集
.局部变量 长度, 整数型
.局部变量 计次, 整数型

长度 = 取字节集长度 (写入内容)
.如果真 (长度 > 0)
    .计次循环首 (长度, 计次)
        写_内存字节 (取加法 (传入地址, 取减法 (计次, 1)), 取字节集数据 (写入内容, #字节型, 计次))
    .计次循环尾 ()
    返回 (计次)
.如果真结束
返回 (0)


.子程序 写4字节内存, 整数型, , 写4字节内存整数
.参数 写入地址, 整数型, , ebp+8
.参数 写入内容, 整数型, , ebp+0c
.局部变量 TMP, 整数型, , , ebp-4

__asm (“mov eax,dword ptr ss:[ebp+8]”)  ' 参数写入地址传给EAX
__asm (“mov ecx,dword ptr ss:[ebp+0c]”)  ' 参数写入内容传给ECX
__asm (“ mov dword ptr ds:[eax],ecx”)  ' 将ECX写到EAX里面
TMP = 取内存4字节数据 (写入地址)
.如果真 (TMP = 写入内容)
    返回 (1)
.如果真结束
返回 (0)
回复 支持 反对

使用道具 举报

发表于 2012-5-24 15:09:09 | 显示全部楼层
易的问题多呢。在DLL里面使用自带的加法就出错!!不信可以试下哦。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-24 15:30:53 来自手机 | 显示全部楼层
xiaomeimei 发表于 2012-5-24 15:09
易的问题多呢。在DLL里面使用自带的加法就出错!!不信可以试下哦。

谢谢 哈 有点明白  了   

我也发现了 易写代码  局限性  不如其他语言便捷
也容易报错
回复 支持 反对

使用道具 举报

发表于 2012-7-30 19:21:07 | 显示全部楼层
唉这也是没办法的事,现在用易,一用的模块也怕出事,像之前那个叫小烦的作者发的模块也带后门,这么牛B的高手也做这事
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|依人网络官方网站 ( 陕ICP备19025998号-1 )

GMT+8, 2024-3-29 15:51 , Processed in 0.048088 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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