看流星社区

 找回密码
 注册账号
查看: 2773|回复: 5

思维,雨夜还有论坛的大牛们,帮忙指点下,问道的登陆系统

[复制链接]

该用户从未签到

发表于 2012-4-20 00:17:00 | 显示全部楼层 |阅读模式
这几天在弄问道的登陆系统,死活过不去了,大家帮下忙,给点思路。
跟出了自动登陆CALL,不过发现登陆密码是加密的,相同的密码每次登陆加密后都变的不一样;想跟出加密方式,但功力不够,太复杂了,跟的一头雾水,搞不定。
想到模拟键盘鼠标,但是发现sendmessage和postmessage都没有反应,用这2函数关掉游戏倒是可以,但发送键盘鼠标消息就死活不行。
尝试断下键盘输入CALL,但不知道是不是CALL找错了,找了很多个CALL,代码注入进去也是没反应。
大家帮忙指条思路吧,谢谢!

该用户从未签到

发表于 2012-4-20 04:27:10 | 显示全部楼层
建议 你是用模拟按键吧!!我前不久做过。。!呵呵 希望能帮到你。!
  • TA的每日心情
    萌哒
    2021-11-26 08:49
  • 发表于 2012-4-20 10:10:52 | 显示全部楼层
    问道屏蔽了后台模拟按键消息的函数
    现在的游戏,除了关闭,其他基本都屏蔽的

    该用户从未签到

     楼主| 发表于 2012-4-20 10:48:25 | 显示全部楼层
    :L这个太邪恶了,难怪的。谢谢wyplyxj和果粒的答复。那wyplyxj 说的这个模拟按键是啥情况呢,按键模拟我只知道sendmessage和postmessage这2个,是类似按键精灵里的那个硬件模拟吗?咋实现的?谢谢!

    该用户从未签到

    发表于 2012-4-24 23:50:42 | 显示全部楼层
    问道也并非说是屏蔽了按键和鼠标消息。他主要是做了一些处理
    比如鼠标来说吧。
    005FD283    55              push    ebp
    005FD284    FF15 1C088C00   call    dword ptr [<&USER32.DefWindowProcA>]                                        ; USER32.DefWindowProcA    <-窗口过程
    005FD28A    5D              pop     ebp
    005FD28B    5F              pop     edi
    005FD28C    5B              pop     ebx
    005FD28D    5E              pop     esi
    005FD28E    C2 1000         retn    10
    005FD291    8BC8            mov     ecx, eax
    005FD293    E8 38EBFFFF     call    005FBDD0                                  <-这个call是对窗口的消息做了一些处理,进去里面就可以看到很多比较和jmp.等于程序中的switch,case组合。对每个需要处理的消息做了自己的判断

    其中有鼠标按下弹起,一些组合按键的
    005FBE25    83C4 04         add     esp, 4
    005FBE28    83FE 05         cmp     esi, 5
    005FBE2B    0F84 4C010000   je      005FBF7D
    005FBE31    83FE 03         cmp     esi, 3
    005FBE34    0F84 43010000   je      005FBF7D
    005FBE3A    81FE 01020000   cmp     esi, 201
    005FBE40    0F84 37010000   je      005FBF7D
    005FBE46    81FE 02020000   cmp     esi, 202
    005FBE4C    0F84 2B010000   je      005FBF7D
    005FBE52    81FE 03020000   cmp     esi, 203
    005FBE58    0F84 1F010000   je      005FBF7D
    005FBE5E    81FE 04020000   cmp     esi, 204
    005FBE64    0F84 13010000   je      005FBF7D
    005FBE6A    81FE 05020000   cmp     esi, 205
    005FBE70    0F84 07010000   je      005FBF7D
    005FBE76    81FE 06020000   cmp     esi, 206
    005FBE7C    0F84 FB000000   je      005FBF7D
    005FBE82    81FE 04010000   cmp     esi, 104
    005FBE88    0F84 EF000000   je      005FBF7D
    005FBE8E    81FE 05010000   cmp     esi, 105
    005FBE94    0F84 E3000000   je      005FBF7D
    005FBE9A    81FE 00010000   cmp     esi, 100
    005FBEA0    0F84 D7000000   je      005FBF7D
    005FBEA6    81FE 01010000   cmp     esi, 101
    005FBEAC    0F84 CB000000   je      005FBF7D
    005FBEB2    81FE 02010000   cmp     esi, 102
    005FBEB8    0F84 BF000000   je      005FBF7D
    005FBEBE    81FE 00020000   cmp     esi, 200
    005FBEC4    0F85 D8000000   jnz     005FBFA2

    如果判断是201或者是202表示鼠标左键按下弹起。
    之后就会通过系统的 GetCursorPos和ScreenToClinet函数把窗口坐标转换成全局的系统坐标存入到[a389c4][a389c8]
    通过坐标计算后得到鼠标是否在游戏窗口,或者游戏窗口有没有被遮挡住。
    如果是点击的游戏窗口,再去通过0xa34a2c 遍历出到底是哪个子窗口。每个不同类型的子窗口都有不同的响应方式
    比如是按钮
    mov ecx,xxxxxxx   <-子窗口句柄
    mov esi,[ecx]
    push 24c                <-y坐标
    push 1ed                <-x坐标
    push 1
    mov  edx,[esi+74]
    call edx
    mov ecx,xxxxxx   <-子窗口句柄
    mov esi,[ecx]
    push 24c                <-y坐标
    push 1ed              <-x坐标
    push 1
    mov  edx,[esi+78]
    call edx
    如果是那种文字的或者是对话内容的
    push 1a7               <-y坐标
    push 127             <-x坐标
    push 1
    mov  ecx,xxxxxx   <-子窗口句柄
    mov  eax,[ecx]
    mov  eax,[eax+74]
    call eax
    push 1a7               <-y坐标
    push 127             <-x坐标
    push 1
    mov  ecx,xxxxxx   <-子窗口句柄
    mov  eax,[ecx]
    mov  eax,[eax+7c]
    call eax

    主要是2个转换过程,
    先是把窗口消息传过来的坐标转换成全局系统坐标,然后去判断这个坐标是否有效。
    再通过窗口坐标去找到应该响应哪个子窗口。
    如果想直接发sendmessage需要hook系统几个函数GetCursorPos和ScreenToClinet,GetCursorPos....还有好多个就不一一写出来也能实现。
    不过他还有一个apex的防智辅系统hook会被检测

    目前还是只停留在需要点击哪个按钮或者窗口。就用上面的call直接调用。不过发现他做了一些来源方面的判断。估计也是反智辅的吧以后作为封号凭据的。

    文笔不好不太会表达意思。希望大大们不要笑话。

    该用户从未签到

     楼主| 发表于 2012-4-27 23:27:13 | 显示全部楼层
    :L分析的太深了,楼上的大大汇编功底太强大了
    点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
    您需要登录后才可以回帖 登录 | 注册账号

    本版积分规则

    小黑屋|手机版|Archiver|看流星社区 |网站地图

    GMT+8, 2024-5-13 20:05

    Powered by Kanliuxing X3.4

    © 2010-2019 kanliuxing.com

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