【对线程的初认识和初步理解与平衡堆栈】Youngter-drive
【对线程的初认识和初步理解与平衡堆栈】Youngter-drive
查壳有壳脱壳ida
进入到函数main_0
第一个函数已经被我改过名称,里面是一个输入函数
CreateMutexW是一个Windows API函数,用于创建命名或未命名的互斥体(Mutex)对象。互斥体是一种同步对象,允许多个线程==同步==访问共享资源,确保一次只有一个线程可以访问该资源。
CreateThread是一个 Windows API 函数,用于创建一个新的线程。它允许你在==一个进程中并发执行多个线程==,每个线程可以==独立==运行不同的代码。
CloseHandle是一个 Windows API 函数,用于关闭一个内核对象的句柄。
跟进StartAddress
这里执行完encp函数会暂停100秒
跟进sub_9E119F
当StartAddress运行完暂停后运行sub_9E119F
sub_9E119F它只有一个减减的功能,然后暂停给100s
sub_9E119F暂停时,此刻StartAddress开始进行操作
即为当TABLE是奇数时运行加密;当TABLE时偶数时不进行加密保留原来状态
进入encp(已经改过名称)
这里需要平衡堆栈消去红名,按照这个视频做:https://www.bilibili.com/video/BV1V84y1j7rS/?spm_id_from=333.880.my_history.page.click&vd_source=1c1b392be21faf2076e99a04a9cb6b82
这就是加密,大小字符转换和在预定的字符串寻址
结合上面的线程操作可得出脚本
1 | txt = 'QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm' |
但是会少一个字节,因为TABLE是29,在循环的时候是处理了30个字符
而密文只有29位所以要猜
最后猜的出的是要在脚本得出的flag后加上个E
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 哥布林的❤秘密❤洞穴!