eeyou 发表于 2021-4-5 17:45

暂停调用堆栈窗口却看到调用了dll 无法找到突破口请指点下

本帖最后由 eeyou 于 2021-4-5 17:47 编辑

按照以前的学习教程,暂停查看堆栈窗口
问题一:主要是看程序领空,那是看函数过程还是调用来自是程序领空,有没说法?
后我按自己半知状态标注下图1-4段,
问题二:一般是不是1或者2都是可能的?还是说弹窗的前后都有判断处所以并不纠结于一定是1或者一定是2。那3.4又有没有可能呢?
问题三,3表示是另一个dll而不是当前调试的exe,那因为这个dll也是作者的一个文件,所以也可能就是在这个dll里。那从逻辑上是不是也可能在3里?
问题4,函数过程和调用来自都是一个程序领空时是不是才是我们的目标?这个说法应该是错的?但经验上一般是这样?
问题五,弄了几波重来却变成了另一张图,少了白色区域的信息,这是何原因?
问题6,如果我尝试在图片中dll中下断程序从运行开始整个过程要不断的F9,这也太不爽了吧?这类情况为何?
问题7,下在程序exe领空后,看到有输入注册码的大小长度之类的判断jmp成功后,却看不到突破点,能力有限,请大哥们帮忙看看。http://aomei.abackup.com/EasyBackupEnt.zip请大哥们对问题一一对应回答,以解小白们心中之疑惑,多谢!!
         

冥界3大法王 发表于 2021-4-9 18:46



