首页
社区
课程
招聘
[原创]QQ2013最新版 密码记录 原理!!!
发表于: 2013-8-12 20:41 76647

[原创]QQ2013最新版 密码记录 原理!!!

2013-8-12 20:41
76647
喵 。。。。
   第一次 逆向 第一次逆向成功 好鸡冻!!!
   想我在七年级失恋之后。。一心的愤怒,(被甩)我下决心盗她的qq复仇!!!一不小心就坚持了这么多年(不到3年),现在我已经无所谓了,但是 我还为技术奋斗!!
   这几两三天我 天天偷玩电脑 逆向qq 终于今天 成功了,表示 可以记录 密码!!!!!
   直接上图片 :该死的qq截屏竟然没有?

    好吧 。。
   接下来让我给大家分析一下 ,我菜虫一个,方法可能有点笨。。高手勿喷!!!

   以前看人家用API HOOK 拦截 GetFor什么的函数 一键废除掉老版本qq的保护,但是我上周下载了最新版qq,这个方法已经不能用了, 为什么呢?
   可能qq把输入密码过程放在了回调函数中,你让我不下钩子,那就我让你输不进去密码!!
   好吧,破解从现在开始。
   因为qq加了驱动保护,所以调试根本断不下来,那只能用RemovQQProtect了,在此感谢 这个工具作者,方便了我调试。
   干掉驱动保护之后,我下断GetFor什么的函数,断是断下了 我让他返回0,结果密码框和窗体都卡主了,没有反应。。
  顺便说一下qq的进程都有什么,一个QQProtect.exe 两个QQ.exe,qq.exe是同一个文件,他们的创建顺序我就不说了,我说下他们的功能,QQProtect.exe 废物一个,丢在一边。
  两个qq.exe怎么办??
  其实他们一个是窗体 一个是密码框,窗体的标题是“QQ2013”密码框的标题是一长串字符。我直接上图!
   要调试的就只是这个进程,也就是密码框。
  
  断GetFor什么的函数没有作用,那么我断了SetWindowsHook 这个函数,(有驱动断不下)。
  查看堆栈 发现设置的是13号,也就是低级键盘钩子, 来到返回地址。我把调用 SetWindowsHook 的函数 从头复制到 Call SetWindowsHook  的地方。这个函数 加了花,这个花其实是我第一次看到的,原理就是在正常指令中间 加上几个垃圾字符 改变了 后面的指令,然后一个JMP 或者CALL 到一条 “正常指令”中间,继续执行 原来的指令。我把垃圾字符换成了CC 也就是 int 3.

