t.me/maj0rblog
-
Автор темы
- #1
Всем привет, сегодня я расскажу то что обязан знать каждый кто когда либо занимался даже основами ревёрсинга.
Сегодня мы напишем простенькую программу на C++ и пропатчим её.
Разбил я это на 2 этапа.
В первом мы пишем программу, во втором мы её патчим.
Пожалуй начнём!
Я уже написал программу но для вашего удобства расписал всё что вам нужно знать про неё.
Теперь перейдём ко второму этапу
Открываем иду и суём туда наш файл
Переходим в функцию _main и нажимаем F5 что-бы увидеть псевдокод
Видим это.
теперь видим функцию которая принимает несколько значение а именно : sub_401220
Теперь переходим по ней, после этого видим admin и administrator, это нам и нужно.
Находим байты этих стрингов
Ну а сейчас открываем
Ищем эти (61 64 6D 69 6E) байты и видим такую картину
Теперь просто меняе либо байты либо текст и сохраняем, готово!
Вы пропатчили первую программу.
Я поменял пароль на yougame_guide и теперь вижу такую картину!
Спасибо за прочтение, надеюсь что вам понравилось и вы чему то научились
Сегодня мы напишем простенькую программу на C++ и пропатчим её.
Разбил я это на 2 этапа.
В первом мы пишем программу, во втором мы её патчим.
Пожалуй начнём!
Я уже написал программу но для вашего удобства расписал всё что вам нужно знать про неё.
C++:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
bool security(string password, string username) // Функция проверяющая правильность пароля и имени
{
string passansw = "administrator"; // Самое не безопасное что может быть
string unameans = "admin"; // Самое не безопасное что может быть
if (username == unameans)
{
if (passansw == password)
{
cout << "Success loging in \n";
return true; // Если логин и пароль правилен позращаем true
}
else
{
cout << "Invalid password \n";
return false; // Если пароль не правилен позращаем false
}
}
else
{
cout << "Invalid username \n";
return false; // Если логин не правилен позращаем false
}
}
int main()
{
string uinpass;
string uinunam;
cout << "Username : ";
cin >> uinunam;
cout << "\n";
cout << "Password : ";
cin >> uinpass;
cout << "\n";
if (security(uinpass, uinunam))
{
cout << "Success! \n"; // То что мы должны получить
system("pause");
}
else
{
cout << "Access denied! \n"; // То что мы точно не хотим получить
system("pause");
}
}
Открываем иду и суём туда наш файл
Переходим в функцию _main и нажимаем F5 что-бы увидеть псевдокод
Видим это.
теперь видим функцию которая принимает несколько значение а именно : sub_401220
Теперь переходим по ней, после этого видим admin и administrator, это нам и нужно.
Находим байты этих стрингов
Ну а сейчас открываем
Пожалуйста, авторизуйтесь для просмотра ссылки.
(Не реклама), и закидываем туда файл.Ищем эти (61 64 6D 69 6E) байты и видим такую картину
Теперь просто меняе либо байты либо текст и сохраняем, готово!
Вы пропатчили первую программу.
Я поменял пароль на yougame_guide и теперь вижу такую картину!
Спасибо за прочтение, надеюсь что вам понравилось и вы чему то научились