当前位置:网站首页>(3.1) [Trojan horse synthesis technology]
(3.1) [Trojan horse synthesis technology]
2022-07-28 04:44:00 【Black zone (rise)】
Catalog
2.1、 Bundle multiple files into an executable program
2.2、 Release the final composite file and run
2.3、 Judge when to bind 、 Decomposition procedure
One 、 brief introduction :
1.1、 sketch
Combine the Trojan horse and other files into an executable file to confuse the enemy . Many Trojans have their own file binding function , You can also use file bundles used by a large number of people , Combine multiple files into one file , So that the Trojan horse will not be found , File binders are used by most people , Let's talk about the preparation of file bundler .
Merge multiple files into one final executable , After running this final composite file , It is equivalent to running multiple files before merging . This program is often used in Trojan program merging , Take the example code of a file bundler
1.2、 Constitute thought :
When merging files , Create a new binary , First write the data and file length of your own bundled program , Then write the data and file length of the first file you want to bind , Then directly write the data and file length of the second file you want to bind …… Finally, you can directly write the data of the last file you want to bind ( File length is not required ).
When decomposing and releasing the final composite file , That is, reverse the above method
Open the final synthesis file , Read the length of the original bundle program file , Move the file pointer to its own bundled program data , Read the length of the first bound file , Then read the file data of its length and write it to “ New file l1” in , Then read the length of the second bound file , Then read the data of its length and write it to “ New file 2 ” in …… Until the data of the last bound file is directly read and written to the last new file .
Two 、 Realization
2.1、 Bundle multiple files into an executable program
First, get the file length of its own bundled program and the file length of the first file to be bundled , Enumerate whether the first file to be bundled has an icon , If so, use it as the icon of the final generated file , Otherwise, use the default icon brought by its own bundled program as the icon of the final generated file . Write its own bundled program data and its file length in the new binary file , Then write the data of the first file to be bound and its file length , Finally, write the data of the second file directly .
The specific code implementation of the merging program function is as follows :
2.2、 Release the final composite file and run
Open your own file , Get the file length of its own bundled program , You can position the file pointer to the location of the first bound file , Read its file length and its data , Write the read data into the first new file . Again , By adding the length of the read self bundling program file and the length of the first bundled file to the number of bytes holding the length values of these two files , It can be confirmed
Bit the location of the second bound file , Read its data , Write to the second new file . meanwhile , Run these two files , Finally, delete these two files .The specific implementation of the code for releasing the final synthetic file is as follows :
2.3、 Judge when to bind 、 Decomposition procedure
Because this program uses its own binding program as the file header to generate the final composite file by attaching the bound file to it . therefore , As long as you know the file length of your bundled program , Then initialize the dialog function OnlnitDialog() It can be judged whether it is the final synthetic document ( Do you want to release the internal binding file ). This routine uses VC6. 0 Generated by static connection
Release edition , File size is 184KB .The specific implementation of the code to determine whether to bundle or release files is as follows :
边栏推荐
- [Sylar] framework chapter -chapter10-address module
- After login, the upper right corner changes to enter the login status
- NAT基本原理与私有IP
- 【sylar】框架篇-Chapter23-模块篇总结
- 【二、移动web网页开发】2D&3D转换与动画、移动端布局、响应式布局
- [函数文档] torch.histc 与 paddle.histogram 与 numpy.histogram
- mysql分区表改造
- How to upgrade a pair of 12.2 RAC(primary) and a pair of 12.2 RAC(dataguard) to 19c
- Efficient practice intelligent analysis of massive log data in aviation industry
- Jupyter Notebook安装代码提示功能
猜你喜欢

Introduction to this pointer

Important SQL server functions - other functions

could only be written to 0 of the 1 minReplication nodes. There are 0 datanode(s) running and 0 node
![[yolov5 practice 5] traffic sign recognition system based on yolov5 -yolov5 integration pyqt5](/img/81/89b8e38801f706ef396943a79ef4c5.png)
[yolov5 practice 5] traffic sign recognition system based on yolov5 -yolov5 integration pyqt5

Use Baidu developer tool 4.0 to build a dedicated applet IDE

Study notes of Gu Yujia on July 27, 2022

Password key hard coding check

High number_ Chapter 4__ Curvilinear integral_ Exercise solution

Harmony's Application on the shelves reported an error. The solution of "please use the API of the released version to develop the application and apply for listing"

Pyqt based grouping tool
随机推荐
Artificial intelligence and RPA technology application (I) -rpa Hongji product introduction, designer interface function explanation
全方位分析STEAM和创客教育的差异化
重要的 SQL Server 函数 - 日期函数
After login, the upper right corner changes to enter the login status
set与list性能对比
【sylar】框架篇-Chapter22-辅助模块
Cloud native Devops status survey questionnaire solicitation: kodelurover launched jointly with oschina
Redis类型
String 0123456789abcdef, what is the number of substrings (not empty and not the same string itself) [Hangzhou multi tester] [Hangzhou multi tester _ Wang Sir]
High number_ Chapter 4__ Curvilinear integral_ Exercise solution
【Oracle】083错题集
Use Baidu developer tool 4.0 to build a dedicated applet IDE
[Sylar] framework -chapter11 socket module
Attempt method in laravel user authentication
MySQL: data types and operators
【sylar】实战篇-基于 redis 的参数查询服务
【sylar】框架篇-Chapter20-守护进程模块
低代码是开发的未来吗?浅谈低代码平台
Rendering process, how the code becomes a page (I)
np. The data returned from delete details is the data after deleting the specified dimension





















