开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 7183|回复: 11
收起左侧

[C#求助] 易语言这几句怎么用c++写出来

[复制链接]
结帖率:0% (0/1)
发表于 2014-11-26 21:30:19 | 显示全部楼层 |阅读模式   广东省广州市
9精币
  
子程序名返回值类型公开备 注
技能跳板  
参数名类 型参考可空数组备 注
跳板地址整数型
变量名类 型静态数组备 注
call地址整数型 
技能地址1整数型 
技能地址2整数型 
HOOK值整数型 
如果真 (call地址 = 0)
call地址 = 十六到十 (“00400700”)
技能地址1 = 十六到十 (“00400800”)
技能地址2 = 十六到十 (“00400900”)
' 代码1
写内存整数型 (进程ID, 技能地址1, 48024)
' 代码2
写内存整数型 (进程ID, 技能地址2, 16524)
写内存字节集 (进程ID, call地址, { 96, 139, 181, 152, 251, 255, 255, 86, 232, 23, 0, 0, 0, 131, 248, 0, 15, 132, 7, 0, 0, 0, 54, 137, 133, 152, 251, 255, 255, 97, 184, 255, 255, 0, 0, 195, 85, 139, 236, 49, 192, 80, 96, 139, 93, 8, 49, 255, 190, 0, 8, 2, 0, 185, 0, 24, 2, 0, 129, 255, 0, 16, 0, 0, 15, 141, 23, 0, 0, 0, 139, 4, 190, 133, 192, 15, 132, 12, 0, 0, 0, 71, 57, 216, 117, 228, 79, 139, 4, 185, 137, 69, 252, 97, 139, 69, 252, 139, 229, 93, 194, 4, 0 })
写内存整数型 (进程ID, call地址 + 49, 技能地址1)
写内存整数型 (进程ID, call地址 + 54, 技能地址2)
HOOK值 = call地址 - 跳板地址 - 5
写内存字节集 (进程ID, 跳板地址, { 232 }到字节集 (HOOK值))



弄了很久都没弄出来,不是没效果就是直接崩溃,有大神吗

结帖率:0% (0/8)

签到天数: 8 天

发表于 2014-11-26 22:37:03 | 显示全部楼层   江西省九江市
你的内存那么多字节集的CALL,JMP等等地址都需要转换的,因为你写的是目标进程,不是你自己的进程,所以得转换了那些汇编代码才有用,或者你把CALL地址放进寄存器在CALL寄存器也行,你这样直接肯定不行
回复

使用道具 举报

结帖率:100% (17/17)
发表于 2014-11-26 23:11:36 | 显示全部楼层   广东省*
易语言 能运行 ?你只要找到api 用c来写api就行
回复

使用道具 举报

结帖率:0% (0/1)
 楼主| 发表于 2014-11-27 10:04:21 | 显示全部楼层   广东省广州市
恶魔の佐翼 发表于 2014-11-26 22:37
你的内存那么多字节集的CALL,JMP等等地址都需要转换的,因为你写的是目标进程,不是你自己的进程,所以得 ...

看不懂汇编,下面这是自动汇编有没有什么方法可以插进c++项目了,试过了已插入汇编的方法插入行不通
[ENABLE]
alloc(newmem,1024)
alloc(GetSkill,1024)
alloc(table1,0x1000)
alloc(table2,0x1000)
//下面是GetSkill函数
label(GetSkill_next)
label(GetSkill_end)
GetSkill:
push ebp
mov ebp,esp
xor eax,eax
push eax
pushad
mov ebx,[ebp+8]
xor edi,edi
mov esi,table1
mov ecx,table2
GetSkill_next:
cmp edi,1000
jge GetSkill_end
mov eax,[esi+edi*4]
test eax,eax
je GetSkill_end
inc edi
cmp eax,ebx
jne GetSkill_next
dec edi
mov eax,[ecx+edi*4]
mov [ebp-4],eax
GetSkill_end:
popad
mov eax,[ebp-4]
mov esp,ebp
pop ebp
ret 4

label(end)
newmem:
pushad
mov esi,[ebp-45c]
push esi
call GetSkill
cmp eax,0
je end
mov dword ptr ss:[ebp-45c],eax
end:
popad
mov eax,0FFFF
ret

table1:
dd #48024
table2:
dd #16524
//下面是hook
01921DDE:
call newmem

[DISABLE]
01921DDE:
db b8 ff ff 00 00

回复

使用道具 举报

结帖率:0% (0/1)
 楼主| 发表于 2014-11-27 10:05:55 | 显示全部楼层   广东省广州市
ctw507 发表于 2014-11-26 23:11
易语言 能运行 ?你只要找到api 用c来写api就行

易语言可以运行,不知道这句应该怎么表达   { 232 } + 到字节集 (HOOK值)
回复

使用道具 举报

结帖率:0% (0/8)

签到天数: 8 天

发表于 2014-11-28 17:44:10 | 显示全部楼层   江西省九江市
恨剑 发表于 2014-11-27 10:04
看不懂汇编,下面这是自动汇编有没有什么方法可以插进c++项目了,试过了已插入汇编的方法插入行不通
[EN ...

如果你是只要计算地址的话那我告诉你,JMP后面的地址-JMP所在地址-5={232}+字节集,{232}在汇编里面就是JMP的意思,当然,是长跳,不是短跳
回复

使用道具 举报

发表于 2015-1-13 02:57:03 | 显示全部楼层   河北省沧州市
你的易语言代码能用??????
回复

使用道具 举报

发表于 2016-1-10 00:05:57 | 显示全部楼层   广东省梅州市
C++里面可以通过BYTE* 实现要存数的 汇编字节代码
回复

使用道具 举报

发表于 2016-1-11 12:59:25 | 显示全部楼层   广东省梅州市
if(call地址 ==  0){
call地址 = 0x00400700;
技能地址1 = 0x00400800;
技能地址2 = 0x00400900;
' 代码1
WriteProcessMemory(进程ID,技能地址1,"48024",lstrlen("48024"),0);
' 代码2

WriteProcessMemory(进程ID,技能地址2,"16524",lstrlen("16524"),0);
BYTE * 写入数据={ 96, 139, 181, 152, 251, 255, 255, 86, 232, 23, 0, 0, 0, 131, 248, 0, 15, 132, 7, 0, 0, 0, 54, 137, 133, 152, 251, 255, 255, 97, 184, 255, 255, 0, 0, 195, 85, 139, 236, 49, 192, 80, 96, 139, 93, 8, 49, 255, 190, 0, 8, 2, 0, 185, 0, 24, 2, 0, 129, 255, 0, 16, 0, 0, 15, 141, 23, 0, 0, 0, 139, 4, 190, 133, 192, 15, 132, 12, 0, 0, 0, 71, 57, 216, 117, 228, 79, 139, 4, 185, 137, 69, 252, 97, 139, 69, 252, 139, 229, 93, 194, 4, 0 }
int 写入数据长度=xxx;
WriteProcessMemory(进程ID,地址,写入数据,写入数据长度,0);
char=技能地址1整数地址转char * 指针
WriteProcessMemory(进程ID,call地址 + 49,char,4,0);
char=技能地址2整数地址转char * 指针
WriteProcessMemory(进程ID,call地址 + 54,char,4,0);
HOOK值 = call地址 - 跳板地址 - 5
char=将 { 232 } + 到字节集 (HOOK值) 整理到char* 指针里面
WriteProcessMemory(进程ID,跳板地址,char,char长度,0);
}
回复

使用道具 举报

结帖率:94% (29/31)

签到天数: 1 天

发表于 2016-2-14 14:00:16 | 显示全部楼层   福建省三明市
只写不读,能行么??就像你的口袋,只进东西,不拿出来能装的下么??语言也是一样的。要把你不想要的东西先拿出来,再放进你想要的东西。
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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