----------------------------------------------邪恶的分割线----------------------------------------
003CF9C8    55              PUSH EBP
003CF9C9    8BEC            MOV EBP,ESP
003CF9CB    81EC 98000000   SUB ESP,98
003CF9D1    56              PUSH ESI
003CF9D2    51              PUSH ECX
003CF9D3    E8 04000000     CALL 003CF9DC
003CF9D8    CC              INT3
003CF9D9    CC              INT3
003CF9DA    EB 10           JMP SHORT 003CF9EC
003CF9DC    59              POP ECX
003CF9DD    EB 02           JMP SHORT 003CF9E1
003CF9DF    50              PUSH EAX
003CF9E0    CC              INT3
003CF9E1    83C1 02         ADD ECX,2
003CF9E4    EB 02           JMP SHORT 003CF9E8
003CF9E6  ^ 76 90           JBE SHORT 003CF978
003CF9E8    51              PUSH ECX
003CF9E9    C3              RETN
003CF9EA    CC              INT3
003CF9EB    CC              INT3
003CF9EC    59              POP ECX
003CF9ED    C745 FC F8E93C0>MOV DWORD PTR SS:[EBP-4],3CE9F8
003CF9F4    51              PUSH ECX
003CF9F5    E8 06000000     CALL 003CFA00
003CF9FA    CC              INT3
003CF9FB    CC              INT3
003CF9FC    CC              INT3
003CF9FD    CC              INT3
003CF9FE    EB 10           JMP SHORT 003CFA10
003CFA00    59              POP ECX
003CFA01    EB 02           JMP SHORT 003CFA05
003CFA03    50              PUSH EAX
003CFA04    CC              INT3
003CFA05    83C1 04         ADD ECX,4
003CFA08    EB 02           JMP SHORT 003CFA0C
003CFA0A  ^ 76 90           JBE SHORT 003CF99C
003CFA0C    51              PUSH ECX
003CFA0D    C3              RETN
003CFA0E    CC              INT3
003CFA0F    CC              INT3
003CFA10    59              POP ECX
003CFA11    C785 68FFFFFF 9>MOV DWORD PTR SS:[EBP-98],94
003CFA1B    51              PUSH ECX
003CFA1C    E8 06000000     CALL 003CFA27
003CFA21    CC              INT3
003CFA22  ^ 7F 88           JG SHORT 003CF9AC
003CFA24    8F              ???                                      ; 未知命令
003CFA25    EB 10           JMP SHORT 003CFA37
003CFA27    59              POP ECX
003CFA28    EB 02           JMP SHORT 003CFA2C
003CFA2A    50              PUSH EAX
003CFA2B    CC              INT3
003CFA2C    83C1 04         ADD ECX,4
003CFA2F    EB 02           JMP SHORT 003CFA33
003CFA31  ^ 76 90           JBE SHORT 003CF9C3
003CFA33    51              PUSH ECX
003CFA34    C3              RETN
003CFA35    CC              INT3
003CFA36    CC              INT3
003CFA37    59              POP ECX
003CFA38    8B75 FC         MOV ESI,DWORD PTR SS:[EBP-4]
003CFA3B    8D85 68FFFFFF   LEA EAX,DWORD PTR SS:[EBP-98]
003CFA41    50              PUSH EAX
003CFA42    FF56 30         CALL DWORD PTR DS:[ESI+30]
003CFA45    51              PUSH ECX
003CFA46    E8 04000000     CALL 003CFA4F
003CFA4B    CC              INT3
003CFA4C    CC              INT3
003CFA4D    EB 10           JMP SHORT 003CFA5F
003CFA4F    59              POP ECX
003CFA50    EB 02           JMP SHORT 003CFA54
003CFA52    50              PUSH EAX
003CFA53    CC              INT3
003CFA54    83C1 02         ADD ECX,2
003CFA57    EB 02           JMP SHORT 003CFA5B
003CFA59  ^ 76 90           JBE SHORT 003CF9EB
003CFA5B    51              PUSH ECX
003CFA5C    C3              RETN
003CFA5D    CC              INT3
003CFA5E    CC              INT3
003CFA5F    59              POP ECX
003CFA60    83BD 78FFFFFF 0>CMP DWORD PTR SS:[EBP-88],2
003CFA67    0F85 15010000   JNZ 003CFB82
003CFA6D    51              PUSH ECX
003CFA6E    E8 06000000     CALL 003CFA79
003CFA73    CC              INT3
003CFA74  ^ 7F 88           JG SHORT 003CF9FE
003CFA76    8F              ???                                      ; 未知命令
003CFA77    EB 10           JMP SHORT 003CFA89
003CFA79    59              POP ECX
003CFA7A    EB 02           JMP SHORT 003CFA7E
003CFA7C    50              PUSH EAX
003CFA7D    CC              INT3
003CFA7E    83C1 04         ADD ECX,4
003CFA81    EB 02           JMP SHORT 003CFA85
003CFA83  ^ 76 90           JBE SHORT 003CFA15
003CFA85    51              PUSH ECX
003CFA86    C3              RETN
003CFA87    CC              INT3
003CFA88    CC              INT3
003CFA89    59              POP ECX
003CFA8A    6A 00           PUSH 0
003CFA8C    6A 00           PUSH 0
003CFA8E    FF56 28         CALL DWORD PTR DS:[ESI+28]
003CFA91    8B4E 6C         MOV ECX,DWORD PTR DS:[ESI+6C]
003CFA94    50              PUSH EAX
003CFA95    51              PUSH ECX
003CFA96    6A 02           PUSH 0D
003CFA98    FF56 3C         CALL DWORD PTR DS:[ESI+3C]                USER32.SetWindowsHookExA
----------------------------------------------邪恶的分割线----------------------------------------
  看到了003CFA96    6A 02           PUSH 0D 这一行,我邪恶的笑了。。
  你特么不让我屏蔽你下hook,那我就让你下个错的 。。。
  我小手一动 悄悄把PUSH 0D 换成了 PUSH 2,嘿嘿 我让你落后我的执行!
  改掉SetWindowsHookExA的参数之后,我发现程序运行错误。。
  草!
  我继续进行F7,发现了两个检测代码

----------------------------------------------第一个邪恶的分割线----------------------------------------
PUSH ECX
RETN
MOV DWORD PTR DS:[ECX+FC5D8959],ECX
MOV EBX,DWORD PTR SS:[EBP+10]
MOV EAX,10
LEA ESI,DWORD PTR SS:[EBP-A8]
CMP EAX,DWORD PTR DS:[EBX]
JE SHORT 003CF41C
----------------------------------------------第一个邪恶的分割线----------------------------------------

----------------------------------------------第二个邪恶的分割线----------------------------------------
PUSH ECX
RETN
MOV DWORD PTR DS:[ECX+5DB859],ECX
ADD BYTE PTR DS:[EAX],AL
LEA ESI,DWORD PTR SS:[EBP-4C]
CMP EAX,DWORD PTR DS:[EBX]
JE SHORT 003CF66A
----------------------------------------------第二个邪恶的分割线----------------------------------------
    好这样 ,基本就算是完了,我NOP掉

CMP EAX,DWORD PTR DS:[EBX]
JE SHORT 003CF41C

  和
