• 欢迎大家来访,希望积极评论哟
  • 网站更名"小鸟博客"。。。
  • 全站启用https,哇咔咔咔咔
  •    3年前 (2016-08-24)  C/C++ 热门 |   抢沙发  24 
    文章评分 0 次,平均分 0.0

    最近在破解某个软件的时候,由于验证网卡mac导致每台电脑只能运行一次。无奈,OD破之。

    汇编生成可变数的最短指令

    在找到

    00E1CD9B |. 68 2047FC00 push 99cs.00FC4720 ; ASCII "%02X-%02X-%02X-%02X-%02X-%02X"

    后,分析寄存器存入的值,发现ESI存的是mac地址,测试修改ESI为随机值。由于对汇编完全不熟悉,只能摸黑测试。改了大半天也搞不出个随机数,于是想起了时间戳,谷歌之,得到了个靠谱的机器指令:RDTSC(Read Time Stamp Counter)

    使用方法如下:

    于是OD内修改汇编,调用RDTSC获取时间戳,然后存入ESI,保存测试。

    华丽丽地爆破成功,赶紧自己瞬间碉堡了。

     

    除特别注明外,本站所有文章均为小鸟博客原创,转载请注明出处来自https://www.cba89.com/study/c_cpp/383

    发表评论

    表情 格式

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册