欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

先把东西帖上来吧

先把东西帖上来吧

这里有个山寨"编译器",一开始是照着编译原理书和随书源码模仿着写的,写着写着发现按照它那么专业的方法写下去不知道要写到何年马月,然后尽量能山寨就山寨了,还有编译原理书有的地方理解的也不好有的东西也模仿不好,总之就是山寨不是我所愿意的,只是不山寨我完成不了.
看了开头的人都应该了解,我不是计算机从业人员,写代码从来不讲究什么规范,烂是必然的.
这东西怎么用呢?
它不能生成exe文件,但是它能生成机器码,生成机器码的同时它会把机器码复制到进程中的某一块地方.比如写了这么几行代码: 
int iTest;
void OnMessage()
{
      iTest=18;
}
生成的机器码的汇编形式应该是这样:
push ebp
mov  ebp,esp
push esi
push edi
mov [00x40xxxx],0x12
pop  edi
pop  esi
mov esp.ebp
pop ebp
retn 0
这些函数的地址都是保存起来的,可以随时查找并调用.目标进程中的资源也是可以被"编译器"利用的,比如MessageBox函数,你可以把它注册为编译器的工具函数,注册之后就可以调用了.如果已经把wsprintf函数注册成工具函数的话:
int iTest;
void OnMessage()
{
      iTest=18;
      char szTest[24];
      wsprintf(szTest,"%d",iTest);
      MessageBox(0,"",0,0);
}
然后就可以在进程中的任何地方查找OnMessage函数的地址,然后调用.这个到底有什么用呢?
1.软件的用户接口.
你写了一个抓网络封包的工具,数据包加密部分是不确定的,你可以在截获数据包的时候,看看用户有没有自己写解密函数,如果有,调用之后再显示解密结果.如果用户没写解密函数,那就显示未解密的数据.
2.注入到目标进程.
这个"编译器"是个dll形式的,把这个dll注入到目标进程,然后想办法做其他动作,做什么动作我不知道,不过应该有点作用的.
感觉类似这样的东西应该有点小用,可惜我写不好,如果有人有实力做个专业点的话不妨做一个.
工程目录下有个Use文件夹,里面是使用方法代码.

上传的附件 ITCB.rar

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功