CMP EAX,DWORD PTR DS:[EBX]
JE SHORT 003CF66A
  之后,txqq彻底废了。
  为了方便下次调试我把这两个 硬编码也贴出来
----------------------------------------------第一个邪恶的分割线----------------------------------------

MOV EBX,DWORD PTR SS:[EBP+10]
MOV EAX,10
----------------------------------------------第一个邪恶的分割线----------------------------------------

----------------------------------------------第二个邪恶的分割线----------------------------------------
PUSH ECX
RETN
MOV DWORD PTR DS:[ECX+5DB859],ECX
ADD BYTE PTR DS:[EAX],AL
LEA ESI,DWORD PTR SS:[EBP-4C]
CMP EAX,DWORD PTR DS:[EBX]

----------------------------------------------第二个邪恶的分割线----------------------------------------
   好吧,键盘记录器怎么写我就不说了吧??其实就是搜一下 该一下就行了,待会我会上传注入器。
  我又一次邪恶的笑了
  我该好内存,打开我写的低级键盘钩子,嘻嘻,我输入了一个密码,结果tm的 记录了一大串密码!!
  我想起了qq的模拟键盘。。。
  好吧。。
  我又打开了我的时钟版键盘记录器,就特么的,就特么的 马化腾 应该生气了!
  另外我上次了时钟记录器好低级键盘钩子记录器,RemoveQQProtect,和输入法注入工具,表示我没有写废除保护程序, 恩,我菜虫,高手勿喷。。欢迎加我好友 进行交流!!
   恩  结束了
   在最后 ,祝贺自己马上 16岁,我生日 8月27.。
   我把这篇文章 送给我的 16岁, 也送给看雪的朋友们!
   谢谢你耐心看完,,

[课程]Linux pwn 探索篇!

上传的附件:
收藏
免费 5
支持
分享
最新回复 (111)
雪    币: 6
活跃值: (1282)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
喵 ,,这几天 熬夜 F7 脸上的痘痘又上来了 哎。。。
2013-8-12 20:42
0
雪    币: 6
活跃值: (1282)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
咦。。难道看雪 高手太多?
2013-8-12 20:45
0
雪    币: 6
活跃值: (1282)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
恩。。看雪老牛勿喷,别说我调戏大家智商!!
2013-8-12 20:50
0
雪    币: 1689
活跃值: (379)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
5
好年轻好厉害的伙子,这让我们的老脸往哪里放啊……
2013-8-12 21:05
0
雪    币: 1392
活跃值: (4862)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
6
敢问这个时钟版记录器原理是?? 如何去除模拟键盘的~?
2013-8-12 21:10
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
年少有为。。
2013-8-12 21:15
0
雪    币: 219
活跃值: (738)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
8
完蛋了 身为18岁 我越感到无穷的压力,长江后浪推前浪,我要死在沙滩上了
2013-8-12 21:17
0
雪    币: 31
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
果真是年少有为的
2013-8-12 21:23
0
雪    币: 142
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
12岁的表示鸭梨好大
2013-8-12 21:25
0
雪    币: 78
活跃值: (34)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
16岁的我那时候只会玩小霸王游戏机。
2013-8-12 21:26
0
雪    币: 6
活跃值: (1282)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
就那个什么下载的源码..自己懒到写,就是不停调用一个什么函数获取按键状态,然后判断那个键 ,我本来说把这个时钟版的删掉 没想到还用到了
2013-8-12 21:50
0
雪    币: 6
活跃值: (1282)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
嗯,必须的,嘿嘿。
2013-8-12 21:52
0
雪    币: 6
活跃值: (1282)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
我也死了。。我百度了一下最年轻的黑客,然后 我把手机关了
2013-8-12 21:53
0
雪    币: 6
活跃值: (1282)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
嘿嘿。果酱 果酱 我还不是用老鸟的工具 学老鸟的技术
2013-8-12 21:54
0
雪    币: 6
活跃值: (1282)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
好好学习 考个好高中,
2013-8-12 21:56
0
雪    币: 6
活跃值: (1282)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
17
嘻嘻,果酱 果酱
2013-8-12 21:58
0
雪    币: 1163
活跃值: (137)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
18
你让我这17岁的老脸往哪放。。。。
2013-8-12 22:05
0
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
特意来支持!!!!!!!!
2013-8-12 22:07
0
雪    币: 6
活跃值: (1282)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
20
我的贴会不会来个精?(*¯︶¯*)
2013-8-12 22:18
0
雪    币: 6
活跃值: (1282)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
21
17岁。 精华5 。。牛啊
2013-8-12 22:21
0
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
至少有个优秀的吧。。
2013-8-12 22:24
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
亚历山大
2013-8-12 22:25
0
雪    币: 45
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
24
厉害,厉害,学习下
2013-8-12 22:34
0
雪    币: 45
活跃值: (55)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
25
楼上都是未成年人,鉴定完毕。
2013-8-12 22:39
0
游客
登录 | 注册 方可回帖
返回
//