00 | 65336020 | 51                     | push ecx                              | eax: 1998C0-> ACB67A8 ebx: 0-> 0 ecx: 8F01C70-> 8 | 0019973C: 5960000-> 8F01C70                     |
01 | 65336024 | 8B88 24010000            | mov ecx,dword ptr ds:          | ecx: 8F01C70-> ACB6988                            | 0ACB68CC: ACB6988-> ACB6988                     |
02 | 6533602A | 56                     | push esi                              | esp: 19973C-> 199738                              | 00199738: 83D0204D-> 918FC10                      |
03 | 6533602B | 8B7424 0C                | mov esi,dword ptr ss:            | esi: 918FC10-> 1998C0                           | 00199744: 1998C0-> 1998C0                         |
04 | 6533602F | 56                     | push esi                              | esp: 199738-> 199734                              | 00199734: 77469A8D-> 1998C0                     |
05 | 65336030 | C74424 08 00000000       | mov dword ptr ss:,0            |                                                   | 0019973C: 8F01C70-> 0                           |
06 | 65336038 | E8 13CBFBFF            | call <qtgui4.?text@QLineControl@@QBE?AV | eax: ACB67A8-> 1998C0 ecx: ACB6988-> F331E30B edx | 00199730: 5960258-> 6533603D                      |
07 | 6533603D | 8BC6                     | mov eax,esi                           |                                                   |                                                   |
08 | 6533603F | 5E                     | pop esi                                 | esp: 199738-> 19973C esi: 1998C0-> 918FC10      | 00199738: 918FC10-> 918FC10                     |
09 | 65336040 | 59                     | pop ecx                                 | ecx: F331E30B-> 0 esp: 19973C-> 199740            | 0019973C: 0-> 0                                 |
0A | 65336041 | C2 0400                  | ret 4                                 | esp: 199740-> 199748                              | 00199740: 624C41-> 624C41                         |
0B | 00624C41 | C745 FC 00000000         | mov dword ptr ss:,0            |                                                   | 001998CC: FFFFFFFF-> 0                            |
0C | 00624C48 | 8D95 5CFFFFFF            | lea edx,dword ptr ss:         | edx: 3-> 19982C                                 |                                                   |
0D | 00624C4E | 52                     | push edx                              | esp: 199748-> 199744                              | 00199744: 1998C0-> 19982C                         |
0E | 00624C4F | 8D4D F0                  | lea ecx,dword ptr ss:         | ecx: 0-> 1998C0                                 |                                                   |
0F | 00624C52 | FF15 DC509300            | call dword ptr ds:[<&?trimmed@QString@@ | eax: 1998C0-> 19982C ecx: 1998C0-> 0 edx: 19982C- | 009350DC: 6705C3F0-> 6705C3F0 00199740: 624C41->|
10 | 00624C58 | 8985 ECFEFFFF            | mov dword ptr ss:,eax          |                                                   | 001997BC: 0-> 19982C                              |
11 | 00624C5E | 8B85 ECFEFFFF            | mov eax,dword ptr ss:          |                                                   | 001997BC: 19982C-> 19982C                         |
12 | 00624C64 | 8985 E8FEFFFF            | mov dword ptr ss:,eax          |                                                   | 001997B8: 38-> 19982C                           |
13 | 00624C6A | C645 FC 01               | mov byte ptr ss:,1               |                                                   | 001998CC: 0-> 1                                 |
14 | 00624C6E | 8B8D E8FEFFFF            | mov ecx,dword ptr ss:          | ecx: 0-> 19982C                                 | 001997B8: 19982C-> 19982C                         |
15 | 00624C74 | 51                     | push ecx                              | esp: 199748-> 199744                              | 00199744: 19982C-> 19982C                         |
16 | 00624C75 | 8D4D F0                  | lea ecx,dword ptr ss:         | ecx: 19982C-> 1998C0                              |                                                   |
17 | 00624C78 | FF15 8C509300            | call dword ptr ds:[<&??4QString@@QAEAAV | eax: 19982C-> 1998C0 ecx: 1998C0-> 3 edx: 2-> 896 | 0093508C: 67058A30-> 67058A30 00199740: 624C58->|
18 | 00624C7E | C645 FC 00               | mov byte ptr ss:,0               |                                                   | 001998CC: 1-> 0                                 |
19 | 00624C82 | 8D8D 5CFFFFFF            | lea ecx,dword ptr ss:         | ecx: 3-> 19982C                                 |                                                   |
1A | 00624C88 | FF15 F4509300            | call dword ptr ds:[<&??1QString@@QAE@XZ | eax: 1998C0-> 89637D8 edx: 89637D8-> 3            | 009350F4: 67002730-> 67002730 00199744: 19982C->|
1B | 00624C8E | 0FB615 192C3401          | movzx edx,byte ptr ds:         | edx: 3-> 1                                        | 01342C19: 10000001-> 10000001                     |
1C | 00624C95 | 85D2                     | test edx,edx                            |                                                   |                                                   |
1D | 00624C97 | 0F85 20030000            | jne backupper.624FBD                  |                                                   |                                                   | 沿路1
1E | 00624FBD | 8D4D F0                  | lea ecx,dword ptr ss:         | ecx: 19982C-> 1998C0                              |                                                   |
1F | 00624FC0 | FF15 84509300            | call dword ptr ds:[<&?size@?$QVector@VQ | eax: 89637D8-> C                                  | 00935084: 670022D0-> 670022D0 00199744: 624C8E->|
20 | 00624FC6 | 85C0                     | test eax,eax                            |                                                   |                                                   |
21 | 00624FC8 | 0F8E AA000000            | jle backupper.625078                  |                                                   |                                                   | 沿路2( 貌似注册码是17位
22 | 00624FCE | 68 1ED59600            | push backupper.96D51E                   | esp: 199748-> 199744                              | 00199744: 624FC6-> 96D51E                         |
23 | 00624FD3 | 8D4D F0                  | lea ecx,dword ptr ss:         |                                                   |                                                   |
24 | 00624FD6 | FF15 B44F9300            | call dword ptr ds:[<&??9QString@@QBE_NP | eax: C-> 1 ecx: 1998C0-> C9A77C5C edx: 1-> 0 esp: | 00934FB4: 67130AE0-> 67130AE0 00199740: 624C7E->|
25 | 00624FDC | 0FB6C8                   | movzx ecx,al                            | ecx: C9A77C5C-> 1                                 |                                                   |
26 | 00624FDF | 85C9                     | test ecx,ecx                            |                                                   |                                                   |
27 | 00624FE1 | 0F84 91000000            | je backupper.625078                     |                                                   |                                                   | 沿路3(果然这个得跳过)
28 | 00624FE7 | 51                     | push ecx                              | esp: 199748-> 199744                              | 00199744: 96D51E-> 1                              |
29 | 00624FE8 | 8BCC                     | mov ecx,esp                           | ecx: 1-> 199744                                 |                                                   |
2A | 00624FEA | 89A5 28FFFFFF            | mov dword ptr ss:,esp         |                                                   | 001997F8: 0-> 199744                              |
2B | 00624FF0 | 8D55 F0                  | lea edx,dword ptr ss:         | edx: 0-> 1998C0                                 |                                                   |
2C | 00624FF3 | 52                     | push edx                              | esp: 199744-> 199740                              | 00199740: 624FDC-> 1998C0                         |
2D | 00624FF4 | FF15 A8509300            | call dword ptr ds:[<&??0QByteArray@@QAE | eax: 1-> 199744 ecx: 199744-> 89637D8 edx: 1998C0 | 009350A8: 67021670-> 67021670 0019973C: 96D51E->|
2E | 00624FFA | 8985 B4FEFFFF            | mov dword ptr ss:,eax          |                                                   | 00199784: F481D9E9-> 199744                     |
2F | 00625000 | 8B8D F0FEFFFF            | mov ecx,dword ptr ss:          |                                                   | 001997C0: 918FC10-> 918FC10                     | :L"L"





00508221 | 68 A8 | push backupper.9406A8                   | 9406A8:"&useday="==&"tains@QGraphicsEllipseItem@@UBE_NABVQPointF@@@Z"
00508226 | 8D45| lea eax,dword ptr ss:         |
00508229 | 50    | push eax                              |
0050822A | 68 B4 | push backupper.9406B4                   | 9406B4:"&lang="
0050822F | 8D8D| lea ecx,dword ptr ss:         |
00508235 | 51    | push ecx                              |
00508236 | E8 25 | call <backupper.sub_4E6F60>             |
0050823B | 83C4| add esp,C                               |
0050823E | 8985| mov dword ptr ss:,eax          |
00508244 | 8B95| mov edx,dword ptr ss:          |
0050824A | 8995| mov dword ptr ss:,edx          |
00508250 | C645| mov byte ptr ss:,1B            |
00508254 | 8B85| mov eax,dword ptr ss:          |
0050825A | 50    | push eax                              |
0050825B | 8D8D| lea ecx,dword ptr ss:         |
00508261 | 51    | push ecx                              |
00508262 | E8 E9 | call <backupper.sub_4C3D50>             |
00508267 | 83C4| add esp,C                               |
0050826A | 8985| mov dword ptr ss:,eax          |
00508270 | 8B95| mov edx,dword ptr ss:          |
00508276 | 8995| mov dword ptr ss:,edx          |
0050827C | C645| mov byte ptr ss:,1C            |
00508280 | 8B85| mov eax,dword ptr ss:          |
00508286 | 50    | push eax                              |
00508287 | 8D8D| lea ecx,dword ptr ss:         |
0050828D | 51    | push ecx                              |
0050828E | E8 2D | call <backupper.sub_4C3CC0>             |
00508293 | 83C4| add esp,C                               |
00508296 | 8985| mov dword ptr ss:,eax          |
0050829C | 8B95| mov edx,dword ptr ss:          |
005082A2 | 8995| mov dword ptr ss:,edx          |
005082A8 | C645| mov byte ptr ss:,1D            |
005082AC | 8B85| mov eax,dword ptr ss:          |
005082B2 | 50    | push eax                              |
005082B3 | 8D8D| lea ecx,dword ptr ss:         |
005082B9 | 51    | push ecx                              |
005082BA | E8 91 | call <backupper.sub_4C3D50>             |
005082BF | 83C4| add esp,C                               |
005082C2 | 8985| mov dword ptr ss:,eax          |
005082C8 | 8B95| mov edx,dword ptr ss:          |
005082CE | 8995| mov dword ptr ss:,edx          |
005082D4 | C645| mov byte ptr ss:,1E            |
005082D8 | 8B85| mov eax,dword ptr ss:          |
005082DE | 50    | push eax                              |
005082DF | 8D8D| lea ecx,dword ptr ss:         |
005082E5 | 51    | push ecx                              |
005082E6 | E8 D5 | call <backupper.sub_4C3CC0>             |
005082EB | 83C4| add esp,C                               |
005082EE | 8985| mov dword ptr ss:,eax          |
005082F4 | 8B95| mov edx,dword ptr ss:          |
005082FA | 8995| mov dword ptr ss:,edx          |
00508300 | C645| mov byte ptr ss:,1F            |
00508304 | 8B85| mov eax,dword ptr ss:          |
0050830A | 50    | push eax                              |
0050830B | 8D8D| lea ecx,dword ptr ss:         |
00508311 | 51    | push ecx                              |
00508312 | E8 A9 | call <backupper.sub_4C3CC0>             |
00508317 | 83C4| add esp,C                               |
0050831A | 8985| mov dword ptr ss:,eax          |
00508320 | 8B95| mov edx,dword ptr ss:          |
00508326 | 8995| mov dword ptr ss:,edx          |
0050832C | C645| mov byte ptr ss:,20            | 20:' '
00508330 | 8B85| mov eax,dword ptr ss:          |
00508336 | 50    | push eax                              |
00508337 | 8D4D| lea ecx,dword ptr ss:         |
0050833A | FF15| call dword ptr ds:[<&??YQString@@QAEAAV |
00508340 | C645| mov byte ptr ss:,1F            |
00508344 | 8D8D| lea ecx,dword ptr ss:         |
0050834A | FF15| call dword ptr ds:[<&??1QString@@QAE@XZ |
00508350 | C645| mov byte ptr ss:,1E            |
00508354 | 8D8D| lea ecx,dword ptr ss:         |
0050835A | FF15| call dword ptr ds:[<&??1QString@@QAE@XZ |
00508360 | C645| mov byte ptr ss:,1D            |
00508364 | 8D8D| lea ecx,dword ptr ss:         |
0050836A | FF15| call dword ptr ds:[<&??1QString@@QAE@XZ |
00508370 | C645| mov byte ptr ss:,1C            |
00508374 | 8D8D| lea ecx,dword ptr ss:         |
0050837A | FF15| call dword ptr ds:[<&??1QString@@QAE@XZ |
00508380 | C645| mov byte ptr ss:,1B            |
00508384 | 8D8D| lea ecx,dword ptr ss:         |
0050838A | FF15| call dword ptr ds:[<&??1QString@@QAE@XZ |
00508390 | C645| mov byte ptr ss:,19            |
00508394 | 8D8D| lea ecx,dword ptr ss:         |
0050839A | FF15| call dword ptr ds:[<&??1QString@@QAE@XZ |
005083A0 | 837D| cmp dword ptr ss:,7             |
005083A4 | 75 5E | jne backupper.508404                  |
005083A6 | 68 BC | push backupper.9406BC                   | 9406BC:"&status="
005083AB | 8D4D| lea ecx,dword ptr ss:         |
005083AE | FF15| call dword ptr ds:[<&??0QString@@QAE@PB |
005083B4 | C645| mov byte ptr ss:,21            | 21:'!'
005083B8 | E8 63 | call <backupper.sub_4CAE20>             |
005083BD | 0FB6C | movzx ecx,al                            |
005083C0 | 85C9| test ecx,ecx                            |
005083C2 | 74 0C | je backupper.5083D0                     |
005083C4 | C785| mov dword ptr ss:,backupper.94 | 9406C8:"expired"








00624C3B | FF15 B4559300               | call dword ptr ds:[<&?text@QLineEdit@@QBE?AVQString@@XZ> | 点注册时,轻松断下,没费吹灰之力
00624C41 | C745 FC 00000000            | mov dword ptr ss:,0                               |
00624C48 | 8D95 5CFFFFFF               | lea edx,dword ptr ss:                            |
00624C4E | 52                        | push edx                                                 |
00624C4F | 8D4D F0                     | lea ecx,dword ptr ss:                            |
00624C52 | FF15 DC509300               | call dword ptr ds:[<&?trimmed@QString@@QBE?AV1@XZ>]      |




无闻无问 发表于 2021-4-5 20:21

一,主要看调用过程,明确程序执行流程,至于谁的领空只是方便你下手:lol,二,4是最佳,1,2太晚了,是qt封装里面的,4位置处才是界线…三,123都可以,一层层封装,一层层调用,4最接近用户调用处,123得往上回溯;四,不一定,主要调用地方,调用地方判断了才去调函数,执行函数过程,只关心判断之地,不关心函数过程,况且函数过程多是系统api,不能下手,要想调用和函数过程是同一个空间,除非是用户自写函数,五,几次不同,原因是qt对api封装的深,就像易语言一样,下断时机相差一点就会略不同,六,可以配合下dll断点或条件断点,七,看到长度比较,说明位置差不多了,你得细心检查附近每个call,还是上面原因,qt封得深,可能关键点在某个call的子子子…call中,你要慢慢找…

相信你,只要功夫深,它藏不住…

eeyou 发表于 2021-4-8 13:12

别沉,呼叫byh3025。。。来,帮我扳一局。

byh3025 发表于 2021-4-8 15:53

eeyou 发表于 2021-4-8 13:12
别沉,呼叫byh3025。。。来,帮我扳一局。

找不是QT的地方看看

byh3025 发表于 2021-4-8 17:36


eeyou 发表于 2021-4-9 09:52

byh3025 发表于 2021-4-8 17:36


我也到这里走不动。。。

byh3025 发表于 2021-4-9 09:58

eeyou 发表于 2021-4-9 09:52
我也到这里走不动。。。

走 不动是什么意思,可以单步的呀

冥界3大法王 发表于 2021-4-9 11:23

@eeyou我都不用看你的程序
就知道,一定是text@QLineEdit 从这个模块处下断,必然断到
多实战总结吧,孩子。
关键你要有编程思想。
前后都有联带关系的。

eeyou 发表于 2021-4-9 12:23

byh3025 发表于 2021-4-9 09:58
走 不动是什么意思,可以单步的呀

俺只想暴破,算法肯定是弄不了的。但是暴破的点没研究出来。。跑到这653C1448    FF15 78545965   call dword ptr ds:[<&QtCore4.QMetaObject>; QtCore4.QMetaObject::removeGuard

653C1432    FF15 78655965   call dword ptr ds:[<&QtCore4.QEventLoop:>; QtCore4.QEventLoop::exec感觉不对,这地方废掉也没动静。。。。反过来想下面有个试用期还有多少天,这个变量如何追?想在这的信息处下断。。

byh3025 发表于 2021-4-9 12:33

eeyou 发表于 2021-4-9 12:23
俺只想暴破,算法肯定是弄不了的。但是暴破的点没研究出来。。跑到这653C1448    FF15 78545965   call d ...

你这还是在QT里,有什么用
页: [1] 2 3
查看完整版本: 暂停调用堆栈窗口却看到调用了dll 无法找到突破口请指点下