这是TraceMe.exe下载,TraceMe.exe为搜(sōu)索盘收集(jí)整理于百度云(yún)网盘资(zī)源,搜(sōu)索(suǒ)盘不提供保存服务,下(xià)载地址跳(tiào)到百度(dù)云盘下(xià)载,文件的安全性和完整性请(qǐng)您自(zì)行判断。如(rú)果感觉本站提供的服务对于您有帮助,请(qǐng)按 Ctrl+D 收藏本(běn)网站,感谢您对本站的支持。
TraceMe.exe统是OllyDbg用CreateProcessA加载DEBUG_ONLY_THIS_PROCESS参数执行(háng),程序运行之后会触发一个INT13,在系统空间里。
这个循(xún)环一股脑(nǎo)的在计算什么东西,目(mù)测(cè)就是(shì)序(xù)列号了
分(fèn)析算法(fǎ)可得,循环跳过用户名的前3个字符,依次(cì)将字符(fú)的Ascii码与(yǔ)一段程序内(nèi)的(de)内存对应相乘,并且将(jiāng)结果(guǒ)累加到Esi
分析下各个寄存器(qì)的作用
EAX:程序内的内(nèi)存指(zhǐ)针,与ECX一同递增,每次与字符Ascii相(xiàng)乘(chéng),且运算完第8个数(shù)后(hòu)循环回第一(yī)个数
ECX:用户名内存(cún)指针,跳过用户名(míng)前3个(gè)字符
BL:字符Ascii
DL:和字符Ascii相(xiàng)乘的Hex
ESI:结(jié)果存(cún)放
EDI就是字(zì)符(fú)串(chuàn)长度,判断是不是要(yào)继续(xù)循环
到这里算法(fǎ)分析(xī)就基本结束了
循环结束(shù)后,将(jiāng)Hex换成等价的十进制数(shù),并与用户输入的进行对比,相同则成(chéng)功
OD加载(zǎi)程序(xù),可以看到有2个输入框
由于(yú)要逆向分析,应该在程(chéng)序获(huò)取用户输入之后,做计算之前开始(shǐ)分析
定下思路,先向得到(dào)字(zì)符(fú)串的函数(shù)下断,然后返(fǎn)回(huí)、跟踪程序代(dài)码分析(xī)即可。
