暂停调用堆栈窗口却看到调用了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请大哥们对问题一一对应回答,以解小白们心中之疑惑,多谢!!
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>] |
一,主要看调用过程,明确程序执行流程,至于谁的领空只是方便你下手:lol,二,4是最佳,1,2太晚了,是qt封装里面的,4位置处才是界线…三,123都可以,一层层封装,一层层调用,4最接近用户调用处,123得往上回溯;四,不一定,主要调用地方,调用地方判断了才去调函数,执行函数过程,只关心判断之地,不关心函数过程,况且函数过程多是系统api,不能下手,要想调用和函数过程是同一个空间,除非是用户自写函数,五,几次不同,原因是qt对api封装的深,就像易语言一样,下断时机相差一点就会略不同,六,可以配合下dll断点或条件断点,七,看到长度比较,说明位置差不多了,你得细心检查附近每个call,还是上面原因,qt封得深,可能关键点在某个call的子子子…call中,你要慢慢找…
相信你,只要功夫深,它藏不住… 别沉,呼叫byh3025。。。来,帮我扳一局。 eeyou 发表于 2021-4-8 13:12
别沉,呼叫byh3025。。。来,帮我扳一局。
找不是QT的地方看看
byh3025 发表于 2021-4-8 17:36
我也到这里走不动。。。 eeyou 发表于 2021-4-9 09:52
我也到这里走不动。。。
走 不动是什么意思,可以单步的呀 @eeyou我都不用看你的程序
就知道,一定是text@QLineEdit 从这个模块处下断,必然断到
多实战总结吧,孩子。
关键你要有编程思想。
前后都有联带关系的。 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感觉不对,这地方废掉也没动静。。。。反过来想下面有个试用期还有多少天,这个变量如何追?想在这的信息处下断。。 eeyou 发表于 2021-4-9 12:23
俺只想暴破,算法肯定是弄不了的。但是暴破的点没研究出来。。跑到这653C1448 FF15 78545965 call d ...
你这还是在QT里,有什么用